55import 'package:analyzer/dart/analysis/results.dart' ;
66import 'package:analyzer/dart/ast/ast.dart' ;
77import 'package:analyzer/dart/element/element.dart' ;
8+ import 'package:analyzer/dart/element/type_system.dart' ;
89import 'package:analyzer/dart/element/visitor.dart' ;
910import 'package:analyzer/source/line_info.dart' ;
1011import 'package:analyzer/src/dart/analysis/driver.dart' ;
@@ -77,11 +78,11 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
7778 // Initialize the list of elements defined in this library and
7879 // exported via its export directives.
7980 Set <Element > exportedAndLocalElements =
80- _libraryElement .exportNamespace.definedNames.values.toSet ();
81+ element .exportNamespace.definedNames.values.toSet ();
8182 // TODO(jcollins-g): Consider switch to [_libraryElement.topLevelElements].
8283 exportedAndLocalElements
83- .addAll (getDefinedElements (_libraryElement .definingCompilationUnit));
84- for (CompilationUnitElement cu in _libraryElement .parts) {
84+ .addAll (getDefinedElements (element .definingCompilationUnit));
85+ for (CompilationUnitElement cu in element .parts) {
8586 exportedAndLocalElements.addAll (getDefinedElements (cu));
8687 }
8788 _exportedAndLocalElements = exportedAndLocalElements.toList ();
@@ -105,7 +106,7 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
105106
106107 List <String > _allOriginalModelElementNames;
107108
108- bool get isInSdk => _libraryElement .isInSdk;
109+ bool get isInSdk => element .isInSdk;
109110
110111 final Package _package;
111112
@@ -160,11 +161,14 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
160161
161162 @override
162163 CompilationUnitElement get compilationUnitElement =>
163- ( element as LibraryElement ) .definingCompilationUnit;
164+ element.definingCompilationUnit;
164165
165166 @override
166167 Iterable <Class > get classes => allClasses.where ((c) => ! c.isErrorOrException);
167168
169+ @override
170+ LibraryElement get element => super .element;
171+
168172 List <Extension > _extensions;
169173
170174 @override
@@ -240,10 +244,8 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
240244 if (_importedExportedLibraries == null ) {
241245 _importedExportedLibraries = Set ();
242246 Set <LibraryElement > importedExportedLibraryElements = Set ();
243- importedExportedLibraryElements
244- .addAll ((element as LibraryElement ).importedLibraries);
245- importedExportedLibraryElements
246- .addAll ((element as LibraryElement ).exportedLibraries);
247+ importedExportedLibraryElements.addAll (element.importedLibraries);
248+ importedExportedLibraryElements.addAll (element.exportedLibraries);
247249 for (LibraryElement l in importedExportedLibraryElements) {
248250 Library lib = ModelElement .from (l, library, packageGraph);
249251 _importedExportedLibraries.add (lib);
@@ -260,7 +262,7 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
260262 if (_prefixToLibrary == null ) {
261263 _prefixToLibrary = {};
262264 // It is possible to have overlapping prefixes.
263- for (ImportElement i in ( element as LibraryElement ) .imports) {
265+ for (ImportElement i in element.imports) {
264266 // Ignore invalid imports.
265267 if (i.prefix? .name != null && i.importedLibrary != null ) {
266268 _prefixToLibrary.putIfAbsent (i.prefix? .name, () => Set ());
@@ -401,8 +403,7 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
401403
402404 InheritanceManager3 get inheritanceManager {
403405 if (_inheritanceManager == null ) {
404- var typeSystem = element.context.typeSystem;
405- _inheritanceManager = InheritanceManager3 (typeSystem);
406+ _inheritanceManager = InheritanceManager3 ();
406407 }
407408 return _inheritanceManager;
408409 }
@@ -479,6 +480,8 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
479480 return _typedefs;
480481 }
481482
483+ TypeSystem get typeSystem => element.typeSystem;
484+
482485 List <Class > _classes;
483486
484487 List <Class > get allClasses {
@@ -493,8 +496,6 @@ class Library extends ModelElement with Categorization, TopLevelContainer {
493496 return _classes;
494497 }
495498
496- LibraryElement get _libraryElement => (element as LibraryElement );
497-
498499 Class getClassByName (String name) {
499500 return allClasses.firstWhere ((it) => it.name == name, orElse: () => null );
500501 }
0 commit comments