Index: pkg/analyzer/lib/src/error/codes.dart |
diff --git a/pkg/analyzer/lib/src/generated/error.dart b/pkg/analyzer/lib/src/error/codes.dart |
similarity index 79% |
copy from pkg/analyzer/lib/src/generated/error.dart |
copy to pkg/analyzer/lib/src/error/codes.dart |
index 630c91019be5e6575eb17414cc425f9270f06116..9ca769e2f63859d2fc6c1b22c25901a19af1e604 100644 |
--- a/pkg/analyzer/lib/src/generated/error.dart |
+++ b/pkg/analyzer/lib/src/error/codes.dart |
@@ -2,277 +2,12 @@ |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
-library analyzer.src.generated.error; |
+library analyzer.src.error.codes; |
-import 'dart:collection'; |
- |
-import 'package:analyzer/dart/ast/ast.dart' show AstNode; |
-import 'package:analyzer/dart/ast/token.dart'; |
-import 'package:analyzer/dart/element/element.dart'; |
-import 'package:analyzer/dart/element/type.dart'; |
-import 'package:analyzer/source/error_processor.dart'; |
+import 'package:analyzer/error/error.dart'; |
import 'package:analyzer/src/dart/element/element.dart'; |
-import 'package:analyzer/src/dart/element/type.dart'; |
-import 'package:analyzer/src/dart/scanner/scanner.dart' show ScannerErrorCode; |
import 'package:analyzer/src/generated/generated/shared_messages.dart' |
as shared_messages; |
-import 'package:analyzer/src/generated/java_core.dart'; |
-import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode; |
-import 'package:analyzer/src/generated/source.dart'; |
-import 'package:analyzer/src/task/model.dart'; |
-import 'package:analyzer/task/model.dart'; |
-import 'package:source_span/source_span.dart'; |
- |
-/** |
- * The descriptor used to associate error processors with analysis contexts in |
- * configuration data. |
- */ |
-final ListResultDescriptor<ErrorProcessor> CONFIGURED_ERROR_PROCESSORS = |
- new ListResultDescriptorImpl('configured.errors', const <ErrorProcessor>[]); |
- |
-/** |
- * An error discovered during the analysis of some Dart code. |
- * |
- * See [AnalysisErrorListener]. |
- */ |
-class AnalysisError { |
- /** |
- * An empty array of errors used when no errors are expected. |
- */ |
- static const List<AnalysisError> NO_ERRORS = const <AnalysisError>[]; |
- |
- /** |
- * A [Comparator] that sorts by the name of the file that the [AnalysisError] |
- * was found. |
- */ |
- static Comparator<AnalysisError> FILE_COMPARATOR = |
- (AnalysisError o1, AnalysisError o2) => |
- o1.source.shortName.compareTo(o2.source.shortName); |
- |
- /** |
- * A [Comparator] that sorts error codes first by their severity (errors |
- * first, warnings second), and then by the error code type. |
- */ |
- static Comparator<AnalysisError> ERROR_CODE_COMPARATOR = |
- (AnalysisError o1, AnalysisError o2) { |
- ErrorCode errorCode1 = o1.errorCode; |
- ErrorCode errorCode2 = o2.errorCode; |
- ErrorSeverity errorSeverity1 = errorCode1.errorSeverity; |
- ErrorSeverity errorSeverity2 = errorCode2.errorSeverity; |
- if (errorSeverity1 == errorSeverity2) { |
- ErrorType errorType1 = errorCode1.type; |
- ErrorType errorType2 = errorCode2.type; |
- return errorType1.compareTo(errorType2); |
- } else { |
- return errorSeverity2.compareTo(errorSeverity1); |
- } |
- }; |
- |
- /** |
- * The error code associated with the error. |
- */ |
- final ErrorCode errorCode; |
- |
- /** |
- * The localized error message. |
- */ |
- String _message; |
- |
- /** |
- * The correction to be displayed for this error, or `null` if there is no |
- * correction information for this error. |
- */ |
- String _correction; |
- |
- /** |
- * The source in which the error occurred, or `null` if unknown. |
- */ |
- final Source source; |
- |
- /** |
- * The character offset from the beginning of the source (zero based) where |
- * the error occurred. |
- */ |
- int offset = 0; |
- |
- /** |
- * The number of characters from the offset to the end of the source which |
- * encompasses the compilation error. |
- */ |
- int length = 0; |
- |
- /** |
- * A flag indicating whether this error can be shown to be a non-issue because |
- * of the result of type propagation. |
- */ |
- bool isStaticOnly = false; |
- |
- /** |
- * Initialize a newly created analysis error. The error is associated with the |
- * given [source] and is located at the given [offset] with the given |
- * [length]. The error will have the given [errorCode] and the list of |
- * [arguments] will be used to complete the message. |
- */ |
- AnalysisError(this.source, this.offset, this.length, this.errorCode, |
- [List<Object> arguments]) { |
- this._message = formatList(errorCode.message, arguments); |
- String correctionTemplate = errorCode.correction; |
- if (correctionTemplate != null) { |
- this._correction = formatList(correctionTemplate, arguments); |
- } |
- } |
- |
- /** |
- * Initialize a newly created analysis error with given values. |
- */ |
- AnalysisError.forValues(this.source, this.offset, this.length, this.errorCode, |
- this._message, this._correction); |
- |
- /** |
- * Return the template used to create the correction to be displayed for this |
- * error, or `null` if there is no correction information for this error. The |
- * correction should indicate how the user can fix the error. |
- */ |
- String get correction => _correction; |
- |
- @override |
- int get hashCode { |
- int hashCode = offset; |
- hashCode ^= (_message != null) ? _message.hashCode : 0; |
- hashCode ^= (source != null) ? source.hashCode : 0; |
- return hashCode; |
- } |
- |
- /** |
- * Return the message to be displayed for this error. The message should |
- * indicate what is wrong and why it is wrong. |
- */ |
- String get message => _message; |
- |
- @override |
- bool operator ==(Object other) { |
- if (identical(other, this)) { |
- return true; |
- } |
- // prepare other AnalysisError |
- if (other is AnalysisError) { |
- // Quick checks. |
- if (!identical(errorCode, other.errorCode)) { |
- return false; |
- } |
- if (offset != other.offset || length != other.length) { |
- return false; |
- } |
- if (isStaticOnly != other.isStaticOnly) { |
- return false; |
- } |
- // Deep checks. |
- if (_message != other._message) { |
- return false; |
- } |
- if (source != other.source) { |
- return false; |
- } |
- // OK |
- return true; |
- } |
- return false; |
- } |
- |
- /** |
- * Return the value of the given [property], or `null` if the given property |
- * is not defined for this error. |
- */ |
- Object/*=V*/ getProperty/*<V>*/(ErrorProperty/*<V>*/ property) => null; |
- |
- @override |
- String toString() { |
- StringBuffer buffer = new StringBuffer(); |
- buffer.write((source != null) ? source.fullName : "<unknown source>"); |
- buffer.write("("); |
- buffer.write(offset); |
- buffer.write(".."); |
- buffer.write(offset + length - 1); |
- buffer.write("): "); |
- //buffer.write("(" + lineNumber + ":" + columnNumber + "): "); |
- buffer.write(_message); |
- return buffer.toString(); |
- } |
- |
- /** |
- * Merge all of the errors in the lists in the given list of [errorLists] into |
- * a single list of errors. |
- */ |
- static List<AnalysisError> mergeLists(List<List<AnalysisError>> errorLists) { |
- Set<AnalysisError> errors = new HashSet<AnalysisError>(); |
- for (List<AnalysisError> errorList in errorLists) { |
- errors.addAll(errorList); |
- } |
- return errors.toList(); |
- } |
-} |
- |
-/** |
- * An object that listen for [AnalysisError]s being produced by the analysis |
- * engine. |
- */ |
-abstract class AnalysisErrorListener { |
- /** |
- * An error listener that ignores errors that are reported to it. |
- */ |
- static final AnalysisErrorListener NULL_LISTENER = |
- new AnalysisErrorListener_NULL_LISTENER(); |
- |
- /** |
- * This method is invoked when an [error] has been found by the analysis |
- * engine. |
- */ |
- void onError(AnalysisError error); |
-} |
- |
-/** |
- * An [AnalysisErrorListener] that ignores error. |
- */ |
-class AnalysisErrorListener_NULL_LISTENER implements AnalysisErrorListener { |
- @override |
- void onError(AnalysisError event) { |
- // Ignore errors |
- } |
-} |
- |
-/** |
- * An [AnalysisError] that can have arbitrary properties associated with it. |
- */ |
-class AnalysisErrorWithProperties extends AnalysisError { |
- /** |
- * The properties associated with this error. |
- */ |
- HashMap<ErrorProperty, Object> _propertyMap = |
- new HashMap<ErrorProperty, Object>(); |
- |
- /** |
- * Initialize a newly created analysis error. The error is associated with the |
- * given [source] and is located at the given [offset] with the given |
- * [length]. The error will have the given [errorCode] and the list of |
- * [arguments] will be used to complete the message. |
- */ |
- AnalysisErrorWithProperties( |
- Source source, int offset, int length, ErrorCode errorCode, |
- [List<Object> arguments]) |
- : super(source, offset, length, errorCode, arguments); |
- |
- @override |
- Object/*=V*/ getProperty/*<V>*/(ErrorProperty/*<V>*/ property) => |
- _propertyMap[property] as Object/*=V*/; |
- |
- /** |
- * Set the value of the given [property] to the given [value]. Using a value |
- * of `null` will effectively remove the property from this error. |
- */ |
- void setProperty/*<V>*/(ErrorProperty/*<V>*/ property, Object/*=V*/ value) { |
- _propertyMap[property] = value; |
- } |
-} |
/** |
* The error codes used for errors in analysis options files. The convention for |
@@ -376,27 +111,6 @@ class AnalysisOptionsWarningCode extends ErrorCode { |
} |
/** |
- * An [AnalysisErrorListener] that keeps track of whether any error has been |
- * reported to it. |
- */ |
-class BooleanErrorListener implements AnalysisErrorListener { |
- /** |
- * A flag indicating whether an error has been reported to this listener. |
- */ |
- bool _errorReported = false; |
- |
- /** |
- * Return `true` if an error has been reported to this listener. |
- */ |
- bool get errorReported => _errorReported; |
- |
- @override |
- void onError(AnalysisError error) { |
- _errorReported = true; |
- } |
-} |
- |
-/** |
* The error codes used for compile time errors caused by constant evaluation |
* that would throw an exception when run in checked mode. The client of the |
* analysis engine is responsible for determining how these errors should be |
@@ -2479,1043 +2193,6 @@ class CompileTimeErrorCode extends ErrorCode { |
} |
/** |
- * An error code associated with an [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]. |
- */ |
-abstract class ErrorCode { |
- /** |
- * Engine error code values. |
- */ |
- static const List<ErrorCode> values = const [ |
- // |
- // Manually generated. FWIW, this get's you most of the way there: |
- // |
- // > grep 'static const .*Code' (error.dart|parser|scanner.dart) |
- // | awk '{print $3"."$4","}' |
- // |
- // error.dart: |
- // |
- AnalysisOptionsErrorCode.PARSE_ERROR, |
- AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUES, |
- AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUE, |
- AnalysisOptionsWarningCode.UNSUPPORTED_VALUE, |
- AnalysisOptionsWarningCode.UNRECOGNIZED_ERROR_CODE, |
- CheckedModeCompileTimeErrorCode.CONST_CONSTRUCTOR_FIELD_TYPE_MISMATCH, |
- CheckedModeCompileTimeErrorCode.CONST_CONSTRUCTOR_PARAM_TYPE_MISMATCH, |
- CheckedModeCompileTimeErrorCode.CONST_FIELD_INITIALIZER_NOT_ASSIGNABLE, |
- CheckedModeCompileTimeErrorCode.LIST_ELEMENT_TYPE_NOT_ASSIGNABLE, |
- CheckedModeCompileTimeErrorCode.MAP_KEY_TYPE_NOT_ASSIGNABLE, |
- CheckedModeCompileTimeErrorCode.MAP_VALUE_TYPE_NOT_ASSIGNABLE, |
- CheckedModeCompileTimeErrorCode.VARIABLE_TYPE_MISMATCH, |
- CompileTimeErrorCode.ACCESS_PRIVATE_ENUM_FIELD, |
- CompileTimeErrorCode.AMBIGUOUS_EXPORT, |
- CompileTimeErrorCode.ANNOTATION_WITH_NON_CLASS, |
- CompileTimeErrorCode.ARGUMENT_DEFINITION_TEST_NON_PARAMETER, |
- CompileTimeErrorCode.ASYNC_FOR_IN_WRONG_CONTEXT, |
- CompileTimeErrorCode.AWAIT_IN_WRONG_CONTEXT, |
- CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE, |
- CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE_NAME, |
- 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, |
- CompileTimeErrorCode.CONFLICTING_CONSTRUCTOR_NAME_AND_METHOD, |
- CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_CLASS, |
- CompileTimeErrorCode.CONFLICTING_TYPE_VARIABLE_AND_MEMBER, |
- CompileTimeErrorCode.CONST_CONSTRUCTOR_THROWS_EXCEPTION, |
- CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_FIELD_INITIALIZED_BY_NON_CONST, |
- CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_MIXIN, |
- CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_CONST_SUPER, |
- CompileTimeErrorCode.CONST_CONSTRUCTOR_WITH_NON_FINAL_FIELD, |
- CompileTimeErrorCode.CONST_DEFERRED_CLASS, |
- CompileTimeErrorCode.CONST_FORMAL_PARAMETER, |
- CompileTimeErrorCode.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE, |
- CompileTimeErrorCode |
- .CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE_FROM_DEFERRED_LIBRARY, |
- CompileTimeErrorCode.CONST_INSTANCE_FIELD, |
- CompileTimeErrorCode.CONST_MAP_KEY_EXPRESSION_TYPE_IMPLEMENTS_EQUALS, |
- CompileTimeErrorCode.CONST_NOT_INITIALIZED, |
- CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL, |
- CompileTimeErrorCode.CONST_EVAL_TYPE_BOOL_NUM_STRING, |
- CompileTimeErrorCode.CONST_EVAL_TYPE_INT, |
- CompileTimeErrorCode.CONST_EVAL_TYPE_NUM, |
- CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION, |
- CompileTimeErrorCode.CONST_EVAL_THROWS_IDBZE, |
- CompileTimeErrorCode.CONST_WITH_INVALID_TYPE_PARAMETERS, |
- CompileTimeErrorCode.CONST_WITH_NON_CONST, |
- CompileTimeErrorCode.CONST_WITH_NON_CONSTANT_ARGUMENT, |
- CompileTimeErrorCode.CONST_WITH_NON_TYPE, |
- CompileTimeErrorCode.CONST_WITH_TYPE_PARAMETERS, |
- CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR, |
- CompileTimeErrorCode.CONST_WITH_UNDEFINED_CONSTRUCTOR_DEFAULT, |
- CompileTimeErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPE_ALIAS, |
- CompileTimeErrorCode.DEFAULT_VALUE_IN_FUNCTION_TYPED_PARAMETER, |
- CompileTimeErrorCode.DEFAULT_VALUE_IN_REDIRECTING_FACTORY_CONSTRUCTOR, |
- CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_DEFAULT, |
- CompileTimeErrorCode.DUPLICATE_CONSTRUCTOR_NAME, |
- CompileTimeErrorCode.DUPLICATE_DEFINITION, |
- CompileTimeErrorCode.DUPLICATE_DEFINITION_INHERITANCE, |
- CompileTimeErrorCode.DUPLICATE_NAMED_ARGUMENT, |
- CompileTimeErrorCode.EXPORT_INTERNAL_LIBRARY, |
- CompileTimeErrorCode.EXPORT_OF_NON_LIBRARY, |
- CompileTimeErrorCode.EXTENDS_ENUM, |
- CompileTimeErrorCode.EXTENDS_NON_CLASS, |
- CompileTimeErrorCode.EXTENDS_DISALLOWED_CLASS, |
- CompileTimeErrorCode.EXTENDS_DEFERRED_CLASS, |
- CompileTimeErrorCode.EXTRA_ARGUMENT_TO_ASSERT, |
- CompileTimeErrorCode.EXTRA_POSITIONAL_ARGUMENTS, |
- CompileTimeErrorCode.FIELD_INITIALIZED_BY_MULTIPLE_INITIALIZERS, |
- CompileTimeErrorCode.FIELD_INITIALIZED_IN_PARAMETER_AND_INITIALIZER, |
- CompileTimeErrorCode.FINAL_INITIALIZED_MULTIPLE_TIMES, |
- CompileTimeErrorCode.FIELD_INITIALIZER_FACTORY_CONSTRUCTOR, |
- CompileTimeErrorCode.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR, |
- CompileTimeErrorCode.FIELD_INITIALIZER_REDIRECTING_CONSTRUCTOR, |
- CompileTimeErrorCode.GETTER_AND_METHOD_WITH_SAME_NAME, |
- CompileTimeErrorCode.IMPLEMENTS_DEFERRED_CLASS, |
- CompileTimeErrorCode.IMPLEMENTS_DISALLOWED_CLASS, |
- CompileTimeErrorCode.IMPLEMENTS_DYNAMIC, |
- CompileTimeErrorCode.IMPLEMENTS_ENUM, |
- CompileTimeErrorCode.IMPLEMENTS_NON_CLASS, |
- CompileTimeErrorCode.IMPLEMENTS_REPEATED, |
- CompileTimeErrorCode.IMPLEMENTS_SUPER_CLASS, |
- CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER, |
- CompileTimeErrorCode.IMPORT_INTERNAL_LIBRARY, |
- CompileTimeErrorCode.IMPORT_OF_NON_LIBRARY, |
- CompileTimeErrorCode.INCONSISTENT_CASE_EXPRESSION_TYPES, |
- CompileTimeErrorCode.INITIALIZER_FOR_NON_EXISTENT_FIELD, |
- CompileTimeErrorCode.INITIALIZER_FOR_STATIC_FIELD, |
- CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_NON_EXISTENT_FIELD, |
- CompileTimeErrorCode.INITIALIZING_FORMAL_FOR_STATIC_FIELD, |
- CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_FACTORY, |
- CompileTimeErrorCode.INSTANCE_MEMBER_ACCESS_FROM_STATIC, |
- CompileTimeErrorCode.INSTANTIATE_ENUM, |
- CompileTimeErrorCode.INVALID_ANNOTATION, |
- CompileTimeErrorCode.INVALID_ANNOTATION_FROM_DEFERRED_LIBRARY, |
- CompileTimeErrorCode.INVALID_IDENTIFIER_IN_ASYNC, |
- CompileTimeErrorCode.INVALID_MODIFIER_ON_CONSTRUCTOR, |
- CompileTimeErrorCode.INVALID_MODIFIER_ON_SETTER, |
- CompileTimeErrorCode.INVALID_CONSTANT, |
- CompileTimeErrorCode.INVALID_CONSTRUCTOR_NAME, |
- CompileTimeErrorCode.INVALID_FACTORY_NAME_NOT_A_CLASS, |
- CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS, |
- CompileTimeErrorCode.INVALID_TYPE_ARGUMENT_IN_CONST_LIST, |
- CompileTimeErrorCode.INVALID_TYPE_ARGUMENT_IN_CONST_MAP, |
- CompileTimeErrorCode.INVALID_URI, |
- CompileTimeErrorCode.LABEL_IN_OUTER_SCOPE, |
- CompileTimeErrorCode.LABEL_UNDEFINED, |
- CompileTimeErrorCode.MEMBER_WITH_CLASS_NAME, |
- CompileTimeErrorCode.METHOD_AND_GETTER_WITH_SAME_NAME, |
- CompileTimeErrorCode.MISSING_CONST_IN_LIST_LITERAL, |
- CompileTimeErrorCode.MISSING_CONST_IN_MAP_LITERAL, |
- CompileTimeErrorCode.MIXIN_DECLARES_CONSTRUCTOR, |
- CompileTimeErrorCode.MIXIN_DEFERRED_CLASS, |
- CompileTimeErrorCode.MIXIN_HAS_NO_CONSTRUCTORS, |
- CompileTimeErrorCode.MIXIN_INHERITS_FROM_NOT_OBJECT, |
- CompileTimeErrorCode.MIXIN_OF_DISALLOWED_CLASS, |
- CompileTimeErrorCode.MIXIN_OF_ENUM, |
- CompileTimeErrorCode.MIXIN_OF_NON_CLASS, |
- CompileTimeErrorCode.MIXIN_REFERENCES_SUPER, |
- CompileTimeErrorCode.MIXIN_WITH_NON_CLASS_SUPERCLASS, |
- CompileTimeErrorCode.MULTIPLE_REDIRECTING_CONSTRUCTOR_INVOCATIONS, |
- CompileTimeErrorCode.MULTIPLE_SUPER_INITIALIZERS, |
- CompileTimeErrorCode.NO_ANNOTATION_CONSTRUCTOR_ARGUMENTS, |
- CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_EXPLICIT, |
- CompileTimeErrorCode.NO_DEFAULT_SUPER_CONSTRUCTOR_IMPLICIT, |
- CompileTimeErrorCode.NON_CONST_MAP_AS_EXPRESSION_STATEMENT, |
- CompileTimeErrorCode.NON_CONSTANT_CASE_EXPRESSION, |
- CompileTimeErrorCode.NON_CONSTANT_CASE_EXPRESSION_FROM_DEFERRED_LIBRARY, |
- CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE, |
- CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE_FROM_DEFERRED_LIBRARY, |
- CompileTimeErrorCode.NON_CONSTANT_LIST_ELEMENT, |
- CompileTimeErrorCode.NON_CONSTANT_LIST_ELEMENT_FROM_DEFERRED_LIBRARY, |
- CompileTimeErrorCode.NON_CONSTANT_MAP_KEY, |
- CompileTimeErrorCode.NON_CONSTANT_MAP_KEY_FROM_DEFERRED_LIBRARY, |
- CompileTimeErrorCode.NON_CONSTANT_MAP_VALUE, |
- CompileTimeErrorCode.NON_CONSTANT_MAP_VALUE_FROM_DEFERRED_LIBRARY, |
- CompileTimeErrorCode.NON_CONSTANT_ANNOTATION_CONSTRUCTOR, |
- CompileTimeErrorCode.NON_CONSTANT_VALUE_IN_INITIALIZER, |
- CompileTimeErrorCode |
- .NON_CONSTANT_VALUE_IN_INITIALIZER_FROM_DEFERRED_LIBRARY, |
- CompileTimeErrorCode.NOT_ENOUGH_REQUIRED_ARGUMENTS, |
- CompileTimeErrorCode.NON_GENERATIVE_CONSTRUCTOR, |
- CompileTimeErrorCode.OBJECT_CANNOT_EXTEND_ANOTHER_CLASS, |
- CompileTimeErrorCode.OPTIONAL_PARAMETER_IN_OPERATOR, |
- CompileTimeErrorCode.PART_OF_NON_PART, |
- CompileTimeErrorCode.PREFIX_COLLIDES_WITH_TOP_LEVEL_MEMBER, |
- CompileTimeErrorCode.PREFIX_IDENTIFIER_NOT_FOLLOWED_BY_DOT, |
- CompileTimeErrorCode.PRIVATE_OPTIONAL_PARAMETER, |
- CompileTimeErrorCode.RECURSIVE_COMPILE_TIME_CONSTANT, |
- CompileTimeErrorCode.RECURSIVE_CONSTRUCTOR_REDIRECT, |
- CompileTimeErrorCode.RECURSIVE_FACTORY_REDIRECT, |
- CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE, |
- CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_EXTENDS, |
- CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_IMPLEMENTS, |
- CompileTimeErrorCode.RECURSIVE_INTERFACE_INHERITANCE_BASE_CASE_WITH, |
- CompileTimeErrorCode.REDIRECT_TO_MISSING_CONSTRUCTOR, |
- CompileTimeErrorCode.REDIRECT_TO_NON_CLASS, |
- CompileTimeErrorCode.REDIRECT_TO_NON_CONST_CONSTRUCTOR, |
- CompileTimeErrorCode.REDIRECT_GENERATIVE_TO_MISSING_CONSTRUCTOR, |
- CompileTimeErrorCode.REDIRECT_GENERATIVE_TO_NON_GENERATIVE_CONSTRUCTOR, |
- CompileTimeErrorCode.REFERENCED_BEFORE_DECLARATION, |
- CompileTimeErrorCode.RETHROW_OUTSIDE_CATCH, |
- CompileTimeErrorCode.RETURN_IN_GENERATIVE_CONSTRUCTOR, |
- CompileTimeErrorCode.RETURN_IN_GENERATOR, |
- CompileTimeErrorCode.SHARED_DEFERRED_PREFIX, |
- CompileTimeErrorCode.SUPER_IN_INVALID_CONTEXT, |
- CompileTimeErrorCode.SUPER_IN_REDIRECTING_CONSTRUCTOR, |
- CompileTimeErrorCode.SUPER_INITIALIZER_IN_OBJECT, |
- CompileTimeErrorCode.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS, |
- CompileTimeErrorCode.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF, |
- CompileTimeErrorCode.UNDEFINED_CLASS, |
- CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER, |
- CompileTimeErrorCode.UNDEFINED_CONSTRUCTOR_IN_INITIALIZER_DEFAULT, |
- CompileTimeErrorCode.UNDEFINED_NAMED_PARAMETER, |
- CompileTimeErrorCode.URI_DOES_NOT_EXIST, |
- CompileTimeErrorCode.URI_WITH_INTERPOLATION, |
- CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_OPERATOR, |
- CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_OPERATOR_MINUS, |
- CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER, |
- CompileTimeErrorCode.YIELD_EACH_IN_NON_GENERATOR, |
- CompileTimeErrorCode.YIELD_IN_NON_GENERATOR, |
- HintCode.ARGUMENT_TYPE_NOT_ASSIGNABLE, |
- HintCode.CAN_BE_NULL_AFTER_NULL_AWARE, |
- HintCode.DEAD_CODE, |
- HintCode.DEAD_CODE_CATCH_FOLLOWING_CATCH, |
- HintCode.DEAD_CODE_ON_CATCH_SUBTYPE, |
- HintCode.DEPRECATED_MEMBER_USE, |
- HintCode.DUPLICATE_IMPORT, |
- HintCode.DIVISION_OPTIMIZATION, |
- HintCode.INVALID_FACTORY_ANNOTATION, |
- HintCode.INVALID_FACTORY_METHOD_DECL, |
- HintCode.INVALID_FACTORY_METHOD_IMPL, |
- HintCode.IS_DOUBLE, |
- HintCode.IS_INT, |
- HintCode.IS_NOT_DOUBLE, |
- HintCode.IS_NOT_INT, |
- HintCode.IMPORT_DEFERRED_LIBRARY_WITH_LOAD_FUNCTION, |
- HintCode.INVALID_ASSIGNMENT, |
- HintCode.INVALID_USE_OF_PROTECTED_MEMBER, |
- HintCode.MISSING_JS_LIB_ANNOTATION, |
- HintCode.MISSING_REQUIRED_PARAM, |
- HintCode.MISSING_REQUIRED_PARAM_WITH_DETAILS, |
- HintCode.MISSING_RETURN, |
- HintCode.NULL_AWARE_IN_CONDITION, |
- HintCode.OVERRIDE_ON_NON_OVERRIDING_GETTER, |
- HintCode.OVERRIDE_ON_NON_OVERRIDING_FIELD, |
- HintCode.OVERRIDE_ON_NON_OVERRIDING_METHOD, |
- HintCode.OVERRIDE_ON_NON_OVERRIDING_SETTER, |
- HintCode.OVERRIDE_EQUALS_BUT_NOT_HASH_CODE, |
- HintCode.TYPE_CHECK_IS_NOT_NULL, |
- HintCode.TYPE_CHECK_IS_NULL, |
- HintCode.UNDEFINED_GETTER, |
- HintCode.UNDEFINED_HIDDEN_NAME, |
- HintCode.UNDEFINED_METHOD, |
- HintCode.UNDEFINED_OPERATOR, |
- HintCode.UNDEFINED_SETTER, |
- HintCode.UNDEFINED_SHOWN_NAME, |
- HintCode.UNNECESSARY_CAST, |
- HintCode.UNNECESSARY_NO_SUCH_METHOD, |
- HintCode.UNNECESSARY_TYPE_CHECK_FALSE, |
- HintCode.UNNECESSARY_TYPE_CHECK_TRUE, |
- HintCode.UNUSED_ELEMENT, |
- HintCode.UNUSED_FIELD, |
- HintCode.UNUSED_IMPORT, |
- HintCode.UNUSED_CATCH_CLAUSE, |
- HintCode.UNUSED_CATCH_STACK, |
- HintCode.UNUSED_LOCAL_VARIABLE, |
- HintCode.UNUSED_SHOWN_NAME, |
- HintCode.USE_OF_VOID_RESULT, |
- HintCode.FILE_IMPORT_INSIDE_LIB_REFERENCES_FILE_OUTSIDE, |
- HintCode.FILE_IMPORT_OUTSIDE_LIB_REFERENCES_FILE_INSIDE, |
- HintCode.PACKAGE_IMPORT_CONTAINS_DOT_DOT, |
- HtmlErrorCode.PARSE_ERROR, |
- HtmlWarningCode.INVALID_URI, |
- HtmlWarningCode.URI_DOES_NOT_EXIST, |
- StaticTypeWarningCode.EXPECTED_ONE_LIST_TYPE_ARGUMENTS, |
- StaticTypeWarningCode.EXPECTED_TWO_MAP_TYPE_ARGUMENTS, |
- 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, |
- StaticTypeWarningCode.INVOCATION_OF_NON_FUNCTION, |
- StaticTypeWarningCode.INVOCATION_OF_NON_FUNCTION_EXPRESSION, |
- StaticTypeWarningCode.NON_BOOL_CONDITION, |
- StaticTypeWarningCode.NON_BOOL_EXPRESSION, |
- StaticTypeWarningCode.NON_BOOL_NEGATION_EXPRESSION, |
- StaticTypeWarningCode.NON_BOOL_OPERAND, |
- StaticTypeWarningCode.NON_NULLABLE_FIELD_NOT_INITIALIZED, |
- StaticTypeWarningCode.NON_TYPE_AS_TYPE_ARGUMENT, |
- StaticTypeWarningCode.RETURN_OF_INVALID_TYPE, |
- StaticTypeWarningCode.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS, |
- StaticTypeWarningCode.TYPE_PARAMETER_SUPERTYPE_OF_ITS_BOUND, |
- StaticTypeWarningCode.UNDEFINED_ENUM_CONSTANT, |
- StaticTypeWarningCode.UNDEFINED_FUNCTION, |
- StaticTypeWarningCode.UNDEFINED_GETTER, |
- StaticTypeWarningCode.UNDEFINED_METHOD, |
- StaticTypeWarningCode.UNDEFINED_METHOD_WITH_CONSTRUCTOR, |
- StaticTypeWarningCode.UNDEFINED_OPERATOR, |
- StaticTypeWarningCode.UNDEFINED_SETTER, |
- StaticTypeWarningCode.UNDEFINED_SUPER_GETTER, |
- StaticTypeWarningCode.UNDEFINED_SUPER_METHOD, |
- StaticTypeWarningCode.UNDEFINED_SUPER_OPERATOR, |
- StaticTypeWarningCode.UNDEFINED_SUPER_SETTER, |
- StaticTypeWarningCode.UNQUALIFIED_REFERENCE_TO_NON_LOCAL_STATIC_MEMBER, |
- StaticTypeWarningCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS, |
- StaticTypeWarningCode.YIELD_OF_INVALID_TYPE, |
- StaticTypeWarningCode.FOR_IN_OF_INVALID_TYPE, |
- StaticTypeWarningCode.FOR_IN_OF_INVALID_ELEMENT_TYPE, |
- StaticWarningCode.AMBIGUOUS_IMPORT, |
- StaticWarningCode.ARGUMENT_TYPE_NOT_ASSIGNABLE, |
- StaticWarningCode.ASSIGNMENT_TO_CONST, |
- StaticWarningCode.ASSIGNMENT_TO_FINAL, |
- StaticWarningCode.ASSIGNMENT_TO_FINAL_NO_SETTER, |
- StaticWarningCode.ASSIGNMENT_TO_FUNCTION, |
- StaticWarningCode.ASSIGNMENT_TO_METHOD, |
- StaticWarningCode.ASSIGNMENT_TO_TYPE, |
- StaticWarningCode.CASE_BLOCK_NOT_TERMINATED, |
- StaticWarningCode.CAST_TO_NON_TYPE, |
- StaticWarningCode.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER, |
- StaticWarningCode.CONFLICTING_DART_IMPORT, |
- StaticWarningCode.CONFLICTING_INSTANCE_GETTER_AND_SUPERCLASS_MEMBER, |
- StaticWarningCode.CONFLICTING_INSTANCE_METHOD_SETTER, |
- StaticWarningCode.CONFLICTING_INSTANCE_METHOD_SETTER2, |
- StaticWarningCode.CONFLICTING_INSTANCE_SETTER_AND_SUPERCLASS_MEMBER, |
- StaticWarningCode.CONFLICTING_STATIC_GETTER_AND_INSTANCE_SETTER, |
- StaticWarningCode.CONFLICTING_STATIC_SETTER_AND_INSTANCE_MEMBER, |
- StaticWarningCode.CONST_WITH_ABSTRACT_CLASS, |
- StaticWarningCode.EQUAL_KEYS_IN_MAP, |
- StaticWarningCode.EXPORT_DUPLICATED_LIBRARY_NAMED, |
- StaticWarningCode.EXTRA_POSITIONAL_ARGUMENTS, |
- StaticWarningCode.FIELD_INITIALIZED_IN_INITIALIZER_AND_DECLARATION, |
- StaticWarningCode.FINAL_INITIALIZED_IN_DECLARATION_AND_CONSTRUCTOR, |
- StaticWarningCode.FIELD_INITIALIZER_NOT_ASSIGNABLE, |
- StaticWarningCode.FIELD_INITIALIZING_FORMAL_NOT_ASSIGNABLE, |
- StaticWarningCode.FINAL_NOT_INITIALIZED, |
- StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_1, |
- StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_2, |
- StaticWarningCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_3_PLUS, |
- StaticWarningCode.FUNCTION_WITHOUT_CALL, |
- StaticWarningCode.IMPORT_DUPLICATED_LIBRARY_NAMED, |
- StaticWarningCode.IMPORT_OF_NON_LIBRARY, |
- StaticWarningCode.INCONSISTENT_METHOD_INHERITANCE_GETTER_AND_METHOD, |
- StaticWarningCode.INSTANCE_METHOD_NAME_COLLIDES_WITH_SUPERCLASS_STATIC, |
- StaticWarningCode.INVALID_GETTER_OVERRIDE_RETURN_TYPE, |
- StaticWarningCode.INVALID_METHOD_OVERRIDE_NAMED_PARAM_TYPE, |
- StaticWarningCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETERS, |
- StaticWarningCode.INVALID_METHOD_OVERRIDE_TYPE_PARAMETER_BOUND, |
- StaticWarningCode.INVALID_METHOD_OVERRIDE_NORMAL_PARAM_TYPE, |
- StaticWarningCode.INVALID_METHOD_OVERRIDE_OPTIONAL_PARAM_TYPE, |
- StaticWarningCode.INVALID_METHOD_OVERRIDE_RETURN_TYPE, |
- StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_NAMED, |
- StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_POSITIONAL, |
- StaticWarningCode.INVALID_OVERRIDE_NAMED, |
- StaticWarningCode.INVALID_OVERRIDE_POSITIONAL, |
- StaticWarningCode.INVALID_OVERRIDE_REQUIRED, |
- StaticWarningCode.INVALID_SETTER_OVERRIDE_NORMAL_PARAM_TYPE, |
- StaticWarningCode.LIST_ELEMENT_TYPE_NOT_ASSIGNABLE, |
- StaticWarningCode.MAP_KEY_TYPE_NOT_ASSIGNABLE, |
- StaticWarningCode.MAP_VALUE_TYPE_NOT_ASSIGNABLE, |
- StaticWarningCode.MISMATCHED_GETTER_AND_SETTER_TYPES, |
- StaticWarningCode.MISMATCHED_GETTER_AND_SETTER_TYPES_FROM_SUPERTYPE, |
- StaticWarningCode.MIXED_RETURN_TYPES, |
- StaticWarningCode.NEW_WITH_ABSTRACT_CLASS, |
- StaticWarningCode.NEW_WITH_INVALID_TYPE_PARAMETERS, |
- StaticWarningCode.NEW_WITH_NON_TYPE, |
- StaticWarningCode.NEW_WITH_UNDEFINED_CONSTRUCTOR, |
- StaticWarningCode.NEW_WITH_UNDEFINED_CONSTRUCTOR_DEFAULT, |
- StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_FIVE_PLUS, |
- StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_FOUR, |
- StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_ONE, |
- StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_THREE, |
- StaticWarningCode.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER_TWO, |
- StaticWarningCode.NON_TYPE_IN_CATCH_CLAUSE, |
- StaticWarningCode.NON_VOID_RETURN_FOR_OPERATOR, |
- StaticWarningCode.NON_VOID_RETURN_FOR_SETTER, |
- StaticWarningCode.NOT_A_TYPE, |
- StaticWarningCode.NOT_ENOUGH_REQUIRED_ARGUMENTS, |
- StaticWarningCode.PART_OF_DIFFERENT_LIBRARY, |
- StaticWarningCode.REDIRECT_TO_INVALID_FUNCTION_TYPE, |
- StaticWarningCode.REDIRECT_TO_INVALID_RETURN_TYPE, |
- StaticWarningCode.REDIRECT_TO_MISSING_CONSTRUCTOR, |
- StaticWarningCode.REDIRECT_TO_NON_CLASS, |
- StaticWarningCode.RETURN_WITHOUT_VALUE, |
- StaticWarningCode.STATIC_ACCESS_TO_INSTANCE_MEMBER, |
- StaticWarningCode.SWITCH_EXPRESSION_NOT_ASSIGNABLE, |
- StaticWarningCode.TYPE_ANNOTATION_DEFERRED_CLASS, |
- StaticWarningCode.TYPE_TEST_WITH_NON_TYPE, |
- StaticWarningCode.TYPE_TEST_WITH_UNDEFINED_NAME, |
- StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC, |
- StaticWarningCode.UNDEFINED_CLASS, |
- StaticWarningCode.UNDEFINED_CLASS_BOOLEAN, |
- StaticWarningCode.UNDEFINED_GETTER, |
- StaticWarningCode.UNDEFINED_IDENTIFIER, |
- StaticWarningCode.UNDEFINED_NAMED_PARAMETER, |
- StaticWarningCode.UNDEFINED_SETTER, |
- StaticWarningCode.UNDEFINED_STATIC_METHOD_OR_GETTER, |
- StaticWarningCode.UNDEFINED_SUPER_GETTER, |
- StaticWarningCode.UNDEFINED_SUPER_SETTER, |
- StaticWarningCode.VOID_RETURN_FOR_GETTER, |
- StaticWarningCode.MISSING_ENUM_CONSTANT_IN_SWITCH, |
- StrongModeCode.ASSIGNMENT_CAST, |
- StrongModeCode.DOWN_CAST_COMPOSITE, |
- StrongModeCode.DOWN_CAST_IMPLICIT, |
- StrongModeCode.DYNAMIC_CAST, |
- StrongModeCode.DYNAMIC_INVOKE, |
- StrongModeCode.IMPLICIT_DYNAMIC_FIELD, |
- StrongModeCode.IMPLICIT_DYNAMIC_FUNCTION, |
- StrongModeCode.IMPLICIT_DYNAMIC_INVOKE, |
- StrongModeCode.IMPLICIT_DYNAMIC_LIST_LITERAL, |
- StrongModeCode.IMPLICIT_DYNAMIC_MAP_LITERAL, |
- StrongModeCode.IMPLICIT_DYNAMIC_METHOD, |
- StrongModeCode.IMPLICIT_DYNAMIC_PARAMETER, |
- StrongModeCode.IMPLICIT_DYNAMIC_RETURN, |
- StrongModeCode.IMPLICIT_DYNAMIC_TYPE, |
- StrongModeCode.IMPLICIT_DYNAMIC_VARIABLE, |
- StrongModeCode.INFERRED_TYPE, |
- StrongModeCode.INFERRED_TYPE_ALLOCATION, |
- StrongModeCode.INFERRED_TYPE_CLOSURE, |
- StrongModeCode.INFERRED_TYPE_LITERAL, |
- StrongModeCode.INVALID_FIELD_OVERRIDE, |
- StrongModeCode.INVALID_METHOD_OVERRIDE, |
- StrongModeCode.INVALID_METHOD_OVERRIDE_FROM_BASE, |
- StrongModeCode.INVALID_METHOD_OVERRIDE_FROM_MIXIN, |
- StrongModeCode.INVALID_PARAMETER_DECLARATION, |
- StrongModeCode.INVALID_SUPER_INVOCATION, |
- StrongModeCode.NON_GROUND_TYPE_CHECK_INFO, |
- StrongModeCode.STATIC_TYPE_ERROR, |
- StrongModeCode.UNSAFE_BLOCK_CLOSURE_INFERENCE, |
- |
- TodoCode.TODO, |
- |
- // |
- // parser.dart: |
- // |
- ParserErrorCode.ABSTRACT_CLASS_MEMBER, |
- ParserErrorCode.ABSTRACT_ENUM, |
- ParserErrorCode.ABSTRACT_STATIC_METHOD, |
- ParserErrorCode.ABSTRACT_TOP_LEVEL_FUNCTION, |
- ParserErrorCode.ABSTRACT_TOP_LEVEL_VARIABLE, |
- 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, |
- ParserErrorCode.CONST_AND_FINAL, |
- ParserErrorCode.CONST_AND_VAR, |
- ParserErrorCode.CONST_CLASS, |
- ParserErrorCode.CONST_CONSTRUCTOR_WITH_BODY, |
- ParserErrorCode.CONST_ENUM, |
- ParserErrorCode.CONST_FACTORY, |
- ParserErrorCode.CONST_METHOD, |
- ParserErrorCode.CONST_TYPEDEF, |
- ParserErrorCode.CONSTRUCTOR_WITH_RETURN_TYPE, |
- ParserErrorCode.CONTINUE_OUTSIDE_OF_LOOP, |
- ParserErrorCode.CONTINUE_WITHOUT_LABEL_IN_CASE, |
- ParserErrorCode.DEPRECATED_CLASS_TYPE_ALIAS, |
- ParserErrorCode.DIRECTIVE_AFTER_DECLARATION, |
- ParserErrorCode.DUPLICATE_LABEL_IN_SWITCH_STATEMENT, |
- ParserErrorCode.DUPLICATED_MODIFIER, |
- ParserErrorCode.EMPTY_ENUM_BODY, |
- ParserErrorCode.ENUM_IN_CLASS, |
- ParserErrorCode.EQUALITY_CANNOT_BE_EQUALITY_OPERAND, |
- ParserErrorCode.EXPECTED_CASE_OR_DEFAULT, |
- ParserErrorCode.EXPECTED_CLASS_MEMBER, |
- ParserErrorCode.EXPECTED_EXECUTABLE, |
- ParserErrorCode.EXPECTED_LIST_OR_MAP_LITERAL, |
- ParserErrorCode.EXPECTED_STRING_LITERAL, |
- ParserErrorCode.EXPECTED_TOKEN, |
- ParserErrorCode.EXPECTED_TYPE_NAME, |
- ParserErrorCode.EXPORT_DIRECTIVE_AFTER_PART_DIRECTIVE, |
- ParserErrorCode.EXTERNAL_AFTER_CONST, |
- ParserErrorCode.EXTERNAL_AFTER_FACTORY, |
- ParserErrorCode.EXTERNAL_AFTER_STATIC, |
- ParserErrorCode.EXTERNAL_CLASS, |
- ParserErrorCode.EXTERNAL_CONSTRUCTOR_WITH_BODY, |
- ParserErrorCode.EXTERNAL_ENUM, |
- ParserErrorCode.EXTERNAL_FIELD, |
- ParserErrorCode.EXTERNAL_GETTER_WITH_BODY, |
- ParserErrorCode.EXTERNAL_METHOD_WITH_BODY, |
- ParserErrorCode.EXTERNAL_OPERATOR_WITH_BODY, |
- ParserErrorCode.EXTERNAL_SETTER_WITH_BODY, |
- ParserErrorCode.EXTERNAL_TYPEDEF, |
- ParserErrorCode.FACTORY_TOP_LEVEL_DECLARATION, |
- ParserErrorCode.FACTORY_WITH_INITIALIZERS, |
- ParserErrorCode.FACTORY_WITHOUT_BODY, |
- ParserErrorCode.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR, |
- ParserErrorCode.FINAL_AND_VAR, |
- ParserErrorCode.FINAL_CLASS, |
- ParserErrorCode.FINAL_CONSTRUCTOR, |
- ParserErrorCode.FINAL_ENUM, |
- ParserErrorCode.FINAL_METHOD, |
- ParserErrorCode.FINAL_TYPEDEF, |
- ParserErrorCode.FUNCTION_TYPED_PARAMETER_VAR, |
- ParserErrorCode.GETTER_IN_FUNCTION, |
- ParserErrorCode.GETTER_WITH_PARAMETERS, |
- ParserErrorCode.ILLEGAL_ASSIGNMENT_TO_NON_ASSIGNABLE, |
- ParserErrorCode.IMPLEMENTS_BEFORE_EXTENDS, |
- ParserErrorCode.IMPLEMENTS_BEFORE_WITH, |
- ParserErrorCode.IMPORT_DIRECTIVE_AFTER_PART_DIRECTIVE, |
- ParserErrorCode.INITIALIZED_VARIABLE_IN_FOR_EACH, |
- ParserErrorCode.INVALID_AWAIT_IN_FOR, |
- ParserErrorCode.INVALID_CODE_POINT, |
- ParserErrorCode.INVALID_COMMENT_REFERENCE, |
- ParserErrorCode.INVALID_HEX_ESCAPE, |
- ParserErrorCode.INVALID_LITERAL_IN_CONFIGURATION, |
- ParserErrorCode.INVALID_OPERATOR, |
- ParserErrorCode.INVALID_OPERATOR_FOR_SUPER, |
- ParserErrorCode.INVALID_STAR_AFTER_ASYNC, |
- ParserErrorCode.INVALID_SYNC, |
- ParserErrorCode.INVALID_UNICODE_ESCAPE, |
- ParserErrorCode.LIBRARY_DIRECTIVE_NOT_FIRST, |
- ParserErrorCode.LOCAL_FUNCTION_DECLARATION_MODIFIER, |
- ParserErrorCode.MISSING_ASSIGNABLE_SELECTOR, |
- ParserErrorCode.MISSING_ASSIGNMENT_IN_INITIALIZER, |
- ParserErrorCode.MISSING_CATCH_OR_FINALLY, |
- ParserErrorCode.MISSING_CLASS_BODY, |
- ParserErrorCode.MISSING_CLOSING_PARENTHESIS, |
- ParserErrorCode.MISSING_CONST_FINAL_VAR_OR_TYPE, |
- ParserErrorCode.MISSING_ENUM_BODY, |
- ParserErrorCode.MISSING_EXPRESSION_IN_INITIALIZER, |
- ParserErrorCode.MISSING_EXPRESSION_IN_THROW, |
- ParserErrorCode.MISSING_FUNCTION_BODY, |
- ParserErrorCode.MISSING_FUNCTION_PARAMETERS, |
- ParserErrorCode.MISSING_METHOD_PARAMETERS, |
- ParserErrorCode.MISSING_GET, |
- ParserErrorCode.MISSING_IDENTIFIER, |
- ParserErrorCode.MISSING_INITIALIZER, |
- ParserErrorCode.MISSING_KEYWORD_OPERATOR, |
- ParserErrorCode.MISSING_NAME_IN_LIBRARY_DIRECTIVE, |
- ParserErrorCode.MISSING_NAME_IN_PART_OF_DIRECTIVE, |
- ParserErrorCode.MISSING_PREFIX_IN_DEFERRED_IMPORT, |
- ParserErrorCode.MISSING_STAR_AFTER_SYNC, |
- ParserErrorCode.MISSING_STATEMENT, |
- ParserErrorCode.MISSING_TERMINATOR_FOR_PARAMETER_GROUP, |
- ParserErrorCode.MISSING_TYPEDEF_PARAMETERS, |
- ParserErrorCode.MISSING_VARIABLE_IN_FOR_EACH, |
- ParserErrorCode.MIXED_PARAMETER_GROUPS, |
- ParserErrorCode.MULTIPLE_EXTENDS_CLAUSES, |
- ParserErrorCode.MULTIPLE_IMPLEMENTS_CLAUSES, |
- ParserErrorCode.MULTIPLE_LIBRARY_DIRECTIVES, |
- ParserErrorCode.MULTIPLE_NAMED_PARAMETER_GROUPS, |
- ParserErrorCode.MULTIPLE_PART_OF_DIRECTIVES, |
- ParserErrorCode.MULTIPLE_POSITIONAL_PARAMETER_GROUPS, |
- ParserErrorCode.MULTIPLE_VARIABLES_IN_FOR_EACH, |
- ParserErrorCode.MULTIPLE_WITH_CLAUSES, |
- ParserErrorCode.NAMED_FUNCTION_EXPRESSION, |
- ParserErrorCode.NAMED_PARAMETER_OUTSIDE_GROUP, |
- ParserErrorCode.NATIVE_CLAUSE_IN_NON_SDK_CODE, |
- ParserErrorCode.NATIVE_FUNCTION_BODY_IN_NON_SDK_CODE, |
- ParserErrorCode.NON_CONSTRUCTOR_FACTORY, |
- ParserErrorCode.NON_IDENTIFIER_LIBRARY_NAME, |
- ParserErrorCode.NON_PART_OF_DIRECTIVE_IN_PART, |
- ParserErrorCode.NON_STRING_LITERAL_AS_URI, |
- ParserErrorCode.NON_USER_DEFINABLE_OPERATOR, |
- ParserErrorCode.NORMAL_BEFORE_OPTIONAL_PARAMETERS, |
- ParserErrorCode.POSITIONAL_AFTER_NAMED_ARGUMENT, |
- ParserErrorCode.POSITIONAL_PARAMETER_OUTSIDE_GROUP, |
- ParserErrorCode.REDIRECTING_CONSTRUCTOR_WITH_BODY, |
- ParserErrorCode.REDIRECTION_IN_NON_FACTORY_CONSTRUCTOR, |
- ParserErrorCode.SETTER_IN_FUNCTION, |
- ParserErrorCode.STATIC_AFTER_CONST, |
- ParserErrorCode.STATIC_AFTER_FINAL, |
- ParserErrorCode.STATIC_AFTER_VAR, |
- ParserErrorCode.STATIC_CONSTRUCTOR, |
- ParserErrorCode.STATIC_GETTER_WITHOUT_BODY, |
- ParserErrorCode.STATIC_OPERATOR, |
- ParserErrorCode.STATIC_SETTER_WITHOUT_BODY, |
- ParserErrorCode.STATIC_TOP_LEVEL_DECLARATION, |
- ParserErrorCode.SWITCH_HAS_CASE_AFTER_DEFAULT_CASE, |
- ParserErrorCode.SWITCH_HAS_MULTIPLE_DEFAULT_CASES, |
- ParserErrorCode.TOP_LEVEL_OPERATOR, |
- ParserErrorCode.TYPEDEF_IN_CLASS, |
- ParserErrorCode.UNEXPECTED_TERMINATOR_FOR_PARAMETER_GROUP, |
- ParserErrorCode.UNEXPECTED_TOKEN, |
- ParserErrorCode.WITH_BEFORE_EXTENDS, |
- ParserErrorCode.WITH_WITHOUT_EXTENDS, |
- ParserErrorCode.WRONG_SEPARATOR_FOR_NAMED_PARAMETER, |
- ParserErrorCode.WRONG_SEPARATOR_FOR_POSITIONAL_PARAMETER, |
- ParserErrorCode.WRONG_TERMINATOR_FOR_PARAMETER_GROUP, |
- ParserErrorCode.VAR_AND_TYPE, |
- ParserErrorCode.VAR_AS_TYPE_NAME, |
- ParserErrorCode.VAR_CLASS, |
- ParserErrorCode.VAR_ENUM, |
- ParserErrorCode.VAR_RETURN_TYPE, |
- ParserErrorCode.VAR_TYPEDEF, |
- ParserErrorCode.VOID_PARAMETER, |
- ParserErrorCode.VOID_VARIABLE, |
- |
- // |
- // scanner.dart: |
- // |
- ScannerErrorCode.ILLEGAL_CHARACTER, |
- ScannerErrorCode.MISSING_DIGIT, |
- ScannerErrorCode.MISSING_HEX_DIGIT, |
- ScannerErrorCode.MISSING_QUOTE, |
- ScannerErrorCode.UNABLE_GET_CONTENT, |
- ScannerErrorCode.UNTERMINATED_MULTI_LINE_COMMENT, |
- ScannerErrorCode.UNTERMINATED_STRING_LITERAL, |
- ]; |
- |
- /** |
- * The lazy initialized map from [uniqueName] to the [ErrorCode] instance. |
- */ |
- static HashMap<String, ErrorCode> _uniqueNameToCodeMap; |
- |
- /** |
- * An empty list of error codes. |
- */ |
- static const List<ErrorCode> EMPTY_LIST = const <ErrorCode>[]; |
- |
- /** |
- * The name of the error code. |
- */ |
- final String name; |
- |
- /** |
- * The template used to create the message to be displayed for this error. The |
- * message should indicate what is wrong and why it is wrong. |
- */ |
- final String message; |
- |
- /** |
- * The template used to create the correction to be displayed for this error, |
- * or `null` if there is no correction information for this error. The |
- * correction should indicate how the user can fix the error. |
- */ |
- final String correction; |
- |
- /** |
- * Initialize a newly created error code to have the given [name]. The message |
- * associated with the error will be created from the given [message] |
- * template. The correction associated with the error will be created from the |
- * given [correction] template. |
- */ |
- const ErrorCode(this.name, this.message, [this.correction]); |
- |
- /** |
- * The severity of the error. |
- */ |
- ErrorSeverity get errorSeverity; |
- |
- /** |
- * The type of the error. |
- */ |
- ErrorType get type; |
- |
- /** |
- * The unique name of this error code. |
- */ |
- String get uniqueName => "$runtimeType.$name"; |
- |
- @override |
- String toString() => uniqueName; |
- |
- /** |
- * Return the [ErrorCode] with the given [uniqueName], or `null` if not |
- * found. |
- */ |
- static ErrorCode byUniqueName(String uniqueName) { |
- if (_uniqueNameToCodeMap == null) { |
- _uniqueNameToCodeMap = new HashMap<String, ErrorCode>(); |
- for (ErrorCode errorCode in values) { |
- _uniqueNameToCodeMap[errorCode.uniqueName] = errorCode; |
- } |
- } |
- return _uniqueNameToCodeMap[uniqueName]; |
- } |
-} |
- |
-/** |
- * The properties that can be associated with an [AnalysisError]. |
- */ |
-class ErrorProperty<V> extends Enum<ErrorProperty> { |
- /** |
- * A property whose value is a list of [FieldElement]s that are final, but |
- * not initialized by a constructor. |
- */ |
- static const ErrorProperty<List<FieldElement>> NOT_INITIALIZED_FIELDS = |
- const ErrorProperty<List<FieldElement>>('NOT_INITIALIZED_FIELDS', 0); |
- |
- /** |
- * A property whose value is the name of the library that is used by all |
- * of the "part of" directives, so should be used in the "library" directive. |
- * Is `null` if there is no a single name used by all of the parts. |
- */ |
- static const ErrorProperty<String> PARTS_LIBRARY_NAME = |
- const ErrorProperty<String>('PARTS_LIBRARY_NAME', 1); |
- |
- /** |
- * A property whose value is a list of [ExecutableElement] that should |
- * be but are not implemented by a concrete class. |
- */ |
- static const ErrorProperty<List<ExecutableElement>> UNIMPLEMENTED_METHODS = |
- const ErrorProperty<List<ExecutableElement>>('UNIMPLEMENTED_METHODS', 2); |
- |
- static const List<ErrorProperty> values = const [ |
- NOT_INITIALIZED_FIELDS, |
- PARTS_LIBRARY_NAME, |
- UNIMPLEMENTED_METHODS |
- ]; |
- |
- const ErrorProperty(String name, int ordinal) : super(name, ordinal); |
-} |
- |
-/** |
- * An object used to create analysis errors and report then to an error |
- * listener. |
- */ |
-class ErrorReporter { |
- /** |
- * The error listener to which errors will be reported. |
- */ |
- final AnalysisErrorListener _errorListener; |
- |
- /** |
- * The default source to be used when reporting errors. |
- */ |
- final Source _defaultSource; |
- |
- /** |
- * The source to be used when reporting errors. |
- */ |
- Source _source; |
- |
- /** |
- * Initialize a newly created error reporter that will report errors to the |
- * given [_errorListener]. Errors will be reported against the |
- * [_defaultSource] unless another source is provided later. |
- */ |
- ErrorReporter(this._errorListener, this._defaultSource) { |
- if (_errorListener == null) { |
- throw new ArgumentError("An error listener must be provided"); |
- } else if (_defaultSource == null) { |
- throw new ArgumentError("A default source must be provided"); |
- } |
- this._source = _defaultSource; |
- } |
- |
- Source get source => _source; |
- |
- /** |
- * Set the source to be used when reporting errors to the given [source]. |
- * Setting the source to `null` will cause the default source to be used. |
- */ |
- void set source(Source source) { |
- this._source = source ?? _defaultSource; |
- } |
- |
- /** |
- * Creates an error with properties with the given [errorCode] and |
- * [arguments]. The [node] is used to compute the location of the error. |
- */ |
- AnalysisErrorWithProperties newErrorWithProperties( |
- ErrorCode errorCode, AstNode node, List<Object> arguments) => |
- new AnalysisErrorWithProperties( |
- _source, node.offset, node.length, errorCode, arguments); |
- |
- /** |
- * Report the given [error]. |
- */ |
- void reportError(AnalysisError error) { |
- _errorListener.onError(error); |
- } |
- |
- /** |
- * Report an error with the given [errorCode] and [arguments]. The [element] |
- * is used to compute the location of the error. |
- */ |
- void reportErrorForElement(ErrorCode errorCode, Element element, |
- [List<Object> arguments]) { |
- int length = 0; |
- if (element is ImportElement) { |
- length = 6; // 'import'.length |
- } else if (element is ExportElement) { |
- length = 6; // 'export'.length |
- } else { |
- length = element.nameLength; |
- } |
- reportErrorForOffset(errorCode, element.nameOffset, length, arguments); |
- } |
- |
- /** |
- * Report an error with the given [errorCode] and [arguments]. |
- * The [node] is used to compute the location of the error. |
- * |
- * If the arguments contain the names of two or more types, the method |
- * [reportTypeErrorForNode] should be used and the types |
- * themselves (rather than their names) should be passed as arguments. |
- */ |
- void reportErrorForNode(ErrorCode errorCode, AstNode node, |
- [List<Object> arguments]) { |
- reportErrorForOffset(errorCode, node.offset, node.length, arguments); |
- } |
- |
- /** |
- * Report an error with the given [errorCode] and [arguments]. The location of |
- * the error is specified by the given [offset] and [length]. |
- */ |
- void reportErrorForOffset(ErrorCode errorCode, int offset, int length, |
- [List<Object> arguments]) { |
- _errorListener.onError( |
- new AnalysisError(_source, offset, length, errorCode, arguments)); |
- } |
- |
- /** |
- * Report an error with the given [errorCode] and [arguments]. The location of |
- * the error is specified by the given [span]. |
- */ |
- void reportErrorForSpan(ErrorCode errorCode, SourceSpan span, |
- [List<Object> arguments]) { |
- reportErrorForOffset(errorCode, span.start.offset, span.length, arguments); |
- } |
- |
- /** |
- * Report an error with the given [errorCode] and [arguments]. The [token] is |
- * used to compute the location of the error. |
- */ |
- void reportErrorForToken(ErrorCode errorCode, Token token, |
- [List<Object> arguments]) { |
- reportErrorForOffset(errorCode, token.offset, token.length, arguments); |
- } |
- |
- /** |
- * Report an error with the given [errorCode] and [arguments]. The [node] is |
- * used to compute the location of the error. The arguments are expected to |
- * contain two or more types. Convert the types into strings by using the |
- * display names of the types, unless there are two or more types with the |
- * same names, in which case the extended display names of the types will be |
- * used in order to clarify the message. |
- * |
- * If there are not two or more types in the argument list, the method |
- * [reportErrorForNode] should be used instead. |
- */ |
- void reportTypeErrorForNode( |
- ErrorCode errorCode, AstNode node, List<Object> arguments) { |
- _convertTypeNames(arguments); |
- reportErrorForOffset(errorCode, node.offset, node.length, arguments); |
- } |
- |
- /** |
- * Given an array of [arguments] that is expected to contain two or more |
- * types, convert the types into strings by using the display names of the |
- * types, unless there are two or more types with the same names, in which |
- * case the extended display names of the types will be used in order to |
- * clarify the message. |
- */ |
- void _convertTypeNames(List<Object> arguments) { |
- String displayName(DartType type) { |
- if (type is FunctionType) { |
- String name = type.name; |
- if (name != null && name.length > 0) { |
- StringBuffer buffer = new StringBuffer(); |
- buffer.write(name); |
- (type as TypeImpl).appendTo(buffer); |
- return buffer.toString(); |
- } |
- } |
- return type.displayName; |
- } |
- |
- if (_hasEqualTypeNames(arguments)) { |
- int count = arguments.length; |
- for (int i = 0; i < count; i++) { |
- Object argument = arguments[i]; |
- if (argument is DartType) { |
- Element element = argument.element; |
- if (element == null) { |
- arguments[i] = displayName(argument); |
- } else { |
- arguments[i] = |
- element.getExtendedDisplayName(displayName(argument)); |
- } |
- } |
- } |
- } else { |
- int count = arguments.length; |
- for (int i = 0; i < count; i++) { |
- Object argument = arguments[i]; |
- if (argument is DartType) { |
- arguments[i] = displayName(argument); |
- } |
- } |
- } |
- } |
- |
- /** |
- * Return `true` if the given array of [arguments] contains two or more types |
- * with the same display name. |
- */ |
- bool _hasEqualTypeNames(List<Object> arguments) { |
- int count = arguments.length; |
- HashSet<String> typeNames = new HashSet<String>(); |
- for (int i = 0; i < count; i++) { |
- Object argument = arguments[i]; |
- if (argument is DartType && !typeNames.add(argument.displayName)) { |
- return true; |
- } |
- } |
- return false; |
- } |
-} |
- |
-/** |
- * The severity of an [ErrorCode]. |
- */ |
-class ErrorSeverity extends Enum<ErrorSeverity> { |
- /** |
- * The severity representing a non-error. This is never used for any error |
- * code, but is useful for clients. |
- */ |
- static const ErrorSeverity NONE = const ErrorSeverity('NONE', 0, " ", "none"); |
- |
- /** |
- * The severity representing an informational level analysis issue. |
- */ |
- static const ErrorSeverity INFO = const ErrorSeverity('INFO', 1, "I", "info"); |
- |
- /** |
- * The severity representing a warning. Warnings can become errors if the `-Werror` command |
- * line flag is specified. |
- */ |
- static const ErrorSeverity WARNING = |
- const ErrorSeverity('WARNING', 2, "W", "warning"); |
- |
- /** |
- * The severity representing an error. |
- */ |
- static const ErrorSeverity ERROR = |
- const ErrorSeverity('ERROR', 3, "E", "error"); |
- |
- static const List<ErrorSeverity> values = const [NONE, INFO, WARNING, ERROR]; |
- |
- /** |
- * The name of the severity used when producing machine output. |
- */ |
- final String machineCode; |
- |
- /** |
- * The name of the severity used when producing readable output. |
- */ |
- final String displayName; |
- |
- /** |
- * Initialize a newly created severity with the given names. |
- * |
- * Parameters: |
- * 0: the name of the severity used when producing machine output |
- * 1: the name of the severity used when producing readable output |
- */ |
- const ErrorSeverity( |
- String name, int ordinal, this.machineCode, this.displayName) |
- : super(name, ordinal); |
- |
- /** |
- * Return the severity constant that represents the greatest severity. |
- */ |
- ErrorSeverity max(ErrorSeverity severity) => |
- this.ordinal >= severity.ordinal ? this : severity; |
-} |
- |
-/** |
- * The type of an [ErrorCode]. |
- */ |
-class ErrorType extends Enum<ErrorType> { |
- /** |
- * Task (todo) comments in user code. |
- */ |
- static const ErrorType TODO = const ErrorType('TODO', 0, ErrorSeverity.INFO); |
- |
- /** |
- * Extra analysis run over the code to follow best practices, which are not in |
- * the Dart Language Specification. |
- */ |
- static const ErrorType HINT = const ErrorType('HINT', 1, ErrorSeverity.INFO); |
- |
- /** |
- * Compile-time errors are errors that preclude execution. A compile time |
- * error must be reported by a Dart compiler before the erroneous code is |
- * executed. |
- */ |
- static const ErrorType COMPILE_TIME_ERROR = |
- const ErrorType('COMPILE_TIME_ERROR', 2, ErrorSeverity.ERROR); |
- |
- /** |
- * Checked mode compile-time errors are errors that preclude execution in |
- * checked mode. |
- */ |
- static const ErrorType CHECKED_MODE_COMPILE_TIME_ERROR = const ErrorType( |
- 'CHECKED_MODE_COMPILE_TIME_ERROR', 3, ErrorSeverity.ERROR); |
- |
- /** |
- * Static warnings are those warnings reported by the static checker. They |
- * have no effect on execution. Static warnings must be provided by Dart |
- * compilers used during development. |
- */ |
- static const ErrorType STATIC_WARNING = |
- const ErrorType('STATIC_WARNING', 4, ErrorSeverity.WARNING); |
- |
- /** |
- * Many, but not all, static warnings relate to types, in which case they are |
- * known as static type warnings. |
- */ |
- static const ErrorType STATIC_TYPE_WARNING = |
- const ErrorType('STATIC_TYPE_WARNING', 5, ErrorSeverity.WARNING); |
- |
- /** |
- * Syntactic errors are errors produced as a result of input that does not |
- * conform to the grammar. |
- */ |
- static const ErrorType SYNTACTIC_ERROR = |
- const ErrorType('SYNTACTIC_ERROR', 6, ErrorSeverity.ERROR); |
- |
- /** |
- * Lint warnings describe style and best practice recommendations that can be |
- * used to formalize a project's style guidelines. |
- */ |
- static const ErrorType LINT = const ErrorType('LINT', 7, ErrorSeverity.INFO); |
- |
- static const List<ErrorType> values = const [ |
- TODO, |
- HINT, |
- COMPILE_TIME_ERROR, |
- CHECKED_MODE_COMPILE_TIME_ERROR, |
- STATIC_WARNING, |
- STATIC_TYPE_WARNING, |
- SYNTACTIC_ERROR, |
- LINT |
- ]; |
- |
- /** |
- * The severity of this type of error. |
- */ |
- final ErrorSeverity severity; |
- |
- /** |
- * Initialize a newly created error type to have the given [name] and |
- * [severity]. |
- */ |
- const ErrorType(String name, int ordinal, this.severity) |
- : super(name, ordinal); |
- |
- String get displayName => name.toLowerCase().replaceAll('_', ' '); |
-} |
- |
-/** |
* The hints and coding recommendations for best practices which are not |
* mentioned in the Dart Language Specification. |
*/ |
@@ -4295,9 +2972,6 @@ class StaticTypeWarningCode extends ErrorCode { |
const StaticTypeWarningCode('NON_BOOL_OPERAND', |
"The operands of the '{0}' operator must be assignable to 'bool'"); |
- /** |
- * |
- */ |
static const StaticTypeWarningCode NON_NULLABLE_FIELD_NOT_INITIALIZED = |
const StaticTypeWarningCode('NON_NULLABLE_FIELD_NOT_INITIALIZED', |
"Variable '{0}' of non-nullable type '{1}' must be initialized"); |