From e9b8dd9cb50fc557dd2cc7a2ba2f17c188b30b01 Mon Sep 17 00:00:00 2001 From: Konstantin Shcheglov Date: Wed, 30 Jul 2025 09:05:12 -0700 Subject: [PATCH] Elements. Rename all Xyz2OrMember into InternalXyzElement. First, the character `2` has no meaning anymore. Second, saying "Internal" better represents what this interface is: an internal interface, with more precise types and additional methods. Move InternalConstructorElement into 'with' in ConstructorElementImpl. Change-Id: I22b04b4b6e786c50429359a656a8d6ca5e2fb492 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/442701 Commit-Queue: Konstantin Shcheglov Reviewed-by: Brian Wilkerson Reviewed-by: Paul Berry --- pkg/analyzer/lib/src/dart/analysis/index.dart | 2 +- pkg/analyzer/lib/src/dart/ast/ast.dart | 44 +- .../src/dart/constant/constant_verifier.dart | 4 +- .../lib/src/dart/constant/evaluation.dart | 32 +- pkg/analyzer/lib/src/dart/constant/value.dart | 2 +- .../dart/element/display_string_builder.dart | 12 +- .../lib/src/dart/element/element.dart | 449 +++++++++--------- .../lib/src/dart/element/extensions.dart | 5 +- .../src/dart/element/generic_inferrer.dart | 2 +- .../dart/element/greatest_lower_bound.dart | 2 +- .../dart/element/inheritance_manager3.dart | 151 +++--- .../src/dart/element/least_upper_bound.dart | 6 +- pkg/analyzer/lib/src/dart/element/member.dart | 101 ++-- .../src/dart/element/replacement_visitor.dart | 4 +- pkg/analyzer/lib/src/dart/element/type.dart | 91 ++-- .../lib/src/dart/element/type_algebra.dart | 4 +- .../dart/resolver/annotation_resolver.dart | 4 +- .../dart/resolver/applicable_extensions.dart | 4 +- .../assignment_expression_resolver.dart | 2 +- .../resolver/extension_member_resolver.dart | 4 +- .../dart/resolver/flow_analysis_visitor.dart | 2 +- .../lib/src/dart/resolver/for_resolver.dart | 2 +- .../resolver/function_reference_resolver.dart | 6 +- .../resolver/invocation_inference_helper.dart | 7 +- .../dart/resolver/invocation_inferrer.dart | 14 +- .../resolver/method_invocation_resolver.dart | 20 +- .../resolver/property_element_resolver.dart | 10 +- .../src/dart/resolver/resolution_result.dart | 4 +- .../dart/resolver/type_property_resolver.dart | 8 +- .../lib/src/error/correct_override.dart | 15 +- .../error/duplicate_definition_verifier.dart | 8 +- .../error/getter_setter_types_verifier.dart | 8 +- .../lib/src/error/inheritance_override.dart | 10 +- pkg/analyzer/lib/src/fine/manifest_type.dart | 4 +- .../lib/src/generated/element_resolver.dart | 4 +- .../generated/error_detection_helpers.dart | 14 +- .../lib/src/generated/error_verifier.dart | 22 +- .../lib/src/generated/exhaustiveness.dart | 4 +- .../lib/src/generated/ffi_verifier.dart | 22 +- pkg/analyzer/lib/src/generated/resolver.dart | 32 +- .../lib/src/summary2/ast_binary_reader.dart | 6 +- .../lib/src/summary2/bundle_reader.dart | 4 +- .../lib/src/summary2/bundle_writer.dart | 4 +- .../summary2/instance_member_inferrer.dart | 12 +- .../lib/src/summary2/named_type_builder.dart | 2 +- .../lib/src/summary2/types_builder.dart | 2 +- .../lib/src/utilities/extensions/element.dart | 2 +- .../test/src/summary/element_text.dart | 2 +- pkg/linter/lib/src/extensions.dart | 2 +- .../lib/src/rules/overridden_fields.dart | 2 +- 50 files changed, 581 insertions(+), 598 deletions(-) diff --git a/pkg/analyzer/lib/src/dart/analysis/index.dart b/pkg/analyzer/lib/src/dart/analysis/index.dart index 66de908109b..93c88ec1117 100644 --- a/pkg/analyzer/lib/src/dart/analysis/index.dart +++ b/pkg/analyzer/lib/src/dart/analysis/index.dart @@ -884,7 +884,7 @@ class _IndexContributor extends GeneralizingAstVisitor { void visitDotShorthandPropertyAccess(DotShorthandPropertyAccess node) { IndexRelationKind kind; var element = node.propertyName.element; - if (element is ConstructorElementMixin2) { + if (element is InternalConstructorElement) { element = _getActualConstructorElement(element); kind = IndexRelationKind.IS_REFERENCED_BY_CONSTRUCTOR_TEAR_OFF; } else { diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart index 7d03e16d1b2..4d5ec01997e 100644 --- a/pkg/analyzer/lib/src/dart/ast/ast.dart +++ b/pkg/analyzer/lib/src/dart/ast/ast.dart @@ -531,7 +531,7 @@ final class ArgumentListImpl extends AstNodeImpl implements ArgumentList { /// The list must be the same length as the number of arguments, but can /// contain `null` entries if a given argument doesn't correspond to a formal /// parameter. - List? _correspondingStaticParameters; + List? _correspondingStaticParameters; @generated ArgumentListImpl({ @@ -548,11 +548,11 @@ final class ArgumentListImpl extends AstNodeImpl implements ArgumentList { return leftParenthesis; } - List? get correspondingStaticParameters => + List? get correspondingStaticParameters => _correspondingStaticParameters; set correspondingStaticParameters( - List? parameters, + List? parameters, ) { if (parameters != null && parameters.length != arguments.length) { throw ArgumentError( @@ -604,7 +604,7 @@ final class ArgumentListImpl extends AstNodeImpl implements ArgumentList { /// - the function being invoked is known based on static type information /// - the expression corresponds to one of the parameters of the function /// being invoked - FormalParameterElementMixin? _getStaticParameterElementFor( + InternalFormalParameterElement? _getStaticParameterElementFor( Expression expression, ) { if (_correspondingStaticParameters == null || @@ -1151,7 +1151,7 @@ final class AssignmentExpressionImpl extends ExpressionImpl ExpressionImpl _rightHandSide; @override - MethodElement2OrMember? element; + InternalMethodElement? element; @generated AssignmentExpressionImpl({ @@ -1211,7 +1211,7 @@ final class AssignmentExpressionImpl extends ExpressionImpl /// The parameter element representing the parameter to which the value of the /// right operand is bound, or `null` if the AST structure is not resolved or /// the function being invoked is not known based on static type information. - FormalParameterElementMixin? get _staticParameterElementForRightHandSide { + InternalFormalParameterElement? get _staticParameterElementForRightHandSide { Element? executableElement; if (operator.type != TokenType.EQ) { executableElement = element; @@ -1226,10 +1226,10 @@ final class AssignmentExpressionImpl extends ExpressionImpl } if (operator.type == TokenType.EQ && leftHandSide is IndexExpression) { return formalParameters.length == 2 - ? (formalParameters[1] as FormalParameterElementMixin) + ? (formalParameters[1] as InternalFormalParameterElement) : null; } - return formalParameters[0] as FormalParameterElementMixin; + return formalParameters[0] as InternalFormalParameterElement; } return null; @@ -5514,7 +5514,7 @@ final class ConstructorNameImpl extends AstNodeImpl implements ConstructorName { SimpleIdentifierImpl? _name; @override - ConstructorElementMixin2? element; + InternalConstructorElement? element; @generated ConstructorNameImpl({ @@ -6749,7 +6749,7 @@ final class DotShorthandConstructorInvocationImpl @override bool get canBeConst { var element = constructorName.element; - if (element is! ConstructorElementMixin2) return false; + if (element is! InternalConstructorElement) return false; if (!element.isConst) return false; // Ensure that dependencies (e.g. default parameter values) are computed. @@ -7520,7 +7520,7 @@ final class EnumConstantDeclarationImpl extends DeclarationImpl FieldFragmentImpl? declaredFragment; @override - ConstructorElementMixin2? constructorElement; + InternalConstructorElement? constructorElement; @generated EnumConstantDeclarationImpl({ @@ -7544,7 +7544,7 @@ final class EnumConstantDeclarationImpl extends DeclarationImpl @Deprecated('Use constructorElement instead') @override - ConstructorElementMixin2? get constructorElement2 => constructorElement; + InternalConstructorElement? get constructorElement2 => constructorElement; @generated @override @@ -8171,7 +8171,7 @@ sealed class ExpressionImpl extends CollectionElementImpl @experimental @override - FormalParameterElementMixin? get correspondingParameter { + InternalFormalParameterElement? get correspondingParameter { var parent = this.parent; if (parent is ArgumentListImpl) { return parent._getStaticParameterElementFor(this); @@ -13934,7 +13934,7 @@ final class IndexExpressionImpl extends ExpressionImpl /// index expression is bound, or `null` if the AST structure is not resolved, /// or the function being invoked is not known based on static type /// information. - FormalParameterElementMixin? get _staticParameterElementForIndex { + InternalFormalParameterElement? get _staticParameterElementForIndex { Element? element = this.element; var parent = this.parent; @@ -13942,7 +13942,7 @@ final class IndexExpressionImpl extends ExpressionImpl element = parent.writeElement ?? parent.readElement; } - if (element is ExecutableElement2OrMember) { + if (element is InternalExecutableElement) { var formalParameters = element.formalParameters; if (formalParameters.isEmpty) { return null; @@ -17078,14 +17078,14 @@ final class NamedExpressionImpl extends ExpressionImpl @experimental @override - FormalParameterElementMixin? get element { + InternalFormalParameterElement? get element { return _name.label.element?.ifTypeOrNull(); } @Deprecated('Use element instead') @experimental @override - FormalParameterElementMixin? get element2 { + InternalFormalParameterElement? get element2 { return element; } @@ -19558,7 +19558,7 @@ final class PostfixExpressionImpl extends ExpressionImpl /// The parameter element representing the parameter to which the value of the /// operand is bound, or `null` ff the AST structure is not resolved or the /// function being invoked isn't known based on static type information. - FormalParameterElementMixin? get _staticParameterElementForOperand { + InternalFormalParameterElement? get _staticParameterElementForOperand { if (element == null) { return null; } @@ -19568,7 +19568,7 @@ final class PostfixExpressionImpl extends ExpressionImpl } // TODO(paulberry): eliminate this cast by changing the type of // `staticElement` to `MethodElement2OrMember?`. - return parameters[0] as FormalParameterElementMixin; + return parameters[0] as InternalFormalParameterElement; } @generated @@ -19832,7 +19832,7 @@ final class PrefixExpressionImpl extends ExpressionImpl /// The parameter element representing the parameter to which the value of the /// operand is bound, or `null` if the AST structure is not resolved or the /// function being invoked isn't known based on static type information. - FormalParameterElementMixin? get _staticParameterElementForOperand { + InternalFormalParameterElement? get _staticParameterElementForOperand { if (element == null) { return null; } @@ -19842,7 +19842,7 @@ final class PrefixExpressionImpl extends ExpressionImpl } // TODO(paulberry): eliminate this cast by changing the type of // `staticElement` to `MethodElementOrMember?`. - return parameters[0] as FormalParameterElementMixin; + return parameters[0] as InternalFormalParameterElement; } @generated @@ -22783,7 +22783,7 @@ final class SuperConstructorInvocationImpl extends ConstructorInitializerImpl ArgumentListImpl _argumentList; @override - ConstructorElementMixin2? element; + InternalConstructorElement? element; @generated SuperConstructorInvocationImpl({ diff --git a/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart b/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart index b5499401be4..3dc919ddddb 100644 --- a/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart +++ b/pkg/analyzer/lib/src/dart/constant/constant_verifier.dart @@ -211,7 +211,7 @@ class ConstantVerifier extends RecursiveAstVisitor { ) { if (node.isConst) { var constructor = node.constructorName.element; - if (constructor is ConstructorElementMixin2) { + if (constructor is InternalConstructorElement) { _validateConstructorInvocation(node, constructor, node.argumentList); } } else { @@ -911,7 +911,7 @@ class ConstantVerifier extends RecursiveAstVisitor { /// arguments are constant expressions. void _validateConstructorInvocation( AstNode node, - ConstructorElementMixin2 constructor, + InternalConstructorElement constructor, ArgumentList argumentList, ) { var constantVisitor = ConstantVisitor( diff --git a/pkg/analyzer/lib/src/dart/constant/evaluation.dart b/pkg/analyzer/lib/src/dart/constant/evaluation.dart index f929b382a12..39967a1606c 100644 --- a/pkg/analyzer/lib/src/dart/constant/evaluation.dart +++ b/pkg/analyzer/lib/src/dart/constant/evaluation.dart @@ -183,7 +183,7 @@ class ConstantEvaluationEngine { // ignore it here. constant.evaluationResult = null; } - } else if (element is ConstructorElementMixin2 && + } else if (element is InternalConstructorElement && element.isConst && constNode.arguments != null) { var diagnosticListener = RecordingDiagnosticListener(); @@ -249,7 +249,7 @@ class ConstantEvaluationEngine { } ReferenceFinder referenceFinder = ReferenceFinder(callback); - if (constant case ConstructorElementMixin2 constructor) { + if (constant case InternalConstructorElement constructor) { constant = constructor.baseElement; } @@ -353,7 +353,7 @@ class ConstantEvaluationEngine { AstNode node, List? typeArguments, List arguments, - ConstructorElementMixin2 constructor, + InternalConstructorElement constructor, ConstantVisitor constantVisitor, { ConstructorInvocationImpl? invocation, }) { @@ -402,7 +402,7 @@ class ConstantEvaluationEngine { AstNode node, List? typeArguments, List arguments, - ConstructorElementMixin2 constructor, + InternalConstructorElement constructor, ConstantVisitor constantVisitor, { ConstructorInvocationImpl? invocation, }) { @@ -462,8 +462,8 @@ class ConstantEvaluationEngine { /// If [constructor] redirects to another const constructor, return the /// const constructor it redirects to. Otherwise return `null`. - static ConstructorElementMixin2? getConstRedirectedConstructor( - ConstructorElementMixin2 constructor, + static InternalConstructorElement? getConstRedirectedConstructor( + InternalConstructorElement constructor, ) { if (!constructor.isFactory) { return null; @@ -881,7 +881,7 @@ class ConstantVisitor extends UnifyingAstVisitor { return InvalidConstant.genericError(node: node); } var constructor = node.constructorName.element; - if (constructor is ConstructorElementMixin2) { + if (constructor is InternalConstructorElement) { return _evaluationEngine.evaluateAndFormatErrorsInConstructorCall( _library, node, @@ -2137,7 +2137,7 @@ class ConstantVisitor extends UnifyingAstVisitor { DartObjectImpl value, ) { var functionElement = value.toFunctionValue(); - if (functionElement is! ExecutableElement2OrMember) { + if (functionElement is! InternalExecutableElement) { return value; } var valueType = functionElement.type; @@ -2172,7 +2172,7 @@ class ConstantVisitor extends UnifyingAstVisitor { // TODO(srawlins): When all code uses [FunctionReference]s generated via // generic function instantiation, remove this method and all call sites. var functionElement = value.toFunctionValue(); - if (functionElement is! ExecutableElement2OrMember) { + if (functionElement is! InternalExecutableElement) { return value; } var valueType = functionElement.type; @@ -2837,7 +2837,7 @@ class _InstanceCreationEvaluator { /// The node used for most error reporting. final AstNode _errorNode; - final ConstructorElementMixin2 _constructor; + final InternalConstructorElement _constructor; final List? _typeArguments; @@ -3535,8 +3535,8 @@ class _InstanceCreationEvaluator { /// Returns a context message that mimics a stack trace where [superConstructor] is /// called by [constructor] DiagnosticMessageImpl _stackTraceContextMessage( - ConstructorElementMixin2 superConstructor, - ConstructorElementMixin2 constructor, + InternalConstructorElement superConstructor, + InternalConstructorElement constructor, ) { return DiagnosticMessageImpl( filePath: constructor.firstFragment.libraryFragment.source.fullName, @@ -3556,7 +3556,7 @@ class _InstanceCreationEvaluator { DeclaredVariables declaredVariables, LibraryElementImpl library, AstNode node, - ConstructorElementMixin2 constructor, + InternalConstructorElement constructor, List? typeArguments, List arguments, ConstantVisitor constantVisitor, { @@ -3662,10 +3662,10 @@ class _InstanceCreationEvaluator { /// chain terminates. If there is a problem (e.g. a redirection can't be /// found, or a cycle is encountered), the chain will be followed as far as /// possible and then a const factory constructor will be returned. - static ConstructorElementMixin2 _followConstantRedirectionChain( - ConstructorElementMixin2 constructor, + static InternalConstructorElement _followConstantRedirectionChain( + InternalConstructorElement constructor, ) { - var constructorsVisited = {}; + var constructorsVisited = {}; while (true) { var redirectedConstructor = ConstantEvaluationEngine.getConstRedirectedConstructor(constructor); diff --git a/pkg/analyzer/lib/src/dart/constant/value.dart b/pkg/analyzer/lib/src/dart/constant/value.dart index ec793273f94..7b664cc82b7 100644 --- a/pkg/analyzer/lib/src/dart/constant/value.dart +++ b/pkg/analyzer/lib/src/dart/constant/value.dart @@ -944,7 +944,7 @@ class DartObjectImpl implements DartObject, Constant { } @override - ExecutableElement2OrMember? toFunctionValue() { + InternalExecutableElement? toFunctionValue() { var state = this.state; return state is FunctionState ? state.element : null; } diff --git a/pkg/analyzer/lib/src/dart/element/display_string_builder.dart b/pkg/analyzer/lib/src/dart/element/display_string_builder.dart index 925d68a58de..f969555c64d 100644 --- a/pkg/analyzer/lib/src/dart/element/display_string_builder.dart +++ b/pkg/analyzer/lib/src/dart/element/display_string_builder.dart @@ -67,7 +67,7 @@ class ElementDisplayStringBuilder { _writeTypesIfNotEmpty(' implements ', element.interfaces); } - void writeConstructorElement(ConstructorElementMixin2 element) { + void writeConstructorElement(InternalConstructorElement element) { _writeType(element.returnType); var displayName = element.name ?? ''; @@ -98,7 +98,7 @@ class ElementDisplayStringBuilder { _writeTypesIfNotEmpty(' implements ', element.interfaces); } - void writeExecutableElement(ExecutableElement2OrMember element, String name) { + void writeExecutableElement(InternalExecutableElement element, String name) { if (element.kind != ElementKind.SETTER) { _writeType(element.returnType); _write(' '); @@ -139,7 +139,7 @@ class ElementDisplayStringBuilder { _writeTypesIfNotEmpty(' implements ', element.interfaces); } - void writeFormalParameterElement(FormalParameterElementMixin element) { + void writeFormalParameterElement(InternalFormalParameterElement element) { if (element.isRequiredPositional) { _writeWithoutDelimiters(element, forElement: true); } else if (element.isOptionalPositional) { @@ -367,7 +367,7 @@ class ElementDisplayStringBuilder { _write('_'); } - void writeVariableElement(VariableElement2OrMember element) { + void writeVariableElement(InternalVariableElement element) { _writeType(element.type); _write(' ${element.displayName}'); } @@ -401,7 +401,7 @@ class ElementDisplayStringBuilder { } void _writeFormalParameters( - List parameters, { + List parameters, { required bool forElement, bool allowMultiline = false, }) { @@ -527,7 +527,7 @@ class ElementDisplayStringBuilder { } void _writeWithoutDelimiters( - FormalParameterElementMixin element, { + InternalFormalParameterElement element, { required bool forElement, }) { if (element.isRequiredNamed) { diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart index 1560d4cd31c..f276a9d6c96 100644 --- a/pkg/analyzer/lib/src/dart/element/element.dart +++ b/pkg/analyzer/lib/src/dart/element/element.dart @@ -733,10 +733,8 @@ class ConstantInitializerImpl { } class ConstructorElementImpl extends ExecutableElementImpl - implements - ConstantEvaluationTarget, - ConstructorElementMixin2, - ConstructorElement { + with InternalConstructorElement + implements ConstantEvaluationTarget { @override final Reference reference; @@ -747,7 +745,7 @@ class ConstructorElementImpl extends ExecutableElementImpl final ConstructorFragmentImpl firstFragment; /// The constructor to which this constructor is redirecting. - ConstructorElementMixin2? _redirectedConstructor; + InternalConstructorElement? _redirectedConstructor; /// The super-constructor which this constructor is invoking, or `null` if /// this constructor is not generative, or is redirecting, or the @@ -755,7 +753,7 @@ class ConstructorElementImpl extends ExecutableElementImpl /// // TODO(scheglov): We cannot have both super and redirecting constructors. // So, ideally we should have some kind of "either" or "variant" here. - ConstructorElementMixin2? _superConstructor; + InternalConstructorElement? _superConstructor; ConstructorElementImpl({ required this.name, @@ -847,18 +845,18 @@ class ConstructorElementImpl extends ExecutableElementImpl } @override - ConstructorElementMixin2? get redirectedConstructor { + InternalConstructorElement? get redirectedConstructor { _ensureReadResolution(); return _redirectedConstructor; } - set redirectedConstructor(ConstructorElementMixin2? value) { + set redirectedConstructor(InternalConstructorElement? value) { _redirectedConstructor = value; } @Deprecated('Use redirectedConstructor instead') @override - ConstructorElementMixin2? get redirectedConstructor2 { + InternalConstructorElement? get redirectedConstructor2 { return redirectedConstructor; } @@ -873,18 +871,18 @@ class ConstructorElementImpl extends ExecutableElementImpl } @override - ConstructorElementMixin2? get superConstructor { + InternalConstructorElement? get superConstructor { _ensureReadResolution(); return _superConstructor; } - set superConstructor(ConstructorElementMixin2? superConstructor) { + set superConstructor(InternalConstructorElement? superConstructor) { _superConstructor = superConstructor; } @Deprecated('Use superConstructor instead') @override - ConstructorElementMixin2? get superConstructor2 { + InternalConstructorElement? get superConstructor2 { return superConstructor; } @@ -931,36 +929,6 @@ class ConstructorElementImpl extends ExecutableElementImpl } } -/// Common implementation for methods defined in [ConstructorElement]. -mixin ConstructorElementMixin2 on ExecutableElement2OrMember - implements ConstructorElement { - @override - ConstructorElementImpl get baseElement; - - @override - InterfaceElementImpl get enclosingElement; - - @override - LibraryElementImpl get library; - - @override - ConstructorElementMixin2? get redirectedConstructor; - - @Deprecated('Use redirectedConstructor instead') - @override - ConstructorElementMixin2? get redirectedConstructor2; - - @override - InterfaceTypeImpl get returnType; - - @override - ConstructorElementMixin2? get superConstructor; - - @Deprecated('Use superConstructor instead') - @override - ConstructorElementMixin2? get superConstructor2; -} - /// A concrete implementation of a [ConstructorFragment]. class ConstructorFragmentImpl extends ExecutableFragmentImpl implements ConstructorFragment { @@ -2188,30 +2156,8 @@ class EnumFragmentImpl extends InterfaceFragmentImpl implements EnumFragment { } } -/// Common base class for all analyzer-internal classes that implement -/// `ExecutableElement2`. -mixin ExecutableElement2OrMember implements ExecutableElement { - @override - ExecutableElementImpl get baseElement; - - @override - List get formalParameters; - - @override - MetadataImpl get metadata; - - @override - TypeImpl get returnType; - - @override - FunctionTypeImpl get type; - - @override - List get typeParameters; -} - abstract class ExecutableElementImpl extends FunctionTypedElementImpl - with ExecutableElement2OrMember, DeferredResolutionReadingMixin + with InternalExecutableElement, DeferredResolutionReadingMixin implements AnnotatableElementImpl { TypeImpl? _returnType; FunctionTypeImpl? _type; @@ -2817,22 +2763,8 @@ class ExtensionTypeFragmentImpl extends InterfaceFragmentImpl } } -/// Common base class for all analyzer-internal classes that implement -/// `FieldElement2`. -mixin FieldElement2OrMember on PropertyInducingElement2OrMember - implements FieldElement { - @override - FieldElementImpl get baseElement; - - @override - FieldFragmentImpl get firstFragment; - - @override - List get fragments; -} - class FieldElementImpl extends PropertyInducingElementImpl - with FieldElement2OrMember { + with InternalFieldElement { @override final Reference reference; @@ -3151,7 +3083,7 @@ class FieldFragmentImpl extends PropertyInducingFragmentImpl } class FormalParameterElementImpl extends PromotableElementImpl - with FormalParameterElementMixin { + with InternalFormalParameterElement { final FormalParameterFragmentImpl wrappedElement; @override @@ -3366,39 +3298,6 @@ class FormalParameterElementImpl extends PromotableElementImpl // .toList(); } -/// A mixin that provides a common implementation for methods defined in -/// [FormalParameterElement]. -mixin FormalParameterElementMixin on VariableElement2OrMember - implements FormalParameterElement, SharedNamedFunctionParameter { - @override - FormalParameterElementImpl get baseElement; - - ParameterKind get parameterKind; - - @override - TypeImpl get type; - - @override - List get typeParameters; - - @override - void appendToWithoutDelimiters(StringBuffer buffer) { - buffer.write(type.getDisplayString()); - buffer.write(' '); - buffer.write(displayName); - if (defaultValueCode != null) { - buffer.write(' = '); - buffer.write(defaultValueCode); - } - } - - @Deprecated('Use appendToWithoutDelimiters instead') - @override - void appendToWithoutDelimiters2(StringBuffer buffer) { - appendToWithoutDelimiters(buffer); - } -} - class FormalParameterFragmentImpl extends VariableFragmentImpl implements FormalParameterFragment { @override @@ -4060,22 +3959,8 @@ class GenericFunctionTypeFragmentImpl extends FragmentImpl } } -/// Common base class for all analyzer-internal classes that implement -/// [GetterElement]. -mixin GetterElement2OrMember on PropertyAccessorElement2OrMember - implements GetterElement { - @override - GetterElementImpl get baseElement; - - @override - GetterFragmentImpl get firstFragment; - - @override - List get fragments; -} - class GetterElementImpl extends PropertyAccessorElementImpl - with GetterElement2OrMember { + with InternalGetterElement { @override Reference reference; @@ -4587,7 +4472,7 @@ recorded above. } } - Iterable _implementationsOfGetter( + Iterable _implementationsOfGetter( String name, ) sync* { var visitedElements = {}; @@ -4595,7 +4480,7 @@ recorded above. while (element != null && visitedElements.add(element)) { var getter = element.getGetter(name); if (getter != null) { - yield getter as PropertyAccessorElement2OrMember; + yield getter as InternalPropertyAccessorElement; } if (element is! InterfaceElement) { return; @@ -4604,7 +4489,7 @@ recorded above. mixin as InterfaceTypeImpl; getter = mixin.element.getGetter(name); if (getter != null) { - yield getter as PropertyAccessorElement2OrMember; + yield getter as InternalPropertyAccessorElement; } } var supertype = element.firstFragment.supertype; @@ -4613,13 +4498,13 @@ recorded above. } } - Iterable _implementationsOfMethod(String name) sync* { + Iterable _implementationsOfMethod(String name) sync* { var visitedElements = {}; InstanceElement? element = this; while (element != null && visitedElements.add(element)) { var method = element.getMethod(name); if (method != null) { - yield method as MethodElement2OrMember; + yield method as InternalMethodElement; } if (element is! InterfaceElement) { return; @@ -4628,7 +4513,7 @@ recorded above. mixin as InterfaceTypeImpl; method = mixin.element.getMethod(name); if (method != null) { - yield method as MethodElement2OrMember; + yield method as InternalMethodElement; } } var supertype = element.firstFragment.supertype; @@ -4637,7 +4522,7 @@ recorded above. } } - Iterable _implementationsOfSetter( + Iterable _implementationsOfSetter( String name, ) sync* { var visitedElements = {}; @@ -4645,7 +4530,7 @@ recorded above. while (element != null && visitedElements.add(element)) { var setter = element.getSetter(name); if (setter != null) { - yield setter as PropertyAccessorElement2OrMember; + yield setter as InternalPropertyAccessorElement; } if (element is! InterfaceElement) { return; @@ -4654,7 +4539,7 @@ recorded above. mixin as InterfaceTypeImpl; setter = mixin.element.getSetter(name); if (setter != null) { - yield setter as PropertyAccessorElement2OrMember; + yield setter as InternalPropertyAccessorElement; } } var supertype = element.firstFragment.supertype; @@ -5147,7 +5032,7 @@ abstract class InterfaceElementImpl extends InstanceElementImpl /// This method should be used only for error recovery during analysis, /// when instance access to a static class member, defined in this class, /// or a superclass. - GetterElement2OrMember? lookupStaticGetter( + InternalGetterElement? lookupStaticGetter( String name, LibraryElement library, ) { @@ -5163,7 +5048,7 @@ abstract class InterfaceElementImpl extends InstanceElementImpl /// This method should be used only for error recovery during analysis, /// when instance access to a static class member, defined in this class, /// or a superclass. - MethodElement2OrMember? lookupStaticMethod( + InternalMethodElement? lookupStaticMethod( String name, LibraryElement library, ) { @@ -5177,7 +5062,7 @@ abstract class InterfaceElementImpl extends InstanceElementImpl /// This method should be used only for error recovery during analysis, /// when instance access to a static class member, defined in this class, /// or a superclass. - SetterElement2OrMember? lookupStaticSetter( + InternalSetterElement? lookupStaticSetter( String name, LibraryElement library, ) { @@ -5330,6 +5215,190 @@ abstract class InterfaceFragmentImpl extends InstanceFragmentImpl } } +mixin InternalConstructorElement on InternalExecutableElement + implements ConstructorElement { + @override + ConstructorElementImpl get baseElement; + + @override + InterfaceElementImpl get enclosingElement; + + @override + ConstructorFragmentImpl get firstFragment; + + @override + List get fragments; + + @override + LibraryElementImpl get library; + + @override + InternalConstructorElement? get redirectedConstructor; + + @Deprecated('Use redirectedConstructor instead') + @override + InternalConstructorElement? get redirectedConstructor2; + + @override + InterfaceTypeImpl get returnType; + + @override + InternalConstructorElement? get superConstructor; + + @Deprecated('Use superConstructor instead') + @override + InternalConstructorElement? get superConstructor2; +} + +mixin InternalExecutableElement implements ExecutableElement { + @override + ExecutableElementImpl get baseElement; + + @override + List get formalParameters; + + @override + MetadataImpl get metadata; + + @override + TypeImpl get returnType; + + @override + FunctionTypeImpl get type; + + @override + List get typeParameters; +} + +mixin InternalFieldElement on InternalPropertyInducingElement + implements FieldElement { + @override + FieldElementImpl get baseElement; + + @override + FieldFragmentImpl get firstFragment; + + @override + List get fragments; +} + +mixin InternalFormalParameterElement on InternalVariableElement + implements FormalParameterElement, SharedNamedFunctionParameter { + @override + FormalParameterElementImpl get baseElement; + + ParameterKind get parameterKind; + + @override + TypeImpl get type; + + @override + List get typeParameters; + + @override + void appendToWithoutDelimiters(StringBuffer buffer) { + buffer.write(type.getDisplayString()); + buffer.write(' '); + buffer.write(displayName); + if (defaultValueCode != null) { + buffer.write(' = '); + buffer.write(defaultValueCode); + } + } + + @Deprecated('Use appendToWithoutDelimiters instead') + @override + void appendToWithoutDelimiters2(StringBuffer buffer) { + appendToWithoutDelimiters(buffer); + } +} + +mixin InternalGetterElement on InternalPropertyAccessorElement + implements GetterElement { + @override + GetterElementImpl get baseElement; + + @override + GetterFragmentImpl get firstFragment; + + @override + List get fragments; +} + +mixin InternalMethodElement on InternalExecutableElement + implements MethodElement { + @override + MethodElementImpl get baseElement; + + @override + MethodFragmentImpl get firstFragment; + + @override + List get fragments; +} + +mixin InternalPropertyAccessorElement on InternalExecutableElement + implements PropertyAccessorElement { + @override + PropertyAccessorElementImpl get baseElement; + + @override + PropertyAccessorFragmentImpl get firstFragment; + + @override + List get fragments; + + @override + InternalPropertyInducingElement get variable; + + @Deprecated('Use variable instead') + @override + InternalPropertyInducingElement? get variable3; +} + +mixin InternalPropertyInducingElement on InternalVariableElement + implements PropertyInducingElement { + @override + PropertyInducingElementImpl get baseElement; + + @override + InternalGetterElement? get getter; + + @Deprecated('Use getter instead') + @override + InternalGetterElement? get getter2; + + @override + LibraryElementImpl get library; + + @override + MetadataImpl get metadata; + + @override + InternalSetterElement? get setter; + + @Deprecated('Use setter instead') + @override + InternalSetterElement? get setter2; +} + +mixin InternalSetterElement on InternalPropertyAccessorElement + implements SetterElement { + @override + SetterElementImpl get baseElement; + + @override + SetterFragmentImpl get firstFragment; + + @override + List get fragments; +} + +mixin InternalVariableElement implements VariableElement { + @override + TypeImpl get type; +} + class JoinPatternVariableElementImpl extends PatternVariableElementImpl implements JoinPatternVariableElement { JoinPatternVariableElementImpl(super._wrappedElement); @@ -7481,22 +7550,8 @@ final class MetadataImpl implements Metadata { } } -/// Common base class for all analyzer-internal classes that implement -/// `MethodElement2`. -mixin MethodElement2OrMember on ExecutableElement2OrMember - implements MethodElement { - @override - MethodElementImpl get baseElement; - - @override - MethodFragmentImpl get firstFragment; - - @override - List get fragments; -} - class MethodElementImpl extends ExecutableElementImpl - with MethodElement2OrMember { + with InternalMethodElement { @override final Reference reference; @@ -8609,29 +8664,8 @@ class PrefixFragmentImpl extends FragmentImpl implements PrefixFragment { abstract class PromotableElementImpl extends VariableElementImpl {} -/// Common base class for all analyzer-internal classes that implement -/// `PropertyAccessorElement2`. -mixin PropertyAccessorElement2OrMember on ExecutableElement2OrMember - implements PropertyAccessorElement { - @override - PropertyAccessorElementImpl get baseElement; - - @override - PropertyAccessorFragmentImpl get firstFragment; - - @override - List get fragments; - - @override - PropertyInducingElement2OrMember get variable; - - @Deprecated('Use variable instead') - @override - PropertyInducingElement2OrMember? get variable3; -} - abstract class PropertyAccessorElementImpl extends ExecutableElementImpl - with PropertyAccessorElement2OrMember { + with InternalPropertyAccessorElement { PropertyInducingElementImpl? _variable3; @override @@ -8747,36 +8781,8 @@ sealed class PropertyAccessorFragmentImpl extends ExecutableFragmentImpl } } -/// Common base class for all analyzer-internal classes that implement -/// [PropertyInducingElement]. -mixin PropertyInducingElement2OrMember on VariableElement2OrMember - implements PropertyInducingElement { - @override - PropertyInducingElementImpl get baseElement; - - @override - GetterElement2OrMember? get getter; - - @Deprecated('Use getter instead') - @override - GetterElement2OrMember? get getter2; - - @override - LibraryElementImpl get library; - - @override - MetadataImpl get metadata; - - @override - SetterElement2OrMember? get setter; - - @Deprecated('Use setter instead') - @override - SetterElement2OrMember? get setter2; -} - abstract class PropertyInducingElementImpl extends VariableElementImpl - with PropertyInducingElement2OrMember, DeferredResolutionReadingMixin + with InternalPropertyInducingElement, DeferredResolutionReadingMixin implements AnnotatableElementImpl { @override GetterElementImpl? getter; @@ -8962,22 +8968,8 @@ abstract class PropertyInducingFragmentImpl MetadataImpl get metadata2 => metadata; } -/// Common base class for all analyzer-internal classes that implement -/// [SetterElement]. -mixin SetterElement2OrMember on PropertyAccessorElement2OrMember - implements SetterElement { - @override - SetterElementImpl get baseElement; - - @override - SetterFragmentImpl get firstFragment; - - @override - List get fragments; -} - class SetterElementImpl extends PropertyAccessorElementImpl - with SetterElement2OrMember { + with InternalSetterElement { @override Reference reference; @@ -9199,7 +9191,7 @@ class SuperFormalParameterElementImpl extends FormalParameterElementImpl } @override - FormalParameterElementMixin? get superConstructorParameter { + InternalFormalParameterElement? get superConstructorParameter { var enclosingElement = this.enclosingElement; if (enclosingElement is ConstructorElementImpl) { var superConstructor = enclosingElement.superConstructor; @@ -9224,7 +9216,7 @@ class SuperFormalParameterElementImpl extends FormalParameterElementImpl @Deprecated('Use superConstructorParameter instead') @override - FormalParameterElementMixin? get superConstructorParameter2 { + InternalFormalParameterElement? get superConstructorParameter2 { return superConstructorParameter; } @@ -10309,15 +10301,8 @@ mixin TypeParameterizedFragmentMixin on FragmentImpl void _ensureReadResolution(); } -/// Common base class for all analyzer-internal classes that implement -/// `VariableElement2`. -mixin VariableElement2OrMember implements VariableElement { - @override - TypeImpl get type; -} - abstract class VariableElementImpl extends ElementImpl - with VariableElement2OrMember + with InternalVariableElement implements ConstantEvaluationTarget { ConstantInitializerImpl? _constantInitializer; diff --git a/pkg/analyzer/lib/src/dart/element/extensions.dart b/pkg/analyzer/lib/src/dart/element/extensions.dart index 667e6226a88..e7848c42f7b 100644 --- a/pkg/analyzer/lib/src/dart/element/extensions.dart +++ b/pkg/analyzer/lib/src/dart/element/extensions.dart @@ -20,7 +20,7 @@ extension DartTypeExtension on DartType { extension Element2Extension on Element { TypeImpl? get firstParameterType { var self = this; - if (self is MethodElement2OrMember) { + if (self is InternalMethodElement) { return self.formalParameters.firstOrNull?.type; } return null; @@ -153,7 +153,8 @@ extension ExecutableElement2Extension on ExecutableElement { } } -extension FormalParameterElementMixinExtension on FormalParameterElementMixin { +extension FormalParameterElementMixinExtension + on InternalFormalParameterElement { /// Returns [FormalParameterElementImpl] with the specified properties /// replaced. FormalParameterElementImpl copyWith({ diff --git a/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart b/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart index 4c85385e15d..e6e61231a4a 100644 --- a/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart +++ b/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart @@ -191,7 +191,7 @@ class GenericInferrer { /// [argumentTypes]. void constrainArguments2({ InterfaceFragmentImpl? genericClass, - required List parameters, + required List parameters, required List argumentTypes, required AstNodeImpl? nodeForTesting, }) { diff --git a/pkg/analyzer/lib/src/dart/element/greatest_lower_bound.dart b/pkg/analyzer/lib/src/dart/element/greatest_lower_bound.dart index 8224bd81dfe..7a3aeda025a 100644 --- a/pkg/analyzer/lib/src/dart/element/greatest_lower_bound.dart +++ b/pkg/analyzer/lib/src/dart/element/greatest_lower_bound.dart @@ -278,7 +278,7 @@ class GreatestLowerBoundHelper { var fParameters = f.formalParameters; var gParameters = g.formalParameters; - var parameters = []; + var parameters = []; var fIndex = 0; var gIndex = 0; while (fIndex < fParameters.length && gIndex < gParameters.length) { diff --git a/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart b/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart index f09127449df..b2d077b4403 100644 --- a/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart +++ b/pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart @@ -18,7 +18,7 @@ import 'package:meta/meta.dart'; /// Failure because of there is no most specific signature in [candidates]. class CandidatesConflict extends Conflict { /// The list has at least two items, because the only item is always valid. - final List candidates; + final List candidates; CandidatesConflict({required super.name, required this.candidates}); } @@ -33,8 +33,8 @@ class Conflict { /// Failure because of a getter and a method from direct superinterfaces. class GetterMethodConflict extends Conflict { - final ExecutableElement2OrMember getter; - final ExecutableElement2OrMember method; + final InternalExecutableElement getter; + final InternalExecutableElement method; GetterMethodConflict({ required super.name, @@ -46,8 +46,8 @@ class GetterMethodConflict extends Conflict { /// The extension type has both an extension and non-extension member /// signature with the same name. class HasNonExtensionAndExtensionMemberConflict extends Conflict { - final List nonExtension; - final List extension; + final List nonExtension; + final List extension; HasNonExtensionAndExtensionMemberConflict({ required super.name, @@ -68,7 +68,7 @@ class InheritanceManager3 { /// Tracks signatures from superinterfaces that were combined. /// It is used to track dependencies in manifests. - final Map>> + final Map>> _combinedSignatures = {}; /// The set of classes that are currently being processed, used to detect @@ -81,7 +81,7 @@ class InheritanceManager3 { /// not `null`, add a new [Conflict] to it. FunctionTypeImpl? combineSignatureTypes({ required TypeSystemImpl typeSystem, - required List candidates, + required List candidates, required Name name, List? conflicts, }) { @@ -123,10 +123,7 @@ class InheritanceManager3 { /// declared at all, or because there is no the most specific signature. /// /// This is equivalent to `getInheritedMap(type)[name]`. - ExecutableElement2OrMember? getInherited( - InterfaceElement element, - Name name, - ) { + InternalExecutableElement? getInherited(InterfaceElement element, Name name) { element as InterfaceElementImpl; // TODO(scheglov): remove cast return getInheritedMap(element)[name]; } @@ -158,7 +155,7 @@ class InheritanceManager3 { /// If there is no most specific signature for a name, the corresponding name /// will not be included. @experimental - Map getInheritedMap( + Map getInheritedMap( InterfaceElement element, ) { element as InterfaceElementImpl; // TODO(scheglov): remove cast @@ -200,7 +197,7 @@ class InheritanceManager3 { /// given number of mixins after it are considered. For example for `1` in /// `class C extends S with M1, M2, M3`, only `S` and `M1` are considered. @experimental - ExecutableElement2OrMember? getMember( + InternalExecutableElement? getMember( InterfaceElement element, Name name, { bool concrete = false, @@ -239,7 +236,7 @@ class InheritanceManager3 { } /// Returns the result of [getMember] with [type] substitution. - ExecutableElement2OrMember? getMember3( + InternalExecutableElement? getMember3( InterfaceType type, Name name, { bool concrete = false, @@ -265,7 +262,7 @@ class InheritanceManager3 { /// Return all members of mixins, superclasses, and interfaces that a member /// with the given [name], defined in the [element], would override; or `null` /// if no members would be overridden. - List? getOverridden( + List? getOverridden( InterfaceElement element, Name name, ) { @@ -281,7 +278,7 @@ class InheritanceManager3 { } void _addCandidates({ - required Map> namedCandidates, + required Map> namedCandidates, required MapSubstitution substitution, required Interface interface, }) { @@ -294,7 +291,7 @@ class InheritanceManager3 { var candidates = namedCandidates[name]; if (candidates == null) { - candidates = []; + candidates = []; namedCandidates[name] = candidates; } @@ -303,12 +300,12 @@ class InheritanceManager3 { } void _addImplemented( - Map implemented, + Map implemented, InterfaceElementImpl element, ) { var libraryUri = element.library.uri; - void addMember(ExecutableElement2OrMember member) { + void addMember(InternalExecutableElement member) { if (!member.isAbstract && !member.isStatic) { var lookupName = member.lookupName; if (lookupName != null) { @@ -324,7 +321,7 @@ class InheritanceManager3 { } void _addMixinMembers({ - required Map implemented, + required Map implemented, required MapSubstitution substitution, required Interface mixin, }) { @@ -350,12 +347,12 @@ class InheritanceManager3 { /// new [Conflict] instance that describes it. Conflict? _checkForGetterMethodConflict( Name name, - List candidates, + List candidates, ) { assert(candidates.length > 1); - ExecutableElement2OrMember? getter; - ExecutableElement2OrMember? method; + InternalExecutableElement? getter; + InternalExecutableElement? method; for (var candidate in candidates) { var kind = candidate.kind; if (kind == ElementKind.GETTER) { @@ -377,9 +374,9 @@ class InheritanceManager3 { /// /// If such signature does not exist, return `null`, and if [conflicts] is /// not `null`, add a new [Conflict] to it. - ExecutableElement2OrMember? _combineSignatures({ + InternalExecutableElement? _combineSignatures({ required InterfaceElementImpl targetClass, - required List candidates, + required List candidates, required Name name, List? conflicts, }) { @@ -413,8 +410,8 @@ class InheritanceManager3 { /// new conflict description. List _findMostSpecificFromNamedCandidates( InterfaceElementImpl targetClass, - Map map, - Map> namedCandidates, + Map map, + Map> namedCandidates, ) { var conflicts = []; @@ -481,9 +478,9 @@ class InheritanceManager3 { } Interface _getInterfaceClass(InterfaceElementImpl element) { - var namedCandidates = >{}; - var superImplemented = >[]; - var implemented = {}; + var namedCandidates = >{}; + var superImplemented = >[]; + var implemented = {}; InterfaceType? superType = element.supertype; @@ -529,7 +526,7 @@ class InheritanceManager3 { // So, each mixin always replaces members in the interface. // And there are individual override conflicts for each mixin. var candidatesFromSuperAndMixin = - >{}; + >{}; var mixinConflicts = []; for (var entry in mixinInterface.map.entries) { var name = entry.key; @@ -561,7 +558,7 @@ class InheritanceManager3 { // Merge members from the superclass and the mixin interface. { - var map = {}; + var map = {}; _findMostSpecificFromNamedCandidates( element, map, @@ -640,7 +637,7 @@ class InheritanceManager3 { } } - implemented = implemented.map(( + implemented = implemented.map(( key, value, ) { @@ -669,7 +666,7 @@ class InheritanceManager3 { /// member" portions, considering redeclaration and conflicts. Interface _getInterfaceExtensionType(ExtensionTypeElementImpl element) { // Add instance members implemented by the element itself. - var declared = {}; + var declared = {}; _addImplemented(declared, element); // Prepare precluded names. @@ -680,9 +677,9 @@ class InheritanceManager3 { var name = entry.key; precludedNames.add(name); switch (entry.value) { - case MethodElement2OrMember(): + case InternalMethodElement(): precludedSetters.add(name.forSetter); - case SetterElement2OrMember(): + case InternalSetterElement(): precludedMethods.add(name.forGetter); } } @@ -710,7 +707,7 @@ class InheritanceManager3 { } } - var redeclared = >{}; + var redeclared = >{}; var conflicts = []; // Add extension type members. @@ -751,7 +748,7 @@ class InheritanceManager3 { } // The inherited member must be unique. - ExecutableElement2OrMember? uniqueElement; + InternalExecutableElement? uniqueElement; for (var candidate in notPrecluded) { if (uniqueElement == null) { uniqueElement = candidate; @@ -811,7 +808,7 @@ class InheritanceManager3 { implemented[name] = combinedSignature; } - var uniqueRedeclared = >{}; + var uniqueRedeclared = >{}; for (var entry in redeclared.entries) { var name = entry.key; var elements = entry.value; @@ -836,7 +833,7 @@ class InheritanceManager3 { } Interface _getInterfaceMixin(MixinElementImpl element) { - var superCandidates = >{}; + var superCandidates = >{}; for (var constraint in element.superclassConstraints) { var substitution = Substitution.fromInterfaceType(constraint); var interfaceObj = getInterface(constraint.element); @@ -849,7 +846,7 @@ class InheritanceManager3 { // `mixin M on S1, S2 {}` can call using `super` any instance member // from its superclass constraints, whether it is abstract or concrete. - var superInterface = {}; + var superInterface = {}; var superConflicts = _findMostSpecificFromNamedCandidates( element, superInterface, @@ -874,7 +871,7 @@ class InheritanceManager3 { interfaceCandidates, ); - var implemented = {}; + var implemented = {}; _addImplemented(implemented, element); return Interface._( @@ -895,11 +892,11 @@ class InheritanceManager3 { /// a copy of the [executable] with the corresponding parameters marked /// covariant. If there are no covariant parameters, or parameters to /// update are already covariant, return the [executable] itself. - ExecutableElement2OrMember _inheritCovariance( + InternalExecutableElement _inheritCovariance( InterfaceElementImpl class_, - Map> namedCandidates, + Map> namedCandidates, Name name, - ExecutableElement2OrMember executable, + InternalExecutableElement executable, ) { if (executable.enclosingElement == class_) { return executable; @@ -953,7 +950,7 @@ class InheritanceManager3 { return executable; } - if (executable is MethodElement2OrMember) { + if (executable is InternalMethodElement) { var fragmentName = executable.name ?? ''; var elementReference = class_.reference! @@ -1027,10 +1024,10 @@ class InheritanceManager3 { /// Given one or more [validOverrides], merge them into a single resulting /// signature. This signature always exists. - ExecutableElement2OrMember _topMerge( + InternalExecutableElement _topMerge( TypeSystemImpl typeSystem, InterfaceElementImpl targetClass, - List validOverrides, + List validOverrides, ) { var first = validOverrides[0]; @@ -1054,7 +1051,7 @@ class InheritanceManager3 { } } - if (first is MethodElement2OrMember) { + if (first is InternalMethodElement) { var firstElement = first; var fragmentName = firstElement.firstFragment.name!; @@ -1088,13 +1085,13 @@ class InheritanceManager3 { return resultElement; } else { - var firstElement = first as PropertyAccessorElement2OrMember; + var firstElement = first as InternalPropertyAccessorElement; var fragmentName = first.name!; var field = FieldFragmentImpl(name: fragmentName, firstTokenOffset: null); PropertyAccessorFragmentImpl resultFragment; PropertyAccessorElementImpl resultElement; - if (firstElement is GetterElement2OrMember) { + if (firstElement is InternalGetterElement) { var elementReference = targetClass.reference! .getChild('@getter') .getChild(fragmentName); @@ -1160,13 +1157,13 @@ class InheritanceManager3 { } } - static Map _getTypeMembers( + static Map _getTypeMembers( InterfaceElementImpl element, ) { - var declared = {}; + var declared = {}; var libraryUri = element.library.uri; - void addMember(ExecutableElement2OrMember member) { + void addMember(InternalExecutableElement member) { if (!member.isStatic) { var lookupName = member.lookupName; if (lookupName != null) { @@ -1184,11 +1181,11 @@ class InheritanceManager3 { } /// Returns executables that are valid overrides of [candidates]. - static List _getValidOverrides({ + static List _getValidOverrides({ required TypeSystemImpl typeSystem, - required List candidates, + required List candidates, }) { - var validOverrides = []; + var validOverrides = []; outer: for (var i = 0; i < candidates.length; i++) { var validOverride = candidates[i]; @@ -1204,14 +1201,14 @@ class InheritanceManager3 { return validOverrides; } - static bool _isDeclaredInObject(ExecutableElement2OrMember element) { + static bool _isDeclaredInObject(InternalExecutableElement element) { var enclosing = element.enclosingElement; return enclosing is ClassElement && enclosing.isDartCoreObject; } static FunctionTypeImpl _topMergeSignatureTypes({ required TypeSystemImpl typeSystem, - required List validOverrides, + required List validOverrides, }) { return validOverrides .map((e) => typeSystem.normalizeFunctionType(e.type)) @@ -1236,30 +1233,30 @@ class Interface { ); /// The map of names to their signature in the interface. - final Map map; + final Map map; /// The map of declared names to their signatures. - final Map declared; + final Map declared; /// The map of names to their concrete implementations. - final Map implemented; + final Map implemented; /// The set of names that are `noSuchMethod` forwarders in [implemented]. final Set noSuchMethodForwarders; /// The map of names to their signatures from the mixins, superclasses, /// or interfaces. - final Map> overridden; + final Map> overridden; /// The map of names to the signatures from superinterfaces that a member /// declaration in this extension type redeclares. - final Map> redeclared; + final Map> redeclared; /// Each item of this list maps names to their concrete implementations. /// The first item of the list is the nominal superclass, next the nominal /// superclass plus the first mixin, etc. So, for the class like /// `class C extends S with M1, M2`, we get `[S, S&M1, S&M1&M2]`. - final List> superImplemented; + final List> superImplemented; /// The list of conflicts between superinterfaces - the nominal superclass, /// mixins, and interfaces. Does not include conflicts with the declared @@ -1268,11 +1265,11 @@ class Interface { /// Tracks signatures from superinterfaces that were combined. /// It is used to track dependencies in manifests. - final Map> combinedSignatures; + final Map> combinedSignatures; /// The map of names to the most specific signatures from the mixins, /// superclasses, or interfaces. - Map? inheritedMap; + Map? inheritedMap; Interface._({ required this.map, @@ -1379,7 +1376,7 @@ class Name { /// Failure because of not unique extension type member. class NotUniqueExtensionMemberConflict extends Conflict { - final List candidates; + final List candidates; NotUniqueExtensionMemberConflict({ required super.name, @@ -1389,28 +1386,28 @@ class NotUniqueExtensionMemberConflict extends Conflict { class _ExtensionTypeCandidates { final Name name; - final List methods = []; - final List getters = []; - final List setters = []; + final List methods = []; + final List getters = []; + final List setters = []; _ExtensionTypeCandidates(this.name); - List get all { + List get all { return [...methods, ...getters, ...setters]; } - void add(ExecutableElement2OrMember element) { + void add(InternalExecutableElement element) { switch (element) { - case MethodElement2OrMember(): + case InternalMethodElement(): methods.add(element); - case GetterElement2OrMember(): + case InternalGetterElement(): getters.add(element); - case SetterElement2OrMember(): + case InternalSetterElement(): setters.add(element); } } - List notPrecluded({ + List notPrecluded({ required Set precludedNames, required Set precludedMethods, required Set precludedSetters, diff --git a/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart b/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart index e88fa72a0ed..ed1e47e696b 100644 --- a/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart +++ b/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart @@ -653,7 +653,7 @@ class LeastUpperBoundHelper { var fParameters = f.formalParameters; var gParameters = g.formalParameters; - var parameters = []; + var parameters = []; var fIndex = 0; var gIndex = 0; while (fIndex < fParameters.length && gIndex < gParameters.length) { @@ -801,8 +801,8 @@ class LeastUpperBoundHelper { } TypeImpl _parameterType( - FormalParameterElementMixin a, - FormalParameterElementMixin b, + InternalFormalParameterElement a, + InternalFormalParameterElement b, ) { return _typeSystem.greatestLowerBound(a.type, b.type); } diff --git a/pkg/analyzer/lib/src/dart/element/member.dart b/pkg/analyzer/lib/src/dart/element/member.dart index ce5ddecd3f1..cfd084d43f3 100644 --- a/pkg/analyzer/lib/src/dart/element/member.dart +++ b/pkg/analyzer/lib/src/dart/element/member.dart @@ -19,7 +19,7 @@ import 'package:pub_semver/pub_semver.dart'; /// A constructor element defined in a parameterized type where the values of /// the type parameters are known. class ConstructorMember extends ExecutableMember - with ConstructorElementMixin2 + with InternalConstructorElement implements ConstructorElement { /// Initialize a newly created element to represent a constructor, based on /// the [declaration], and applied [substitution]. @@ -40,13 +40,13 @@ class ConstructorMember extends ExecutableMember InterfaceElementImpl get enclosingElement2 => enclosingElement; @override - ConstructorFragment get firstFragment => baseElement.firstFragment; + ConstructorFragmentImpl get firstFragment => baseElement.firstFragment; @override - List get fragments { + List get fragments { return [ for ( - ConstructorFragment? fragment = firstFragment; + ConstructorFragmentImpl? fragment = firstFragment; fragment != null; fragment = fragment.nextFragment ) @@ -74,14 +74,14 @@ class ConstructorMember extends ExecutableMember LibraryElementImpl get library2 => library; @override - ConstructorElementMixin2? get redirectedConstructor { + InternalConstructorElement? get redirectedConstructor { var element = baseElement.redirectedConstructor; return _redirect(element); } @Deprecated('Use redirectedConstructor instead') @override - ConstructorElementMixin2? get redirectedConstructor2 { + InternalConstructorElement? get redirectedConstructor2 { return redirectedConstructor; } @@ -95,13 +95,13 @@ class ConstructorMember extends ExecutableMember Version? get sinceSdkVersion => baseElement.sinceSdkVersion; @override - ConstructorElementMixin2? get superConstructor { + InternalConstructorElement? get superConstructor { return _redirect(baseElement.superConstructor); } @Deprecated('Use superConstructor instead') @override - ConstructorElementMixin2? get superConstructor2 { + InternalConstructorElement? get superConstructor2 { return superConstructor; } @@ -119,7 +119,7 @@ class ConstructorMember extends ExecutableMember builder.writeConstructorElement(this); } - ConstructorElementMixin2? _redirect(ConstructorElementMixin2? element) { + InternalConstructorElement? _redirect(InternalConstructorElement? element) { switch (element) { case null: return null; @@ -145,7 +145,7 @@ class ConstructorMember extends ExecutableMember /// arguments from the [definingType], create a constructor member /// representing the given constructor. Return the member that was created, or /// the original constructor if no member was created. - static ConstructorElementMixin2 from2( + static InternalConstructorElement from2( ConstructorElementImpl element, InterfaceType definingType, ) { @@ -162,7 +162,7 @@ class ConstructorMember extends ExecutableMember /// An executable element defined in a parameterized type where the values of /// the type parameters are known. -abstract class ExecutableMember extends Member with ExecutableElement2OrMember { +abstract class ExecutableMember extends Member with InternalExecutableElement { @override final List typeParameters; @@ -206,8 +206,8 @@ abstract class ExecutableMember extends Member with ExecutableElement2OrMember { ExecutableFragment get firstFragment; @override - List get formalParameters { - return baseElement.formalParameters.map(( + List get formalParameters { + return baseElement.formalParameters.map(( element, ) { switch (element) { @@ -330,12 +330,12 @@ abstract class ExecutableMember extends Member with ExecutableElement2OrMember { return visitChildren(visitor); } - static ExecutableElement2OrMember from( + static InternalExecutableElement from( ExecutableElement element, MapSubstitution substitution, ) { if (identical(substitution, Substitution.empty)) { - return element as ExecutableElement2OrMember; + return element as InternalExecutableElement; } ExecutableElementImpl baseElement; @@ -437,7 +437,7 @@ class FieldFormalParameterMember extends ParameterMember /// A field element defined in a parameterized type where the values of the type /// parameters are known. class FieldMember extends VariableMember - with PropertyInducingElement2OrMember, FieldElement2OrMember { + with InternalPropertyInducingElement, InternalFieldElement { /// Initialize a newly created element to represent a field, based on the /// [declaration], with applied [substitution]. FieldMember({ @@ -481,7 +481,7 @@ class FieldMember extends VariableMember } @override - GetterElement2OrMember? get getter { + InternalGetterElement? get getter { var baseGetter = baseElement.getter; if (baseGetter == null) { return null; @@ -491,7 +491,7 @@ class FieldMember extends VariableMember @Deprecated('Use getter instead') @override - GetterElement2OrMember? get getter2 { + InternalGetterElement? get getter2 { return getter; } @@ -528,7 +528,7 @@ class FieldMember extends VariableMember MetadataImpl get metadata2 => metadata; @override - SetterElement2OrMember? get setter { + InternalSetterElement? get setter { var baseSetter = baseElement.setter; if (baseSetter == null) { return null; @@ -538,7 +538,7 @@ class FieldMember extends VariableMember @Deprecated('Use setter instead') @override - SetterElement2OrMember? get setter2 { + InternalSetterElement? get setter2 { return setter; } @@ -563,7 +563,7 @@ class FieldMember extends VariableMember visitChildren(visitor); } - static FieldElement2OrMember from( + static InternalFieldElement from( FieldElementImpl element, MapSubstitution substitution, ) { @@ -576,7 +576,7 @@ class FieldMember extends VariableMember /// A getter element defined in a parameterized type where the values of the /// type parameters are known. -class GetterMember extends PropertyAccessorMember with GetterElement2OrMember { +class GetterMember extends PropertyAccessorMember with InternalGetterElement { GetterMember._({ required super.baseElement, required super.substitution, @@ -587,7 +587,7 @@ class GetterMember extends PropertyAccessorMember with GetterElement2OrMember { GetterElementImpl get baseElement => super.baseElement as GetterElementImpl; @override - SetterElement2OrMember? get correspondingSetter { + InternalSetterElement? get correspondingSetter { var baseSetter = baseElement.variable.setter; if (baseSetter == null) { return null; @@ -597,7 +597,7 @@ class GetterMember extends PropertyAccessorMember with GetterElement2OrMember { @Deprecated('Use correspondingSetter instead') @override - SetterElement2OrMember? get correspondingSetter2 { + InternalSetterElement? get correspondingSetter2 { return correspondingSetter; } @@ -634,17 +634,17 @@ class GetterMember extends PropertyAccessorMember with GetterElement2OrMember { @override T? accept2(ElementVisitor2 visitor) => accept(visitor); - static GetterElement2OrMember forSubstitution( - GetterElement2OrMember element, + static InternalGetterElement forSubstitution( + InternalGetterElement element, MapSubstitution substitution, ) { // TODO(scheglov): avoid type cast return ExecutableMember.from(element, substitution) - as GetterElement2OrMember; + as InternalGetterElement; } - static GetterElement2OrMember forTargetType( - GetterElement2OrMember element, + static InternalGetterElement forTargetType( + InternalGetterElement element, InterfaceType targetType, ) { var substitution = Substitution.fromInterfaceType(targetType); @@ -760,7 +760,7 @@ abstract class Member implements Element { /// A method element defined in a parameterized type where the values of the /// type parameters are known. -class MethodMember extends ExecutableMember with MethodElement2OrMember { +class MethodMember extends ExecutableMember with InternalMethodElement { factory MethodMember({ required MethodElementImpl baseElement, required MapSubstitution substitution, @@ -822,20 +822,21 @@ class MethodMember extends ExecutableMember with MethodElement2OrMember { @override T? accept2(ElementVisitor2 visitor) => accept(visitor); - static MethodElement2OrMember forTargetType( - MethodElement2OrMember element, + static InternalMethodElement forTargetType( + InternalMethodElement element, InterfaceType targetType, ) { var substitution = Substitution.fromInterfaceType(targetType); // TODO(scheglov): avoid type cast return ExecutableMember.from(element, substitution) - as MethodElement2OrMember; + as InternalMethodElement; } } /// A parameter element defined in a parameterized type where the values of the /// type parameters are known. -class ParameterMember extends VariableMember with FormalParameterElementMixin { +class ParameterMember extends VariableMember + with InternalFormalParameterElement { @override final List typeParameters; @@ -1003,8 +1004,8 @@ class ParameterMember extends VariableMember with FormalParameterElementMixin { visitChildren(visitor); } - static FormalParameterElementMixin from( - FormalParameterElementMixin element, + static InternalFormalParameterElement from( + InternalFormalParameterElement element, MapSubstitution substitution, ) { FormalParameterElementImpl baseElement; @@ -1033,7 +1034,7 @@ class ParameterMember extends VariableMember with FormalParameterElementMixin { /// A property accessor element defined in a parameterized type where the values /// of the type parameters are known. abstract class PropertyAccessorMember extends ExecutableMember - with PropertyAccessorElement2OrMember { + with InternalPropertyAccessorElement { factory PropertyAccessorMember({ required PropertyAccessorElementImpl baseElement, required MapSubstitution substitution, @@ -1079,7 +1080,7 @@ abstract class PropertyAccessorMember extends ExecutableMember Version? get sinceSdkVersion => baseElement.sinceSdkVersion; @override - PropertyInducingElement2OrMember get variable { + InternalPropertyInducingElement get variable { var variable = baseElement.variable; switch (variable) { case FieldElementImpl(): @@ -1091,7 +1092,7 @@ abstract class PropertyAccessorMember extends ExecutableMember @Deprecated('Use variable instead') @override - PropertyInducingElement2OrMember? get variable3 { + InternalPropertyInducingElement? get variable3 { return variable; } @@ -1106,7 +1107,7 @@ abstract class PropertyAccessorMember extends ExecutableMember /// A setter element defined in a parameterized type where the values of the /// type parameters are known. -class SetterMember extends PropertyAccessorMember with SetterElement2OrMember { +class SetterMember extends PropertyAccessorMember with InternalSetterElement { SetterMember._({ required super.baseElement, required super.substitution, @@ -1117,7 +1118,7 @@ class SetterMember extends PropertyAccessorMember with SetterElement2OrMember { SetterElementImpl get baseElement => super.baseElement as SetterElementImpl; @override - GetterElement2OrMember? get correspondingGetter { + InternalGetterElement? get correspondingGetter { var baseGetter = baseElement.variable.getter; if (baseGetter == null) { return null; @@ -1127,7 +1128,7 @@ class SetterMember extends PropertyAccessorMember with SetterElement2OrMember { @Deprecated('Use correspondingGetter instead') @override - GetterElement2OrMember? get correspondingGetter2 { + InternalGetterElement? get correspondingGetter2 { return correspondingGetter; } @@ -1164,17 +1165,17 @@ class SetterMember extends PropertyAccessorMember with SetterElement2OrMember { @override T? accept2(ElementVisitor2 visitor) => accept(visitor); - static SetterElement2OrMember forSubstitution( - SetterElement2OrMember element, + static InternalSetterElement forSubstitution( + InternalSetterElement element, MapSubstitution substitution, ) { // TODO(scheglov): avoid type cast return ExecutableMember.from(element, substitution) - as SetterElement2OrMember; + as InternalSetterElement; } - static SetterElement2OrMember forTargetType( - SetterElement2OrMember element, + static InternalSetterElement forTargetType( + InternalSetterElement element, InterfaceType targetType, ) { var substitution = Substitution.fromInterfaceType(targetType); @@ -1221,7 +1222,7 @@ class SuperFormalParameterMember extends ParameterMember bool get hasDefaultValue => baseElement.hasDefaultValue; @override - FormalParameterElementMixin? get superConstructorParameter { + InternalFormalParameterElement? get superConstructorParameter { var superConstructorParameter = baseElement.superConstructorParameter; if (superConstructorParameter == null) { return null; @@ -1232,14 +1233,14 @@ class SuperFormalParameterMember extends ParameterMember @Deprecated('Use superConstructorParameter instead') @override - FormalParameterElementMixin? get superConstructorParameter2 { + InternalFormalParameterElement? get superConstructorParameter2 { return superConstructorParameter; } } /// A variable element defined in a parameterized type where the values of the /// type parameters are known. -abstract class VariableMember extends Member with VariableElement2OrMember { +abstract class VariableMember extends Member with InternalVariableElement { TypeImpl? _type; /// Initialize a newly created element to represent a variable, based on the diff --git a/pkg/analyzer/lib/src/dart/element/replacement_visitor.dart b/pkg/analyzer/lib/src/dart/element/replacement_visitor.dart index 72c60ed2d2c..2bb45a48275 100644 --- a/pkg/analyzer/lib/src/dart/element/replacement_visitor.dart +++ b/pkg/analyzer/lib/src/dart/element/replacement_visitor.dart @@ -33,7 +33,7 @@ class ReplacementVisitor required FunctionTypeImpl type, required InstantiatedTypeAliasElementImpl? newAlias, required List? newTypeParameters, - required List? newParameters, + required List? newParameters, required TypeImpl? newReturnType, required NullabilitySuffix? newNullability, }) { @@ -241,7 +241,7 @@ class ReplacementVisitor changeVariance(); - List? newParameters; + List? newParameters; for (var i = 0; i < node.formalParameters.length; i++) { var parameter = node.formalParameters[i]; diff --git a/pkg/analyzer/lib/src/dart/element/type.dart b/pkg/analyzer/lib/src/dart/element/type.dart index a0bdd7861a2..547863907c5 100644 --- a/pkg/analyzer/lib/src/dart/element/type.dart +++ b/pkg/analyzer/lib/src/dart/element/type.dart @@ -98,7 +98,7 @@ class FunctionTypeImpl extends TypeImpl /// /// The parameter types are not necessarily in the same order as they appear /// in the declaration of the function. - final List parameters; + final List parameters; @override final NullabilitySuffix nullabilitySuffix; @@ -121,11 +121,11 @@ class FunctionTypeImpl extends TypeImpl /// implementation, and was exposed by accident (see /// https://github.com/dart-lang/sdk/issues/59763). Please use [parameters] /// instead. - final List sortedNamedParameters; + final List sortedNamedParameters; factory FunctionTypeImpl({ required List typeParameters, - required List parameters, + required List parameters, required TypeImpl returnType, required NullabilitySuffix nullabilitySuffix, InstantiatedTypeAliasElementImpl? alias, @@ -133,7 +133,7 @@ class FunctionTypeImpl extends TypeImpl int? firstNamedParameterIndex; var requiredPositionalParameterCount = 0; var positionalParameterTypes = []; - List sortedNamedParameters; + List sortedNamedParameters; // Check if already sorted. var namedParametersAlreadySorted = true; @@ -187,7 +187,7 @@ class FunctionTypeImpl extends TypeImpl factory FunctionTypeImpl.v2({ required List typeParameters, - required List formalParameters, + required List formalParameters, required TypeImpl returnType, required NullabilitySuffix nullabilitySuffix, InstantiatedTypeAliasElementImpl? alias, @@ -220,7 +220,7 @@ class FunctionTypeImpl extends TypeImpl Null get element3 => null; @override - List get formalParameters { + List get formalParameters { return parameters; } @@ -249,7 +249,7 @@ class FunctionTypeImpl extends TypeImpl TypeImpl get returnTypeShared => returnType; @override - List get sortedNamedParametersShared => + List get sortedNamedParametersShared => sortedNamedParameters; @override @@ -561,17 +561,17 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { @override final NullabilitySuffix nullabilitySuffix; - /// Cached [ConstructorElementMixin2]s - members or raw elements. - List? _constructors; + /// Cached [InternalConstructorElement]s - members or raw elements. + List? _constructors; - /// Cached [GetterElement2OrMember]s - members or raw elements. - List? _getters; + /// Cached [InternalGetterElement]s - members or raw elements. + List? _getters; - /// Cached [SetterElement2OrMember]s - members or raw elements. - List? _setters; + /// Cached [InternalSetterElement]s - members or raw elements. + List? _setters; - /// Cached [MethodElement2OrMember]s - members or raw elements. - List? _methods; + /// Cached [InternalMethodElement]s - members or raw elements. + List? _methods; factory InterfaceTypeImpl({ required InterfaceElementImpl element, @@ -636,7 +636,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } @override - List get constructors { + List get constructors { return _constructors ??= element.constructors.map((constructor) { return ConstructorMember.from2(constructor, this); @@ -645,14 +645,14 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { @Deprecated('Use constructors instead') @override - List get constructors2 => constructors; + List get constructors2 => constructors; @Deprecated('Use element instead') @override InterfaceElementImpl get element3 => element; @override - List get getters { + List get getters { return _getters ??= element.getters.map((e) { return GetterMember.forTargetType(e, this); @@ -756,7 +756,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } @override - List get methods { + List get methods { return _methods ??= element.methods.map((e) { return MethodMember.forTargetType(e, this); @@ -765,7 +765,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { @Deprecated('Use methods instead') @override - List get methods2 => methods; + List get methods2 => methods; @override List get mixins { @@ -787,7 +787,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } @override - List get setters { + List get setters { return _setters ??= element.setters.map((e) { return SetterMember.forTargetType(e, this); @@ -878,43 +878,43 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } @override - GetterElement2OrMember? getGetter(String getterName) { + InternalGetterElement? getGetter(String getterName) { var element = this.element.getGetter(getterName); return element != null ? GetterMember.forTargetType(element, this) : null; } @Deprecated('Use getGetter instead') @override - GetterElement2OrMember? getGetter2(String getterName) { + InternalGetterElement? getGetter2(String getterName) { return getGetter(getterName); } @override - MethodElement2OrMember? getMethod(String methodName) { + InternalMethodElement? getMethod(String methodName) { var element = this.element.getMethod(methodName); return element != null ? MethodMember.forTargetType(element, this) : null; } @Deprecated('Use getMethod instead') @override - MethodElement2OrMember? getMethod2(String methodName) { + InternalMethodElement? getMethod2(String methodName) { return getMethod(methodName); } @override - SetterElement2OrMember? getSetter(String setterName) { + InternalSetterElement? getSetter(String setterName) { var element = this.element.getSetter(setterName); return element != null ? SetterMember.forTargetType(element, this) : null; } @Deprecated('Use getSetter instead') @override - SetterElement2OrMember? getSetter2(String setterName) { + InternalSetterElement? getSetter2(String setterName) { return getSetter(setterName); } @override - ConstructorElementMixin2? lookUpConstructor( + InternalConstructorElement? lookUpConstructor( String? constructorName, LibraryElement library, ) { @@ -936,7 +936,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { @Deprecated('Use lookUpConstructor instead') @override - ConstructorElementMixin2? lookUpConstructor2( + InternalConstructorElement? lookUpConstructor2( String? constructorName, LibraryElement library, ) { @@ -944,7 +944,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } @override - GetterElement2OrMember? lookUpGetter( + InternalGetterElement? lookUpGetter( String name, LibraryElement library, { bool concrete = false, @@ -957,12 +957,12 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { if (inherited) { if (concrete) { var result = inheritance.getMember3(this, nameObj, forSuper: inherited); - if (result is GetterElement2OrMember) { + if (result is InternalGetterElement) { return result; } } else { var rawElement = inheritance.getInherited(element, nameObj); - if (rawElement is GetterElement2OrMember) { + if (rawElement is InternalGetterElement) { return GetterMember.forTargetType(rawElement, this); } } @@ -970,7 +970,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } var result = inheritance.getMember3(this, nameObj, concrete: concrete); - if (result is GetterElement2OrMember) { + if (result is InternalGetterElement) { return result; } @@ -983,7 +983,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { @Deprecated('Use lookUpGetter instead') @override - GetterElement2OrMember? lookUpGetter3( + InternalGetterElement? lookUpGetter3( String name, LibraryElement library, { bool concrete = false, @@ -1000,7 +1000,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } @override - MethodElement2OrMember? lookUpMethod( + InternalMethodElement? lookUpMethod( String name, LibraryElement library, { bool concrete = false, @@ -1013,12 +1013,12 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { if (inherited) { if (concrete) { var result = inheritance.getMember3(this, nameObj, forSuper: inherited); - if (result is MethodElement2OrMember) { + if (result is InternalMethodElement) { return result; } } else { var rawElement = inheritance.getInherited(element, nameObj); - if (rawElement is MethodElement2OrMember) { + if (rawElement is InternalMethodElement) { return MethodMember.forTargetType(rawElement, this); } } @@ -1026,7 +1026,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } var result = inheritance.getMember3(this, nameObj, concrete: concrete); - if (result is MethodElement2OrMember) { + if (result is InternalMethodElement) { return result; } @@ -1039,7 +1039,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { @Deprecated('Use lookUpMethod instead') @override - MethodElement2OrMember? lookUpMethod3( + InternalMethodElement? lookUpMethod3( String name, LibraryElement library, { bool concrete = false, @@ -1056,7 +1056,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } @override - SetterElement2OrMember? lookUpSetter( + InternalSetterElement? lookUpSetter( String name, LibraryElement library, { bool concrete = false, @@ -1069,12 +1069,12 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { if (inherited) { if (concrete) { var result = inheritance.getMember3(this, nameObj, forSuper: inherited); - if (result is SetterElement2OrMember) { + if (result is InternalSetterElement) { return result; } } else { var rawElement = inheritance.getInherited(element, nameObj); - if (rawElement is SetterElement2OrMember) { + if (rawElement is InternalSetterElement) { return SetterMember.forTargetType(rawElement, this); } } @@ -1082,7 +1082,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } var result = inheritance.getMember3(this, nameObj, concrete: concrete); - if (result is SetterElement2OrMember) { + if (result is InternalSetterElement) { return result; } @@ -1095,7 +1095,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { @Deprecated('Use lookUpSetter instead') @override - SetterElement2OrMember? lookUpSetter3( + InternalSetterElement? lookUpSetter3( String name, LibraryElement library, { bool concrete = false, @@ -1566,7 +1566,8 @@ abstract class TypeImpl implements DartType, SharedType { @Deprecated('Use asInstanceOf instead') @override - InterfaceTypeImpl? asInstanceOf2(InterfaceElement targetElement) => asInstanceOf(targetElement); + InterfaceTypeImpl? asInstanceOf2(InterfaceElement targetElement) => + asInstanceOf(targetElement); @override TypeImpl asQuestionType(bool isQuestionType) => withNullability( diff --git a/pkg/analyzer/lib/src/dart/element/type_algebra.dart b/pkg/analyzer/lib/src/dart/element/type_algebra.dart index 3da2ba6a9c1..01055e03fd3 100644 --- a/pkg/analyzer/lib/src/dart/element/type_algebra.dart +++ b/pkg/analyzer/lib/src/dart/element/type_algebra.dart @@ -80,8 +80,8 @@ FunctionTypeImpl replaceTypeParameters( typeArguments, ); - FormalParameterElementMixin transformParameter( - FormalParameterElementMixin p, + InternalFormalParameterElement transformParameter( + InternalFormalParameterElement p, ) { var type = substitution.substituteType(p.type); return p.copyWith(type: type); diff --git a/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart index 1b9ec675651..4c73efcf811 100644 --- a/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/annotation_resolver.dart @@ -40,7 +40,7 @@ class AnnotationResolver { ArgumentListImpl argumentList, List whyNotPromotedArguments, ) { - ConstructorElementMixin2? constructorElement; + InternalConstructorElement? constructorElement; if (constructorName != null) { constructorElement = classElement.getNamedConstructor( constructorName.name, @@ -108,7 +108,7 @@ class AnnotationResolver { String typeDisplayName, SimpleIdentifierImpl? constructorName, List typeParameters, - ConstructorElementMixin2? constructorElement, + InternalConstructorElement? constructorElement, ArgumentListImpl argumentList, InterfaceType Function(List typeArguments) instantiateElement, List whyNotPromotedArguments, diff --git a/pkg/analyzer/lib/src/dart/resolver/applicable_extensions.dart b/pkg/analyzer/lib/src/dart/resolver/applicable_extensions.dart index 45eadf8d1eb..79bf2cdb491 100644 --- a/pkg/analyzer/lib/src/dart/resolver/applicable_extensions.dart +++ b/pkg/analyzer/lib/src/dart/resolver/applicable_extensions.dart @@ -31,7 +31,7 @@ class InstantiatedExtensionWithMember { ExtensionElement get extension => candidate.extension; - ExecutableElement2OrMember? get getter { + InternalExecutableElement? get getter { var getter = candidate.getter; if (getter == null) { return null; @@ -39,7 +39,7 @@ class InstantiatedExtensionWithMember { return ExecutableMember.from(getter, substitution); } - ExecutableElement2OrMember? get setter { + InternalExecutableElement? get setter { var setter = candidate.setter; if (setter == null) { return null; diff --git a/pkg/analyzer/lib/src/dart/resolver/assignment_expression_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/assignment_expression_resolver.dart index 4ca1221f4f2..eb2431e1bfd 100644 --- a/pkg/analyzer/lib/src/dart/resolver/assignment_expression_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/assignment_expression_resolver.dart @@ -270,7 +270,7 @@ class AssignmentExpressionResolver { propertyErrorEntity: operator, nameErrorEntity: operator, ); - node.element = result.getter2 as MethodElement2OrMember?; + node.element = result.getter2 as InternalMethodElement?; if (result.needsGetterError) { _diagnosticReporter.atToken( operator, diff --git a/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart index 565309b076a..7af50ae1fcd 100644 --- a/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart @@ -496,10 +496,10 @@ enum ExtensionResolutionError implements ExtensionResolutionResult { ambiguous; @override - ExecutableElement2OrMember? get getter2 => null; + InternalExecutableElement? get getter2 => null; @override - ExecutableElement2OrMember? get setter2 => null; + InternalExecutableElement? get setter2 => null; } /// The result of attempting to resolve an identifier to elements, where the diff --git a/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart b/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart index 6fbf626d83c..81ecb46dfe5 100644 --- a/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart +++ b/pkg/analyzer/lib/src/dart/resolver/flow_analysis_visitor.dart @@ -1290,7 +1290,7 @@ class _LocalVariableTypeProvider implements LocalVariableTypeProvider { @override TypeImpl getType(SimpleIdentifierImpl node, {required bool isRead}) { - var variable = node.element as VariableElement2OrMember; + var variable = node.element as InternalVariableElement; if (variable is PromotableElementImpl) { var promotedType = isRead diff --git a/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart index afe513300db..d4597a87bad 100644 --- a/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/for_resolver.dart @@ -155,7 +155,7 @@ class ForResolver { identifier, isRead: false, ); - } else if (identifierElement is SetterElement2OrMember) { + } else if (identifierElement is InternalSetterElement) { var parameters = identifierElement.formalParameters; if (parameters.isNotEmpty) { valueType = parameters[0].type; diff --git a/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart index db2577b32c4..3dce4fc84a3 100644 --- a/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/function_reference_resolver.dart @@ -538,9 +538,9 @@ class FunctionReferenceResolver { targetType = target.typeOrThrow; } else if (target is SimpleIdentifierImpl) { var targetElement = target.scopeLookupResult!.getter; - if (targetElement is VariableElement2OrMember) { + if (targetElement is InternalVariableElement) { targetType = targetElement.type; - } else if (targetElement is PropertyAccessorElement2OrMember) { + } else if (targetElement is InternalPropertyAccessorElement) { targetType = targetElement.variable.type; } else { // TODO(srawlins): Can we get here? @@ -733,7 +733,7 @@ class FunctionReferenceResolver { // Continue to assign types. } - if (method is PropertyAccessorElement2OrMember) { + if (method is InternalPropertyAccessorElement) { function.element = method; function.setPseudoExpressionStaticType(method.returnType); _resolve(node: node, rawType: method.variable.type); diff --git a/pkg/analyzer/lib/src/dart/resolver/invocation_inference_helper.dart b/pkg/analyzer/lib/src/dart/resolver/invocation_inference_helper.dart index 12dfad44e8d..e8d4713076e 100644 --- a/pkg/analyzer/lib/src/dart/resolver/invocation_inference_helper.dart +++ b/pkg/analyzer/lib/src/dart/resolver/invocation_inference_helper.dart @@ -33,7 +33,7 @@ class ConstructorElementToInfer { final List typeParameters; /// The element, might be [ConstructorMember]. - final ConstructorElementMixin2 element; + final InternalConstructorElement element; ConstructorElementToInfer(this.typeParameters, this.element); @@ -82,7 +82,7 @@ class InvocationInferenceHelper { required LibraryElementImpl definingLibrary, }) { List typeParameters; - ConstructorElementMixin2? rawElement; + InternalConstructorElement? rawElement; if (typeElement is InterfaceElementImpl) { typeParameters = typeElement.typeParameters; @@ -92,8 +92,7 @@ class InvocationInferenceHelper { } else { var name = constructorIdentifier.name; rawElement = typeElement.getNamedConstructor(name); - if (rawElement != null && - !rawElement.isAccessibleIn(definingLibrary)) { + if (rawElement != null && !rawElement.isAccessibleIn(definingLibrary)) { rawElement = null; } } diff --git a/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart b/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart index 52537662271..b3f23d18132 100644 --- a/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart +++ b/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart @@ -44,8 +44,8 @@ Set _computeExplicitlyTypedParameterSet( /// Given an iterable of parameters, computes a map whose keys are either the /// parameter name (for named parameters) or the zero-based integer index (for /// unnamed parameters), and whose values are the parameters themselves. -Map _computeParameterMap( - Iterable parameters, +Map _computeParameterMap( + Iterable parameters, ) { int unnamedParameterIndex = 0; return { @@ -96,7 +96,7 @@ class AnnotationInferrer extends FullInvocationInferrer { FunctionType? invokeType, ) { if (invokeType != null) { - var elementOrMember = node.element as ConstructorElementMixin2; + var elementOrMember = node.element as InternalConstructorElement; var constructorElement = ConstructorMember.from2( elementOrMember.baseElement, invokeType.returnType as InterfaceType, @@ -369,7 +369,7 @@ abstract class FullInvocationInferrer /// parameters that were *not* deferred. List<_ParamInfo> _computeUndeferredParamInfo( FunctionType? rawType, - Map parameterMap, + Map parameterMap, List<_DeferredParamInfo> deferredFunctionLiterals, ) { if (rawType == null) return const []; @@ -626,7 +626,7 @@ class InvocationInferrer { /// be deferred due to the `inference-update-1` feature, a list of them is /// returned. List<_DeferredParamInfo>? _visitArguments({ - required Map parameterMap, + required Map parameterMap, List<_IdenticalArgumentInfo?>? identicalArgumentInfo, Substitution? substitution, GenericInferrer? inferrer, @@ -640,7 +640,7 @@ class InvocationInferrer { for (int i = 0; i < arguments.length; i++) { var argument = arguments[i]; Expression value; - FormalParameterElementMixin? parameter; + InternalFormalParameterElement? parameter; Object parameterKey; if (argument is NamedExpressionImpl) { value = argument.expression; @@ -870,7 +870,7 @@ class _IdenticalArgumentInfo { class _ParamInfo { /// The function parameter corresponding to the argument, or `null` if we are /// resolving a dynamic invocation. - final FormalParameterElementMixin? parameter; + final InternalFormalParameterElement? parameter; _ParamInfo(this.parameter); } diff --git a/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart index 3a14c398e0c..393d3a190ac 100644 --- a/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/method_invocation_resolver.dart @@ -601,7 +601,7 @@ class MethodInvocationResolver with ScopeHelpers { nameNode.element = member; - if (member is PropertyAccessorElement2OrMember) { + if (member is InternalPropertyAccessorElement) { return _rewriteAsFunctionExpressionInvocation( node, node.target, @@ -758,7 +758,7 @@ class MethodInvocationResolver with ScopeHelpers { if (element is MultiplyDefinedElement) { element = element.conflictingElements[0]; } - if (element is PropertyAccessorElement2OrMember) { + if (element is InternalPropertyAccessorElement) { return _rewriteAsFunctionExpressionInvocation( node, node.target, @@ -770,7 +770,7 @@ class MethodInvocationResolver with ScopeHelpers { isCascaded: node.isCascaded, ); } - if (element is ExecutableElement2OrMember) { + if (element is InternalExecutableElement) { _setResolution( node, element.type, @@ -924,7 +924,7 @@ class MethodInvocationResolver with ScopeHelpers { element = element.conflictingElements[0]; } - if (element is PropertyAccessorElement2OrMember) { + if (element is InternalPropertyAccessorElement) { return _rewriteAsFunctionExpressionInvocation( node, node.target, @@ -937,7 +937,7 @@ class MethodInvocationResolver with ScopeHelpers { ); } - if (element is ExecutableElement2OrMember) { + if (element is InternalExecutableElement) { _setResolution( node, element.type, @@ -990,7 +990,7 @@ class MethodInvocationResolver with ScopeHelpers { // If there is that concrete dispatch target, then we are done. if (target != null) { nameNode.element = target; - if (target is PropertyAccessorElement2OrMember) { + if (target is InternalPropertyAccessorElement) { return _rewriteAsFunctionExpressionInvocation( node, node.target, @@ -1191,9 +1191,9 @@ class MethodInvocationResolver with ScopeHelpers { var element = _resolveElement(receiver, nameNode); if (element != null) { - if (element is ExecutableElement2OrMember) { + if (element is InternalExecutableElement) { nameNode.element = element; - if (element is PropertyAccessorElement2OrMember) { + if (element is InternalPropertyAccessorElement) { return _rewriteAsFunctionExpressionInvocation( node, node.target, @@ -1248,9 +1248,9 @@ class MethodInvocationResolver with ScopeHelpers { }) { var element = _resolveElement(receiver, node.memberName); if (element != null) { - if (element is ExecutableElement2OrMember) { + if (element is InternalExecutableElement) { node.memberName.element = element; - if (element is PropertyAccessorElement2OrMember) { + if (element is InternalPropertyAccessorElement) { return _rewriteAsFunctionExpressionInvocation( node, null, diff --git a/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart index 310a6a998b9..4440e7986cc 100644 --- a/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart @@ -352,7 +352,7 @@ class PropertyElementResolver with ScopeHelpers { } readElementRequested = readLookup?.requested; - if (readElementRequested is PropertyAccessorElement2OrMember && + if (readElementRequested is InternalPropertyAccessorElement && !readElementRequested.isStatic) { var unpromotedType = readElementRequested.returnType; getType = @@ -586,8 +586,8 @@ class PropertyElementResolver with ScopeHelpers { TypeImpl? getType; if (hasRead) { var unpromotedType = switch (result.getter2) { - MethodElement2OrMember(:var type) => type, - PropertyAccessorElement2OrMember(:var returnType) => returnType, + InternalMethodElement(:var type) => type, + InternalPropertyAccessorElement(:var returnType) => returnType, _ => result.recordField?.type ?? _typeSystem.typeProvider.dynamicType, }; getType = @@ -919,8 +919,8 @@ class PropertyElementResolver with ScopeHelpers { } var targetType = target.staticType; - ExecutableElement2OrMember? readElement; - ExecutableElement2OrMember? writeElement; + InternalExecutableElement? readElement; + InternalExecutableElement? writeElement; TypeImpl? getType; if (targetType is InterfaceTypeImpl) { diff --git a/pkg/analyzer/lib/src/dart/resolver/resolution_result.dart b/pkg/analyzer/lib/src/dart/resolver/resolution_result.dart index a7a694ac8e1..6d9312caec7 100644 --- a/pkg/analyzer/lib/src/dart/resolver/resolution_result.dart +++ b/pkg/analyzer/lib/src/dart/resolver/resolution_result.dart @@ -52,10 +52,10 @@ class ResolutionResult extends SimpleResolutionResult { class SimpleResolutionResult { /// Return the element that is invoked for reading. - final ExecutableElement2OrMember? getter2; + final InternalExecutableElement? getter2; /// Return the element that is invoked for writing. - final ExecutableElement2OrMember? setter2; + final InternalExecutableElement? setter2; const SimpleResolutionResult({this.getter2, this.setter2}); } diff --git a/pkg/analyzer/lib/src/dart/resolver/type_property_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/type_property_resolver.dart index d641c161110..56d6f6e560e 100644 --- a/pkg/analyzer/lib/src/dart/resolver/type_property_resolver.dart +++ b/pkg/analyzer/lib/src/dart/resolver/type_property_resolver.dart @@ -35,13 +35,13 @@ class TypePropertyResolver { bool _needsGetterError = false; bool _reportedGetterError = false; - ExecutableElement2OrMember? _getterRequested; - ExecutableElement2OrMember? _getterRecovery; + InternalExecutableElement? _getterRequested; + InternalExecutableElement? _getterRecovery; bool _needsSetterError = false; bool _reportedSetterError = false; - ExecutableElement2OrMember? _setterRequested; - ExecutableElement2OrMember? _setterRecovery; + InternalExecutableElement? _setterRequested; + InternalExecutableElement? _setterRecovery; TypePropertyResolver(this._resolver) : _definingLibrary = _resolver.definingLibrary, diff --git a/pkg/analyzer/lib/src/error/correct_override.dart b/pkg/analyzer/lib/src/error/correct_override.dart index 3c751da2ebe..63e1deed24d 100644 --- a/pkg/analyzer/lib/src/error/correct_override.dart +++ b/pkg/analyzer/lib/src/error/correct_override.dart @@ -20,14 +20,14 @@ import 'package:analyzer/src/error/codes.dart'; class CorrectOverrideHelper { final TypeSystemImpl _typeSystem; - final ExecutableElement2OrMember _thisMember; + final InternalExecutableElement _thisMember; FunctionTypeImpl? _thisTypeForSubtype; final DiagnosticFactory _diagnosticFactory = DiagnosticFactory(); CorrectOverrideHelper({ required TypeSystemImpl typeSystem, - required ExecutableElement2OrMember thisMember, + required InternalExecutableElement thisMember, }) : _typeSystem = typeSystem, _thisMember = thisMember { _computeThisTypeForSubtype(); @@ -72,7 +72,7 @@ class CorrectOverrideHelper { var type = _thisMember.type; var parameters = type.formalParameters; - List? newParameters; + List? newParameters; for (var i = 0; i < parameters.length; i++) { var parameter = parameters[i]; if (parameter.isCovariant) { @@ -98,9 +98,9 @@ class CovariantParametersVerifier { final AnalysisSessionImpl _session; final TypeSystemImpl _typeSystem; - final ExecutableElement2OrMember _thisMember; + final InternalExecutableElement _thisMember; - CovariantParametersVerifier({required ExecutableElement2OrMember thisMember}) + CovariantParametersVerifier({required InternalExecutableElement thisMember}) : _session = thisMember.library.session as AnalysisSessionImpl, _typeSystem = thisMember.library.typeSystem as TypeSystemImpl, _thisMember = thisMember; @@ -154,8 +154,9 @@ class CovariantParametersVerifier { return superMembers; } - Map> _superParameters() { - var result = >{}; + Map> + _superParameters() { + var result = >{}; List<_SuperMember>? superMembers; var parameters = _thisMember.formalParameters; diff --git a/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart b/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart index 2563f0b6d3b..41d46ba5bc1 100644 --- a/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart +++ b/pkg/analyzer/lib/src/error/duplicate_definition_verifier.dart @@ -675,7 +675,7 @@ class MemberDuplicateDefinitionVerifier { } var baseName = accessor.displayName; var inherited = _getInheritedMember(fragment.element, baseName); - if (inherited is MethodElement2OrMember) { + if (inherited is InternalMethodElement) { _diagnosticReporter.atElement2( accessor.asElement2, CompileTimeErrorCode.CONFLICTING_FIELD_AND_METHOD, @@ -697,7 +697,7 @@ class MemberDuplicateDefinitionVerifier { } var baseName = method.displayName; var inherited = _getInheritedMember(fragment.element, baseName); - if (inherited is PropertyAccessorElement2OrMember) { + if (inherited is InternalPropertyAccessorElement) { _diagnosticReporter.atElement2( method.asElement2, CompileTimeErrorCode.CONFLICTING_METHOD_AND_FIELD, @@ -881,7 +881,7 @@ class MemberDuplicateDefinitionVerifier { _InstanceElementContext(); } - ExecutableElement2OrMember? _getInheritedMember( + InternalExecutableElement? _getInheritedMember( InterfaceElementImpl element, String baseName, ) { @@ -897,7 +897,7 @@ class MemberDuplicateDefinitionVerifier { return _inheritanceManager.getInherited(element, setterName); } - ExecutableElement2OrMember? _getInterfaceMember( + InternalExecutableElement? _getInterfaceMember( InterfaceElementImpl element, String baseName, ) { diff --git a/pkg/analyzer/lib/src/error/getter_setter_types_verifier.dart b/pkg/analyzer/lib/src/error/getter_setter_types_verifier.dart index 8d0b351c883..aadf07d8316 100644 --- a/pkg/analyzer/lib/src/error/getter_setter_types_verifier.dart +++ b/pkg/analyzer/lib/src/error/getter_setter_types_verifier.dart @@ -107,7 +107,7 @@ class GetterSetterTypesVerifier { } } - void checkStaticGetters(List getters) { + void checkStaticGetters(List getters) { if (_skipGetterSetterTypesCheck) { return; } @@ -119,7 +119,7 @@ class GetterSetterTypesVerifier { } } - void _checkLocalGetter(GetterElement2OrMember getter) { + void _checkLocalGetter(InternalGetterElement getter) { var name = getter.name; if (name == null) { return; @@ -146,12 +146,12 @@ class GetterSetterTypesVerifier { } /// Return the return type of the [getter]. - static TypeImpl _getGetterType(GetterElement2OrMember getter) { + static TypeImpl _getGetterType(InternalGetterElement getter) { return getter.returnType; } /// Return the type of the first parameter of the [setter]. - static TypeImpl? _getSetterType(SetterElement2OrMember setter) { + static TypeImpl? _getSetterType(InternalSetterElement setter) { var parameters = setter.formalParameters; if (parameters.isNotEmpty) { return parameters[0].type; diff --git a/pkg/analyzer/lib/src/error/inheritance_override.dart b/pkg/analyzer/lib/src/error/inheritance_override.dart index 2ae79b5ef8b..2720dd9f5fa 100644 --- a/pkg/analyzer/lib/src/error/inheritance_override.dart +++ b/pkg/analyzer/lib/src/error/inheritance_override.dart @@ -23,7 +23,7 @@ import 'package:analyzer/src/error/inference_error.dart'; import 'package:analyzer/src/utilities/extensions/element.dart'; final _missingMustBeOverridden = Expando>(); -final _missingOverrides = Expando>(); +final _missingOverrides = Expando>(); class InheritanceOverrideVerifier { final TypeSystemImpl _typeSystem; @@ -299,7 +299,7 @@ class _ClassVerifier { if (firstFragment is ClassFragmentImpl && !firstFragment.isAbstract || firstFragment is EnumFragmentImpl) { - List? inheritedAbstract; + List? inheritedAbstract; for (var name in interface.map.keys) { if (!name.isAccessibleFor(libraryUri)) { @@ -355,7 +355,7 @@ class _ClassVerifier { diagnosticReporter: reporter, errorNode: classNameToken, diagnosticCode: - concreteElement is SetterElement2OrMember + concreteElement is InternalSetterElement ? CompileTimeErrorCode.INVALID_IMPLEMENTATION_OVERRIDE_SETTER : CompileTimeErrorCode.INVALID_IMPLEMENTATION_OVERRIDE, ); @@ -373,7 +373,7 @@ class _ClassVerifier { void _checkDeclaredMember( SyntacticEntity node, Uri libraryUri, - ExecutableElement2OrMember? member, { + InternalExecutableElement? member, { List? methodParameterNodes, int mixinIndex = -1, }) { @@ -864,7 +864,7 @@ class _ClassVerifier { } void _reportInheritedAbstractMembers( - List? elements, + List? elements, ) { if (elements == null) { return; diff --git a/pkg/analyzer/lib/src/fine/manifest_type.dart b/pkg/analyzer/lib/src/fine/manifest_type.dart index e501a0d451e..09c2123f009 100644 --- a/pkg/analyzer/lib/src/fine/manifest_type.dart +++ b/pkg/analyzer/lib/src/fine/manifest_type.dart @@ -78,7 +78,7 @@ class ManifestFunctionNamedFormalParameter other.type == type; } - bool match(MatchContext context, FormalParameterElementMixin element) { + bool match(MatchContext context, InternalFormalParameterElement element) { return element.isNamed && element.isRequired == isRequired && type.match(context, element.type) && @@ -127,7 +127,7 @@ class ManifestFunctionPositionalFormalParameter other.type == type; } - bool match(MatchContext context, FormalParameterElementMixin element) { + bool match(MatchContext context, InternalFormalParameterElement element) { return element.isPositional && element.isRequired == isRequired && type.match(context, element.type); diff --git a/pkg/analyzer/lib/src/generated/element_resolver.dart b/pkg/analyzer/lib/src/generated/element_resolver.dart index 4fbb32d6cab..8170517d2fe 100644 --- a/pkg/analyzer/lib/src/generated/element_resolver.dart +++ b/pkg/analyzer/lib/src/generated/element_resolver.dart @@ -144,7 +144,7 @@ class ElementResolver { // Nothing to do. } else if (type is InterfaceTypeImpl) { // look up ConstructorElement - ConstructorElementMixin2? constructor; + InternalConstructorElement? constructor; var name = node.name; if (name == null) { constructor = type.lookUpConstructor(null, _definingLibrary); @@ -430,7 +430,7 @@ class ElementResolver { /// the list of arguments. An error will be reported if any of the arguments /// cannot be matched to a parameter. Return the parameters that correspond to /// the arguments, or `null` if no correspondence could be computed. - List? _resolveArgumentsToFunction( + List? _resolveArgumentsToFunction( ArgumentList argumentList, ExecutableElement? executableElement, { ConstructorDeclaration? enclosingConstructor, diff --git a/pkg/analyzer/lib/src/generated/error_detection_helpers.dart b/pkg/analyzer/lib/src/generated/error_detection_helpers.dart index 57b9329db9d..4b97e552e4c 100644 --- a/pkg/analyzer/lib/src/generated/error_detection_helpers.dart +++ b/pkg/analyzer/lib/src/generated/error_detection_helpers.dart @@ -193,7 +193,7 @@ mixin ErrorDetectionHelpers { /// [CompileTimeErrorCode.FIELD_INITIALIZER_NOT_ASSIGNABLE]. void checkForFieldInitializerNotAssignable( ConstructorFieldInitializerImpl initializer, - FieldElement2OrMember fieldElement, { + InternalFieldElement fieldElement, { required bool isConstConstructor, required Map Function()? whyNotPromoted, }) { @@ -288,11 +288,11 @@ mixin ErrorDetectionHelpers { void checkIndexExpressionIndex( Expression index, { - required ExecutableElement2OrMember? readElement, - required ExecutableElement2OrMember? writeElement, + required InternalExecutableElement? readElement, + required InternalExecutableElement? writeElement, required Map Function()? whyNotPromoted, }) { - if (readElement is MethodElement2OrMember) { + if (readElement is InternalMethodElement) { var parameters = readElement.formalParameters; if (parameters.isNotEmpty) { _checkForArgumentTypeNotAssignableForArgument( @@ -304,7 +304,7 @@ mixin ErrorDetectionHelpers { } } - if (writeElement is MethodElement2OrMember) { + if (writeElement is InternalMethodElement) { var parameters = writeElement.formalParameters; if (parameters.isNotEmpty) { _checkForArgumentTypeNotAssignableForArgument( @@ -341,7 +341,7 @@ mixin ErrorDetectionHelpers { /// > Let `e` be an expression whose static type is an interface type that has /// > a method named `call`. In the case where the context type for `e` /// > is a function type or the type `Function`, `e` is treated as `e.call`. - MethodElement2OrMember? getImplicitCallMethod( + InternalMethodElement? getImplicitCallMethod( DartType type, DartType context, SyntacticEntity errorNode, @@ -389,7 +389,7 @@ mixin ErrorDetectionHelpers { void _checkForArgumentTypeNotAssignableForArgument({ required Expression argument, - required FormalParameterElementMixin? parameter, + required InternalFormalParameterElement? parameter, required bool promoteParameterToNullable, Map Function()? whyNotPromoted, }) { diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart index 1ba5ab03951..e914ae150d3 100644 --- a/pkg/analyzer/lib/src/generated/error_verifier.dart +++ b/pkg/analyzer/lib/src/generated/error_verifier.dart @@ -100,7 +100,7 @@ void checkForTypeParameterBoundRecursion( } class EnclosingExecutableContext { - final ExecutableElement2OrMember? element; + final InternalExecutableElement? element; final bool isAsynchronous; final bool isConstConstructor; final bool isGenerativeConstructor; @@ -133,9 +133,9 @@ class EnclosingExecutableContext { required this.isGenerator, this.catchErrorOnErrorReturnType, }) : isConstConstructor = - element is ConstructorElementMixin2 && element.isConst, + element is InternalConstructorElement && element.isConst, isGenerativeConstructor = - element is ConstructorElementMixin2 && !element.isFactory, + element is InternalConstructorElement && !element.isFactory, inFactoryConstructor = _inFactoryConstructor(element), inStaticMethod = _inStaticMethod(element); @@ -2255,7 +2255,7 @@ class ErrorVerifier extends RecursiveAstVisitor ); if (method.isStatic) { - void reportStaticConflict(ExecutableElement2OrMember inherited) { + void reportStaticConflict(InternalExecutableElement inherited) { diagnosticReporter.atElement2( method.asElement2, CompileTimeErrorCode.CONFLICTING_STATIC_AND_INSTANCE, @@ -2283,7 +2283,7 @@ class ErrorVerifier extends RecursiveAstVisitor continue; } - void reportFieldConflict(PropertyAccessorElement2OrMember inherited) { + void reportFieldConflict(InternalPropertyAccessorElement inherited) { diagnosticReporter.atElement2( method.asElement2, CompileTimeErrorCode.CONFLICTING_METHOD_AND_FIELD, @@ -2295,12 +2295,12 @@ class ErrorVerifier extends RecursiveAstVisitor ); } - if (getter is GetterElement2OrMember) { + if (getter is InternalGetterElement) { reportFieldConflict(getter); continue; } - if (setter is SetterElement2OrMember) { + if (setter is InternalSetterElement) { reportFieldConflict(setter); continue; } @@ -2331,7 +2331,7 @@ class ErrorVerifier extends RecursiveAstVisitor ], ); conflictingDeclaredNames.add(name); - } else if (inherited is MethodElement2OrMember) { + } else if (inherited is InternalMethodElement) { // Extension type accessors preclude inherited accessors/methods. if (enclosingClass is ExtensionTypeElementImpl) { continue; @@ -2353,14 +2353,14 @@ class ErrorVerifier extends RecursiveAstVisitor var inherited = _inheritanceManager.getInheritedMap(enclosingClass); for (var entry in inherited.entries) { var method = entry.value; - if (method is MethodElement2OrMember) { + if (method is InternalMethodElement) { var methodName = entry.key; if (conflictingDeclaredNames.contains(methodName.name)) { continue; } var setterName = methodName.forSetter; var setter = inherited[setterName]; - if (setter is PropertyAccessorElement2OrMember) { + if (setter is InternalPropertyAccessorElement) { diagnosticReporter.atElement2( enclosingClass, CompileTimeErrorCode.CONFLICTING_INHERITED_METHOD_AND_SETTER, @@ -6351,7 +6351,7 @@ class ErrorVerifier extends RecursiveAstVisitor } void _withEnclosingExecutable( - ExecutableElement2OrMember element, + InternalExecutableElement element, void Function() operation, { required bool isAsynchronous, required bool isGenerator, diff --git a/pkg/analyzer/lib/src/generated/exhaustiveness.dart b/pkg/analyzer/lib/src/generated/exhaustiveness.dart index 21439fdcf9a..a42374d2bc7 100644 --- a/pkg/analyzer/lib/src/generated/exhaustiveness.dart +++ b/pkg/analyzer/lib/src/generated/exhaustiveness.dart @@ -576,11 +576,11 @@ class PatternConverter with SpaceCreator { properties[name] = field.pattern; var element = field.element; TypeImpl? extensionPropertyType; - if (element is PropertyAccessorElement2OrMember && + if (element is InternalPropertyAccessorElement && (element.enclosingElement is ExtensionElementImpl || element.enclosingElement is ExtensionTypeElementImpl)) { extensionPropertyType = element.returnType; - } else if (element is ExecutableElement2OrMember && + } else if (element is InternalExecutableElement && (element.enclosingElement is ExtensionElementImpl || element.enclosingElement is ExtensionTypeElementImpl)) { extensionPropertyType = element.type; diff --git a/pkg/analyzer/lib/src/generated/ffi_verifier.dart b/pkg/analyzer/lib/src/generated/ffi_verifier.dart index 688968a1d6a..add646c69fe 100644 --- a/pkg/analyzer/lib/src/generated/ffi_verifier.dart +++ b/pkg/analyzer/lib/src/generated/ffi_verifier.dart @@ -254,7 +254,7 @@ class FfiVerifier extends RecursiveAstVisitor { covariant FunctionExpressionInvocationImpl node, ) { var element = node.element; - if (element is MethodElement2OrMember) { + if (element is InternalMethodElement) { var enclosingElement = element.enclosingElement; if (enclosingElement.isAllocatorExtension && element.name == _allocateExtensionMethodName) { @@ -340,7 +340,7 @@ class FfiVerifier extends RecursiveAstVisitor { @override void visitMethodInvocation(covariant MethodInvocationImpl node) { var element = node.methodName.element; - if (element is MethodElement2OrMember) { + if (element is InternalMethodElement) { var enclosingElement = element.enclosingElement; if (enclosingElement.isPointer) { if (element.name == 'fromFunction') { @@ -485,7 +485,7 @@ class FfiVerifier extends RecursiveAstVisitor { var ffiSignature = annotationType.typeArguments[0]; // The T in @Native if (ffiSignature is FunctionTypeImpl) { - if (declarationElement is ExecutableElement2OrMember) { + if (declarationElement is InternalExecutableElement) { _checkFfiNativeFunction( errorNode, declarationElement, @@ -504,7 +504,7 @@ class FfiVerifier extends RecursiveAstVisitor { } else { if (declarationElement case TopLevelFunctionElement() || MethodElement()) { - declarationElement = declarationElement as ExecutableElement2OrMember; + declarationElement = declarationElement as InternalExecutableElement; var dartSignature = declarationElement.type; if (declarationElement.isStatic && ffiSignature is DynamicType) { @@ -564,7 +564,7 @@ class FfiVerifier extends RecursiveAstVisitor { ) { TypeImpl type; - if (declarationElement is FieldElement2OrMember) { + if (declarationElement is InternalFieldElement) { if (!declarationElement.isStatic) { _diagnosticReporter.atToken( errorToken, @@ -574,7 +574,7 @@ class FfiVerifier extends RecursiveAstVisitor { type = declarationElement.type; } else if (declarationElement is TopLevelVariableElementImpl) { type = declarationElement.type; - } else if (declarationElement is PropertyAccessorElement2OrMember) { + } else if (declarationElement is InternalPropertyAccessorElement) { type = declarationElement.variable.type; } else { _diagnosticReporter.atToken(errorToken, FfiCode.NATIVE_FIELD_NOT_STATIC); @@ -629,7 +629,7 @@ class FfiVerifier extends RecursiveAstVisitor { void _checkFfiNativeFunction( Token errorToken, - ExecutableElement2OrMember declarationElement, + InternalExecutableElement declarationElement, FunctionTypeImpl ffiSignature, DartObject annotationValue, List formalParameters, @@ -916,12 +916,10 @@ class FfiVerifier extends RecursiveAstVisitor { var elementType = nativeType.typeArguments.single; var elementName = elementType.element?.name; if (dartType.element.isTypedDataClass) { - if (elementName == 'Float' && - dartType.element.name == 'Float32List') { + if (elementName == 'Float' && dartType.element.name == 'Float32List') { return true; } - if (elementName == 'Double' && - dartType.element.name == 'Float64List') { + if (elementName == 'Double' && dartType.element.name == 'Float64List') { return true; } if (_primitiveIntegerNativeTypesFixedSize.contains(elementName) && @@ -1242,7 +1240,7 @@ class FfiVerifier extends RecursiveAstVisitor { /// `Pointer.asFunction()`. void _validateAsFunction( covariant MethodInvocationImpl node, - MethodElement2OrMember element, + InternalMethodElement element, ) { var typeArguments = node.typeArguments?.arguments; AstNode errorNode = typeArguments != null ? typeArguments[0] : node; diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart index a6fff5fd67c..92340f1afa8 100644 --- a/pkg/analyzer/lib/src/generated/resolver.dart +++ b/pkg/analyzer/lib/src/generated/resolver.dart @@ -1479,8 +1479,8 @@ class ResolverVisitor extends ThrowingAstVisitor checkIndexExpressionIndex( node.index, readElement: - hasRead ? result.readElement2 as ExecutableElement2OrMember? : null, - writeElement: result.writeElement2 as ExecutableElement2OrMember?, + hasRead ? result.readElement2 as InternalExecutableElement? : null, + writeElement: result.writeElement2 as InternalExecutableElement?, whyNotPromoted: whyNotPromoted, ); @@ -1635,7 +1635,7 @@ class ResolverVisitor extends ThrowingAstVisitor var getter = result.getter2; if (getter != null) { fieldNode.element = getter; - if (getter is PropertyAccessorElement2OrMember) { + if (getter is InternalPropertyAccessorElement) { return (getter, SharedTypeView(getter.returnType)); } else { return (getter, SharedTypeView(getter.type)); @@ -1688,7 +1688,7 @@ class ResolverVisitor extends ThrowingAstVisitor ); } - var element = result.getter2 as MethodElement2OrMember?; + var element = result.getter2 as InternalMethodElement?; node.element = element; if (element == null) { return null; @@ -1714,13 +1714,13 @@ class ResolverVisitor extends ThrowingAstVisitor var readType = atDynamicTarget ? DynamicTypeImpl.instance : InvalidTypeImpl.instance; if (node is IndexExpression) { - if (element is MethodElement2OrMember) { + if (element is InternalMethodElement) { readType = element.returnType; } } else if (node is PrefixedIdentifier || node is PropertyAccess || node is SimpleIdentifier) { - if (element is GetterElement2OrMember) { + if (element is InternalGetterElement) { readType = element.returnType; } else if (element is VariableElement) { readType = localVariableTypeProvider.getType( @@ -1762,7 +1762,7 @@ class ResolverVisitor extends ThrowingAstVisitor var writeType = atDynamicTarget ? DynamicTypeImpl.instance : InvalidTypeImpl.instance; if (node is IndexExpression) { - if (element is MethodElement2OrMember) { + if (element is InternalMethodElement) { var parameters = element.formalParameters; if (parameters.length == 2) { writeType = parameters[1].type; @@ -1771,7 +1771,7 @@ class ResolverVisitor extends ThrowingAstVisitor } else if (node is PrefixedIdentifier || node is PropertyAccess || node is SimpleIdentifier) { - if (element is SetterElement2OrMember) { + if (element is InternalSetterElement) { if (element.isSynthetic) { writeType = element.variable.type; } else { @@ -1780,7 +1780,7 @@ class ResolverVisitor extends ThrowingAstVisitor writeType = parameters[0].type; } } - } else if (element is VariableElement2OrMember) { + } else if (element is InternalVariableElement) { writeType = element.type; } } @@ -3142,7 +3142,7 @@ class ResolverVisitor extends ThrowingAstVisitor var whyNotPromoted = flowAnalysis.flow?.whyNotPromoted(node.index); checkIndexExpressionIndex( node.index, - readElement: result.readElement2 as ExecutableElement2OrMember?, + readElement: result.readElement2 as InternalExecutableElement?, writeElement: null, whyNotPromoted: whyNotPromoted, ); @@ -4435,7 +4435,7 @@ class ResolverVisitor extends ThrowingAstVisitor DartType type; if (element is MethodElement) { type = element.type; - } else if (element is ConstructorElementMixin2) { + } else if (element is InternalConstructorElement) { type = element.type; } else if (element is GetterElement) { type = resolverResult.getType!; @@ -4580,7 +4580,7 @@ class ResolverVisitor extends ThrowingAstVisitor /// /// Returns the parameters that correspond to the arguments. If no parameter /// matched an argument, that position will be `null` in the list. - static List resolveArgumentsToParameters({ + static List resolveArgumentsToParameters({ required ArgumentList argumentList, required List formalParameters, DiagnosticReporter? diagnosticReporter, @@ -4588,11 +4588,11 @@ class ResolverVisitor extends ThrowingAstVisitor }) { int requiredParameterCount = 0; int unnamedParameterCount = 0; - var unnamedParameters = []; - Map? namedParameters; + var unnamedParameters = []; + Map? namedParameters; int length = formalParameters.length; for (int i = 0; i < length; i++) { - var parameter = formalParameters[i] as FormalParameterElementMixin; + var parameter = formalParameters[i] as InternalFormalParameterElement; if (parameter.isRequiredPositional) { unnamedParameters.add(parameter); unnamedParameterCount++; @@ -4608,7 +4608,7 @@ class ResolverVisitor extends ThrowingAstVisitor int unnamedIndex = 0; NodeList arguments = argumentList.arguments; int argumentCount = arguments.length; - var resolvedParameters = List.filled( + var resolvedParameters = List.filled( argumentCount, null, ); diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart index 71899fec659..2510bcf2701 100644 --- a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart +++ b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart @@ -273,7 +273,7 @@ class AstBinaryReader { operator: Tokens.fromType(operatorType), rightHandSide: rightHandSide, ); - node.element = _reader.readElement() as MethodElement2OrMember?; + node.element = _reader.readElement() as InternalMethodElement?; node.readElement = _reader.readElement(); node.readType = _reader.readType(); node.writeElement = _reader.readElement(); @@ -365,7 +365,7 @@ class AstBinaryReader { period: name != null ? Tokens.period() : null, name: name, ); - node.element = _reader.readElement() as ConstructorElementMixin2?; + node.element = _reader.readElement() as InternalConstructorElement?; return node; } @@ -1286,7 +1286,7 @@ class AstBinaryReader { constructorName: constructorName, argumentList: argumentList, ); - node.element = _reader.readElement() as ConstructorElementMixin2?; + node.element = _reader.readElement() as InternalConstructorElement?; _resolveNamedExpressions(node.element, node.argumentList); return node; } diff --git a/pkg/analyzer/lib/src/summary2/bundle_reader.dart b/pkg/analyzer/lib/src/summary2/bundle_reader.dart index e7371b03232..68028a39b31 100644 --- a/pkg/analyzer/lib/src/summary2/bundle_reader.dart +++ b/pkg/analyzer/lib/src/summary2/bundle_reader.dart @@ -1500,8 +1500,8 @@ class ResolutionReader { return _reader.readByte(); } - ConstructorElementMixin2? readConstructorElementMixin() { - return readElement() as ConstructorElementMixin2?; + InternalConstructorElement? readConstructorElementMixin() { + return readElement() as InternalConstructorElement?; } double readDouble() { diff --git a/pkg/analyzer/lib/src/summary2/bundle_writer.dart b/pkg/analyzer/lib/src/summary2/bundle_writer.dart index 0fe4038e468..42c881a3415 100644 --- a/pkg/analyzer/lib/src/summary2/bundle_writer.dart +++ b/pkg/analyzer/lib/src/summary2/bundle_writer.dart @@ -1014,7 +1014,7 @@ class ResolutionSink extends _SummaryDataWriter { } void _writeFormalParameters2( - List parameters, { + List parameters, { required bool withAnnotations, }) { writeList(parameters, (parameter) { @@ -1342,7 +1342,7 @@ class _SummaryDataWriter extends BufferedSink { } } - void _writeFormalParameterKind2(FormalParameterElementMixin p) { + void _writeFormalParameterKind2(InternalFormalParameterElement p) { if (p.isRequiredPositional) { writeByte(Tag.ParameterKindRequiredPositional); } else if (p.isOptionalPositional) { diff --git a/pkg/analyzer/lib/src/summary2/instance_member_inferrer.dart b/pkg/analyzer/lib/src/summary2/instance_member_inferrer.dart index 210dfd7bbb8..a9a1ed56472 100644 --- a/pkg/analyzer/lib/src/summary2/instance_member_inferrer.dart +++ b/pkg/analyzer/lib/src/summary2/instance_member_inferrer.dart @@ -40,7 +40,7 @@ class InstanceMemberInferrer { /// same kind as the [element]. bool _allSameElementKind( ExecutableElementImpl element, - List elements, + List elements, ) { var elementKind = element.kind; for (int i = 0; i < elements.length; i++) { @@ -54,10 +54,10 @@ class InstanceMemberInferrer { /// Given a method, return the parameter in the method that corresponds to the /// given [parameter]. If the parameter is positional, then it appears at the /// given [index] in its enclosing element's list of parameters. - FormalParameterElementMixin? _getCorrespondingParameter( + InternalFormalParameterElement? _getCorrespondingParameter( FormalParameterElementImpl parameter, int index, - List methodParameters, + List methodParameters, ) { // // Find the corresponding parameter. @@ -130,7 +130,7 @@ class InstanceMemberInferrer { ); if (overriddenGetters != null) { overriddenGetters = - overriddenGetters.whereType().toList(); + overriddenGetters.whereType().toList(); } else { overriddenGetters = const []; } @@ -548,7 +548,7 @@ class InstanceMemberInferrer { void _inferParameterCovariance( FormalParameterElementImpl parameter, int index, - Iterable overridden, + Iterable overridden, ) { parameter.inheritsCovariant = overridden.any((f) { var param = _getCorrespondingParameter( @@ -602,7 +602,7 @@ class InstanceMemberInferrer { /// https://github.com/dart-lang/language/issues/569 void _resetOperatorEqualParameterTypeToDynamic( MethodElementImpl element, - List overriddenElements, + List overriddenElements, ) { if (element.name != '==') return; diff --git a/pkg/analyzer/lib/src/summary2/named_type_builder.dart b/pkg/analyzer/lib/src/summary2/named_type_builder.dart index 651c03a3aa5..0dd8c61aebd 100644 --- a/pkg/analyzer/lib/src/summary2/named_type_builder.dart +++ b/pkg/analyzer/lib/src/summary2/named_type_builder.dart @@ -175,7 +175,7 @@ class NamedTypeBuilder extends TypeBuilder { } else { return FunctionTypeImpl.v2( typeParameters: const [], - formalParameters: const [], + formalParameters: const [], returnType: _dynamicType, nullabilitySuffix: NullabilitySuffix.none, ); diff --git a/pkg/analyzer/lib/src/summary2/types_builder.dart b/pkg/analyzer/lib/src/summary2/types_builder.dart index 9ea2a2f11c3..0760ab58537 100644 --- a/pkg/analyzer/lib/src/summary2/types_builder.dart +++ b/pkg/analyzer/lib/src/summary2/types_builder.dart @@ -252,7 +252,7 @@ class TypesBuilder { } } - List _formalParameters( + List _formalParameters( FormalParameterList node, ) { return node.parameters.asImpl.map((parameter) { diff --git a/pkg/analyzer/lib/src/utilities/extensions/element.dart b/pkg/analyzer/lib/src/utilities/extensions/element.dart index 2675b4b0636..a40b00cff8c 100644 --- a/pkg/analyzer/lib/src/utilities/extensions/element.dart +++ b/pkg/analyzer/lib/src/utilities/extensions/element.dart @@ -194,7 +194,7 @@ extension EnumElementImplExtension on EnumFragmentImpl { } } -extension ExecutableElement2OrMemberExtension on ExecutableElement2OrMember { +extension ExecutableElement2OrMemberExtension on InternalExecutableElement { ExecutableFragmentImpl get declarationImpl => baseElement.firstFragment; } diff --git a/pkg/analyzer/test/src/summary/element_text.dart b/pkg/analyzer/test/src/summary/element_text.dart index ebeafee3b67..7145d757544 100644 --- a/pkg/analyzer/test/src/summary/element_text.dart +++ b/pkg/analyzer/test/src/summary/element_text.dart @@ -531,7 +531,7 @@ class _Element2Writer extends _AbstractElementWriter { } void _writeFieldElement(FieldElementImpl e) { - e as FieldElement2OrMember; + e as InternalFieldElement; DartType type = e.type; expect(type, isNotNull); diff --git a/pkg/linter/lib/src/extensions.dart b/pkg/linter/lib/src/extensions.dart index 6af2df88c67..18cdd28afbf 100644 --- a/pkg/linter/lib/src/extensions.dart +++ b/pkg/linter/lib/src/extensions.dart @@ -623,7 +623,7 @@ extension MethodDeclarationExtension on MethodDeclaration { var methodName = Name.forElement(declaredElement); if (methodName == null) return null; var inherited = parent.getInheritedMember(methodName); - if (inherited is MethodElement2OrMember) return inherited; + if (inherited is InternalMethodElement) return inherited; } } return null; diff --git a/pkg/linter/lib/src/rules/overridden_fields.dart b/pkg/linter/lib/src/rules/overridden_fields.dart index b2fce15f051..b2fbc170381 100644 --- a/pkg/linter/lib/src/rules/overridden_fields.dart +++ b/pkg/linter/lib/src/rules/overridden_fields.dart @@ -44,7 +44,7 @@ class _Visitor extends SimpleAstVisitor { var overriddenMember = parent.getInheritedConcreteMember( Name(parent.library.uri, variable.name.lexeme), ); - if (overriddenMember is GetterElement2OrMember && + if (overriddenMember is InternalGetterElement && overriddenMember.isSynthetic) { var definingInterface = overriddenMember.enclosingElement; rule.reportAtToken(