22// for details. All rights reserved. Use of this source code is governed by a
33// BSD-style license that can be found in the LICENSE file.
44
5- // ignore_for_file: analyzer_use_new_elements
6-
75import 'package:_fe_analyzer_shared/src/flow_analysis/flow_analysis.dart' ;
86import 'package:_fe_analyzer_shared/src/types/shared_type.dart' ;
97import 'package:analyzer/dart/analysis/features.dart' ;
108import 'package:analyzer/dart/ast/syntactic_entity.dart' ;
119import 'package:analyzer/dart/ast/token.dart' ;
12- import 'package:analyzer/dart/element/element .dart' ;
10+ import 'package:analyzer/dart/element/element2 .dart' ;
1311import 'package:analyzer/dart/element/type.dart' ;
1412import 'package:analyzer/error/listener.dart' ;
1513import 'package:analyzer/src/dart/ast/ast.dart' ;
@@ -24,7 +22,6 @@ import 'package:analyzer/src/dart/resolver/type_property_resolver.dart';
2422import 'package:analyzer/src/error/codes.dart' ;
2523import 'package:analyzer/src/generated/resolver.dart' ;
2624import 'package:analyzer/src/generated/super_context.dart' ;
27- import 'package:analyzer/src/utilities/extensions/element.dart' ;
2825
2926/// Helper for resolving [BinaryExpression] s.
3027class BinaryExpressionResolver {
@@ -289,13 +286,13 @@ class BinaryExpressionResolver {
289286
290287 var invokeType = node.staticInvokeType;
291288 TypeImpl rightContextType;
292- if (invokeType != null && invokeType.parameters .isNotEmpty) {
289+ if (invokeType != null && invokeType.formalParameters .isNotEmpty) {
293290 // If this is a user-defined operator, set the right operand context
294291 // using the operator method's parameter type.
295- var rightParam = invokeType.parameters [0 ];
296- rightContextType = _typeSystem.refineNumericInvocationContext (
292+ var rightParam = invokeType.formalParameters [0 ];
293+ rightContextType = _typeSystem.refineNumericInvocationContext2 (
297294 left.staticType,
298- node.staticElement ,
295+ node.element ,
299296 contextType,
300297 // TODO(paulberry): eliminate this cast by changing the type of
301298 // `FunctionTypeImpl.parameters` to `List<ParameterElementMixin>`.
@@ -373,13 +370,13 @@ class BinaryExpressionResolver {
373370 left.setPseudoExpressionStaticType (InvalidTypeImpl .instance);
374371
375372 switch (augmentationTarget) {
376- case MethodElement operatorElement :
377- left.element = operatorElement ;
373+ case MethodFragment fragment :
374+ left.fragment = fragment ;
378375 left.setPseudoExpressionStaticType (
379376 _resolver.thisType ?? InvalidTypeImpl .instance);
380- if (operatorElement.name == methodName) {
381- node.staticElement = operatorElement ;
382- node.staticInvokeType = operatorElement .type;
377+ if (fragment.name2 == methodName) {
378+ node.fragment = fragment ;
379+ node.staticInvokeType = fragment.element .type;
383380 } else {
384381 _errorReporter.atToken (
385382 left.augmentedKeyword,
@@ -389,20 +386,21 @@ class BinaryExpressionResolver {
389386 ],
390387 );
391388 }
392- case PropertyAccessorElement accessor:
393- left.element = accessor;
394- if (accessor.isGetter) {
395- left.setPseudoExpressionStaticType (accessor.returnType);
389+ case PropertyAccessorFragment fragment:
390+ left.fragment = fragment;
391+ var element = fragment.element;
392+ if (element is GetterElement ) {
393+ left.setPseudoExpressionStaticType (element.returnType);
396394 _resolveUserDefinableElement (node, methodName);
397395 } else {
398396 _errorReporter.atToken (
399397 left.augmentedKeyword,
400398 CompileTimeErrorCode .AUGMENTED_EXPRESSION_IS_SETTER ,
401399 );
402400 }
403- case PropertyInducingElement property :
404- left.element = property ;
405- left.setPseudoExpressionStaticType (property .type);
401+ case PropertyInducingFragment fragment :
402+ left.fragment = fragment ;
403+ left.setPseudoExpressionStaticType (fragment.element .type);
406404 _resolveUserDefinableElement (node, methodName);
407405 }
408406
@@ -417,18 +415,18 @@ class BinaryExpressionResolver {
417415 ExpressionImpl leftOperand = node.leftOperand;
418416
419417 if (leftOperand is ExtensionOverrideImpl ) {
420- var extension = leftOperand.element ;
421- var member = extension .getMethod (methodName);
418+ var extension = leftOperand.element2 ;
419+ var member = extension .getMethod2 (methodName);
422420 if (member == null ) {
423421 // Extension overrides can only be used with named extensions so it is
424422 // safe to assume `extension.name` is non-`null`.
425423 _errorReporter.atToken (
426424 node.operator ,
427425 CompileTimeErrorCode .UNDEFINED_EXTENSION_OPERATOR ,
428- arguments: [methodName, extension .name ! ],
426+ arguments: [methodName, extension .name3 ! ],
429427 );
430428 }
431- node.staticElement = member;
429+ node.element = member;
432430 node.staticInvokeType = member? .type;
433431 return ;
434432 }
@@ -455,7 +453,7 @@ class BinaryExpressionResolver {
455453 nameErrorEntity: node,
456454 );
457455
458- node.staticElement = result.getter2? .asElement as MethodElement ? ;
456+ node.element = result.getter2 as MethodElement2 ? ;
459457 node.staticInvokeType = result.getter2? .type;
460458 if (result.needsGetterError) {
461459 if (leftOperand is SuperExpression ) {
@@ -506,7 +504,7 @@ class BinaryExpressionResolver {
506504 node.operator .type,
507505 node.rightOperand.typeOrThrow,
508506 staticType,
509- node.staticElement ,
507+ node.element ,
510508 );
511509 }
512510 node.recordStaticType (staticType, resolver: _resolver);
0 commit comments