Skip to content

Commit 385f41f

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Migrate src/dart/element/scope.dart
Change-Id: Id5f07a688138f463e307cb145d56cb286ba85cac Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/407220 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent df96f15 commit 385f41f

File tree

13 files changed

+322
-247
lines changed

13 files changed

+322
-247
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2561,6 +2561,10 @@ abstract class SuperFormalParameterFragment implements FormalParameterFragment {
25612561
/// Clients may not extend, implement or mix-in this class.
25622562
abstract class TopLevelFunctionElement
25632563
implements ExecutableElement2, HasSinceSdkVersion {
2564+
/// The name of the synthetic function defined for libraries that are
2565+
/// deferred.
2566+
static final String LOAD_LIBRARY_NAME = "loadLibrary";
2567+
25642568
@override
25652569
TopLevelFunctionElement get baseElement;
25662570

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import 'package:analyzer/dart/element/element.dart';
88
import 'package:analyzer/dart/element/element2.dart';
9+
import 'package:analyzer/src/utilities/extensions/element.dart';
910

1011
/// Scopes are used to resolve names to elements.
1112
///
@@ -23,8 +24,10 @@ abstract class Scope {
2324
///
2425
/// Clients may not extend, implement or mix-in this class.
2526
abstract class ScopeLookupResult {
26-
Element? get getter;
27+
Element? get getter => getter2?.asElement;
2728
Element2? get getter2;
28-
Element? get setter;
29+
30+
Element? get setter => setter2?.asElement;
31+
2932
Element2? get setter2;
3033
}

pkg/analyzer/lib/src/dart/ast/extensions.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,14 +279,14 @@ extension IdentifierImplExtension on IdentifierImpl {
279279
name2: self.identifier.token,
280280
typeArguments: typeArguments,
281281
question: question,
282-
)..element2 = self.identifier.staticElement.asElement2;
282+
)..element2 = self.identifier.staticElement?.asElement2;
283283
} else if (self is SimpleIdentifierImpl) {
284284
return NamedTypeImpl(
285285
importPrefix: null,
286286
name2: self.token,
287287
typeArguments: typeArguments,
288288
question: question,
289-
)..element2 = self.staticElement.asElement2;
289+
)..element2 = self.staticElement?.asElement2;
290290
} else {
291291
throw UnimplementedError('(${self.runtimeType}) $self');
292292
}

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

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -683,6 +683,10 @@ class ClassElementImpl2 extends InterfaceElementImpl2
683683
@override
684684
bool get isDartCoreObject => firstFragment.isDartCoreObject;
685685

686+
bool get isDartCoreRecord {
687+
return name3 == 'Record' && library2.isDartCore;
688+
}
689+
686690
bool get isEnumLike {
687691
// Must be a concrete class.
688692
if (isAbstract) {
@@ -844,14 +848,12 @@ class CompilationUnitElementImpl extends UriReferencedElementImpl
844848

845849
@override
846850
List<ExtensionElement> get accessibleExtensions {
847-
return scope.accessibleExtensions;
851+
return scope.accessibleExtensions.map((e) => e.asElement).toList();
848852
}
849853

850854
@override
851855
List<ExtensionElement2> get accessibleExtensions2 {
852-
return scope.accessibleExtensions
853-
.map((element) => element.augmented as ExtensionElement2)
854-
.toList();
856+
return scope.accessibleExtensions;
855857
}
856858

857859
@override
@@ -9851,6 +9853,10 @@ class PrefixElementImpl2 extends ElementImpl2 implements PrefixElement2 {
98519853
return asElement.scope;
98529854
}
98539855

9856+
set scope(PrefixScope value) {
9857+
asElement.scope = value;
9858+
}
9859+
98549860
@override
98559861
T? accept2<T>(ElementVisitor2<T> visitor) {
98569862
return visitor.visitPrefixElement(this);

0 commit comments

Comments
 (0)