@@ -30,6 +30,7 @@ import 'package:analyzer/src/dart/ast/token.dart';
3030import 'package:analyzer/src/dart/constant/compute.dart' ;
3131import 'package:analyzer/src/dart/constant/evaluation.dart' ;
3232import 'package:analyzer/src/dart/constant/value.dart' ;
33+ import 'package:analyzer/src/dart/element/class_hierarchy.dart' ;
3334import 'package:analyzer/src/dart/element/display_string_builder.dart' ;
3435import 'package:analyzer/src/dart/element/field_name_non_promotability_info.dart' ;
3536import 'package:analyzer/src/dart/element/inheritance_manager3.dart' ;
@@ -52,6 +53,7 @@ import 'package:analyzer/src/generated/utilities_collection.dart';
5253import 'package:analyzer/src/generated/utilities_dart.dart' ;
5354import 'package:analyzer/src/summary2/ast_binary_tokens.dart' ;
5455import 'package:analyzer/src/summary2/export.dart' ;
56+ import 'package:analyzer/src/summary2/linked_element_factory.dart' ;
5557import 'package:analyzer/src/summary2/reference.dart' ;
5658import 'package:analyzer/src/util/file_paths.dart' as file_paths;
5759import 'package:analyzer/src/utilities/extensions/collection.dart' ;
@@ -4895,7 +4897,7 @@ abstract class InterfaceElementImpl extends InstanceElementImpl
48954897 @override
48964898 @trackedIncludedInId
48974899 List <InterfaceTypeImpl > get allSupertypes {
4898- return _allSupertypes ?? = library.session .classHierarchy
4900+ return _allSupertypes ?? = library.internal .classHierarchy
48994901 .implementedInterfaces (this );
49004902 }
49014903
@@ -4970,7 +4972,7 @@ abstract class InterfaceElementImpl extends InstanceElementImpl
49704972
49714973 @trackedIndirectly
49724974 InheritanceManager3 get inheritanceManager {
4973- return library.session .inheritanceManager;
4975+ return library.internal .inheritanceManager;
49744976 }
49754977
49764978 @override
@@ -5889,11 +5891,9 @@ class LibraryElementImpl extends ElementImpl
58895891
58905892 MetadataImpl _metadata = MetadataImpl (const []);
58915893
5892- @override
5893- String ? documentationComment;
5894+ String ? _documentationComment;
58945895
5895- @override
5896- AnalysisSessionImpl session;
5896+ AnalysisSessionImpl _session;
58975897
58985898 /// The first (defining) fragment of this library.
58995899 @override
@@ -5928,15 +5928,9 @@ class LibraryElementImpl extends ElementImpl
59285928 /// for this library.
59295929 late final LoadLibraryFunctionProvider loadLibraryProvider;
59305930
5931- // TODO(scheglov): replace with `LibraryName` or something.
5932- @override
5933- String name;
5934-
5935- // TODO(scheglov): replace with `LibraryName` or something.
5936- int nameOffset;
5937-
5938- // TODO(scheglov): replace with `LibraryName` or something.
5939- int nameLength;
5931+ String _name;
5932+ int _nameOffset;
5933+ int _nameLength;
59405934
59415935 List <ClassElementImpl > _classes = [];
59425936 List <EnumElementImpl > _enums = [];
@@ -5979,10 +5973,10 @@ class LibraryElementImpl extends ElementImpl
59795973 /// the given [name] and [offset] .
59805974 LibraryElementImpl (
59815975 this ._context,
5982- this .session ,
5983- this .name ,
5984- this .nameOffset ,
5985- this .nameLength ,
5976+ this ._session ,
5977+ this ._name ,
5978+ this ._nameOffset ,
5979+ this ._nameLength ,
59865980 this .featureSet,
59875981 );
59885982
@@ -6036,6 +6030,17 @@ class LibraryElementImpl extends ElementImpl
60366030 return _context.declaredVariables;
60376031 }
60386032
6033+ @override
6034+ @trackedDirectlyOpaque
6035+ String ? get documentationComment {
6036+ globalResultRequirements? .recordOpaqueApiUse (this , 'documentationComment' );
6037+ return _documentationComment;
6038+ }
6039+
6040+ set documentationComment (String ? value) {
6041+ _documentationComment = value;
6042+ }
6043+
60396044 @override
60406045 @trackedIncludedInId
60416046 Null get enclosingElement => null ;
@@ -6296,11 +6301,42 @@ class LibraryElementImpl extends ElementImpl
62966301 _mixins = value;
62976302 }
62986303
6304+ @override
6305+ @trackedDirectly
6306+ String get name {
6307+ globalResultRequirements? .record_library_getName (element: this );
6308+ return _name;
6309+ }
6310+
6311+ set name (String name) {
6312+ _name = name;
6313+ }
6314+
62996315 @Deprecated ('Use name instead' )
63006316 @override
63016317 @trackedIndirectly
63026318 String ? get name3 => name;
63036319
6320+ @trackedDirectlyOpaque
6321+ int get nameLength {
6322+ globalResultRequirements? .recordOpaqueApiUse (this , 'nameLength' );
6323+ return _nameLength;
6324+ }
6325+
6326+ set nameLength (int nameLength) {
6327+ _nameLength = nameLength;
6328+ }
6329+
6330+ @trackedDirectlyOpaque
6331+ int get nameOffset {
6332+ globalResultRequirements? .recordOpaqueApiUse (this , 'nameOffset' );
6333+ return _nameOffset;
6334+ }
6335+
6336+ set nameOffset (int nameOffset) {
6337+ _nameOffset = nameOffset;
6338+ }
6339+
63046340 @override
63056341 @trackedIncludedInId
63066342 LibraryElementImpl get nonSynthetic => this ;
@@ -6315,6 +6351,17 @@ class LibraryElementImpl extends ElementImpl
63156351 _publicNamespace = publicNamespace;
63166352 }
63176353
6354+ @override
6355+ @trackedDirectlyOpaque
6356+ AnalysisSessionImpl get session {
6357+ globalResultRequirements? .recordOpaqueApiUse (this , 'session' );
6358+ return _session;
6359+ }
6360+
6361+ set session (AnalysisSessionImpl value) {
6362+ _session = value;
6363+ }
6364+
63186365 @override
63196366 @trackedDirectlyExpensive
63206367 List <SetterElementImpl > get setters {
@@ -6723,9 +6770,21 @@ class LibraryElementImplInternal {
67236770
67246771 LibraryElementImplInternal (this ._library);
67256772
6773+ ClassHierarchy get classHierarchy {
6774+ return _library._session.classHierarchy;
6775+ }
6776+
6777+ LinkedElementFactory get elementFactory {
6778+ return _library._session.elementFactory;
6779+ }
6780+
67266781 LibraryFragmentImpl get firstFragment => _library._firstFragment;
67276782
67286783 List <LibraryFragmentImpl > get fragments => _library._fragments;
6784+
6785+ InheritanceManager3 get inheritanceManager {
6786+ return _library._session.inheritanceManager;
6787+ }
67296788}
67306789
67316790class LibraryExportImpl extends ElementDirectiveImpl implements LibraryExport {
0 commit comments