Skip to content

Commit e389cee

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Migrate ConstructorElementToInfer to ConstructorElementMixin2 only.
Change-Id: I4a7f1dea4abbdb439dedb9e2019c42732b798e58 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/436720 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent c913e9d commit e389cee

File tree

3 files changed

+10
-17
lines changed

3 files changed

+10
-17
lines changed

pkg/analyzer/lib/src/dart/resolver/constructor_reference_resolver.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ class ConstructorReferenceResolver {
107107
// Otherwise we'll have a ConstructorElement, and we can skip inference
108108
// because there's nothing to infer in a non-generic type.
109109
if (elementToInfer != null &&
110-
elementToInfer.typeParameters2.isNotEmpty &&
110+
elementToInfer.typeParameters.isNotEmpty &&
111111
constructorName.type.typeArguments == null) {
112112
// TODO(leafp): Currently, we may re-infer types here, since we
113113
// sometimes resolve multiple times. We should really check that we
@@ -119,7 +119,7 @@ class ConstructorReferenceResolver {
119119
// Get back to the uninstantiated generic constructor.
120120
// TODO(jmesserly): should we store this earlier in resolution?
121121
// Or look it up, instead of jumping backwards through the Member?
122-
var rawElement = elementToInfer.element2.baseElement;
122+
var rawElement = elementToInfer.element.baseElement;
123123
var constructorType = elementToInfer.asType;
124124

125125
var inferred =

pkg/analyzer/lib/src/dart/resolver/invocation_inference_helper.dart

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import 'package:analyzer/src/dart/element/type_constraint_gatherer.dart';
1515
import 'package:analyzer/src/dart/element/type_system.dart';
1616
import 'package:analyzer/src/dart/resolver/invocation_inferrer.dart';
1717
import 'package:analyzer/src/generated/resolver.dart';
18-
import 'package:analyzer/src/utilities/extensions/element.dart';
1918

2019
/// Information about a constructor element to instantiate.
2120
///
@@ -31,12 +30,12 @@ import 'package:analyzer/src/utilities/extensions/element.dart';
3130
/// are the type parameters of the alias.
3231
class ConstructorElementToInfer {
3332
/// The type parameters used in [element].
34-
final List<TypeParameterElementImpl> typeParameters2;
33+
final List<TypeParameterElementImpl> typeParameters;
3534

3635
/// The element, might be [ConstructorMember].
37-
final ConstructorElementMixin2 element2;
36+
final ConstructorElementMixin2 element;
3837

39-
ConstructorElementToInfer(this.typeParameters2, this.element2);
38+
ConstructorElementToInfer(this.typeParameters, this.element);
4039

4140
/// Return the equivalent generic function type that we could use to
4241
/// forward to the constructor, or for a non-generic type simply returns
@@ -47,19 +46,13 @@ class ConstructorElementToInfer {
4746
FunctionType get asType {
4847
return typeParameters.isEmpty
4948
? element.type
50-
: FunctionTypeImpl(
51-
typeFormals: typeParameters,
52-
parameters: element.parameters.map((f) => f.asElement2).toList(),
49+
: FunctionTypeImpl.v2(
50+
typeParameters: typeParameters,
51+
formalParameters: element.formalParameters,
5352
returnType: element.returnType,
5453
nullabilitySuffix: NullabilitySuffix.none,
5554
);
5655
}
57-
58-
ConstructorElementMixin get element => element2.asElement;
59-
60-
List<TypeParameterFragmentImpl> get typeParameters {
61-
return typeParameters2.map((e) => e.asElement).toList();
62-
}
6356
}
6457

6558
class InvocationInferenceHelper {

pkg/analyzer/lib/src/dart/resolver/property_element_resolver.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class PropertyElementResolver with ScopeHelpers {
8686
definingLibrary: _resolver.definingLibrary,
8787
);
8888
if (elementToInfer != null &&
89-
elementToInfer.typeParameters2.isNotEmpty) {
89+
elementToInfer.typeParameters.isNotEmpty) {
9090
var inferred =
9191
_resolver.inferenceHelper.inferTearOff(
9292
node,
@@ -97,7 +97,7 @@ class PropertyElementResolver with ScopeHelpers {
9797
as FunctionType;
9898
var inferredType = inferred.returnType;
9999
var constructorElement = ConstructorMember.from2(
100-
elementToInfer.element2.baseElement,
100+
elementToInfer.element.baseElement,
101101
inferredType as InterfaceType,
102102
);
103103
node.propertyName.element = constructorElement.baseElement;

0 commit comments

Comments
 (0)