| Index: pkg/analyzer/lib/error/error.dart
|
| diff --git a/pkg/analyzer/lib/error/error.dart b/pkg/analyzer/lib/error/error.dart
|
| index 648a447e14a7e82db07f889afbebbdcc9e45ed73..3f8fcbdf50051a3f0806a5359bbe9ab9442f2aa7 100644
|
| --- a/pkg/analyzer/lib/error/error.dart
|
| +++ b/pkg/analyzer/lib/error/error.dart
|
| @@ -235,11 +235,59 @@ class AnalysisErrorWithProperties extends AnalysisError {
|
| *
|
| * Generally, we want to provide messages that consist of three sentences. From
|
| * the user's perspective these sentences should explain:
|
| + *
|
| * 1. what is wrong,
|
| * 2. why is it wrong, and
|
| * 3. how do I fix it.
|
| + *
|
| * However, we combine the first two in the [message] and the last in the
|
| * [correction].
|
| + *
|
| + * When composing messages (including correction messages) keep the following
|
| + * guidelines in mind.
|
| + *
|
| + * 1. The message should be a complete sentence starting with an uppercase
|
| + * letter, and ending with a period.
|
| + *
|
| + * 2. Reserved words and embedded identifiers should be in single quotes, so
|
| + * prefer double quotes for the complete message. For example,
|
| + * ```
|
| + * "The class '{0}' can't use 'super'."
|
| + * ```
|
| + * Notice that the word 'class' in the preceding message is not quoted as it
|
| + * refers to the concept 'class', not the reserved word. On the other hand,
|
| + * 'super' refers to the reserved word. Do not quote 'null' and numeric literals.
|
| + *
|
| + * 3. Do not try to compose messages, as it can make translating them hard.
|
| + *
|
| + * 4. Try to keep the error messages short, but informative.
|
| + *
|
| + * 5. Use simple words and terminology, assume the reader of the message doesn't
|
| + * have an advanced degree in math, and that English is not the reader's native
|
| + * language. Do not assume any formal computer science training. For example, do
|
| + * not use Latin abbreviations (prefer "that is" over "i.e.", and "for example"
|
| + * over "e.g."). Also avoid phrases such as "if and only if" and "iff"; that
|
| + * level of precision is unnecessary.
|
| + *
|
| + * 6. Prefer contractions when they are in common use, for example, prefer
|
| + * "can't" over "cannot". Using "cannot", "must not", "shall not", etc. is
|
| + * off-putting to people new to programming.
|
| + *
|
| + * 7. Use common terminology, preferably from the Dart Language Specification.
|
| + * This increases the user's chance of finding a good explanation on the web.
|
| + *
|
| + * 8. Do not try to be cute or funny. It is extremely frustrating to work on a
|
| + * product that crashes with a "tongue-in-cheek" message, especially if you did
|
| + * not want to use this product to begin with.
|
| + *
|
| + * 9. Do not lie, that is, do not write error messages containing phrases like
|
| + * "can't happen". If the user ever saw this message, it would be a lie. Prefer
|
| + * messages like: "Internal error: This function should not be called when 'x'
|
| + * is null.".
|
| + *
|
| + * 10. Prefer to not use the imperative tone. That is, the message should not
|
| + * sound accusing or like it is ordering the user around. The computer should
|
| + * describe the problem, not criticize the user for violating the specification.
|
| */
|
| abstract class ErrorCode {
|
| /**
|
| @@ -277,7 +325,6 @@ abstract class ErrorCode {
|
| CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPEDEF_NAME,
|
| CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE_PARAMETER_NAME,
|
| CompileTimeErrorCode.CASE_EXPRESSION_TYPE_IMPLEMENTS_EQUALS,
|
| - CompileTimeErrorCode.COMPILE_TIME_CONSTANT_RAISES_EXCEPTION,
|
| CompileTimeErrorCode.CONFLICTING_GETTER_AND_METHOD,
|
| CompileTimeErrorCode.CONFLICTING_METHOD_AND_GETTER,
|
| CompileTimeErrorCode.CONFLICTING_CONSTRUCTOR_NAME_AND_FIELD,
|
| @@ -499,7 +546,6 @@ abstract class ErrorCode {
|
| StaticTypeWarningCode.ILLEGAL_ASYNC_GENERATOR_RETURN_TYPE,
|
| StaticTypeWarningCode.ILLEGAL_ASYNC_RETURN_TYPE,
|
| StaticTypeWarningCode.ILLEGAL_SYNC_GENERATOR_RETURN_TYPE,
|
| - StaticTypeWarningCode.INACCESSIBLE_SETTER,
|
| StaticTypeWarningCode.INCONSISTENT_METHOD_INHERITANCE,
|
| StaticTypeWarningCode.INSTANCE_ACCESS_TO_STATIC_MEMBER,
|
| StaticTypeWarningCode.INVALID_ASSIGNMENT,
|
| @@ -662,7 +708,6 @@ abstract class ErrorCode {
|
| ParserErrorCode.ABSTRACT_TYPEDEF,
|
| ParserErrorCode.ANNOTATION_ON_ENUM_CONSTANT,
|
| ParserErrorCode.ASYNC_KEYWORD_USED_AS_IDENTIFIER,
|
| - ParserErrorCode.ASYNC_NOT_SUPPORTED,
|
| ParserErrorCode.BREAK_OUTSIDE_OF_LOOP,
|
| ParserErrorCode.CLASS_IN_CLASS,
|
| ParserErrorCode.COLON_IN_PLACE_OF_IN,
|
|
|