Skip to content

Commit 3d06398

Browse files
fshcheglovCommit Queue
authored andcommitted
Merge enclosingElement and enclosingFragment
Change-Id: Ibf93c2461681cf10fe5731621e3d9e05f57616bb Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/440900 Reviewed-by: Paul Berry <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Paul Berry <[email protected]> Reviewed-by: Konstantin Shcheglov <[email protected]>
1 parent ac8c7b5 commit 3d06398

File tree

10 files changed

+115
-189
lines changed

10 files changed

+115
-189
lines changed

pkg/analyzer/lib/src/dart/element/element.dart

Lines changed: 82 additions & 156 deletions
Large diffs are not rendered by default.

pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,7 @@ class InheritanceManager3 {
977977
name: executable.name,
978978
firstTokenOffset: null,
979979
);
980-
resultFragment.enclosingElement = class_.firstFragment;
980+
resultFragment.enclosingFragment = class_.firstFragment;
981981
resultFragment.isSynthetic = true;
982982
resultFragment.parameters =
983983
transformedParameters.map((e) => e.firstFragment).toList();
@@ -1010,7 +1010,7 @@ class InheritanceManager3 {
10101010
name: executable.name,
10111011
firstTokenOffset: null,
10121012
);
1013-
resultFragment.enclosingElement = class_.firstFragment;
1013+
resultFragment.enclosingFragment = class_.firstFragment;
10141014
resultFragment.isSynthetic = true;
10151015
resultFragment.parameters =
10161016
transformedParameters.map((e) => e.firstFragment).toList();
@@ -1022,7 +1022,7 @@ class InheritanceManager3 {
10221022
name: executable.name,
10231023
firstTokenOffset: null,
10241024
);
1025-
resultField.enclosingElement = class_.firstFragment;
1025+
resultField.enclosingFragment = class_.firstFragment;
10261026

10271027
var elementName = executable.name!;
10281028
var fieldReference = class_.reference!
@@ -1081,7 +1081,7 @@ class InheritanceManager3 {
10811081
name: fragmentName,
10821082
firstTokenOffset: null,
10831083
);
1084-
resultFragment.enclosingElement = targetClass.firstFragment;
1084+
resultFragment.enclosingFragment = targetClass.firstFragment;
10851085
resultFragment.typeParameters =
10861086
resultType.typeParameters.map((e) => e.firstFragment).toList();
10871087
// TODO(scheglov): check if can type cast instead
@@ -1141,14 +1141,14 @@ class InheritanceManager3 {
11411141
element.returnType = resultType.returnType;
11421142
resultElement = element;
11431143
}
1144-
resultFragment.enclosingElement = targetClass.firstFragment;
1144+
resultFragment.enclosingFragment = targetClass.firstFragment;
11451145
// TODO(scheglov): check if can type cast instead
11461146
resultFragment.parameters =
11471147
resultType.parameters
11481148
.map((e) => e.firstFragment as FormalParameterFragmentImpl)
11491149
.toList();
11501150

1151-
field.enclosingElement = targetClass.firstFragment;
1151+
field.enclosingFragment = targetClass.firstFragment;
11521152

11531153
var elementName = first.name!;
11541154
var elementReference = targetClass.reference!

pkg/analyzer/lib/src/dart/element/scope.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ class LibraryFragmentScope implements Scope {
324324
ImportsTracking? _importsTracking;
325325

326326
factory LibraryFragmentScope(LibraryFragmentImpl fragment) {
327-
var parent = fragment.enclosingElement?.scope;
327+
var parent = fragment.enclosingFragment?.scope;
328328
return LibraryFragmentScope._(
329329
parent: parent,
330330
fragment: fragment,

pkg/analyzer/lib/src/dart/resolver/resolution_visitor.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class ElementHolder {
5757
}
5858

5959
void enclose(FragmentImpl element) {
60-
element.enclosingElement = _element;
60+
element.enclosingFragment = _element;
6161
}
6262
}
6363

pkg/analyzer/lib/src/summary2/bundle_reader.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -885,12 +885,12 @@ class LibraryReader {
885885
var reference = _readReference();
886886
var isDeferred = _reader.readBool();
887887
var fragment = PrefixFragmentImpl(
888-
enclosingFragment: libraryFragment,
889888
name: fragmentName,
890889
firstTokenOffset: null,
891890
nameOffset: null,
892891
isDeferred: isDeferred,
893892
);
893+
fragment.enclosingFragment = libraryFragment;
894894

895895
var element = reference.element as PrefixElementImpl?;
896896
if (element == null) {

pkg/analyzer/lib/src/summary2/element_builder.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ class ElementBuilder {
420420
FragmentImpl? lastFragment,
421421
MethodFragmentImpl fragment,
422422
) {
423-
var instanceFragment = fragment.enclosingFragment as InstanceFragmentImpl;
423+
var instanceFragment = fragment.enclosingFragment;
424424
instanceFragment.addMethod(fragment);
425425

426426
if (lastFragment is MethodFragmentImpl && fragment.isAugmentation) {
@@ -1044,7 +1044,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
10441044
);
10451045
_linker.elementNodes[field] = variableDeclaration;
10461046

1047-
field.enclosingElement = fragment;
1047+
field.enclosingFragment = fragment;
10481048
_libraryBuilder.addFragmentChild(fragment, field);
10491049

10501050
AstNodeImpl.linkNodeTokens(initializer);
@@ -1107,7 +1107,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
11071107
);
11081108
_linker.elementNodes[valuesField] = variableDeclaration;
11091109

1110-
valuesField.enclosingElement = fragment;
1110+
valuesField.enclosingFragment = fragment;
11111111
_libraryBuilder.addFragmentChild(fragment, valuesField);
11121112

11131113
_libraryBuilder.implicitEnumNodes[fragment] = ImplicitEnumNodes(
@@ -1254,7 +1254,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
12541254
_linker.elementNodes[fragment] = variable;
12551255

12561256
var parentFragment = _enclosingContext.fragment;
1257-
fragment.enclosingElement = parentFragment;
1257+
fragment.enclosingFragment = parentFragment;
12581258
_libraryBuilder.addFragmentChild(parentFragment, fragment);
12591259
}
12601260
_buildType(node.fields.type);
@@ -1328,7 +1328,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
13281328
getterFragment.isAugmentation = node.augmentKeyword != null;
13291329
getterFragment.isStatic = true;
13301330

1331-
getterFragment.enclosingElement = _unitElement;
1331+
getterFragment.enclosingFragment = _unitElement;
13321332
executableFragment = getterFragment;
13331333

13341334
_libraryBuilder.addTopFragment(_unitElement, getterFragment);
@@ -1340,7 +1340,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
13401340
setterFragment.isAugmentation = node.augmentKeyword != null;
13411341
setterFragment.isStatic = true;
13421342

1343-
setterFragment.enclosingElement = _unitElement;
1343+
setterFragment.enclosingFragment = _unitElement;
13441344
executableFragment = setterFragment;
13451345

13461346
_libraryBuilder.addTopFragment(_unitElement, setterFragment);
@@ -1563,7 +1563,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
15631563

15641564
reference = Reference.root(); // TODO(scheglov): remove this
15651565
var parentFragment = _enclosingContext.fragment;
1566-
fragment.enclosingElement = parentFragment;
1566+
fragment.enclosingFragment = parentFragment;
15671567
_libraryBuilder.addFragmentChild(parentFragment, fragment);
15681568

15691569
executableFragment = fragment;
@@ -1578,7 +1578,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
15781578

15791579
reference = Reference.root(); // TODO(scheglov): remove this
15801580
var parentFragment = _enclosingContext.fragment;
1581-
fragment.enclosingElement = parentFragment;
1581+
fragment.enclosingFragment = parentFragment;
15821582
_libraryBuilder.addFragmentChild(parentFragment, fragment);
15831583

15841584
executableFragment = fragment;
@@ -1603,7 +1603,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
16031603

16041604
reference = Reference.root(); // TODO(scheglov): remove this
16051605
var parentFragment = _enclosingContext.fragment;
1606-
fragment.enclosingElement = parentFragment;
1606+
fragment.enclosingFragment = parentFragment;
16071607
_libraryBuilder.addFragmentChild(parentFragment, fragment);
16081608

16091609
executableFragment = fragment;
@@ -1911,7 +1911,7 @@ class FragmentBuilder extends ThrowingAstVisitor<void> {
19111911
representation.fieldFragment = fieldFragment;
19121912
_linker.elementNodes[fieldFragment] = representation;
19131913

1914-
fieldFragment.enclosingElement = extensionFragment;
1914+
fieldFragment.enclosingFragment = extensionFragment;
19151915
_libraryBuilder.addFragmentChild(extensionFragment, fieldFragment);
19161916

19171917
var formalParameterElement =

pkg/analyzer/lib/src/summary2/library_builder.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ class LibraryBuilder {
143143
}
144144

145145
void addTopFragment(LibraryFragmentImpl parent, FragmentImpl fragment) {
146-
fragment.enclosingElement = parent;
146+
fragment.enclosingFragment = parent;
147147
(_topFragments[parent] ??= []).add(fragment);
148148
}
149149

@@ -629,12 +629,12 @@ class LibraryBuilder {
629629
required bool isDeferred,
630630
}) {
631631
var fragment = PrefixFragmentImpl(
632-
enclosingFragment: libraryFragment,
633632
name: unlinkedName?.name,
634633
firstTokenOffset: null,
635634
nameOffset: unlinkedName?.nameOffset,
636635
isDeferred: isDeferred,
637636
)..offset = offset;
637+
fragment.enclosingFragment = libraryFragment;
638638

639639
var refName = getReferenceName(unlinkedName?.name);
640640
var reference = this.reference

pkg/analyzer/lib/src/utilities/extensions/element.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ extension CompilationUnitElementImplExtension on LibraryFragmentImpl {
6666
var current = this;
6767
while (true) {
6868
result.add(current);
69-
if (current.enclosingElement case var enclosing?) {
69+
if (current.enclosingFragment case var enclosing?) {
7070
current = enclosing;
7171
} else {
7272
break;

pkg/analyzer/test/generated/elements_types_mixin.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ mixin ElementsTypesMixin {
131131
fragment.isAbstract = isAbstract;
132132
fragment.isAugmentation = isAugmentation;
133133
fragment.isSealed = isSealed;
134-
fragment.enclosingElement = testLibrary.definingCompilationUnit;
134+
fragment.enclosingFragment = testLibrary.definingCompilationUnit;
135135
fragment.typeParameters = typeParameters.map((e) => e.asElement).toList();
136136
fragment.supertype = superType ?? typeProvider.objectType;
137137
fragment.interfaces = interfaces;
@@ -158,7 +158,7 @@ mixin ElementsTypesMixin {
158158
fragment.isAbstract = isAbstract;
159159
fragment.isAugmentation = isAugmentation;
160160
fragment.isSealed = isSealed;
161-
fragment.enclosingElement = testLibrary.definingCompilationUnit;
161+
fragment.enclosingFragment = testLibrary.definingCompilationUnit;
162162
fragment.typeParameters =
163163
typeParameters.map((e) => e.firstFragment).toList();
164164
fragment.supertype = superType ?? typeProvider.objectType;
@@ -194,7 +194,7 @@ mixin ElementsTypesMixin {
194194
}) {
195195
var fragment = EnumFragmentImpl(name: name, firstTokenOffset: null);
196196
EnumElementImpl(Reference.root(), fragment);
197-
fragment.enclosingElement = testLibrary.definingCompilationUnit;
197+
fragment.enclosingFragment = testLibrary.definingCompilationUnit;
198198
fragment.fields = constants;
199199
return fragment;
200200
}
@@ -205,7 +205,7 @@ mixin ElementsTypesMixin {
205205
}) {
206206
var fragment = EnumFragmentImpl(name: name, firstTokenOffset: null);
207207
var element = EnumElementImpl(Reference.root(), fragment);
208-
fragment.enclosingElement = testLibrary.definingCompilationUnit;
208+
fragment.enclosingFragment = testLibrary.definingCompilationUnit;
209209
fragment.fields = constants;
210210
return element;
211211
}
@@ -226,7 +226,7 @@ mixin ElementsTypesMixin {
226226
ExtensionElementImpl(Reference.root(), element);
227227
element.element.extendedType = extendedType;
228228
element.isAugmentation = isAugmentation;
229-
element.enclosingElement = testLibrary.definingCompilationUnit;
229+
element.enclosingFragment = testLibrary.definingCompilationUnit;
230230
element.typeParameters = typeParameters;
231231
element.methods = methods;
232232
return element;
@@ -243,7 +243,7 @@ mixin ElementsTypesMixin {
243243
name: name,
244244
firstTokenOffset: null,
245245
);
246-
fragment.enclosingElement = testLibrary.definingCompilationUnit;
246+
fragment.enclosingFragment = testLibrary.definingCompilationUnit;
247247
fragment.typeParameters = typeParameters.map((e) => e.asElement).toList();
248248
fragment.interfaces = interfaces;
249249

@@ -276,7 +276,7 @@ mixin ElementsTypesMixin {
276276
name: name,
277277
firstTokenOffset: null,
278278
);
279-
fragment.enclosingElement = testLibrary.definingCompilationUnit;
279+
fragment.enclosingFragment = testLibrary.definingCompilationUnit;
280280
fragment.typeParameters = typeParameters.map((e) => e.asElement).toList();
281281
fragment.interfaces = interfaces;
282282

@@ -488,7 +488,7 @@ mixin ElementsTypesMixin {
488488
}) {
489489
var fragment = MixinFragmentImpl(name: name, firstTokenOffset: null);
490490
fragment.isAugmentation = isAugmentation;
491-
fragment.enclosingElement = testLibrary.definingCompilationUnit;
491+
fragment.enclosingFragment = testLibrary.definingCompilationUnit;
492492
fragment.typeParameters = typeParameters.map((e) => e.asElement).toList();
493493
fragment.superclassConstraints = constraints ?? [typeProvider.objectType];
494494
fragment.interfaces = interfaces;
@@ -507,7 +507,7 @@ mixin ElementsTypesMixin {
507507
}) {
508508
var fragment = MixinFragmentImpl(name: name, firstTokenOffset: null);
509509
fragment.isAugmentation = isAugmentation;
510-
fragment.enclosingElement = testLibrary.definingCompilationUnit;
510+
fragment.enclosingFragment = testLibrary.definingCompilationUnit;
511511
fragment.typeParameters = typeParameters.map((e) => e.asElement).toList();
512512
fragment.superclassConstraints = constraints ?? [typeProvider.objectType];
513513
fragment.interfaces = interfaces;
@@ -657,7 +657,7 @@ mixin ElementsTypesMixin {
657657
required TypeImpl aliasedType,
658658
}) {
659659
var fragment = TypeAliasFragmentImpl(name: name, firstTokenOffset: null);
660-
fragment.enclosingElement = testLibrary.definingCompilationUnit;
660+
fragment.enclosingFragment = testLibrary.definingCompilationUnit;
661661
fragment.typeParameters = typeParameters.map((e) => e.asElement).toList();
662662

663663
var element = TypeAliasElementImpl(Reference.root(), fragment);

pkg/linter/lib/src/rules/strict_top_level_inference.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ class _Visitor extends SimpleAstVisitor<void> {
192192
return;
193193
}
194194

195-
var container = fragment.enclosingFragment!.element;
195+
var container = fragment.enclosingFragment.element;
196196
var noOverride =
197197
node.isStatic ||
198198
container is ExtensionElement ||

0 commit comments

Comments
 (0)