| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // 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 dart2js.messages; |
| |
| import 'package:dart_messages/shared_messages.dart' as shared_messages; |
| |
| import '../tokens/token.dart' show ErrorToken, Token; |
| |
| import 'invariant.dart' show invariant; |
| import 'spannable.dart' show CURRENT_ELEMENT_SPANNABLE; |
| |
| import 'dart2js_messages.dart' as dart2js_messages; |
| |
| /// Keys for the [MessageTemplate]s. |
| enum MessageKind { |
| ABSTRACT_CLASS_INSTANTIATION, |
| ABSTRACT_GETTER, |
| ABSTRACT_METHOD, |
| ABSTRACT_SETTER, |
| ACCESSED_IN_CLOSURE, |
| ACCESSED_IN_CLOSURE_HERE, |
| ADDITIONAL_ARGUMENT, |
| ADDITIONAL_TYPE_ARGUMENT, |
| ALREADY_INITIALIZED, |
| AMBIGUOUS_LOCATION, |
| AMBIGUOUS_REEXPORT, |
| ASSERT_IS_GIVEN_NAMED_ARGUMENTS, |
| ASSIGNING_FINAL_FIELD_IN_SUPER, |
| ASSIGNING_METHOD, |
| ASSIGNING_METHOD_IN_SUPER, |
| ASSIGNING_TYPE, |
| ASYNC_KEYWORD_AS_IDENTIFIER, |
| ASYNC_MODIFIER_ON_ABSTRACT_METHOD, |
| ASYNC_MODIFIER_ON_CONSTRUCTOR, |
| ASYNC_MODIFIER_ON_SETTER, |
| AWAIT_MEMBER_NOT_FOUND, |
| AWAIT_MEMBER_NOT_FOUND_IN_CLOSURE, |
| BAD_INPUT_CHARACTER, |
| BEFORE_TOP_LEVEL, |
| BINARY_OPERATOR_BAD_ARITY, |
| BODY_EXPECTED, |
| CALL_NOT_SUPPORTED_ON_NATIVE_CLASS, |
| CANNOT_EXTEND, |
| CANNOT_EXTEND_ENUM, |
| CANNOT_EXTEND_MALFORMED, |
| CANNOT_FIND_CONSTRUCTOR, |
| CANNOT_FIND_UNNAMED_CONSTRUCTOR, |
| CANNOT_IMPLEMENT, |
| CANNOT_IMPLEMENT_ENUM, |
| CANNOT_IMPLEMENT_MALFORMED, |
| CANNOT_INSTANTIATE_ENUM, |
| CANNOT_INSTANTIATE_TYPE_VARIABLE, |
| CANNOT_INSTANTIATE_TYPEDEF, |
| CANNOT_MIXIN, |
| CANNOT_MIXIN_ENUM, |
| CANNOT_MIXIN_MALFORMED, |
| CANNOT_OVERRIDE_FIELD_WITH_METHOD, |
| CANNOT_OVERRIDE_FIELD_WITH_METHOD_CONT, |
| CANNOT_OVERRIDE_GETTER_WITH_METHOD, |
| CANNOT_OVERRIDE_GETTER_WITH_METHOD_CONT, |
| CANNOT_OVERRIDE_METHOD_WITH_FIELD, |
| CANNOT_OVERRIDE_METHOD_WITH_FIELD_CONT, |
| CANNOT_OVERRIDE_METHOD_WITH_GETTER, |
| CANNOT_OVERRIDE_METHOD_WITH_GETTER_CONT, |
| CANNOT_RESOLVE, |
| CANNOT_RESOLVE_AWAIT, |
| CANNOT_RESOLVE_AWAIT_IN_CLOSURE, |
| CANNOT_RESOLVE_CONSTRUCTOR, |
| CANNOT_RESOLVE_CONSTRUCTOR_FOR_IMPLICIT, |
| CANNOT_RESOLVE_GETTER, |
| CANNOT_RESOLVE_IN_INITIALIZER, |
| CANNOT_RESOLVE_SETTER, |
| CANNOT_RESOLVE_TYPE, |
| CANNOT_RETURN_FROM_CONSTRUCTOR, |
| CLASS_NAME_EXPECTED, |
| COMPILER_CRASHED, |
| COMPLEX_RETURNING_NSM, |
| COMPLEX_THROWING_NSM, |
| CONSIDER_ANALYZE_ALL, |
| CONST_CALLS_NON_CONST, |
| CONST_CALLS_NON_CONST_FOR_IMPLICIT, |
| CONST_CONSTRUCTOR_HAS_BODY, |
| CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS, |
| CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_CONSTRUCTOR, |
| CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_FIELD, |
| CONST_LOOP_VARIABLE, |
| CONST_MAP_KEY_OVERRIDES_EQUALS, |
| CONST_WITHOUT_INITIALIZER, |
| CONSTRUCTOR_CALL_EXPECTED, |
| CONSTRUCTOR_IS_NOT_CONST, |
| CONSTRUCTOR_WITH_RETURN_TYPE, |
| CYCLIC_CLASS_HIERARCHY, |
| CYCLIC_COMPILE_TIME_CONSTANTS, |
| CYCLIC_REDIRECTING_FACTORY, |
| CYCLIC_TYPE_VARIABLE, |
| CYCLIC_TYPEDEF, |
| CYCLIC_TYPEDEF_ONE, |
| DART_EXT_NOT_SUPPORTED, |
| DEFERRED_COMPILE_TIME_CONSTANT, |
| DEFERRED_COMPILE_TIME_CONSTANT_CONSTRUCTION, |
| DEFERRED_LIBRARY_DART_2_DART, |
| DEFERRED_LIBRARY_DUPLICATE_PREFIX, |
| DEFERRED_LIBRARY_WITHOUT_PREFIX, |
| DEFERRED_OLD_SYNTAX, |
| DEFERRED_TYPE_ANNOTATION, |
| DEPRECATED_TYPEDEF_MIXIN_SYNTAX, |
| DIRECTLY_THROWING_NSM, |
| DISALLOWED_LIBRARY_IMPORT, |
| DUPLICATE_DEFINITION, |
| DUPLICATE_EXPORT, |
| DUPLICATE_EXPORT_CONT, |
| DUPLICATE_EXPORT_DECL, |
| DUPLICATE_EXTENDS_IMPLEMENTS, |
| DUPLICATE_IMPLEMENTS, |
| DUPLICATE_IMPORT, |
| DUPLICATE_INITIALIZER, |
| DUPLICATE_LABEL, |
| DUPLICATE_SUPER_INITIALIZER, |
| DUPLICATE_TYPE_VARIABLE_NAME, |
| DUPLICATED_LIBRARY_NAME, |
| DUPLICATED_LIBRARY_RESOURCE, |
| DUPLICATED_PART_OF, |
| DUPLICATED_RESOURCE, |
| EMPTY_CATCH_DECLARATION, |
| EMPTY_ENUM_DECLARATION, |
| EMPTY_HIDE, |
| EQUAL_MAP_ENTRY_KEY, |
| EMPTY_SHOW, |
| EXISTING_DEFINITION, |
| EXISTING_LABEL, |
| EXPECTED_IDENTIFIER_NOT_RESERVED_WORD, |
| EXPERIMENTAL_ASSERT_MESSAGE, |
| EXPONENT_MISSING, |
| EXPORT_BEFORE_PARTS, |
| EXTERNAL_WITH_BODY, |
| EXTRA_CATCH_DECLARATION, |
| EXTRA_FORMALS, |
| EXTRANEOUS_MODIFIER, |
| EXTRANEOUS_MODIFIER_REPLACE, |
| FACTORY_REDIRECTION_IN_NON_FACTORY, |
| FINAL_FUNCTION_TYPE_PARAMETER, |
| FINAL_WITHOUT_INITIALIZER, |
| FORIN_NOT_ASSIGNABLE, |
| FORMAL_DECLARED_CONST, |
| FORMAL_DECLARED_STATIC, |
| FUNCTION_TYPE_FORMAL_WITH_DEFAULT, |
| FUNCTION_WITH_INITIALIZER, |
| GENERIC, |
| GETTER_MISMATCH, |
| GETTER_NOT_FOUND, |
| HEX_DIGIT_EXPECTED, |
| HIDDEN_HINTS, |
| HIDDEN_IMPLICIT_IMPORT, |
| HIDDEN_IMPORT, |
| HIDDEN_WARNINGS, |
| HIDDEN_WARNINGS_HINTS, |
| IF_NULL_ASSIGNING_TYPE, |
| ILLEGAL_CONST_FIELD_MODIFIER, |
| ILLEGAL_CONSTRUCTOR_MODIFIERS, |
| ILLEGAL_FINAL_METHOD_MODIFIER, |
| ILLEGAL_MIXIN_APPLICATION_MODIFIERS, |
| ILLEGAL_MIXIN_CONSTRUCTOR, |
| ILLEGAL_MIXIN_CYCLE, |
| ILLEGAL_MIXIN_OBJECT, |
| ILLEGAL_MIXIN_SUPER_USE, |
| ILLEGAL_MIXIN_SUPERCLASS, |
| ILLEGAL_MIXIN_WITH_SUPER, |
| ILLEGAL_SETTER_FORMALS, |
| ILLEGAL_STATIC, |
| ILLEGAL_SUPER_SEND, |
| IMPORT_BEFORE_PARTS, |
| IMPORT_EXPERIMENTAL_MIRRORS, |
| IMPORT_PART_OF, |
| IMPORT_PART_OF_HERE, |
| IMPORTED_HERE, |
| INHERIT_GETTER_AND_METHOD, |
| INHERITED_EXPLICIT_GETTER, |
| INHERITED_IMPLICIT_GETTER, |
| INHERITED_METHOD, |
| INJECTED_PUBLIC_MEMBER, |
| INIT_STATIC_FIELD, |
| INITIALIZING_FORMAL_NOT_ALLOWED, |
| INSTANCE_STATIC_SAME_NAME, |
| INSTANCE_STATIC_SAME_NAME_CONT, |
| INTERNAL_LIBRARY, |
| INTERNAL_LIBRARY_FROM, |
| INVALID_ARGUMENT_AFTER_NAMED, |
| INVALID_AWAIT, |
| INVALID_AWAIT_FOR, |
| INVALID_AWAIT_FOR_IN, |
| INVALID_BREAK, |
| INVALID_CASE_DEFAULT, |
| INVALID_CONSTRUCTOR_ARGUMENTS, |
| INVALID_CONSTRUCTOR_NAME, |
| INVALID_CONTINUE, |
| INVALID_FOR_IN, |
| INVALID_INITIALIZER, |
| INVALID_METADATA, |
| INVALID_METADATA_GENERIC, |
| INVALID_OVERRIDDEN_FIELD, |
| INVALID_OVERRIDDEN_GETTER, |
| INVALID_OVERRIDDEN_METHOD, |
| INVALID_OVERRIDDEN_SETTER, |
| INVALID_OVERRIDE_FIELD, |
| INVALID_OVERRIDE_FIELD_WITH_GETTER, |
| INVALID_OVERRIDE_FIELD_WITH_SETTER, |
| INVALID_OVERRIDE_GETTER, |
| INVALID_OVERRIDE_GETTER_WITH_FIELD, |
| INVALID_OVERRIDE_METHOD, |
| INVALID_OVERRIDE_SETTER, |
| INVALID_OVERRIDE_SETTER_WITH_FIELD, |
| INVALID_PACKAGE_CONFIG, |
| INVALID_PACKAGE_URI, |
| INVALID_PARAMETER, |
| INVALID_RECEIVER_IN_INITIALIZER, |
| INVALID_SOURCE_FILE_LOCATION, |
| INVALID_SYMBOL, |
| INVALID_SYNC_MODIFIER, |
| INVALID_TYPE_VARIABLE_BOUND, |
| INVALID_UNNAMED_CONSTRUCTOR_NAME, |
| INVALID_URI, |
| INVALID_USE_OF_SUPER, |
| INVALID_YIELD, |
| JS_INTEROP_CLASS_CANNOT_EXTEND_DART_CLASS, |
| JS_INTEROP_CLASS_NON_EXTERNAL_MEMBER, |
| JS_OBJECT_LITERAL_CONSTRUCTOR_WITH_POSITIONAL_ARGUMENTS, |
| JS_INTEROP_METHOD_WITH_NAMED_ARGUMENTS, |
| JS_PLACEHOLDER_CAPTURE, |
| LIBRARY_NAME_MISMATCH, |
| LIBRARY_NOT_FOUND, |
| LIBRARY_NOT_SUPPORTED, |
| LIBRARY_TAG_MUST_BE_FIRST, |
| MAIN_HAS_PART_OF, |
| MAIN_NOT_A_FUNCTION, |
| MAIN_WITH_EXTRA_PARAMETER, |
| MALFORMED_STRING_LITERAL, |
| MEMBER_NOT_FOUND, |
| MEMBER_NOT_STATIC, |
| MEMBER_USES_CLASS_NAME, |
| METHOD_NOT_FOUND, |
| MINUS_OPERATOR_BAD_ARITY, |
| MIRROR_BLOAT, |
| MIRROR_IMPORT, |
| MIRROR_IMPORT_NO_USAGE, |
| MIRRORS_CANNOT_FIND_IN_ELEMENT, |
| MIRRORS_CANNOT_RESOLVE_IN_CURRENT_LIBRARY, |
| MIRRORS_CANNOT_RESOLVE_IN_LIBRARY, |
| MIRRORS_EXPECTED_STRING, |
| MIRRORS_EXPECTED_STRING_OR_LIST, |
| MIRRORS_EXPECTED_STRING_OR_TYPE, |
| MIRRORS_EXPECTED_STRING_TYPE_OR_LIST, |
| MIRRORS_LIBRARY_NOT_SUPPORT_BY_BACKEND, |
| MISSING_ARGUMENT, |
| MISSING_ENUM_CASES, |
| MISSING_FACTORY_KEYWORD, |
| MISSING_FORMALS, |
| MISSING_LIBRARY_NAME, |
| MISSING_MAIN, |
| MISSING_PART_OF_TAG, |
| MISSING_TOKEN_AFTER_THIS, |
| MISSING_TOKEN_BEFORE_THIS, |
| MISSING_TYPE_ARGUMENT, |
| MULTI_INHERITANCE, |
| NAMED_ARGUMENT_NOT_FOUND, |
| NAMED_FUNCTION_EXPRESSION, |
| NAMED_PARAMETER_WITH_EQUALS, |
| NATIVE_NOT_SUPPORTED, |
| NO_BREAK_TARGET, |
| NO_CATCH_NOR_FINALLY, |
| NO_COMMON_SUBTYPES, |
| NO_CONTINUE_TARGET, |
| NO_INSTANCE_AVAILABLE, |
| NO_MATCHING_CONSTRUCTOR, |
| NO_MATCHING_CONSTRUCTOR_FOR_IMPLICIT, |
| NO_STATIC_OVERRIDE, |
| NO_STATIC_OVERRIDE_CONT, |
| NO_SUCH_LIBRARY_MEMBER, |
| NO_SUCH_METHOD_IN_NATIVE, |
| NO_SUCH_SUPER_MEMBER, |
| NO_SUPER_IN_STATIC, |
| NO_THIS_AVAILABLE, |
| NON_CONST_BLOAT, |
| NOT_A_COMPILE_TIME_CONSTANT, |
| NOT_A_FIELD, |
| NOT_A_PREFIX, |
| NOT_A_TYPE, |
| NOT_ASSIGNABLE, |
| NOT_CALLABLE, |
| NOT_INSTANCE_FIELD, |
| NOT_MORE_SPECIFIC, |
| NOT_MORE_SPECIFIC_SUBTYPE, |
| NOT_MORE_SPECIFIC_SUGGESTION, |
| NULL_NOT_ALLOWED, |
| ONLY_ONE_LIBRARY_TAG, |
| OPERATOR_NAMED_PARAMETERS, |
| OPERATOR_NOT_FOUND, |
| OPERATOR_OPTIONAL_PARAMETERS, |
| OPTIONAL_PARAMETER_IN_CATCH, |
| OVERRIDE_EQUALS_NOT_HASH_CODE, |
| PARAMETER_NAME_EXPECTED, |
| PARAMETER_WITH_MODIFIER_IN_CATCH, |
| PARAMETER_WITH_TYPE_IN_CATCH, |
| PATCH_EXTERNAL_WITHOUT_IMPLEMENTATION, |
| PATCH_NO_GETTER, |
| PATCH_NO_SETTER, |
| PATCH_NON_CLASS, |
| PATCH_NON_CONSTRUCTOR, |
| PATCH_NON_EXISTING, |
| PATCH_NON_EXTERNAL, |
| PATCH_NON_FUNCTION, |
| PATCH_NON_GETTER, |
| PATCH_NON_SETTER, |
| PATCH_NONPATCHABLE, |
| PATCH_OPTIONAL_PARAMETER_COUNT_MISMATCH, |
| PATCH_OPTIONAL_PARAMETER_NAMED_MISMATCH, |
| PATCH_PARAMETER_MISMATCH, |
| PATCH_PARAMETER_TYPE_MISMATCH, |
| PATCH_POINT_TO_CLASS, |
| PATCH_POINT_TO_CONSTRUCTOR, |
| PATCH_POINT_TO_FUNCTION, |
| PATCH_POINT_TO_GETTER, |
| PATCH_POINT_TO_PARAMETER, |
| PATCH_POINT_TO_SETTER, |
| PATCH_REQUIRED_PARAMETER_COUNT_MISMATCH, |
| PATCH_RETURN_TYPE_MISMATCH, |
| PLEASE_REPORT_THE_CRASH, |
| POSITIONAL_PARAMETER_WITH_EQUALS, |
| POTENTIAL_MUTATION, |
| POTENTIAL_MUTATION_HERE, |
| POTENTIAL_MUTATION_IN_CLOSURE, |
| POTENTIAL_MUTATION_IN_CLOSURE_HERE, |
| PREAMBLE, |
| PREFIX_AS_EXPRESSION, |
| PRIVATE_ACCESS, |
| PRIVATE_IDENTIFIER, |
| PRIVATE_NAMED_PARAMETER, |
| READ_SCRIPT_ERROR, |
| READ_SELF_ERROR, |
| REDIRECTING_CONSTRUCTOR_CYCLE, |
| REDIRECTING_CONSTRUCTOR_HAS_BODY, |
| REDIRECTING_CONSTRUCTOR_HAS_INITIALIZER, |
| REDIRECTING_FACTORY_WITH_DEFAULT, |
| REFERENCE_IN_INITIALIZATION, |
| REQUIRED_PARAMETER_WITH_DEFAULT, |
| RETURN_IN_GENERATOR, |
| RETURN_NOTHING, |
| RETURN_VALUE_IN_VOID, |
| SETTER_MISMATCH, |
| SETTER_NOT_FOUND, |
| SETTER_NOT_FOUND_IN_SUPER, |
| STATIC_FUNCTION_BLOAT, |
| STRING_EXPECTED, |
| SUPER_CALL_TO_FACTORY, |
| SUPER_INITIALIZER_IN_OBJECT, |
| SWITCH_CASE_FORBIDDEN, |
| SWITCH_CASE_TYPES_NOT_EQUAL, |
| SWITCH_CASE_TYPES_NOT_EQUAL_CASE, |
| SWITCH_CASE_VALUE_OVERRIDES_EQUALS, |
| TERNARY_OPERATOR_BAD_ARITY, |
| THIS_CALL_TO_FACTORY, |
| THIS_IS_THE_DECLARATION, |
| THIS_IS_THE_METHOD, |
| THIS_IS_THE_PART_OF_TAG, |
| THIS_PROPERTY, |
| THROW_WITHOUT_EXPRESSION, |
| TOP_LEVEL_VARIABLE_DECLARED_STATIC, |
| TYPE_ARGUMENT_COUNT_MISMATCH, |
| TYPE_VARIABLE_IN_CONSTANT, |
| TYPE_VARIABLE_WITHIN_STATIC_MEMBER, |
| TYPEDEF_FORMAL_WITH_DEFAULT, |
| UNARY_OPERATOR_BAD_ARITY, |
| UNBOUND_LABEL, |
| UNIMPLEMENTED_EXPLICIT_GETTER, |
| UNIMPLEMENTED_EXPLICIT_SETTER, |
| UNIMPLEMENTED_GETTER, |
| UNIMPLEMENTED_GETTER_ONE, |
| UNIMPLEMENTED_IMPLICIT_GETTER, |
| UNIMPLEMENTED_IMPLICIT_SETTER, |
| UNIMPLEMENTED_METHOD, |
| UNIMPLEMENTED_METHOD_CONT, |
| UNIMPLEMENTED_METHOD_ONE, |
| UNIMPLEMENTED_SETTER, |
| UNIMPLEMENTED_SETTER_ONE, |
| UNMATCHED_TOKEN, |
| UNRECOGNIZED_VERSION_OF_LOOKUP_MAP, |
| UNSUPPORTED_BANG_EQ_EQ, |
| UNSUPPORTED_EQ_EQ_EQ, |
| UNSUPPORTED_LITERAL_SYMBOL, |
| UNSUPPORTED_PREFIX_PLUS, |
| UNSUPPORTED_THROW_WITHOUT_EXP, |
| UNTERMINATED_COMMENT, |
| UNTERMINATED_STRING, |
| UNTERMINATED_TOKEN, |
| UNUSED_CLASS, |
| UNUSED_LABEL, |
| UNUSED_METHOD, |
| UNUSED_TYPEDEF, |
| VAR_FUNCTION_TYPE_PARAMETER, |
| VOID_EXPRESSION, |
| VOID_NOT_ALLOWED, |
| VOID_VARIABLE, |
| WRONG_ARGUMENT_FOR_JS_INTERCEPTOR_CONSTANT, |
| WRONG_NUMBER_OF_ARGUMENTS_FOR_ASSERT, |
| YIELDING_MODIFIER_ON_ARROW_BODY, |
| } |
| |
| const _KIND_TO_STRING_MAP = const <MessageKind, String>{ |
| MessageKind.ABSTRACT_CLASS_INSTANTIATION: "ABSTRACT_CLASS_INSTANTIATION", |
| MessageKind.ABSTRACT_GETTER: "ABSTRACT_GETTER", |
| MessageKind.ABSTRACT_METHOD: "ABSTRACT_METHOD", |
| MessageKind.ABSTRACT_SETTER: "ABSTRACT_SETTER", |
| MessageKind.ACCESSED_IN_CLOSURE: "ACCESSED_IN_CLOSURE", |
| MessageKind.ACCESSED_IN_CLOSURE_HERE: "ACCESSED_IN_CLOSURE_HERE", |
| MessageKind.ADDITIONAL_ARGUMENT: "ADDITIONAL_ARGUMENT", |
| MessageKind.ADDITIONAL_TYPE_ARGUMENT: "ADDITIONAL_TYPE_ARGUMENT", |
| MessageKind.ALREADY_INITIALIZED: "ALREADY_INITIALIZED", |
| MessageKind.AMBIGUOUS_LOCATION: "AMBIGUOUS_LOCATION", |
| MessageKind.AMBIGUOUS_REEXPORT: "AMBIGUOUS_REEXPORT", |
| MessageKind.ASSERT_IS_GIVEN_NAMED_ARGUMENTS: |
| "ASSERT_IS_GIVEN_NAMED_ARGUMENTS", |
| MessageKind.ASSIGNING_FINAL_FIELD_IN_SUPER: "ASSIGNING_FINAL_FIELD_IN_SUPER", |
| MessageKind.ASSIGNING_METHOD: "ASSIGNING_METHOD", |
| MessageKind.ASSIGNING_METHOD_IN_SUPER: "ASSIGNING_METHOD_IN_SUPER", |
| MessageKind.ASSIGNING_TYPE: "ASSIGNING_TYPE", |
| MessageKind.ASYNC_KEYWORD_AS_IDENTIFIER: "ASYNC_KEYWORD_AS_IDENTIFIER", |
| MessageKind.ASYNC_MODIFIER_ON_ABSTRACT_METHOD: |
| "ASYNC_MODIFIER_ON_ABSTRACT_METHOD", |
| MessageKind.ASYNC_MODIFIER_ON_CONSTRUCTOR: "ASYNC_MODIFIER_ON_CONSTRUCTOR", |
| MessageKind.ASYNC_MODIFIER_ON_SETTER: "ASYNC_MODIFIER_ON_SETTER", |
| MessageKind.AWAIT_MEMBER_NOT_FOUND: "AWAIT_MEMBER_NOT_FOUND", |
| MessageKind.AWAIT_MEMBER_NOT_FOUND_IN_CLOSURE: |
| "AWAIT_MEMBER_NOT_FOUND_IN_CLOSURE", |
| MessageKind.BAD_INPUT_CHARACTER: "BAD_INPUT_CHARACTER", |
| MessageKind.BEFORE_TOP_LEVEL: "BEFORE_TOP_LEVEL", |
| MessageKind.BINARY_OPERATOR_BAD_ARITY: "BINARY_OPERATOR_BAD_ARITY", |
| MessageKind.BODY_EXPECTED: "BODY_EXPECTED", |
| MessageKind.CALL_NOT_SUPPORTED_ON_NATIVE_CLASS: |
| "CALL_NOT_SUPPORTED_ON_NATIVE_CLASS", |
| MessageKind.CANNOT_EXTEND: "CANNOT_EXTEND", |
| MessageKind.CANNOT_EXTEND_ENUM: "CANNOT_EXTEND_ENUM", |
| MessageKind.CANNOT_EXTEND_MALFORMED: "CANNOT_EXTEND_MALFORMED", |
| MessageKind.CANNOT_FIND_CONSTRUCTOR: "CANNOT_FIND_CONSTRUCTOR", |
| MessageKind.CANNOT_FIND_UNNAMED_CONSTRUCTOR: |
| "CANNOT_FIND_UNNAMED_CONSTRUCTOR", |
| MessageKind.CANNOT_IMPLEMENT: "CANNOT_IMPLEMENT", |
| MessageKind.CANNOT_IMPLEMENT_ENUM: "CANNOT_IMPLEMENT_ENUM", |
| MessageKind.CANNOT_IMPLEMENT_MALFORMED: "CANNOT_IMPLEMENT_MALFORMED", |
| MessageKind.CANNOT_INSTANTIATE_ENUM: "CANNOT_INSTANTIATE_ENUM", |
| MessageKind.CANNOT_INSTANTIATE_TYPE_VARIABLE: |
| "CANNOT_INSTANTIATE_TYPE_VARIABLE", |
| MessageKind.CANNOT_INSTANTIATE_TYPEDEF: "CANNOT_INSTANTIATE_TYPEDEF", |
| MessageKind.CANNOT_MIXIN: "CANNOT_MIXIN", |
| MessageKind.CANNOT_MIXIN_ENUM: "CANNOT_MIXIN_ENUM", |
| MessageKind.CANNOT_MIXIN_MALFORMED: "CANNOT_MIXIN_MALFORMED", |
| MessageKind.CANNOT_OVERRIDE_FIELD_WITH_METHOD: |
| "CANNOT_OVERRIDE_FIELD_WITH_METHOD", |
| MessageKind.CANNOT_OVERRIDE_FIELD_WITH_METHOD_CONT: |
| "CANNOT_OVERRIDE_FIELD_WITH_METHOD_CONT", |
| MessageKind.CANNOT_OVERRIDE_GETTER_WITH_METHOD: |
| "CANNOT_OVERRIDE_GETTER_WITH_METHOD", |
| MessageKind.CANNOT_OVERRIDE_GETTER_WITH_METHOD_CONT: |
| "CANNOT_OVERRIDE_GETTER_WITH_METHOD_CONT", |
| MessageKind.CANNOT_OVERRIDE_METHOD_WITH_FIELD: |
| "CANNOT_OVERRIDE_METHOD_WITH_FIELD", |
| MessageKind.CANNOT_OVERRIDE_METHOD_WITH_FIELD_CONT: |
| "CANNOT_OVERRIDE_METHOD_WITH_FIELD_CONT", |
| MessageKind.CANNOT_OVERRIDE_METHOD_WITH_GETTER: |
| "CANNOT_OVERRIDE_METHOD_WITH_GETTER", |
| MessageKind.CANNOT_OVERRIDE_METHOD_WITH_GETTER_CONT: |
| "CANNOT_OVERRIDE_METHOD_WITH_GETTER_CONT", |
| MessageKind.CANNOT_RESOLVE: "CANNOT_RESOLVE", |
| MessageKind.CANNOT_RESOLVE_AWAIT: "CANNOT_RESOLVE_AWAIT", |
| MessageKind.CANNOT_RESOLVE_AWAIT_IN_CLOSURE: |
| "CANNOT_RESOLVE_AWAIT_IN_CLOSURE", |
| MessageKind.CANNOT_RESOLVE_CONSTRUCTOR: "CANNOT_RESOLVE_CONSTRUCTOR", |
| MessageKind.CANNOT_RESOLVE_CONSTRUCTOR_FOR_IMPLICIT: |
| "CANNOT_RESOLVE_CONSTRUCTOR_FOR_IMPLICIT", |
| MessageKind.CANNOT_RESOLVE_GETTER: "CANNOT_RESOLVE_GETTER", |
| MessageKind.CANNOT_RESOLVE_IN_INITIALIZER: "CANNOT_RESOLVE_IN_INITIALIZER", |
| MessageKind.CANNOT_RESOLVE_SETTER: "CANNOT_RESOLVE_SETTER", |
| MessageKind.CANNOT_RESOLVE_TYPE: "CANNOT_RESOLVE_TYPE", |
| MessageKind.CANNOT_RETURN_FROM_CONSTRUCTOR: "CANNOT_RETURN_FROM_CONSTRUCTOR", |
| MessageKind.CLASS_NAME_EXPECTED: "CLASS_NAME_EXPECTED", |
| MessageKind.COMPILER_CRASHED: "COMPILER_CRASHED", |
| MessageKind.COMPLEX_RETURNING_NSM: "COMPLEX_RETURNING_NSM", |
| MessageKind.COMPLEX_THROWING_NSM: "COMPLEX_THROWING_NSM", |
| MessageKind.CONSIDER_ANALYZE_ALL: "CONSIDER_ANALYZE_ALL", |
| MessageKind.CONST_CALLS_NON_CONST: "CONST_CALLS_NON_CONST", |
| MessageKind.CONST_CALLS_NON_CONST_FOR_IMPLICIT: |
| "CONST_CALLS_NON_CONST_FOR_IMPLICIT", |
| MessageKind.CONST_CONSTRUCTOR_HAS_BODY: "CONST_CONSTRUCTOR_HAS_BODY", |
| MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS: |
| "CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS", |
| MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_CONSTRUCTOR: |
| "CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_CONSTRUCTOR", |
| MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_FIELD: |
| "CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_FIELD", |
| MessageKind.CONST_LOOP_VARIABLE: "CONST_LOOP_VARIABLE", |
| MessageKind.CONST_MAP_KEY_OVERRIDES_EQUALS: "CONST_MAP_KEY_OVERRIDES_EQUALS", |
| MessageKind.CONST_WITHOUT_INITIALIZER: "CONST_WITHOUT_INITIALIZER", |
| MessageKind.CONSTRUCTOR_CALL_EXPECTED: "CONSTRUCTOR_CALL_EXPECTED", |
| MessageKind.CONSTRUCTOR_IS_NOT_CONST: "CONSTRUCTOR_IS_NOT_CONST", |
| MessageKind.CONSTRUCTOR_WITH_RETURN_TYPE: "CONSTRUCTOR_WITH_RETURN_TYPE", |
| MessageKind.CYCLIC_CLASS_HIERARCHY: "CYCLIC_CLASS_HIERARCHY", |
| MessageKind.CYCLIC_COMPILE_TIME_CONSTANTS: "CYCLIC_COMPILE_TIME_CONSTANTS", |
| MessageKind.CYCLIC_REDIRECTING_FACTORY: "CYCLIC_REDIRECTING_FACTORY", |
| MessageKind.CYCLIC_TYPE_VARIABLE: "CYCLIC_TYPE_VARIABLE", |
| MessageKind.CYCLIC_TYPEDEF: "CYCLIC_TYPEDEF", |
| MessageKind.CYCLIC_TYPEDEF_ONE: "CYCLIC_TYPEDEF_ONE", |
| MessageKind.DART_EXT_NOT_SUPPORTED: "DART_EXT_NOT_SUPPORTED", |
| MessageKind.DEFERRED_COMPILE_TIME_CONSTANT: "DEFERRED_COMPILE_TIME_CONSTANT", |
| MessageKind.DEFERRED_COMPILE_TIME_CONSTANT_CONSTRUCTION: |
| "DEFERRED_COMPILE_TIME_CONSTANT_CONSTRUCTION", |
| MessageKind.DEFERRED_LIBRARY_DART_2_DART: "DEFERRED_LIBRARY_DART_2_DART", |
| MessageKind.DEFERRED_LIBRARY_DUPLICATE_PREFIX: |
| "DEFERRED_LIBRARY_DUPLICATE_PREFIX", |
| MessageKind.DEFERRED_LIBRARY_WITHOUT_PREFIX: |
| "DEFERRED_LIBRARY_WITHOUT_PREFIX", |
| MessageKind.DEFERRED_OLD_SYNTAX: "DEFERRED_OLD_SYNTAX", |
| MessageKind.DEFERRED_TYPE_ANNOTATION: "DEFERRED_TYPE_ANNOTATION", |
| MessageKind.DEPRECATED_TYPEDEF_MIXIN_SYNTAX: |
| "DEPRECATED_TYPEDEF_MIXIN_SYNTAX", |
| MessageKind.DIRECTLY_THROWING_NSM: "DIRECTLY_THROWING_NSM", |
| MessageKind.DISALLOWED_LIBRARY_IMPORT: "DISALLOWED_LIBRARY_IMPORT", |
| MessageKind.DUPLICATE_DEFINITION: "DUPLICATE_DEFINITION", |
| MessageKind.DUPLICATE_EXPORT: "DUPLICATE_EXPORT", |
| MessageKind.DUPLICATE_EXPORT_CONT: "DUPLICATE_EXPORT_CONT", |
| MessageKind.DUPLICATE_EXPORT_DECL: "DUPLICATE_EXPORT_DECL", |
| MessageKind.DUPLICATE_EXTENDS_IMPLEMENTS: "DUPLICATE_EXTENDS_IMPLEMENTS", |
| MessageKind.DUPLICATE_IMPLEMENTS: "DUPLICATE_IMPLEMENTS", |
| MessageKind.DUPLICATE_IMPORT: "DUPLICATE_IMPORT", |
| MessageKind.DUPLICATE_INITIALIZER: "DUPLICATE_INITIALIZER", |
| MessageKind.DUPLICATE_LABEL: "DUPLICATE_LABEL", |
| MessageKind.DUPLICATE_SUPER_INITIALIZER: "DUPLICATE_SUPER_INITIALIZER", |
| MessageKind.DUPLICATE_TYPE_VARIABLE_NAME: "DUPLICATE_TYPE_VARIABLE_NAME", |
| MessageKind.DUPLICATED_LIBRARY_NAME: "DUPLICATED_LIBRARY_NAME", |
| MessageKind.DUPLICATED_LIBRARY_RESOURCE: "DUPLICATED_LIBRARY_RESOURCE", |
| MessageKind.DUPLICATED_PART_OF: "DUPLICATED_PART_OF", |
| MessageKind.DUPLICATED_RESOURCE: "DUPLICATED_RESOURCE", |
| MessageKind.EMPTY_CATCH_DECLARATION: "EMPTY_CATCH_DECLARATION", |
| MessageKind.EMPTY_ENUM_DECLARATION: "EMPTY_ENUM_DECLARATION", |
| MessageKind.EMPTY_HIDE: "EMPTY_HIDE", |
| MessageKind.EQUAL_MAP_ENTRY_KEY: "EQUAL_MAP_ENTRY_KEY", |
| MessageKind.EMPTY_SHOW: "EMPTY_SHOW", |
| MessageKind.EXISTING_DEFINITION: "EXISTING_DEFINITION", |
| MessageKind.EXISTING_LABEL: "EXISTING_LABEL", |
| MessageKind.EXPECTED_IDENTIFIER_NOT_RESERVED_WORD: |
| "EXPECTED_IDENTIFIER_NOT_RESERVED_WORD", |
| MessageKind.EXPERIMENTAL_ASSERT_MESSAGE: "EXPERIMENTAL_ASSERT_MESSAGE", |
| MessageKind.EXPONENT_MISSING: "EXPONENT_MISSING", |
| MessageKind.EXPORT_BEFORE_PARTS: "EXPORT_BEFORE_PARTS", |
| MessageKind.EXTERNAL_WITH_BODY: "EXTERNAL_WITH_BODY", |
| MessageKind.EXTRA_CATCH_DECLARATION: "EXTRA_CATCH_DECLARATION", |
| MessageKind.EXTRA_FORMALS: "EXTRA_FORMALS", |
| MessageKind.EXTRANEOUS_MODIFIER: "EXTRANEOUS_MODIFIER", |
| MessageKind.EXTRANEOUS_MODIFIER_REPLACE: "EXTRANEOUS_MODIFIER_REPLACE", |
| MessageKind.FACTORY_REDIRECTION_IN_NON_FACTORY: |
| "FACTORY_REDIRECTION_IN_NON_FACTORY", |
| MessageKind.FINAL_FUNCTION_TYPE_PARAMETER: "FINAL_FUNCTION_TYPE_PARAMETER", |
| MessageKind.FINAL_WITHOUT_INITIALIZER: "FINAL_WITHOUT_INITIALIZER", |
| MessageKind.FORIN_NOT_ASSIGNABLE: "FORIN_NOT_ASSIGNABLE", |
| MessageKind.FORMAL_DECLARED_CONST: "FORMAL_DECLARED_CONST", |
| MessageKind.FORMAL_DECLARED_STATIC: "FORMAL_DECLARED_STATIC", |
| MessageKind.FUNCTION_TYPE_FORMAL_WITH_DEFAULT: |
| "FUNCTION_TYPE_FORMAL_WITH_DEFAULT", |
| MessageKind.FUNCTION_WITH_INITIALIZER: "FUNCTION_WITH_INITIALIZER", |
| MessageKind.GENERIC: "GENERIC", |
| MessageKind.GETTER_MISMATCH: "GETTER_MISMATCH", |
| MessageKind.GETTER_NOT_FOUND: "GETTER_NOT_FOUND", |
| MessageKind.HEX_DIGIT_EXPECTED: "HEX_DIGIT_EXPECTED", |
| MessageKind.HIDDEN_HINTS: "HIDDEN_HINTS", |
| MessageKind.HIDDEN_IMPLICIT_IMPORT: "HIDDEN_IMPLICIT_IMPORT", |
| MessageKind.HIDDEN_IMPORT: "HIDDEN_IMPORT", |
| MessageKind.HIDDEN_WARNINGS: "HIDDEN_WARNINGS", |
| MessageKind.HIDDEN_WARNINGS_HINTS: "HIDDEN_WARNINGS_HINTS", |
| MessageKind.IF_NULL_ASSIGNING_TYPE: "IF_NULL_ASSIGNING_TYPE", |
| MessageKind.ILLEGAL_CONST_FIELD_MODIFIER: "ILLEGAL_CONST_FIELD_MODIFIER", |
| MessageKind.ILLEGAL_CONSTRUCTOR_MODIFIERS: "ILLEGAL_CONSTRUCTOR_MODIFIERS", |
| MessageKind.ILLEGAL_FINAL_METHOD_MODIFIER: "ILLEGAL_FINAL_METHOD_MODIFIER", |
| MessageKind.ILLEGAL_MIXIN_APPLICATION_MODIFIERS: |
| "ILLEGAL_MIXIN_APPLICATION_MODIFIERS", |
| MessageKind.ILLEGAL_MIXIN_CONSTRUCTOR: "ILLEGAL_MIXIN_CONSTRUCTOR", |
| MessageKind.ILLEGAL_MIXIN_CYCLE: "ILLEGAL_MIXIN_CYCLE", |
| MessageKind.ILLEGAL_MIXIN_OBJECT: "ILLEGAL_MIXIN_OBJECT", |
| MessageKind.ILLEGAL_MIXIN_SUPER_USE: "ILLEGAL_MIXIN_SUPER_USE", |
| MessageKind.ILLEGAL_MIXIN_SUPERCLASS: "ILLEGAL_MIXIN_SUPERCLASS", |
| MessageKind.ILLEGAL_MIXIN_WITH_SUPER: "ILLEGAL_MIXIN_WITH_SUPER", |
| MessageKind.ILLEGAL_SETTER_FORMALS: "ILLEGAL_SETTER_FORMALS", |
| MessageKind.ILLEGAL_STATIC: "ILLEGAL_STATIC", |
| MessageKind.ILLEGAL_SUPER_SEND: "ILLEGAL_SUPER_SEND", |
| MessageKind.IMPORT_BEFORE_PARTS: "IMPORT_BEFORE_PARTS", |
| MessageKind.IMPORT_EXPERIMENTAL_MIRRORS: "IMPORT_EXPERIMENTAL_MIRRORS", |
| MessageKind.IMPORT_PART_OF: "IMPORT_PART_OF", |
| MessageKind.IMPORT_PART_OF_HERE: "IMPORT_PART_OF_HERE", |
| MessageKind.IMPORTED_HERE: "IMPORTED_HERE", |
| MessageKind.INHERIT_GETTER_AND_METHOD: "INHERIT_GETTER_AND_METHOD", |
| MessageKind.INHERITED_EXPLICIT_GETTER: "INHERITED_EXPLICIT_GETTER", |
| MessageKind.INHERITED_IMPLICIT_GETTER: "INHERITED_IMPLICIT_GETTER", |
| MessageKind.INHERITED_METHOD: "INHERITED_METHOD", |
| MessageKind.INJECTED_PUBLIC_MEMBER: "INJECTED_PUBLIC_MEMBER", |
| MessageKind.INIT_STATIC_FIELD: "INIT_STATIC_FIELD", |
| MessageKind.INITIALIZING_FORMAL_NOT_ALLOWED: |
| "INITIALIZING_FORMAL_NOT_ALLOWED", |
| MessageKind.INSTANCE_STATIC_SAME_NAME: "INSTANCE_STATIC_SAME_NAME", |
| MessageKind.INSTANCE_STATIC_SAME_NAME_CONT: "INSTANCE_STATIC_SAME_NAME_CONT", |
| MessageKind.INTERNAL_LIBRARY: "INTERNAL_LIBRARY", |
| MessageKind.INTERNAL_LIBRARY_FROM: "INTERNAL_LIBRARY_FROM", |
| MessageKind.INVALID_ARGUMENT_AFTER_NAMED: "INVALID_ARGUMENT_AFTER_NAMED", |
| MessageKind.INVALID_AWAIT: "INVALID_AWAIT", |
| MessageKind.INVALID_AWAIT_FOR: "INVALID_AWAIT_FOR", |
| MessageKind.INVALID_AWAIT_FOR_IN: "INVALID_AWAIT_FOR_IN", |
| MessageKind.INVALID_BREAK: "INVALID_BREAK", |
| MessageKind.INVALID_CASE_DEFAULT: "INVALID_CASE_DEFAULT", |
| MessageKind.INVALID_CONSTRUCTOR_ARGUMENTS: "INVALID_CONSTRUCTOR_ARGUMENTS", |
| MessageKind.INVALID_CONSTRUCTOR_NAME: "INVALID_CONSTRUCTOR_NAME", |
| MessageKind.INVALID_CONTINUE: "INVALID_CONTINUE", |
| MessageKind.INVALID_FOR_IN: "INVALID_FOR_IN", |
| MessageKind.INVALID_INITIALIZER: "INVALID_INITIALIZER", |
| MessageKind.INVALID_METADATA: "INVALID_METADATA", |
| MessageKind.INVALID_METADATA_GENERIC: "INVALID_METADATA_GENERIC", |
| MessageKind.INVALID_OVERRIDDEN_FIELD: "INVALID_OVERRIDDEN_FIELD", |
| MessageKind.INVALID_OVERRIDDEN_GETTER: "INVALID_OVERRIDDEN_GETTER", |
| MessageKind.INVALID_OVERRIDDEN_METHOD: "INVALID_OVERRIDDEN_METHOD", |
| MessageKind.INVALID_OVERRIDDEN_SETTER: "INVALID_OVERRIDDEN_SETTER", |
| MessageKind.INVALID_OVERRIDE_FIELD: "INVALID_OVERRIDE_FIELD", |
| MessageKind.INVALID_OVERRIDE_FIELD_WITH_GETTER: |
| "INVALID_OVERRIDE_FIELD_WITH_GETTER", |
| MessageKind.INVALID_OVERRIDE_FIELD_WITH_SETTER: |
| "INVALID_OVERRIDE_FIELD_WITH_SETTER", |
| MessageKind.INVALID_OVERRIDE_GETTER: "INVALID_OVERRIDE_GETTER", |
| MessageKind.INVALID_OVERRIDE_GETTER_WITH_FIELD: |
| "INVALID_OVERRIDE_GETTER_WITH_FIELD", |
| MessageKind.INVALID_OVERRIDE_METHOD: "INVALID_OVERRIDE_METHOD", |
| MessageKind.INVALID_OVERRIDE_SETTER: "INVALID_OVERRIDE_SETTER", |
| MessageKind.INVALID_OVERRIDE_SETTER_WITH_FIELD: |
| "INVALID_OVERRIDE_SETTER_WITH_FIELD", |
| MessageKind.INVALID_PACKAGE_CONFIG: "INVALID_PACKAGE_CONFIG", |
| MessageKind.INVALID_PACKAGE_URI: "INVALID_PACKAGE_URI", |
| MessageKind.INVALID_PARAMETER: "INVALID_PARAMETER", |
| MessageKind.INVALID_RECEIVER_IN_INITIALIZER: |
| "INVALID_RECEIVER_IN_INITIALIZER", |
| MessageKind.INVALID_SOURCE_FILE_LOCATION: "INVALID_SOURCE_FILE_LOCATION", |
| MessageKind.INVALID_SYMBOL: "INVALID_SYMBOL", |
| MessageKind.INVALID_SYNC_MODIFIER: "INVALID_SYNC_MODIFIER", |
| MessageKind.INVALID_TYPE_VARIABLE_BOUND: "INVALID_TYPE_VARIABLE_BOUND", |
| MessageKind.INVALID_UNNAMED_CONSTRUCTOR_NAME: |
| "INVALID_UNNAMED_CONSTRUCTOR_NAME", |
| MessageKind.INVALID_URI: "INVALID_URI", |
| MessageKind.INVALID_USE_OF_SUPER: "INVALID_USE_OF_SUPER", |
| MessageKind.INVALID_YIELD: "INVALID_YIELD", |
| MessageKind.JS_INTEROP_CLASS_CANNOT_EXTEND_DART_CLASS: |
| "JS_INTEROP_CLASS_CANNOT_EXTEND_DART_CLASS", |
| MessageKind.JS_INTEROP_CLASS_NON_EXTERNAL_MEMBER: |
| "JS_INTEROP_CLASS_NON_EXTERNAL_MEMBER", |
| MessageKind.JS_OBJECT_LITERAL_CONSTRUCTOR_WITH_POSITIONAL_ARGUMENTS: |
| "JS_OBJECT_LITERAL_CONSTRUCTOR_WITH_POSITIONAL_ARGUMENTS", |
| MessageKind.JS_INTEROP_METHOD_WITH_NAMED_ARGUMENTS: |
| "JS_INTEROP_METHOD_WITH_NAMED_ARGUMENTS", |
| MessageKind.JS_PLACEHOLDER_CAPTURE: "JS_PLACEHOLDER_CAPTURE", |
| MessageKind.LIBRARY_NAME_MISMATCH: "LIBRARY_NAME_MISMATCH", |
| MessageKind.LIBRARY_NOT_FOUND: "LIBRARY_NOT_FOUND", |
| MessageKind.LIBRARY_NOT_SUPPORTED: "LIBRARY_NOT_SUPPORTED", |
| MessageKind.LIBRARY_TAG_MUST_BE_FIRST: "LIBRARY_TAG_MUST_BE_FIRST", |
| MessageKind.MAIN_HAS_PART_OF: "MAIN_HAS_PART_OF", |
| MessageKind.MAIN_NOT_A_FUNCTION: "MAIN_NOT_A_FUNCTION", |
| MessageKind.MAIN_WITH_EXTRA_PARAMETER: "MAIN_WITH_EXTRA_PARAMETER", |
| MessageKind.MALFORMED_STRING_LITERAL: "MALFORMED_STRING_LITERAL", |
| MessageKind.MEMBER_NOT_FOUND: "MEMBER_NOT_FOUND", |
| MessageKind.MEMBER_NOT_STATIC: "MEMBER_NOT_STATIC", |
| MessageKind.MEMBER_USES_CLASS_NAME: "MEMBER_USES_CLASS_NAME", |
| MessageKind.METHOD_NOT_FOUND: "METHOD_NOT_FOUND", |
| MessageKind.MINUS_OPERATOR_BAD_ARITY: "MINUS_OPERATOR_BAD_ARITY", |
| MessageKind.MIRROR_BLOAT: "MIRROR_BLOAT", |
| MessageKind.MIRROR_IMPORT: "MIRROR_IMPORT", |
| MessageKind.MIRROR_IMPORT_NO_USAGE: "MIRROR_IMPORT_NO_USAGE", |
| MessageKind.MIRRORS_CANNOT_FIND_IN_ELEMENT: "MIRRORS_CANNOT_FIND_IN_ELEMENT", |
| MessageKind.MIRRORS_CANNOT_RESOLVE_IN_CURRENT_LIBRARY: |
| "MIRRORS_CANNOT_RESOLVE_IN_CURRENT_LIBRARY", |
| MessageKind.MIRRORS_CANNOT_RESOLVE_IN_LIBRARY: |
| "MIRRORS_CANNOT_RESOLVE_IN_LIBRARY", |
| MessageKind.MIRRORS_EXPECTED_STRING: "MIRRORS_EXPECTED_STRING", |
| MessageKind.MIRRORS_EXPECTED_STRING_OR_LIST: |
| "MIRRORS_EXPECTED_STRING_OR_LIST", |
| MessageKind.MIRRORS_EXPECTED_STRING_OR_TYPE: |
| "MIRRORS_EXPECTED_STRING_OR_TYPE", |
| MessageKind.MIRRORS_EXPECTED_STRING_TYPE_OR_LIST: |
| "MIRRORS_EXPECTED_STRING_TYPE_OR_LIST", |
| MessageKind.MIRRORS_LIBRARY_NOT_SUPPORT_BY_BACKEND: |
| "MIRRORS_LIBRARY_NOT_SUPPORT_BY_BACKEND", |
| MessageKind.MISSING_ARGUMENT: "MISSING_ARGUMENT", |
| MessageKind.MISSING_ENUM_CASES: "MISSING_ENUM_CASES", |
| MessageKind.MISSING_FACTORY_KEYWORD: "MISSING_FACTORY_KEYWORD", |
| MessageKind.MISSING_FORMALS: "MISSING_FORMALS", |
| MessageKind.MISSING_LIBRARY_NAME: "MISSING_LIBRARY_NAME", |
| MessageKind.MISSING_MAIN: "MISSING_MAIN", |
| MessageKind.MISSING_PART_OF_TAG: "MISSING_PART_OF_TAG", |
| MessageKind.MISSING_TOKEN_AFTER_THIS: "MISSING_TOKEN_AFTER_THIS", |
| MessageKind.MISSING_TOKEN_BEFORE_THIS: "MISSING_TOKEN_BEFORE_THIS", |
| MessageKind.MISSING_TYPE_ARGUMENT: "MISSING_TYPE_ARGUMENT", |
| MessageKind.MULTI_INHERITANCE: "MULTI_INHERITANCE", |
| MessageKind.NAMED_ARGUMENT_NOT_FOUND: "NAMED_ARGUMENT_NOT_FOUND", |
| MessageKind.NAMED_FUNCTION_EXPRESSION: "NAMED_FUNCTION_EXPRESSION", |
| MessageKind.NAMED_PARAMETER_WITH_EQUALS: "NAMED_PARAMETER_WITH_EQUALS", |
| MessageKind.NATIVE_NOT_SUPPORTED: "NATIVE_NOT_SUPPORTED", |
| MessageKind.NO_BREAK_TARGET: "NO_BREAK_TARGET", |
| MessageKind.NO_CATCH_NOR_FINALLY: "NO_CATCH_NOR_FINALLY", |
| MessageKind.NO_COMMON_SUBTYPES: "NO_COMMON_SUBTYPES", |
| MessageKind.NO_CONTINUE_TARGET: "NO_CONTINUE_TARGET", |
| MessageKind.NO_INSTANCE_AVAILABLE: "NO_INSTANCE_AVAILABLE", |
| MessageKind.NO_MATCHING_CONSTRUCTOR: "NO_MATCHING_CONSTRUCTOR", |
| MessageKind.NO_MATCHING_CONSTRUCTOR_FOR_IMPLICIT: |
| "NO_MATCHING_CONSTRUCTOR_FOR_IMPLICIT", |
| MessageKind.NO_STATIC_OVERRIDE: "NO_STATIC_OVERRIDE", |
| MessageKind.NO_STATIC_OVERRIDE_CONT: "NO_STATIC_OVERRIDE_CONT", |
| MessageKind.NO_SUCH_LIBRARY_MEMBER: "NO_SUCH_LIBRARY_MEMBER", |
| MessageKind.NO_SUCH_METHOD_IN_NATIVE: "NO_SUCH_METHOD_IN_NATIVE", |
| MessageKind.NO_SUCH_SUPER_MEMBER: "NO_SUCH_SUPER_MEMBER", |
| MessageKind.NO_SUPER_IN_STATIC: "NO_SUPER_IN_STATIC", |
| MessageKind.NO_THIS_AVAILABLE: "NO_THIS_AVAILABLE", |
| MessageKind.NON_CONST_BLOAT: "NON_CONST_BLOAT", |
| MessageKind.NOT_A_COMPILE_TIME_CONSTANT: "NOT_A_COMPILE_TIME_CONSTANT", |
| MessageKind.NOT_A_FIELD: "NOT_A_FIELD", |
| MessageKind.NOT_A_PREFIX: "NOT_A_PREFIX", |
| MessageKind.NOT_A_TYPE: "NOT_A_TYPE", |
| MessageKind.NOT_ASSIGNABLE: "NOT_ASSIGNABLE", |
| MessageKind.NOT_CALLABLE: "NOT_CALLABLE", |
| MessageKind.NOT_INSTANCE_FIELD: "NOT_INSTANCE_FIELD", |
| MessageKind.NOT_MORE_SPECIFIC: "NOT_MORE_SPECIFIC", |
| MessageKind.NOT_MORE_SPECIFIC_SUBTYPE: "NOT_MORE_SPECIFIC_SUBTYPE", |
| MessageKind.NOT_MORE_SPECIFIC_SUGGESTION: "NOT_MORE_SPECIFIC_SUGGESTION", |
| MessageKind.NULL_NOT_ALLOWED: "NULL_NOT_ALLOWED", |
| MessageKind.ONLY_ONE_LIBRARY_TAG: "ONLY_ONE_LIBRARY_TAG", |
| MessageKind.OPERATOR_NAMED_PARAMETERS: "OPERATOR_NAMED_PARAMETERS", |
| MessageKind.OPERATOR_NOT_FOUND: "OPERATOR_NOT_FOUND", |
| MessageKind.OPERATOR_OPTIONAL_PARAMETERS: "OPERATOR_OPTIONAL_PARAMETERS", |
| MessageKind.OPTIONAL_PARAMETER_IN_CATCH: "OPTIONAL_PARAMETER_IN_CATCH", |
| MessageKind.OVERRIDE_EQUALS_NOT_HASH_CODE: "OVERRIDE_EQUALS_NOT_HASH_CODE", |
| MessageKind.PARAMETER_NAME_EXPECTED: "PARAMETER_NAME_EXPECTED", |
| MessageKind.PARAMETER_WITH_MODIFIER_IN_CATCH: |
| "PARAMETER_WITH_MODIFIER_IN_CATCH", |
| MessageKind.PARAMETER_WITH_TYPE_IN_CATCH: "PARAMETER_WITH_TYPE_IN_CATCH", |
| MessageKind.PATCH_EXTERNAL_WITHOUT_IMPLEMENTATION: |
| "PATCH_EXTERNAL_WITHOUT_IMPLEMENTATION", |
| MessageKind.PATCH_NO_GETTER: "PATCH_NO_GETTER", |
| MessageKind.PATCH_NO_SETTER: "PATCH_NO_SETTER", |
| MessageKind.PATCH_NON_CLASS: "PATCH_NON_CLASS", |
| MessageKind.PATCH_NON_CONSTRUCTOR: "PATCH_NON_CONSTRUCTOR", |
| MessageKind.PATCH_NON_EXISTING: "PATCH_NON_EXISTING", |
| MessageKind.PATCH_NON_EXTERNAL: "PATCH_NON_EXTERNAL", |
| MessageKind.PATCH_NON_FUNCTION: "PATCH_NON_FUNCTION", |
| MessageKind.PATCH_NON_GETTER: "PATCH_NON_GETTER", |
| MessageKind.PATCH_NON_SETTER: "PATCH_NON_SETTER", |
| MessageKind.PATCH_NONPATCHABLE: "PATCH_NONPATCHABLE", |
| MessageKind.PATCH_OPTIONAL_PARAMETER_COUNT_MISMATCH: |
| "PATCH_OPTIONAL_PARAMETER_COUNT_MISMATCH", |
| MessageKind.PATCH_OPTIONAL_PARAMETER_NAMED_MISMATCH: |
| "PATCH_OPTIONAL_PARAMETER_NAMED_MISMATCH", |
| MessageKind.PATCH_PARAMETER_MISMATCH: "PATCH_PARAMETER_MISMATCH", |
| MessageKind.PATCH_PARAMETER_TYPE_MISMATCH: "PATCH_PARAMETER_TYPE_MISMATCH", |
| MessageKind.PATCH_POINT_TO_CLASS: "PATCH_POINT_TO_CLASS", |
| MessageKind.PATCH_POINT_TO_CONSTRUCTOR: "PATCH_POINT_TO_CONSTRUCTOR", |
| MessageKind.PATCH_POINT_TO_FUNCTION: "PATCH_POINT_TO_FUNCTION", |
| MessageKind.PATCH_POINT_TO_GETTER: "PATCH_POINT_TO_GETTER", |
| MessageKind.PATCH_POINT_TO_PARAMETER: "PATCH_POINT_TO_PARAMETER", |
| MessageKind.PATCH_POINT_TO_SETTER: "PATCH_POINT_TO_SETTER", |
| MessageKind.PATCH_REQUIRED_PARAMETER_COUNT_MISMATCH: |
| "PATCH_REQUIRED_PARAMETER_COUNT_MISMATCH", |
| MessageKind.PATCH_RETURN_TYPE_MISMATCH: "PATCH_RETURN_TYPE_MISMATCH", |
| MessageKind.PLEASE_REPORT_THE_CRASH: "PLEASE_REPORT_THE_CRASH", |
| MessageKind.POSITIONAL_PARAMETER_WITH_EQUALS: |
| "POSITIONAL_PARAMETER_WITH_EQUALS", |
| MessageKind.POTENTIAL_MUTATION: "POTENTIAL_MUTATION", |
| MessageKind.POTENTIAL_MUTATION_HERE: "POTENTIAL_MUTATION_HERE", |
| MessageKind.POTENTIAL_MUTATION_IN_CLOSURE: "POTENTIAL_MUTATION_IN_CLOSURE", |
| MessageKind.POTENTIAL_MUTATION_IN_CLOSURE_HERE: |
| "POTENTIAL_MUTATION_IN_CLOSURE_HERE", |
| MessageKind.PREAMBLE: "PREAMBLE", |
| MessageKind.PREFIX_AS_EXPRESSION: "PREFIX_AS_EXPRESSION", |
| MessageKind.PRIVATE_ACCESS: "PRIVATE_ACCESS", |
| MessageKind.PRIVATE_IDENTIFIER: "PRIVATE_IDENTIFIER", |
| MessageKind.PRIVATE_NAMED_PARAMETER: "PRIVATE_NAMED_PARAMETER", |
| MessageKind.READ_SCRIPT_ERROR: "READ_SCRIPT_ERROR", |
| MessageKind.READ_SELF_ERROR: "READ_SELF_ERROR", |
| MessageKind.REDIRECTING_CONSTRUCTOR_CYCLE: "REDIRECTING_CONSTRUCTOR_CYCLE", |
| MessageKind.REDIRECTING_CONSTRUCTOR_HAS_BODY: |
| "REDIRECTING_CONSTRUCTOR_HAS_BODY", |
| MessageKind.REDIRECTING_CONSTRUCTOR_HAS_INITIALIZER: |
| "REDIRECTING_CONSTRUCTOR_HAS_INITIALIZER", |
| MessageKind.REDIRECTING_FACTORY_WITH_DEFAULT: |
| "REDIRECTING_FACTORY_WITH_DEFAULT", |
| MessageKind.REFERENCE_IN_INITIALIZATION: "REFERENCE_IN_INITIALIZATION", |
| MessageKind.REQUIRED_PARAMETER_WITH_DEFAULT: |
| "REQUIRED_PARAMETER_WITH_DEFAULT", |
| MessageKind.RETURN_IN_GENERATOR: "RETURN_IN_GENERATOR", |
| MessageKind.RETURN_NOTHING: "RETURN_NOTHING", |
| MessageKind.RETURN_VALUE_IN_VOID: "RETURN_VALUE_IN_VOID", |
| MessageKind.SETTER_MISMATCH: "SETTER_MISMATCH", |
| MessageKind.SETTER_NOT_FOUND: "SETTER_NOT_FOUND", |
| MessageKind.SETTER_NOT_FOUND_IN_SUPER: "SETTER_NOT_FOUND_IN_SUPER", |
| MessageKind.STATIC_FUNCTION_BLOAT: "STATIC_FUNCTION_BLOAT", |
| MessageKind.STRING_EXPECTED: "STRING_EXPECTED", |
| MessageKind.SUPER_CALL_TO_FACTORY: "SUPER_CALL_TO_FACTORY", |
| MessageKind.SUPER_INITIALIZER_IN_OBJECT: "SUPER_INITIALIZER_IN_OBJECT", |
| MessageKind.SWITCH_CASE_FORBIDDEN: "SWITCH_CASE_FORBIDDEN", |
| MessageKind.SWITCH_CASE_TYPES_NOT_EQUAL: "SWITCH_CASE_TYPES_NOT_EQUAL", |
| MessageKind.SWITCH_CASE_TYPES_NOT_EQUAL_CASE: |
| "SWITCH_CASE_TYPES_NOT_EQUAL_CASE", |
| MessageKind.SWITCH_CASE_VALUE_OVERRIDES_EQUALS: |
| "SWITCH_CASE_VALUE_OVERRIDES_EQUALS", |
| MessageKind.TERNARY_OPERATOR_BAD_ARITY: "TERNARY_OPERATOR_BAD_ARITY", |
| MessageKind.THIS_CALL_TO_FACTORY: "THIS_CALL_TO_FACTORY", |
| MessageKind.THIS_IS_THE_DECLARATION: "THIS_IS_THE_DECLARATION", |
| MessageKind.THIS_IS_THE_METHOD: "THIS_IS_THE_METHOD", |
| MessageKind.THIS_IS_THE_PART_OF_TAG: "THIS_IS_THE_PART_OF_TAG", |
| MessageKind.THIS_PROPERTY: "THIS_PROPERTY", |
| MessageKind.THROW_WITHOUT_EXPRESSION: "THROW_WITHOUT_EXPRESSION", |
| MessageKind.TOP_LEVEL_VARIABLE_DECLARED_STATIC: |
| "TOP_LEVEL_VARIABLE_DECLARED_STATIC", |
| MessageKind.TYPE_ARGUMENT_COUNT_MISMATCH: "TYPE_ARGUMENT_COUNT_MISMATCH", |
| MessageKind.TYPE_VARIABLE_IN_CONSTANT: "TYPE_VARIABLE_IN_CONSTANT", |
| MessageKind.TYPE_VARIABLE_WITHIN_STATIC_MEMBER: |
| "TYPE_VARIABLE_WITHIN_STATIC_MEMBER", |
| MessageKind.TYPEDEF_FORMAL_WITH_DEFAULT: "TYPEDEF_FORMAL_WITH_DEFAULT", |
| MessageKind.UNARY_OPERATOR_BAD_ARITY: "UNARY_OPERATOR_BAD_ARITY", |
| MessageKind.UNBOUND_LABEL: "UNBOUND_LABEL", |
| MessageKind.UNIMPLEMENTED_EXPLICIT_GETTER: "UNIMPLEMENTED_EXPLICIT_GETTER", |
| MessageKind.UNIMPLEMENTED_EXPLICIT_SETTER: "UNIMPLEMENTED_EXPLICIT_SETTER", |
| MessageKind.UNIMPLEMENTED_GETTER: "UNIMPLEMENTED_GETTER", |
| MessageKind.UNIMPLEMENTED_GETTER_ONE: "UNIMPLEMENTED_GETTER_ONE", |
| MessageKind.UNIMPLEMENTED_IMPLICIT_GETTER: "UNIMPLEMENTED_IMPLICIT_GETTER", |
| MessageKind.UNIMPLEMENTED_IMPLICIT_SETTER: "UNIMPLEMENTED_IMPLICIT_SETTER", |
| MessageKind.UNIMPLEMENTED_METHOD: "UNIMPLEMENTED_METHOD", |
| MessageKind.UNIMPLEMENTED_METHOD_CONT: "UNIMPLEMENTED_METHOD_CONT", |
| MessageKind.UNIMPLEMENTED_METHOD_ONE: "UNIMPLEMENTED_METHOD_ONE", |
| MessageKind.UNIMPLEMENTED_SETTER: "UNIMPLEMENTED_SETTER", |
| MessageKind.UNIMPLEMENTED_SETTER_ONE: "UNIMPLEMENTED_SETTER_ONE", |
| MessageKind.UNMATCHED_TOKEN: "UNMATCHED_TOKEN", |
| MessageKind.UNRECOGNIZED_VERSION_OF_LOOKUP_MAP: |
| "UNRECOGNIZED_VERSION_OF_LOOKUP_MAP", |
| MessageKind.UNSUPPORTED_BANG_EQ_EQ: "UNSUPPORTED_BANG_EQ_EQ", |
| MessageKind.UNSUPPORTED_EQ_EQ_EQ: "UNSUPPORTED_EQ_EQ_EQ", |
| MessageKind.UNSUPPORTED_LITERAL_SYMBOL: "UNSUPPORTED_LITERAL_SYMBOL", |
| MessageKind.UNSUPPORTED_PREFIX_PLUS: "UNSUPPORTED_PREFIX_PLUS", |
| MessageKind.UNSUPPORTED_THROW_WITHOUT_EXP: "UNSUPPORTED_THROW_WITHOUT_EXP", |
| MessageKind.UNTERMINATED_COMMENT: "UNTERMINATED_COMMENT", |
| MessageKind.UNTERMINATED_STRING: "UNTERMINATED_STRING", |
| MessageKind.UNTERMINATED_TOKEN: "UNTERMINATED_TOKEN", |
| MessageKind.UNUSED_CLASS: "UNUSED_CLASS", |
| MessageKind.UNUSED_LABEL: "UNUSED_LABEL", |
| MessageKind.UNUSED_METHOD: "UNUSED_METHOD", |
| MessageKind.UNUSED_TYPEDEF: "UNUSED_TYPEDEF", |
| MessageKind.VAR_FUNCTION_TYPE_PARAMETER: "VAR_FUNCTION_TYPE_PARAMETER", |
| MessageKind.VOID_EXPRESSION: "VOID_EXPRESSION", |
| MessageKind.VOID_NOT_ALLOWED: "VOID_NOT_ALLOWED", |
| MessageKind.VOID_VARIABLE: "VOID_VARIABLE", |
| MessageKind.WRONG_ARGUMENT_FOR_JS_INTERCEPTOR_CONSTANT: |
| "WRONG_ARGUMENT_FOR_JS_INTERCEPTOR_CONSTANT", |
| MessageKind.WRONG_NUMBER_OF_ARGUMENTS_FOR_ASSERT: |
| "WRONG_NUMBER_OF_ARGUMENTS_FOR_ASSERT", |
| MessageKind.YIELDING_MODIFIER_ON_ARROW_BODY: |
| "YIELDING_MODIFIER_ON_ARROW_BODY", |
| }; |
| |
| /// A message template for an error, warning, hint or info message generated |
| /// by the compiler. Each template is associated with a [MessageKind] that |
| /// uniquely identifies the message template. |
| // TODO(johnnniwinther): For Infos, consider adding a reference to the |
| // error/warning/hint that they belong to. |
| class MessageTemplate { |
| final MessageKind kind; |
| |
| final String id; |
| |
| /// Should describe what is wrong and why. |
| final String template; |
| |
| /// Should describe how to fix the problem. Elided when using --terse option. |
| final String howToFix; |
| |
| /** |
| * Examples will be checked by |
| * tests/compiler/dart2js/message_kind_test.dart. |
| * |
| * An example is either a String containing the example source code or a Map |
| * from filenames to source code. In the latter case, the filename for the |
| * main library code must be 'main.dart'. |
| */ |
| final List examples; |
| |
| /// Additional options needed for the examples to work. |
| final List<String> options; |
| |
| const MessageTemplate(this.kind, this.id, this.template, this.howToFix, |
| this.examples, this.options); |
| |
| toString() => template; |
| |
| Message message([Map arguments = const {}, bool terse = false]) { |
| return new Message(this, arguments, terse); |
| } |
| |
| bool get hasHowToFix => |
| howToFix != null && howToFix != dart2js_messages.DONT_KNOW_HOW_TO_FIX; |
| |
| static final Map<MessageKind, MessageTemplate> TEMPLATES = |
| _constructMessageTemplates(); |
| |
| static String get IMPORT_EXPERIMENTAL_MIRRORS_PADDING => |
| dart2js_messages.IMPORT_EXPERIMENTAL_MIRRORS_PADDING; |
| |
| static String get MIRRORS_NOT_SUPPORTED_BY_BACKEND_PADDING => |
| dart2js_messages.MIRRORS_NOT_SUPPORTED_BY_BACKEND_PADDING; |
| |
| static String get DISALLOWED_LIBRARY_IMPORT_PADDING => |
| dart2js_messages.DISALLOWED_LIBRARY_IMPORT_PADDING; |
| |
| static Map<MessageKind, MessageTemplate> _constructMessageTemplates() { |
| Map<MessageKind, MessageTemplate> result = <MessageKind, MessageTemplate>{}; |
| for (MessageKind kind in MessageKind.values) { |
| String name = _KIND_TO_STRING_MAP[kind]; |
| if (name == null) { |
| throw new ArgumentError("No mapping for $kind in _KIND_TO_STRING_MAP"); |
| } |
| Map data = |
| shared_messages.MESSAGES[name] ?? dart2js_messages.MESSAGES[name]; |
| if (data == null) throw new ArgumentError.value(name); |
| |
| String id = data['id']; |
| String template = data['template']; |
| String howToFix = data['howToFix']; |
| List examples = data['examples']; |
| List<String> options = data['options'] ?? const <String>[]; |
| result[kind] = |
| new MessageTemplate(kind, id, template, howToFix, examples, options); |
| } |
| return result; |
| } |
| } |
| |
| class Message { |
| final MessageTemplate template; |
| final Map arguments; |
| final bool terse; |
| String message; |
| |
| Message(this.template, this.arguments, this.terse) { |
| assert(() { |
| computeMessage(); |
| return true; |
| }); |
| } |
| |
| MessageKind get kind => template.kind; |
| |
| String computeMessage() { |
| if (message == null) { |
| message = template.template; |
| arguments.forEach((key, value) { |
| message = message.replaceAll('#{${key}}', convertToString(value)); |
| }); |
| assert(invariant( |
| CURRENT_ELEMENT_SPANNABLE, |
| kind == MessageKind.GENERIC || |
| !message.contains(new RegExp(r'#\{.+\}')), |
| message: 'Missing arguments in error message: "$message"')); |
| if (!terse && template.hasHowToFix) { |
| String howToFix = template.howToFix; |
| arguments.forEach((key, value) { |
| howToFix = howToFix.replaceAll('#{${key}}', convertToString(value)); |
| }); |
| message = '$message\n$howToFix'; |
| } |
| } |
| return message; |
| } |
| |
| String toString() { |
| return computeMessage(); |
| } |
| |
| bool operator ==(other) { |
| if (other is! Message) return false; |
| return (template == other.template) && (toString() == other.toString()); |
| } |
| |
| int get hashCode => throw new UnsupportedError('Message.hashCode'); |
| |
| static String convertToString(value) { |
| if (value is ErrorToken) { |
| // Shouldn't happen. |
| return value.assertionMessage; |
| } else if (value is Token) { |
| value = value.value; |
| } |
| return '$value'; |
| } |
| } |