@@ -54,8 +54,8 @@ extension AstNodeExtension on AstNode {
5454 MethodDeclaration () => self.augmentKeyword != null ,
5555 MixinDeclaration () => self.augmentKeyword != null ,
5656 TopLevelVariableDeclaration () => self.augmentKeyword != null ,
57- VariableDeclaration (declaredElement : var element ) =>
58- element is PropertyInducingElement && element .isAugmentation,
57+ VariableDeclaration (declaredFragment : var fragment ? ) =>
58+ fragment is PropertyInducingFragment && fragment .isAugmentation,
5959 _ => false
6060 };
6161 }
@@ -64,7 +64,7 @@ extension AstNodeExtension on AstNode {
6464 var node = this ;
6565 if (node.isInternal) return true ;
6666 if (node is ClassDeclaration ) {
67- var classElement = node.declaredElement ;
67+ var classElement = node.declaredFragment ? .element ;
6868 if (classElement != null ) {
6969 if (classElement.isSealed) return true ;
7070 if (classElement.isAbstract) {
@@ -80,27 +80,15 @@ extension AstNodeExtension on AstNode {
8080 var parent = thisOrAncestorOfType <CompilationUnitMember >();
8181 if (parent == null ) return false ;
8282
83- var element = parent.declaredElement;
84- return element != null && element.hasInternal;
83+ return switch (parent.declaredFragment? .element) {
84+ Annotatable (: var metadata2) => metadata2.hasInternal,
85+ _ => false ,
86+ };
8587 }
8688}
8789
8890extension AstNodeNullableExtension on AstNode ? {
89- Element ? get canonicalElement {
90- var self = this ;
91- if (self is Expression ) {
92- var node = self.unParenthesized;
93- if (node is Identifier ) {
94- return node.staticElement? .canonicalElement;
95- } else if (node is PropertyAccess ) {
96- return node.propertyName.staticElement? .canonicalElement;
97- }
98- }
99- return null ;
100- }
101-
102- Element2 ? get canonicalElement2 {
103- // TODO(pq): can this be replaced w/ a use of an `ElementLocator2`?
91+ Element2 ? get canonicalElement {
10492 var self = this ;
10593 if (self is Expression ) {
10694 var node = self.unParenthesized;
@@ -276,7 +264,7 @@ extension DartTypeExtension on DartType? {
276264 bool extendsClass (String ? className, String library) {
277265 var self = this ;
278266 if (self is InterfaceType ) {
279- return _extendsClass (self, < InterfaceElement > {}, className, library);
267+ return _extendsClass (self, < InterfaceElement2 > {}, className, library);
280268 }
281269 return false ;
282270 }
@@ -291,8 +279,8 @@ extension DartTypeExtension on DartType? {
291279 }
292280 if (typeToCheck is InterfaceType ) {
293281 return isAnyInterface (typeToCheck) ||
294- ! typeToCheck.element .isSynthetic &&
295- typeToCheck.element .allSupertypes.any (isAnyInterface);
282+ ! typeToCheck.element3 .isSynthetic &&
283+ typeToCheck.element3 .allSupertypes.any (isAnyInterface);
296284 } else {
297285 return false ;
298286 }
@@ -304,7 +292,7 @@ extension DartTypeExtension on DartType? {
304292 return false ;
305293 }
306294 bool predicate (InterfaceType i) => i.isSameAs (interface , library);
307- var element = self.element ;
295+ var element = self.element3 ;
308296 return predicate (self) ||
309297 ! element.isSynthetic && element.allSupertypes.any (predicate);
310298 }
@@ -314,17 +302,17 @@ extension DartTypeExtension on DartType? {
314302 bool isSameAs (String ? interface , String ? library) {
315303 var self = this ;
316304 return self is InterfaceType &&
317- self.element.name == interface &&
318- self.element.library.name == library;
305+ self.element3.name3 == interface &&
306+ self.element3.library2.name3 == library;
319307 }
320308
321309 static bool _extendsClass (
322310 InterfaceType ? type,
323- Set <InterfaceElement > seenElements,
311+ Set <InterfaceElement2 > seenElements,
324312 String ? className,
325313 String ? library) =>
326314 type != null &&
327- seenElements.add (type.element ) &&
315+ seenElements.add (type.element3 ) &&
328316 (type.isSameAs (className, library) ||
329317 _extendsClass (type.superclass, seenElements, className, library));
330318}
@@ -399,15 +387,15 @@ extension ExpressionExtension on Expression? {
399387 case ArgumentList ():
400388 // Allow `function(LinkedHashSet())` for `function(LinkedHashSet mySet)`
401389 // and `function(LinkedHashMap())` for `function(LinkedHashMap myMap)`.
402- return self.staticParameterElement ? .type ?? InvalidTypeImpl .instance;
390+ return self.correspondingParameter ? .type ?? InvalidTypeImpl .instance;
403391 case AssignmentExpression ():
404392 // Allow `x = LinkedHashMap()`.
405393 return ancestor.staticType;
406394 case ConditionalExpression ():
407395 return ancestor.staticType;
408396 case ConstructorFieldInitializer ():
409- var fieldElement = ancestor.fieldName.staticElement ;
410- return (fieldElement is VariableElement ) ? fieldElement.type : null ;
397+ var fieldElement = ancestor.fieldName.element ;
398+ return (fieldElement is VariableElement2 ) ? fieldElement.type : null ;
411399 case ExpressionFunctionBody (parent: var function)
412400 when function is FunctionExpression :
413401 // Allow `<int, LinkedHashSet>{}.putIfAbsent(3, () => LinkedHashSet())`
@@ -426,7 +414,7 @@ extension ExpressionExtension on Expression? {
426414 return function.returnType? .type;
427415 case NamedExpression ():
428416 // Allow `void f({required LinkedHashSet<Foo> s})`.
429- return ancestor.staticParameterElement ? .type ??
417+ return ancestor.correspondingParameter ? .type ??
430418 InvalidTypeImpl .instance;
431419 case ReturnStatement ():
432420 return ancestor.thisOrAncestorOfType <FunctionBody >().expectedReturnType;
@@ -460,7 +448,7 @@ extension FunctionBodyExtension on FunctionBody? {
460448 if (parent is FunctionExpression ) {
461449 var grandparent = parent.parent;
462450 if (grandparent is FunctionDeclaration ) {
463- var returnType = grandparent.declaredElement ? .returnType;
451+ var returnType = grandparent.declaredFragment ? .element .returnType;
464452 return self._expectedReturnableOrYieldableType (returnType);
465453 }
466454 var functionType = parent.approximateContextType;
@@ -469,7 +457,7 @@ extension FunctionBodyExtension on FunctionBody? {
469457 return self._expectedReturnableOrYieldableType (returnType);
470458 }
471459 if (parent is MethodDeclaration ) {
472- var returnType = parent.declaredElement ? .returnType;
460+ var returnType = parent.declaredFragment ? .element .returnType;
473461 return self._expectedReturnableOrYieldableType (returnType);
474462 }
475463 return null ;
@@ -546,9 +534,9 @@ extension InterfaceTypeExtension on InterfaceType {
546534 Iterable <InterfaceType > get implementedInterfaces {
547535 void searchSupertypes (
548536 InterfaceType ? type,
549- Set <InterfaceElement > alreadyVisited,
537+ Set <InterfaceElement2 > alreadyVisited,
550538 List <InterfaceType > interfaceTypes) {
551- if (type == null || ! alreadyVisited.add (type.element )) {
539+ if (type == null || ! alreadyVisited.add (type.element3 )) {
552540 return ;
553541 }
554542 interfaceTypes.add (type);
0 commit comments