diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart index 10f3a81d3c7..d8106f6fb3c 100644 --- a/pkg/analyzer/lib/src/generated/resolver.dart +++ b/pkg/analyzer/lib/src/generated/resolver.dart @@ -10244,6 +10244,9 @@ class NamespaceBuilder { for (PropertyAccessorElement element in compilationUnit.accessors) { _addIfPublic(definedNames, element); } + for (ClassElement element in compilationUnit.enums) { + _addIfPublic(definedNames, element); + } for (FunctionElement element in compilationUnit.functions) { _addIfPublic(definedNames, element); } @@ -11362,6 +11365,13 @@ class ResolverVisitor extends ScopedVisitor { return null; } + /** + * Prepares this [ResolverVisitor] to using it for incremental resolution. + */ + void initForIncrementalResolution() { + _overrideManager.enterScope(); + } + /** * If it is appropriate to do so, override the current type of the static and propagated elements * associated with the given expression with the given type. Generally speaking, it is appropriate @@ -11609,13 +11619,6 @@ class ResolverVisitor extends ScopedVisitor { return null; } - /** - * Prepares this [ResolverVisitor] to using it for incremental resolution. - */ - void initForIncrementalResolution() { - _overrideManager.enterScope(); - } - @override Object visitCompilationUnit(CompilationUnit node) { // diff --git a/pkg/analyzer/test/generated/resolver_test.dart b/pkg/analyzer/test/generated/resolver_test.dart index ba23d4b1bd6..d311cc7c22e 100644 --- a/pkg/analyzer/test/generated/resolver_test.dart +++ b/pkg/analyzer/test/generated/resolver_test.dart @@ -8672,6 +8672,21 @@ main() {}'''); verify([source]); } + void test_enum_externalLibrary() { + resetWithEnum(); + addNamedSource("/my_lib.dart", r''' +library my_lib; +enum EEE {A, B, C}'''); + Source source = addSource(r''' +import 'my_lib.dart'; +main() { + EEE e = null; +}'''); + resolve(source); + assertNoErrors(source); + verify([source]); + } + void test_extractedMethodAsConstant() { Source source = addSource(r''' abstract class Comparable {