Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 6907e93

Browse files
author
Dart CI
committed
Version 2.15.0-270.0.dev
Merge commit '0d74a3e436c4d5b67054b6dc4ba01b0c61057849' into 'dev'
2 parents eb4781f + 0d74a3e commit 6907e93

File tree

14 files changed

+450
-451
lines changed

14 files changed

+450
-451
lines changed

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class FunctionReferenceResolver {
4040

4141
ErrorReporter get _errorReporter => _resolver.errorReporter;
4242

43-
NullabilitySuffix get _nullabilitySuffixForTypeNames =>
43+
NullabilitySuffix get _nullabilitySuffix =>
4444
_isNonNullableByDefault ? NullabilitySuffix.none : NullabilitySuffix.star;
4545

4646
void resolve(FunctionReferenceImpl node) {
@@ -310,7 +310,7 @@ class FunctionReferenceResolver {
310310
);
311311
var type = element.instantiate(
312312
typeArguments: typeArguments,
313-
nullabilitySuffix: _nullabilitySuffixForTypeNames,
313+
nullabilitySuffix: _nullabilitySuffix,
314314
);
315315
_resolveTypeLiteral(node: node, instantiatedType: type, name: name);
316316
}
@@ -783,8 +783,9 @@ class FunctionReferenceResolver {
783783
CompileTimeErrorCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS,
784784
);
785785
var type = element.instantiate(
786-
typeArguments: typeArguments,
787-
nullabilitySuffix: _nullabilitySuffixForTypeNames);
786+
typeArguments: typeArguments,
787+
nullabilitySuffix: _nullabilitySuffix,
788+
);
788789
_resolveTypeLiteral(node: node, instantiatedType: type, name: typeAlias);
789790
}
790791

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

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
6363
final bool _isNonNullableByDefault;
6464
final ErrorReporter _errorReporter;
6565
final AstRewriter _astRewriter;
66-
final NamedTypeResolver _typeNameResolver;
66+
final NamedTypeResolver _namedTypeResolver;
6767

6868
/// This index is incremented every time we visit a [LibraryDirective].
6969
/// There is just one [LibraryElement], so we can support only one node.
@@ -103,7 +103,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
103103
isNonNullableByDefault: isNonNullableByDefault,
104104
);
105105

106-
var typeNameResolver = NamedTypeResolver(
106+
var namedTypeResolver = NamedTypeResolver(
107107
libraryElement,
108108
typeProvider,
109109
isNonNullableByDefault,
@@ -117,7 +117,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
117117
isNonNullableByDefault,
118118
errorReporter,
119119
AstRewriter(errorReporter, typeProvider),
120-
typeNameResolver,
120+
namedTypeResolver,
121121
nameScope,
122122
elementWalker,
123123
ElementHolder(unitElement),
@@ -131,7 +131,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
131131
this._isNonNullableByDefault,
132132
this._errorReporter,
133133
this._astRewriter,
134-
this._typeNameResolver,
134+
this._namedTypeResolver,
135135
this._nameScope,
136136
this._elementWalker,
137137
this._elementHolder,
@@ -218,7 +218,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
218218
void visitClassDeclaration(covariant ClassDeclarationImpl node) {
219219
ClassElementImpl element = _elementWalker!.getClass();
220220
node.name.staticElement = element;
221-
_typeNameResolver.enclosingClass = element;
221+
_namedTypeResolver.enclosingClass = element;
222222

223223
node.metadata.accept(this);
224224
_setElementAnnotations(node.metadata, element.metadata);
@@ -247,14 +247,14 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
247247
});
248248
});
249249

250-
_typeNameResolver.enclosingClass = null;
250+
_namedTypeResolver.enclosingClass = null;
251251
}
252252

253253
@override
254254
void visitClassTypeAlias(covariant ClassTypeAliasImpl node) {
255255
ClassElementImpl element = _elementWalker!.getClass();
256256
node.name.staticElement = element;
257-
_typeNameResolver.enclosingClass = element;
257+
_namedTypeResolver.enclosingClass = element;
258258

259259
node.metadata.accept(this);
260260
_setElementAnnotations(node.metadata, element.metadata);
@@ -275,7 +275,7 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
275275
});
276276
});
277277

278-
_typeNameResolver.enclosingClass = null;
278+
_namedTypeResolver.enclosingClass = null;
279279
}
280280

281281
@override
@@ -885,11 +885,11 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
885885
void visitNamedType(covariant NamedTypeImpl node) {
886886
node.typeArguments?.accept(this);
887887

888-
_typeNameResolver.nameScope = _nameScope;
889-
_typeNameResolver.resolve(node);
888+
_namedTypeResolver.nameScope = _nameScope;
889+
_namedTypeResolver.resolve(node);
890890

891-
if (_typeNameResolver.rewriteResult != null) {
892-
_typeNameResolver.rewriteResult!.accept(this);
891+
if (_namedTypeResolver.rewriteResult != null) {
892+
_namedTypeResolver.rewriteResult!.accept(this);
893893
}
894894
}
895895

@@ -1242,11 +1242,11 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
12421242
if (redirectedConstructor == null) return;
12431243

12441244
var namedType = redirectedConstructor.type2;
1245-
_typeNameResolver.redirectedConstructor_namedType = namedType;
1245+
_namedTypeResolver.redirectedConstructor_namedType = namedType;
12461246

12471247
redirectedConstructor.accept(this);
12481248

1249-
_typeNameResolver.redirectedConstructor_namedType = null;
1249+
_namedTypeResolver.redirectedConstructor_namedType = null;
12501250
}
12511251

12521252
/// Return the [InterfaceType] of the given [namedType].
@@ -1258,11 +1258,11 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
12581258
/// classes).
12591259
void _resolveType(NamedTypeImpl namedType, ErrorCode errorCode,
12601260
{bool asClass = false}) {
1261-
_typeNameResolver.classHierarchy_namedType = namedType;
1261+
_namedTypeResolver.classHierarchy_namedType = namedType;
12621262
visitNamedType(namedType);
1263-
_typeNameResolver.classHierarchy_namedType = null;
1263+
_namedTypeResolver.classHierarchy_namedType = null;
12641264

1265-
if (_typeNameResolver.hasErrorReported) {
1265+
if (_namedTypeResolver.hasErrorReported) {
12661266
return;
12671267
}
12681268

@@ -1303,12 +1303,12 @@ class ResolutionVisitor extends RecursiveAstVisitor<void> {
13031303
if (clause == null) return;
13041304

13051305
for (var namedType in clause.mixinTypes2) {
1306-
_typeNameResolver.withClause_namedType = namedType;
1306+
_namedTypeResolver.withClause_namedType = namedType;
13071307
_resolveType(
13081308
namedType as NamedTypeImpl,
13091309
CompileTimeErrorCode.MIXIN_OF_NON_CLASS,
13101310
);
1311-
_typeNameResolver.withClause_namedType = null;
1311+
_namedTypeResolver.withClause_namedType = null;
13121312
}
13131313
}
13141314

pkg/analyzer/lib/src/generated/testing/ast_test_factory.dart

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1100,6 +1100,42 @@ class AstTestFactory {
11001100
: TokenFactory.tokenFromType(TokenType.COLON),
11011101
expression);
11021102

1103+
/// Create a type name whose name has been resolved to the given [element] and
1104+
/// whose type has been resolved to the type of the given element.
1105+
///
1106+
/// <b>Note:</b> This method does not correctly handle class elements that
1107+
/// have type parameters.
1108+
static NamedTypeImpl namedType(ClassElement element,
1109+
[List<TypeAnnotation>? arguments]) {
1110+
var name = identifier3(element.name);
1111+
name.staticElement = element;
1112+
var typeName = namedType3(name, arguments);
1113+
typeName.type = element.instantiate(
1114+
typeArguments: List.filled(
1115+
element.typeParameters.length,
1116+
DynamicTypeImpl.instance,
1117+
),
1118+
nullabilitySuffix: NullabilitySuffix.star,
1119+
);
1120+
return typeName;
1121+
}
1122+
1123+
static NamedTypeImpl namedType3(Identifier name,
1124+
[List<TypeAnnotation>? arguments]) =>
1125+
astFactory.namedType(
1126+
name: name,
1127+
typeArguments: typeArgumentList(arguments),
1128+
);
1129+
1130+
static NamedTypeImpl namedType4(String name,
1131+
[List<TypeAnnotation>? arguments, bool question = false]) =>
1132+
astFactory.namedType(
1133+
name: identifier3(name),
1134+
typeArguments: typeArgumentList(arguments),
1135+
question:
1136+
question ? TokenFactory.tokenFromType(TokenType.QUESTION) : null,
1137+
);
1138+
11031139
static NativeClauseImpl nativeClause(String nativeCode) =>
11041140
astFactory.nativeClause(
11051141
TokenFactory.tokenFromString("native"), string2(nativeCode));
@@ -1422,42 +1458,6 @@ class AstTestFactory {
14221458
types, TokenFactory.tokenFromType(TokenType.GT));
14231459
}
14241460

1425-
/// Create a type name whose name has been resolved to the given [element] and
1426-
/// whose type has been resolved to the type of the given element.
1427-
///
1428-
/// <b>Note:</b> This method does not correctly handle class elements that
1429-
/// have type parameters.
1430-
static NamedTypeImpl typeName(ClassElement element,
1431-
[List<TypeAnnotation>? arguments]) {
1432-
var name = identifier3(element.name);
1433-
name.staticElement = element;
1434-
var typeName = typeName3(name, arguments);
1435-
typeName.type = element.instantiate(
1436-
typeArguments: List.filled(
1437-
element.typeParameters.length,
1438-
DynamicTypeImpl.instance,
1439-
),
1440-
nullabilitySuffix: NullabilitySuffix.star,
1441-
);
1442-
return typeName;
1443-
}
1444-
1445-
static NamedTypeImpl typeName3(Identifier name,
1446-
[List<TypeAnnotation>? arguments]) =>
1447-
astFactory.namedType(
1448-
name: name,
1449-
typeArguments: typeArgumentList(arguments),
1450-
);
1451-
1452-
static NamedTypeImpl typeName4(String name,
1453-
[List<TypeAnnotation>? arguments, bool question = false]) =>
1454-
astFactory.namedType(
1455-
name: identifier3(name),
1456-
typeArguments: typeArgumentList(arguments),
1457-
question:
1458-
question ? TokenFactory.tokenFromType(TokenType.QUESTION) : null,
1459-
);
1460-
14611461
static TypeParameterImpl typeParameter(String name) =>
14621462
astFactory.typeParameter(null, null, identifier3(name), null, null);
14631463

pkg/analyzer/lib/src/generated/testing/element_factory.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ class ElementFactory {
358358
ConstTopLevelVariableElementImpl(name, -1);
359359
var typeElement = type.element as ClassElement;
360360
var initializer = AstTestFactory.instanceCreationExpression2(
361-
Keyword.CONST, AstTestFactory.typeName(typeElement));
361+
Keyword.CONST, AstTestFactory.namedType(typeElement));
362362
if (type is InterfaceType) {
363363
var element = typeElement.unnamedConstructor;
364364
initializer.constructorName.staticElement = element;

pkg/analyzer/test/dart/ast/ast_test.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ class ClassTypeAliasTest extends ParserTestCase {
122122
"A",
123123
null,
124124
null,
125-
AstTestFactory.typeName4('B'),
126-
AstTestFactory.withClause([AstTestFactory.typeName4('M')]),
125+
AstTestFactory.namedType4('B'),
126+
AstTestFactory.withClause([AstTestFactory.namedType4('M')]),
127127
null)
128128
.isAbstract,
129129
isFalse);
@@ -132,8 +132,8 @@ class ClassTypeAliasTest extends ParserTestCase {
132132
"B",
133133
null,
134134
Keyword.ABSTRACT,
135-
AstTestFactory.typeName4('A'),
136-
AstTestFactory.withClause([AstTestFactory.typeName4('M')]),
135+
AstTestFactory.namedType4('A'),
136+
AstTestFactory.withClause([AstTestFactory.namedType4('M')]),
137137
null)
138138
.isAbstract,
139139
isTrue);
@@ -1142,7 +1142,7 @@ class SimpleIdentifierTest extends ParserTestCase {
11421142

11431143
void test_isQualified_inConstructorName() {
11441144
ConstructorName constructor = AstTestFactory.constructorName(
1145-
AstTestFactory.typeName4('MyClass'), "test");
1145+
AstTestFactory.namedType4('MyClass'), "test");
11461146
SimpleIdentifier name = constructor.name!;
11471147
expect(name.isQualified, isTrue);
11481148
}

pkg/analyzer/test/generated/element_resolver_test.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ class ElementResolverTest with ResourceProviderMixin, ElementsTypesMixin {
444444
ElementFactory.constructorElement2(classA, constructorName);
445445
classA.constructors = <ConstructorElement>[constructor];
446446
ConstructorName name = AstTestFactory.constructorName(
447-
AstTestFactory.typeName(classA), constructorName);
447+
AstTestFactory.namedType(classA), constructorName);
448448
_resolveNode(name);
449449
expect(name.staticElement, same(constructor));
450450
_listener.assertNoErrors();
@@ -458,7 +458,7 @@ class ElementResolverTest with ResourceProviderMixin, ElementsTypesMixin {
458458
ElementFactory.constructorElement2(classA, constructorName);
459459
classA.constructors = <ConstructorElement>[constructor];
460460
ConstructorName name = AstTestFactory.constructorName(
461-
AstTestFactory.typeName(classA), constructorName);
461+
AstTestFactory.namedType(classA), constructorName);
462462
_resolveNode(name);
463463
expect(name.staticElement, same(constructor));
464464
_listener.assertNoErrors();
@@ -573,7 +573,7 @@ class ElementResolverTest with ResourceProviderMixin, ElementsTypesMixin {
573573
ElementFactory.constructorElement2(classA, constructorName);
574574
classA.constructors = <ConstructorElement>[constructor];
575575
var name = AstTestFactory.constructorName(
576-
AstTestFactory.typeName(classA), constructorName);
576+
AstTestFactory.namedType(classA), constructorName);
577577
name.staticElement = constructor;
578578
InstanceCreationExpression creation =
579579
AstTestFactory.instanceCreationExpression(Keyword.NEW, name);
@@ -588,7 +588,7 @@ class ElementResolverTest with ResourceProviderMixin, ElementsTypesMixin {
588588
ElementFactory.constructorElement2(classA, constructorName);
589589
classA.constructors = <ConstructorElement>[constructor];
590590
var name = AstTestFactory.constructorName(
591-
AstTestFactory.typeName(classA), constructorName);
591+
AstTestFactory.namedType(classA), constructorName);
592592
name.staticElement = constructor;
593593
InstanceCreationExpression creation =
594594
AstTestFactory.instanceCreationExpression(Keyword.NEW, name);
@@ -607,7 +607,7 @@ class ElementResolverTest with ResourceProviderMixin, ElementsTypesMixin {
607607
constructor.parameters = <ParameterElement>[parameter];
608608
classA.constructors = <ConstructorElement>[constructor];
609609
var name = AstTestFactory.constructorName(
610-
AstTestFactory.typeName(classA), constructorName);
610+
AstTestFactory.namedType(classA), constructorName);
611611
name.staticElement = constructor;
612612
InstanceCreationExpression creation =
613613
AstTestFactory.instanceCreationExpression(Keyword.NEW, name, [

pkg/analyzer/test/generated/static_type_analyzer_test.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ class StaticTypeAnalyzerTest with ResourceProviderMixin, ElementsTypesMixin {
230230
InterfaceType superclassType = interfaceTypeStar(superclass);
231231
ClassElement subclass = ElementFactory.classElement("B", superclassType);
232232
Expression node = AstTestFactory.asExpression(
233-
AstTestFactory.thisExpression(), AstTestFactory.typeName(subclass));
233+
AstTestFactory.thisExpression(), AstTestFactory.namedType(subclass));
234234
expect(_analyze(node, superclassType), interfaceTypeStar(subclass));
235235
_listener.assertNoErrors();
236236
}
@@ -315,7 +315,7 @@ class StaticTypeAnalyzerTest with ResourceProviderMixin, ElementsTypesMixin {
315315
InstanceCreationExpression node =
316316
AstTestFactory.instanceCreationExpression2(
317317
null,
318-
AstTestFactory.typeName(classElement),
318+
AstTestFactory.namedType(classElement),
319319
[AstTestFactory.identifier3(constructorName)]);
320320
expect(_analyze(node), interfaceTypeStar(classElement));
321321
_listener.assertNoErrors();
@@ -328,8 +328,8 @@ class StaticTypeAnalyzerTest with ResourceProviderMixin, ElementsTypesMixin {
328328
ConstructorElementImpl constructor =
329329
ElementFactory.constructorElement2(elementC, null);
330330
elementC.constructors = <ConstructorElement>[constructor];
331-
var typeName =
332-
AstTestFactory.typeName(elementC, [AstTestFactory.typeName(elementI)]);
331+
var typeName = AstTestFactory.namedType(
332+
elementC, [AstTestFactory.namedType(elementI)]);
333333
typeName.type = interfaceTypeStar(elementC,
334334
typeArguments: [interfaceTypeStar(elementI)]);
335335
InstanceCreationExpression node =
@@ -349,7 +349,7 @@ class StaticTypeAnalyzerTest with ResourceProviderMixin, ElementsTypesMixin {
349349
classElement.constructors = <ConstructorElement>[constructor];
350350
InstanceCreationExpression node =
351351
AstTestFactory.instanceCreationExpression2(
352-
null, AstTestFactory.typeName(classElement));
352+
null, AstTestFactory.namedType(classElement));
353353
expect(_analyze(node), interfaceTypeStar(classElement));
354354
_listener.assertNoErrors();
355355
}
@@ -365,15 +365,15 @@ class StaticTypeAnalyzerTest with ResourceProviderMixin, ElementsTypesMixin {
365365
void test_visitIsExpression_negated() {
366366
// a is! String
367367
Expression node = AstTestFactory.isExpression(
368-
_resolvedString("a"), true, AstTestFactory.typeName4("String"));
368+
_resolvedString("a"), true, AstTestFactory.namedType4("String"));
369369
expect(_analyze(node), same(_typeProvider.boolType));
370370
_listener.assertNoErrors();
371371
}
372372

373373
void test_visitIsExpression_notNegated() {
374374
// a is String
375375
Expression node = AstTestFactory.isExpression(
376-
_resolvedString("a"), false, AstTestFactory.typeName4("String"));
376+
_resolvedString("a"), false, AstTestFactory.namedType4("String"));
377377
expect(_analyze(node), same(_typeProvider.boolType));
378378
_listener.assertNoErrors();
379379
}

0 commit comments

Comments
 (0)