From 8003963a553e51cd03b850e8fa8a7af39c5324ef Mon Sep 17 00:00:00 2001
From: Nico Weber
Date: Mon, 4 Jun 2012 21:56:14 +0000
Subject: [PATCH] Document how fixits on errors and warnings must behave.
Review and wording tweaks by Richard.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157953 91177308-0d34-0410-b5e6-96231b3b80d8
---
docs/InternalsManual.html | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/docs/InternalsManual.html b/docs/InternalsManual.html
index bd6af8d6c1..1ae1968299 100644
--- a/docs/InternalsManual.html
+++ b/docs/InternalsManual.html
@@ -441,6 +441,19 @@ href="#DiagnosticClient">Other diagnostic clients might choose
to render the code differently (e.g., as markup inline) or even give
the user the ability to automatically fix the problem.
+Fix-it hints on errors and warnings need to obey these rules:
+
+
+- Since they are automatically applied if
-Xclang -fixit
+is passed to the driver, they should only be used when it's very likely they
+match the user's intent.
+- Clang must recover from the error or warning as if the fix-it had been
+applied.
+
+
+If a fix-it can't obey these rules, put the fix-it on a note. Fix-its on
+notes are not applied automatically.
+
All fix-it hints are described by the FixItHint
class,
instances of which should be attached to the diagnostic using the
<< operator in the same way that highlighted source ranges and
--
2.40.0