Skip to content

Commit aec93bf

Browse files
scheglovCommit Queue
authored and
Commit Queue
committed
Elements. Use 'firstFragment' instead of 'declaration' in AugmentedInstanceElement and subtypes.
Change-Id: Idc3812ebc51f0bf92f467f21d91f7f4ecb3171e6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/392241 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 2a4a7d9 commit aec93bf

31 files changed

+168
-185
lines changed

pkg/analysis_server/lib/src/services/completion/dart/candidate_suggestion.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ final class ConstructorSuggestion extends ExecutableSuggestion
173173

174174
@override
175175
String get completion {
176-
var enclosingClass = element.enclosingElement3.augmented.declaration;
176+
var enclosingClass = element.enclosingElement3.augmented.firstFragment;
177177

178178
var className = enclosingClass.name;
179179

pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,7 @@ class DeclarationHelper {
554554
void addPossibleRedirectionsInLibrary(
555555
ConstructorElement redirectingConstructor, LibraryElement library) {
556556
var classElement =
557-
redirectingConstructor.enclosingElement3.augmented.declaration;
557+
redirectingConstructor.enclosingElement3.augmented.firstFragment;
558558
var classType = classElement.thisType;
559559
var typeSystem = library.typeSystem;
560560
for (var unit in library.units) {

pkg/analysis_server/lib/src/services/completion/dart/relevance_computer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ class RelevanceComputer {
347347
/// Compute the relevance for [ConstructorElement].
348348
int _computeConstructorRelevance(ConstructorElement element,
349349
NeverType neverType, bool isNotImportedLibrary) {
350-
var enclosingClass = element.enclosingElement3.augmented.declaration;
350+
var enclosingClass = element.enclosingElement3.augmented.firstFragment;
351351
var returnType = instantiateInstanceElement(enclosingClass, neverType);
352352
return computeTopLevelRelevance(element,
353353
elementType: returnType, isNotImportedLibrary: isNotImportedLibrary);

pkg/analysis_server/lib/src/services/completion/dart/suggestion_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ class SuggestionBuilder {
228228
// If the class name is already in the text, then we don't support
229229
// prepending a prefix.
230230
assert(!hasClassName || prefix == null);
231-
var enclosingClass = constructor.enclosingElement3.augmented.declaration;
231+
var enclosingClass = constructor.enclosingElement3.augmented.firstFragment;
232232

233233
if (completion == null) {
234234
var className = enclosingClass.name;

pkg/analysis_server/lib/src/services/completion/dart/utilities.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ InterfaceType instantiateInstanceElement(
238238
bool isFlutterWidgetParameter(ParameterElement parameter) {
239239
var element = parameter.enclosingElement3;
240240
if (element is ConstructorElement &&
241-
element.enclosingElement3.augmented.declaration.isWidget) {
241+
element.enclosingElement3.augmented.firstFragment.isWidget) {
242242
return true;
243243
}
244244
return false;

pkg/analysis_server/lib/src/services/search/search_engine_internal.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ class SearchEngineImpl implements SearchEngine {
6969
}
7070
}
7171

72-
await addMembers(type.augmented.declaration, null);
72+
await addMembers(type.augmented.firstFragment, null);
7373

7474
if (!hasSubtypes) {
7575
return null;

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ import 'package:pub_semver/pub_semver.dart';
6262
/// Clients may not extend, implement or mix-in this class.
6363
abstract class AugmentedClassElement implements AugmentedInterfaceElement {
6464
@override
65-
ClassElement get declaration;
65+
ClassElement get firstFragment;
6666
}
6767

6868
/// The result of applying augmentations to an [EnumElement].
@@ -73,7 +73,7 @@ abstract class AugmentedEnumElement implements AugmentedInterfaceElement {
7373
List<FieldElement> get constants;
7474

7575
@override
76-
EnumElement get declaration;
76+
EnumElement get firstFragment;
7777
}
7878

7979
/// The result of applying augmentations to an [ExtensionElement].
@@ -90,7 +90,7 @@ abstract class AugmentedExtensionElement implements AugmentedInstanceElement {
9090
abstract class AugmentedExtensionTypeElement
9191
implements AugmentedInterfaceElement {
9292
@override
93-
ExtensionTypeElement get declaration;
93+
ExtensionTypeElement get firstFragment;
9494

9595
/// The primary constructor of this extension.
9696
ConstructorElement get primaryConstructor;
@@ -114,15 +114,15 @@ abstract class AugmentedInstanceElement {
114114
/// other [PropertyAccessorElement]s are appended.
115115
List<PropertyAccessorElement> get accessors;
116116

117-
/// The declaration (not augmentation) that owns this result.
118-
InstanceElement get declaration;
119-
120117
/// The fields declared in this element.
121118
///
122119
/// [FieldAugmentationElement]s replace corresponding elements, other
123120
/// [FieldElement]s are appended.
124121
List<FieldElement> get fields;
125122

123+
/// The declaration (not augmentation) that owns this result.
124+
InstanceElement get firstFragment;
125+
126126
/// The metadata associated with this element.
127127
///
128128
/// This is a union of annotations associated with the class declaration and
@@ -195,7 +195,7 @@ abstract class AugmentedInterfaceElement implements AugmentedInstanceElement {
195195
List<ConstructorElement> get constructors;
196196

197197
@override
198-
InterfaceElement get declaration;
198+
InterfaceElement get firstFragment;
199199

200200
/// The interfaces implemented by this element.
201201
///

0 commit comments

Comments
 (0)