mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 02:47:36 +00:00
Rename assertTypeName() to assertNamedType().
Change-Id: I959da4662efccdb1d89fbf13eb23220439e6dd34 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213980 Reviewed-by: Samuel Rawlins <srawlins@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
parent
5c719b3bd3
commit
0c893bfd7f
|
@ -2463,11 +2463,11 @@ var b = new C<num, String>.named(4, 'five');
|
|||
assertType(creation, 'C<int, double>');
|
||||
|
||||
var typeName = creation.constructorName.type;
|
||||
assertTypeName(typeName, cElement, 'C<int, double>');
|
||||
assertNamedType(typeName, cElement, 'C<int, double>');
|
||||
|
||||
var typeArguments = typeName.typeArguments!.arguments;
|
||||
assertTypeName(typeArguments[0] as TypeName, intElement, 'int');
|
||||
assertTypeName(typeArguments[1] as TypeName, doubleElement, 'double');
|
||||
assertNamedType(typeArguments[0] as TypeName, intElement, 'int');
|
||||
assertNamedType(typeArguments[1] as TypeName, doubleElement, 'double');
|
||||
|
||||
expect(creation.constructorName.name, isNull);
|
||||
|
||||
|
@ -2482,11 +2482,11 @@ var b = new C<num, String>.named(4, 'five');
|
|||
assertType(creation, 'C<num, String>');
|
||||
|
||||
var typeName = creation.constructorName.type;
|
||||
assertTypeName(typeName, cElement, 'C<num, String>');
|
||||
assertNamedType(typeName, cElement, 'C<num, String>');
|
||||
|
||||
var typeArguments = typeName.typeArguments!.arguments;
|
||||
assertTypeName(typeArguments[0] as TypeName, numElement, 'num');
|
||||
assertTypeName(typeArguments[1] as TypeName, stringElement, 'String');
|
||||
assertNamedType(typeArguments[0] as TypeName, numElement, 'num');
|
||||
assertNamedType(typeArguments[1] as TypeName, stringElement, 'String');
|
||||
|
||||
var constructorName = creation.constructorName.name;
|
||||
assertMember(
|
||||
|
@ -2587,7 +2587,7 @@ const int b = a as int;
|
|||
assertElement(aRef, findElement.topGet('a'));
|
||||
assertType(aRef, 'num');
|
||||
|
||||
assertTypeName(findNode.typeName('int;'), intElement, 'int');
|
||||
assertNamedType(findNode.typeName('int;'), intElement, 'int');
|
||||
}
|
||||
|
||||
test_invalid_const_constructor_initializer_field_multiple() async {
|
||||
|
@ -2907,13 +2907,13 @@ main() {
|
|||
await resolveTestFile();
|
||||
expect(result.errors, isNotEmpty);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('a.Future'),
|
||||
futureElement,
|
||||
'Future<int>',
|
||||
expectedPrefix: findElement.import('dart:async').prefix,
|
||||
);
|
||||
assertTypeName(findNode.typeName('int>'), intElement, 'int');
|
||||
assertNamedType(findNode.typeName('int>'), intElement, 'int');
|
||||
}
|
||||
|
||||
test_invalid_fieldInitializer_field() async {
|
||||
|
@ -5622,7 +5622,7 @@ const b = C.named(); // ref
|
|||
assertElement(creation, c.unnamedConstructor);
|
||||
assertType(creation, 'C');
|
||||
|
||||
assertTypeName(creation.constructorName.type, c, 'C');
|
||||
assertNamedType(creation.constructorName.type, c, 'C');
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -5631,7 +5631,7 @@ const b = C.named(); // ref
|
|||
assertElement(creation, namedConstructor);
|
||||
assertType(creation, 'C');
|
||||
|
||||
assertTypeName(creation.constructorName.type, c, 'C');
|
||||
assertNamedType(creation.constructorName.type, c, 'C');
|
||||
assertElement(creation.constructorName.name, namedConstructor);
|
||||
}
|
||||
}
|
||||
|
@ -5658,7 +5658,7 @@ const b = p.C.named(); // ref
|
|||
assertElement(creation, c.unnamedConstructor);
|
||||
assertType(creation, 'C');
|
||||
|
||||
assertTypeName(creation.constructorName.type, c, 'C',
|
||||
assertNamedType(creation.constructorName.type, c, 'C',
|
||||
expectedPrefix: import.prefix);
|
||||
}
|
||||
|
||||
|
@ -5668,7 +5668,7 @@ const b = p.C.named(); // ref
|
|||
assertElement(creation, namedConstructor);
|
||||
assertType(creation, 'C');
|
||||
|
||||
assertTypeName(creation.constructorName.type, c, 'C',
|
||||
assertNamedType(creation.constructorName.type, c, 'C',
|
||||
expectedPrefix: import.prefix);
|
||||
assertElement(creation.constructorName.name, namedConstructor);
|
||||
}
|
||||
|
@ -5692,8 +5692,8 @@ const b = C<String>.named(); // ref
|
|||
assertMember(creation, c.unnamedConstructor!, {'T': 'int'});
|
||||
assertType(creation, 'C<int>');
|
||||
|
||||
assertTypeName(creation.constructorName.type, c, 'C<int>');
|
||||
assertTypeName(findNode.typeName('int>'), intElement, 'int');
|
||||
assertNamedType(creation.constructorName.type, c, 'C<int>');
|
||||
assertNamedType(findNode.typeName('int>'), intElement, 'int');
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -5702,8 +5702,8 @@ const b = C<String>.named(); // ref
|
|||
assertMember(creation, namedConstructor, {'T': 'String'});
|
||||
assertType(creation, 'C<String>');
|
||||
|
||||
assertTypeName(creation.constructorName.type, c, 'C<String>');
|
||||
assertTypeName(findNode.typeName('String>'), stringElement, 'String');
|
||||
assertNamedType(creation.constructorName.type, c, 'C<String>');
|
||||
assertNamedType(findNode.typeName('String>'), stringElement, 'String');
|
||||
|
||||
assertMember(
|
||||
creation.constructorName.name, namedConstructor, {'T': 'String'});
|
||||
|
@ -5718,10 +5718,10 @@ class A extends Object with Map<int> {}
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var mapRef = findNode.typeName('Map<');
|
||||
assertTypeName(mapRef, mapElement, 'Map<dynamic, dynamic>');
|
||||
assertNamedType(mapRef, mapElement, 'Map<dynamic, dynamic>');
|
||||
|
||||
var intRef = findNode.typeName('int>');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
}
|
||||
|
||||
test_outline_invalid_mixin_arguments_tooMany() async {
|
||||
|
@ -5732,13 +5732,13 @@ class A extends Object with List<int, double> {}
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var listRef = findNode.typeName('List<');
|
||||
assertTypeName(listRef, listElement, 'List<dynamic>');
|
||||
assertNamedType(listRef, listElement, 'List<dynamic>');
|
||||
|
||||
var intRef = findNode.typeName('int,');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
|
||||
var doubleRef = findNode.typeName('double>');
|
||||
assertTypeName(doubleRef, doubleElement, 'double');
|
||||
assertNamedType(doubleRef, doubleElement, 'double');
|
||||
}
|
||||
|
||||
test_outline_invalid_mixin_typeParameter() async {
|
||||
|
@ -5749,13 +5749,13 @@ class A<T> extends Object with T<int, double> {}
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var tRef = findNode.typeName('T<');
|
||||
assertTypeName(tRef, findElement.typeParameter('T'), 'T');
|
||||
assertNamedType(tRef, findElement.typeParameter('T'), 'T');
|
||||
|
||||
var intRef = findNode.typeName('int,');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
|
||||
var doubleRef = findNode.typeName('double>');
|
||||
assertTypeName(doubleRef, doubleElement, 'double');
|
||||
assertNamedType(doubleRef, doubleElement, 'double');
|
||||
}
|
||||
|
||||
test_outline_invalid_supertype_arguments_tooFew() async {
|
||||
|
@ -5766,10 +5766,10 @@ class A extends Map<int> {}
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var mapRef = findNode.typeName('Map<');
|
||||
assertTypeName(mapRef, mapElement, 'Map<dynamic, dynamic>');
|
||||
assertNamedType(mapRef, mapElement, 'Map<dynamic, dynamic>');
|
||||
|
||||
var intRef = findNode.typeName('int>');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
}
|
||||
|
||||
test_outline_invalid_supertype_arguments_tooMany() async {
|
||||
|
@ -5780,13 +5780,13 @@ class A extends List<int, double> {}
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var listRef = findNode.typeName('List<');
|
||||
assertTypeName(listRef, listElement, 'List<dynamic>');
|
||||
assertNamedType(listRef, listElement, 'List<dynamic>');
|
||||
|
||||
var intRef = findNode.typeName('int,');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
|
||||
var doubleRef = findNode.typeName('double>');
|
||||
assertTypeName(doubleRef, doubleElement, 'double');
|
||||
assertNamedType(doubleRef, doubleElement, 'double');
|
||||
}
|
||||
|
||||
test_outline_invalid_supertype_hasArguments() async {
|
||||
|
@ -5797,13 +5797,13 @@ class A extends X<int, double> {}
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var xRef = findNode.typeName('X<');
|
||||
assertTypeName(xRef, null, 'dynamic');
|
||||
assertNamedType(xRef, null, 'dynamic');
|
||||
|
||||
var intRef = findNode.typeName('int,');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
|
||||
var doubleRef = findNode.typeName('double>');
|
||||
assertTypeName(doubleRef, doubleElement, 'double');
|
||||
assertNamedType(doubleRef, doubleElement, 'double');
|
||||
}
|
||||
|
||||
test_outline_invalid_supertype_noArguments() async {
|
||||
|
@ -5814,7 +5814,7 @@ class A extends X {}
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var xRef = findNode.typeName('X {}');
|
||||
assertTypeName(xRef, null, 'dynamic');
|
||||
assertNamedType(xRef, null, 'dynamic');
|
||||
}
|
||||
|
||||
test_outline_invalid_supertype_typeParameter() async {
|
||||
|
@ -5825,13 +5825,13 @@ class A<T> extends T<int, double> {}
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var tRef = findNode.typeName('T<');
|
||||
assertTypeName(tRef, findElement.typeParameter('T'), 'T');
|
||||
assertNamedType(tRef, findElement.typeParameter('T'), 'T');
|
||||
|
||||
var intRef = findNode.typeName('int,');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
|
||||
var doubleRef = findNode.typeName('double>');
|
||||
assertTypeName(doubleRef, doubleElement, 'double');
|
||||
assertNamedType(doubleRef, doubleElement, 'double');
|
||||
}
|
||||
|
||||
test_outline_invalid_type_arguments_tooFew() async {
|
||||
|
@ -5842,10 +5842,10 @@ typedef Map<int> F();
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var mapRef = findNode.typeName('Map<');
|
||||
assertTypeName(mapRef, mapElement, 'Map<dynamic, dynamic>');
|
||||
assertNamedType(mapRef, mapElement, 'Map<dynamic, dynamic>');
|
||||
|
||||
var intRef = findNode.typeName('int>');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
}
|
||||
|
||||
test_outline_invalid_type_arguments_tooMany() async {
|
||||
|
@ -5856,13 +5856,13 @@ typedef List<int, double> F();
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var listRef = findNode.typeName('List<');
|
||||
assertTypeName(listRef, listElement, 'List<dynamic>');
|
||||
assertNamedType(listRef, listElement, 'List<dynamic>');
|
||||
|
||||
var intRef = findNode.typeName('int,');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
|
||||
var doubleRef = findNode.typeName('double>');
|
||||
assertTypeName(doubleRef, doubleElement, 'double');
|
||||
assertNamedType(doubleRef, doubleElement, 'double');
|
||||
}
|
||||
|
||||
test_outline_invalid_type_typeParameter() async {
|
||||
|
@ -5873,10 +5873,10 @@ typedef T<int> F<T>();
|
|||
expect(result.errors, isNotEmpty);
|
||||
|
||||
var tRef = findNode.typeName('T<');
|
||||
assertTypeName(tRef, findElement.typeParameter('T'), 'T');
|
||||
assertNamedType(tRef, findElement.typeParameter('T'), 'T');
|
||||
|
||||
var intRef = findNode.typeName('int>');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
}
|
||||
|
||||
test_outline_type_genericFunction() async {
|
||||
|
@ -5887,13 +5887,13 @@ int Function(double) g() => (double g) => 0;
|
|||
expect(result.errors, isEmpty);
|
||||
|
||||
var intRef = findNode.typeName('int Function');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
|
||||
var functionRef = findNode.genericFunctionType('Function(double)');
|
||||
assertType(functionRef, 'int Function(double)');
|
||||
|
||||
var doubleRef = findNode.typeName('double) g');
|
||||
assertTypeName(doubleRef, doubleElement, 'double');
|
||||
assertNamedType(doubleRef, doubleElement, 'double');
|
||||
}
|
||||
|
||||
test_outline_type_topLevelVar_named() async {
|
||||
|
@ -5905,13 +5905,13 @@ List<double> b = [];
|
|||
expect(result.errors, isEmpty);
|
||||
|
||||
var intRef = findNode.typeName('int a');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
|
||||
var listRef = findNode.typeName('List<double> b');
|
||||
assertTypeName(listRef, listElement, 'List<double>');
|
||||
assertNamedType(listRef, listElement, 'List<double>');
|
||||
|
||||
var doubleRef = findNode.typeName('double> b');
|
||||
assertTypeName(doubleRef, doubleElement, 'double');
|
||||
assertNamedType(doubleRef, doubleElement, 'double');
|
||||
}
|
||||
|
||||
test_outline_type_topLevelVar_named_prefixed() async {
|
||||
|
@ -5923,10 +5923,10 @@ my.Future<int> a;
|
|||
ImportElement myImport = result.libraryElement.imports[0];
|
||||
|
||||
var intRef = findNode.typeName('int> a');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
|
||||
var futureRef = findNode.typeName('my.Future<int> a');
|
||||
assertTypeName(futureRef, futureElement, 'Future<int>',
|
||||
assertNamedType(futureRef, futureElement, 'Future<int>',
|
||||
expectedPrefix: myImport.prefix);
|
||||
}
|
||||
|
||||
|
@ -6911,10 +6911,10 @@ class B extends A<int> {}
|
|||
await resolveTestFile();
|
||||
|
||||
var aRef = findNode.typeName('A<int>');
|
||||
assertTypeName(aRef, findElement.class_('A'), 'A<int>');
|
||||
assertNamedType(aRef, findElement.class_('A'), 'A<int>');
|
||||
|
||||
var intRef = findNode.typeName('int>');
|
||||
assertTypeName(intRef, intElement, 'int');
|
||||
assertNamedType(intRef, intElement, 'int');
|
||||
}
|
||||
|
||||
test_top_class_full() async {
|
||||
|
|
|
@ -35,9 +35,9 @@ class X = A with B implements C;
|
|||
|
||||
var x = findElement.class_('X');
|
||||
|
||||
assertTypeName(findNode.typeName('A with'), findElement.class_('A'), 'A');
|
||||
assertTypeName(findNode.typeName('B impl'), findElement.class_('B'), 'B');
|
||||
assertTypeName(findNode.typeName('C;'), findElement.class_('C'), 'C');
|
||||
assertNamedType(findNode.typeName('A with'), findElement.class_('A'), 'A');
|
||||
assertNamedType(findNode.typeName('B impl'), findElement.class_('B'), 'B');
|
||||
assertNamedType(findNode.typeName('C;'), findElement.class_('C'), 'C');
|
||||
|
||||
assertType(x.supertype, 'A');
|
||||
assertElementTypes(x.mixins, ['B']);
|
||||
|
|
|
@ -380,7 +380,7 @@ class A extends E {}
|
|||
assertType(a.supertype, 'Object');
|
||||
|
||||
var eRef = findNode.typeName('E {}');
|
||||
assertTypeName(eRef, findElement.enum_('E'), 'E');
|
||||
assertNamedType(eRef, findElement.enum_('E'), 'E');
|
||||
}
|
||||
|
||||
test_error_extendsNonClass_mixin() async {
|
||||
|
@ -395,7 +395,7 @@ class A extends M {} // ref
|
|||
assertType(a.supertype, 'Object');
|
||||
|
||||
var mRef = findNode.typeName('M {} // ref');
|
||||
assertTypeName(mRef, findElement.mixin('M'), 'M');
|
||||
assertNamedType(mRef, findElement.mixin('M'), 'M');
|
||||
}
|
||||
|
||||
test_error_extendsNonClass_variable() async {
|
||||
|
|
|
@ -64,7 +64,7 @@ void f() {
|
|||
expectedConstructorMember: true,
|
||||
expectedSubstitution: {'T': 'int'},
|
||||
);
|
||||
assertTypeName(findNode.typeName('int>'), intElement, 'int');
|
||||
assertNamedType(findNode.typeName('int>'), intElement, 'int');
|
||||
}
|
||||
|
||||
test_class_generic_unnamed_inferTypeArguments() async {
|
||||
|
@ -107,7 +107,7 @@ void f() {
|
|||
expectedConstructorMember: true,
|
||||
expectedSubstitution: {'T': 'int'},
|
||||
);
|
||||
assertTypeName(findNode.typeName('int>'), intElement, 'int');
|
||||
assertNamedType(findNode.typeName('int>'), intElement, 'int');
|
||||
}
|
||||
|
||||
test_class_notGeneric() async {
|
||||
|
|
|
@ -943,7 +943,7 @@ main() {
|
|||
'foo<int>();',
|
||||
expectedTypeArguments: ['int'],
|
||||
);
|
||||
assertTypeName(findNode.typeName('int>'), intElement, 'int');
|
||||
assertNamedType(findNode.typeName('int>'), intElement, 'int');
|
||||
}
|
||||
|
||||
test_error_undefinedMethod_hasTarget_class_typeParameter() async {
|
||||
|
@ -1296,7 +1296,7 @@ main() {
|
|||
findElement.topFunction('foo'),
|
||||
'void Function()',
|
||||
);
|
||||
assertTypeName(findNode.typeName('int>'), intElement, 'int');
|
||||
assertNamedType(findNode.typeName('int>'), intElement, 'int');
|
||||
}
|
||||
|
||||
test_error_wrongNumberOfTypeArgumentsMethod_21() async {
|
||||
|
@ -1315,7 +1315,7 @@ main() {
|
|||
'Map<dynamic, dynamic> Function()',
|
||||
expectedTypeArguments: ['dynamic', 'dynamic'],
|
||||
);
|
||||
assertTypeName(findNode.typeName('int>'), intElement, 'int');
|
||||
assertNamedType(findNode.typeName('int>'), intElement, 'int');
|
||||
}
|
||||
|
||||
test_hasReceiver_class_staticGetter() async {
|
||||
|
|
|
@ -94,7 +94,7 @@ class A extends Object with M {} // A
|
|||
assertElementTypes(aElement.mixins, ['M']);
|
||||
|
||||
var mRef = findNode.typeName('M {} // A');
|
||||
assertTypeName(mRef, mElement, 'M');
|
||||
assertNamedType(mRef, mElement, 'M');
|
||||
}
|
||||
|
||||
test_classTypeAlias_with() async {
|
||||
|
@ -109,7 +109,7 @@ class A = Object with M;
|
|||
assertElementTypes(aElement.mixins, ['M']);
|
||||
|
||||
var mRef = findNode.typeName('M;');
|
||||
assertTypeName(mRef, mElement, 'M');
|
||||
assertNamedType(mRef, mElement, 'M');
|
||||
}
|
||||
|
||||
test_commentReference() async {
|
||||
|
@ -309,7 +309,7 @@ mixin M implements math.Random {}
|
|||
assertElementTypes(element.interfaces, ['Random']);
|
||||
|
||||
var typeRef = findNode.typeName('Random {}');
|
||||
assertTypeName(typeRef, randomElement, 'Random',
|
||||
assertNamedType(typeRef, randomElement, 'Random',
|
||||
expectedPrefix: mathImport.prefix);
|
||||
}
|
||||
|
||||
|
@ -324,7 +324,7 @@ mixin M implements int {}
|
|||
assertElementTypes(element.interfaces, ['int']);
|
||||
|
||||
var typeRef = findNode.typeName('int {}');
|
||||
assertTypeName(typeRef, intElement, 'int');
|
||||
assertNamedType(typeRef, intElement, 'int');
|
||||
}
|
||||
|
||||
test_error_implementsClause_nonClass_void() async {
|
||||
|
@ -339,7 +339,7 @@ mixin M implements void {}
|
|||
assertElementTypes(element.interfaces, []);
|
||||
|
||||
var typeRef = findNode.typeName('void {}');
|
||||
assertTypeName(typeRef, null, 'void');
|
||||
assertNamedType(typeRef, null, 'void');
|
||||
}
|
||||
|
||||
test_error_memberWithClassName_getter() async {
|
||||
|
@ -832,7 +832,7 @@ mixin M on math.Random {}
|
|||
assertElementTypes(element.superclassConstraints, ['Random']);
|
||||
|
||||
var typeRef = findNode.typeName('Random {}');
|
||||
assertTypeName(typeRef, randomElement, 'Random',
|
||||
assertNamedType(typeRef, randomElement, 'Random',
|
||||
expectedPrefix: mathImport.prefix);
|
||||
}
|
||||
|
||||
|
@ -848,7 +848,7 @@ mixin M on int {}
|
|||
assertElementTypes(element.superclassConstraints, ['int']);
|
||||
|
||||
var typeRef = findNode.typeName('int {}');
|
||||
assertTypeName(typeRef, intElement, 'int');
|
||||
assertNamedType(typeRef, intElement, 'int');
|
||||
}
|
||||
|
||||
test_error_onClause_nonInterface_dynamic() async {
|
||||
|
@ -863,7 +863,7 @@ mixin M on dynamic {}
|
|||
assertElementTypes(element.superclassConstraints, ['Object']);
|
||||
|
||||
var typeRef = findNode.typeName('dynamic {}');
|
||||
assertTypeName(typeRef, dynamicElement, 'dynamic');
|
||||
assertNamedType(typeRef, dynamicElement, 'dynamic');
|
||||
}
|
||||
|
||||
test_error_onClause_nonInterface_enum() async {
|
||||
|
@ -879,7 +879,7 @@ mixin M on E {}
|
|||
assertElementTypes(element.superclassConstraints, ['Object']);
|
||||
|
||||
var typeRef = findNode.typeName('E {}');
|
||||
assertTypeName(typeRef, findElement.enum_('E'), 'E');
|
||||
assertNamedType(typeRef, findElement.enum_('E'), 'E');
|
||||
}
|
||||
|
||||
test_error_onClause_nonInterface_void() async {
|
||||
|
@ -895,7 +895,7 @@ mixin M on void {}
|
|||
assertElementTypes(element.superclassConstraints, ['Object']);
|
||||
|
||||
var typeRef = findNode.typeName('void {}');
|
||||
assertTypeName(typeRef, null, 'void');
|
||||
assertNamedType(typeRef, null, 'void');
|
||||
}
|
||||
|
||||
test_error_onClause_OK_mixin() async {
|
||||
|
@ -956,7 +956,7 @@ mixin M<T> {
|
|||
var fNode = findNode.variableDeclaration('f;');
|
||||
assertElement(fNode.name, fElement);
|
||||
|
||||
assertTypeName(findNode.typeName('T f'), tElement, 'T');
|
||||
assertNamedType(findNode.typeName('T f'), tElement, 'T');
|
||||
|
||||
var accessors = element.accessors;
|
||||
expect(accessors, hasLength(2));
|
||||
|
@ -976,10 +976,10 @@ mixin M implements A, B {} // M
|
|||
assertElementTypes(element.interfaces, ['A', 'B']);
|
||||
|
||||
var aRef = findNode.typeName('A, ');
|
||||
assertTypeName(aRef, findElement.class_('A'), 'A');
|
||||
assertNamedType(aRef, findElement.class_('A'), 'A');
|
||||
|
||||
var bRef = findNode.typeName('B {} // M');
|
||||
assertTypeName(bRef, findElement.class_('B'), 'B');
|
||||
assertNamedType(bRef, findElement.class_('B'), 'B');
|
||||
}
|
||||
|
||||
test_invalid_unresolved_before_mixin() async {
|
||||
|
@ -1064,10 +1064,10 @@ mixin M on A, B {} // M
|
|||
assertElementTypes(element.superclassConstraints, ['A', 'B']);
|
||||
|
||||
var aRef = findNode.typeName('A, ');
|
||||
assertTypeName(aRef, findElement.class_('A'), 'A');
|
||||
assertNamedType(aRef, findElement.class_('A'), 'A');
|
||||
|
||||
var bRef = findNode.typeName('B {} // M');
|
||||
assertTypeName(bRef, findElement.class_('B'), 'B');
|
||||
assertNamedType(bRef, findElement.class_('B'), 'B');
|
||||
}
|
||||
|
||||
test_recursiveInterfaceInheritance_implements() async {
|
||||
|
|
|
@ -183,7 +183,7 @@ mixin ResolutionTest implements ResourceProviderMixin {
|
|||
|
||||
var typeName = node.constructorName.type;
|
||||
expectedTypeNameElement ??= expectedClassElement;
|
||||
assertTypeName(typeName, expectedTypeNameElement, null,
|
||||
assertNamedType(typeName, expectedTypeNameElement, null,
|
||||
expectedPrefix: expectedPrefix);
|
||||
}
|
||||
|
||||
|
@ -463,7 +463,7 @@ mixin ResolutionTest implements ResourceProviderMixin {
|
|||
|
||||
var typeName = creation.constructorName.type;
|
||||
expectedTypeNameElement ??= expectedClassElement;
|
||||
assertTypeName(typeName, expectedTypeNameElement, expectedType,
|
||||
assertNamedType(typeName, expectedTypeNameElement, expectedType,
|
||||
expectedPrefix: expectedPrefix);
|
||||
}
|
||||
|
||||
|
@ -572,6 +572,29 @@ mixin ResolutionTest implements ResourceProviderMixin {
|
|||
assertTypeNull(ref);
|
||||
}
|
||||
|
||||
void assertNamedType(
|
||||
NamedType node, Element? expectedElement, String? expectedType,
|
||||
{Element? expectedPrefix}) {
|
||||
assertType(node, expectedType);
|
||||
|
||||
if (expectedPrefix == null) {
|
||||
var name = node.name as SimpleIdentifier;
|
||||
assertElement(name, expectedElement);
|
||||
// TODO(scheglov) Should this be null?
|
||||
// assertType(name, expectedType);
|
||||
} else {
|
||||
var name = node.name as PrefixedIdentifier;
|
||||
assertImportPrefix(name.prefix, expectedPrefix);
|
||||
assertElement(name.identifier, expectedElement);
|
||||
|
||||
// TODO(scheglov) This should be null, but it is not.
|
||||
// ResolverVisitor sets the tpe for `Bar` in `new foo.Bar()`. This is
|
||||
// probably wrong. It is fine for the TypeName `foo.Bar` to have a type,
|
||||
// and for `foo.Bar()` to have a type. But not a name of a type? No.
|
||||
// expect(name.identifier.staticType, isNull);
|
||||
}
|
||||
}
|
||||
|
||||
void assertNamespaceDirectiveSelected(
|
||||
NamespaceDirective directive, {
|
||||
required String expectedRelativeUri,
|
||||
|
@ -805,33 +828,10 @@ mixin ResolutionTest implements ResourceProviderMixin {
|
|||
TypeLiteral node, Element? expectedElement, String expectedType,
|
||||
{Element? expectedPrefix}) {
|
||||
assertType(node, 'Type');
|
||||
assertTypeName(node.typeName, expectedElement, expectedType,
|
||||
assertNamedType(node.typeName, expectedElement, expectedType,
|
||||
expectedPrefix: expectedPrefix);
|
||||
}
|
||||
|
||||
void assertTypeName(
|
||||
TypeName node, Element? expectedElement, String? expectedType,
|
||||
{Element? expectedPrefix}) {
|
||||
assertType(node, expectedType);
|
||||
|
||||
if (expectedPrefix == null) {
|
||||
var name = node.name as SimpleIdentifier;
|
||||
assertElement(name, expectedElement);
|
||||
// TODO(scheglov) Should this be null?
|
||||
// assertType(name, expectedType);
|
||||
} else {
|
||||
var name = node.name as PrefixedIdentifier;
|
||||
assertImportPrefix(name.prefix, expectedPrefix);
|
||||
assertElement(name.identifier, expectedElement);
|
||||
|
||||
// TODO(scheglov) This should be null, but it is not.
|
||||
// ResolverVisitor sets the tpe for `Bar` in `new foo.Bar()`. This is
|
||||
// probably wrong. It is fine for the TypeName `foo.Bar` to have a type,
|
||||
// and for `foo.Bar()` to have a type. But not a name of a type? No.
|
||||
// expect(name.identifier.staticType, isNull);
|
||||
}
|
||||
}
|
||||
|
||||
void assertTypeNull(Expression node) {
|
||||
expect(node.staticType, isNull);
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ import 'a.dart';
|
|||
f(A a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A a'),
|
||||
import_a.class_('A'),
|
||||
'A*',
|
||||
|
@ -54,7 +54,7 @@ import 'a.dart';
|
|||
f(A a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A a'),
|
||||
import_a.class_('A'),
|
||||
'A<num*>*',
|
||||
|
@ -73,7 +73,7 @@ import 'a.dart';
|
|||
f(A a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A a'),
|
||||
import_a.class_('A'),
|
||||
'A<dynamic>*',
|
||||
|
@ -92,7 +92,7 @@ import 'a.dart';
|
|||
f(A<int> a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A<int> a'),
|
||||
import_a.class_('A'),
|
||||
'A<int*>*',
|
||||
|
@ -114,7 +114,7 @@ f(F a) {}
|
|||
var element = import_a.typeAlias('F');
|
||||
|
||||
var typeName = findNode.typeName('F a');
|
||||
assertTypeName(typeName, element, 'int* Function(bool*)*');
|
||||
assertNamedType(typeName, element, 'int* Function(bool*)*');
|
||||
|
||||
assertTypeAlias(
|
||||
typeName.typeOrThrow,
|
||||
|
@ -138,7 +138,7 @@ f(F a) {}
|
|||
var element = import_a.typeAlias('F');
|
||||
|
||||
var typeName = findNode.typeName('F a');
|
||||
assertTypeName(typeName, element, 'dynamic Function(bool*)*');
|
||||
assertNamedType(typeName, element, 'dynamic Function(bool*)*');
|
||||
|
||||
assertTypeAlias(
|
||||
typeName.typeOrThrow,
|
||||
|
@ -162,7 +162,7 @@ f(F a) {}
|
|||
var element = import_a.typeAlias('F');
|
||||
|
||||
var typeName = findNode.typeName('F a');
|
||||
assertTypeName(typeName, element, 'num* Function(bool*)*');
|
||||
assertNamedType(typeName, element, 'num* Function(bool*)*');
|
||||
|
||||
assertTypeAlias(
|
||||
typeName.typeOrThrow,
|
||||
|
@ -186,7 +186,7 @@ f(F<int> a) {}
|
|||
var element = import_a.typeAlias('F');
|
||||
|
||||
var typeName = findNode.typeName('F<int> a');
|
||||
assertTypeName(typeName, element, 'int* Function(bool*)*');
|
||||
assertNamedType(typeName, element, 'int* Function(bool*)*');
|
||||
|
||||
assertTypeAlias(
|
||||
typeName.typeOrThrow,
|
||||
|
@ -209,7 +209,7 @@ f(A a) {}
|
|||
error(HintCode.IMPORT_OF_LEGACY_LIBRARY_INTO_NULL_SAFE, 7, 8),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A a'),
|
||||
import_a.class_('A'),
|
||||
'A',
|
||||
|
@ -230,7 +230,7 @@ f(A a) {}
|
|||
error(HintCode.IMPORT_OF_LEGACY_LIBRARY_INTO_NULL_SAFE, 7, 8),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A a'),
|
||||
import_a.class_('A'),
|
||||
'A<num*>',
|
||||
|
@ -251,7 +251,7 @@ f(A a) {}
|
|||
error(HintCode.IMPORT_OF_LEGACY_LIBRARY_INTO_NULL_SAFE, 7, 8),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A a'),
|
||||
import_a.class_('A'),
|
||||
'A<dynamic>',
|
||||
|
@ -272,7 +272,7 @@ f(A<int> a) {}
|
|||
error(HintCode.IMPORT_OF_LEGACY_LIBRARY_INTO_NULL_SAFE, 7, 8),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A<int> a'),
|
||||
import_a.class_('A'),
|
||||
'A<int>',
|
||||
|
@ -293,7 +293,7 @@ f(F a) {}
|
|||
error(HintCode.IMPORT_OF_LEGACY_LIBRARY_INTO_NULL_SAFE, 7, 8),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('F a'),
|
||||
import_a.typeAlias('F'),
|
||||
'int* Function()',
|
||||
|
@ -314,7 +314,7 @@ f(F a) {}
|
|||
error(HintCode.IMPORT_OF_LEGACY_LIBRARY_INTO_NULL_SAFE, 7, 8),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('F a'),
|
||||
import_a.typeAlias('F'),
|
||||
'num* Function()',
|
||||
|
@ -335,7 +335,7 @@ f(F a) {}
|
|||
error(HintCode.IMPORT_OF_LEGACY_LIBRARY_INTO_NULL_SAFE, 7, 8),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('F a'),
|
||||
import_a.typeAlias('F'),
|
||||
'dynamic Function()',
|
||||
|
@ -356,7 +356,7 @@ f(F<int> a) {}
|
|||
error(HintCode.IMPORT_OF_LEGACY_LIBRARY_INTO_NULL_SAFE, 7, 8),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('F<int> a'),
|
||||
import_a.typeAlias('F'),
|
||||
'int* Function()',
|
||||
|
@ -374,7 +374,7 @@ void f() {
|
|||
}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X<int>()'),
|
||||
findElement.typeAlias('X'),
|
||||
'A<int>',
|
||||
|
@ -392,7 +392,7 @@ void f() {
|
|||
}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X()'),
|
||||
findElement.typeAlias('X'),
|
||||
'A<int>',
|
||||
|
@ -410,7 +410,7 @@ void f() {
|
|||
}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X<int>()'),
|
||||
findElement.typeAlias('X'),
|
||||
'A<int>',
|
||||
|
@ -423,13 +423,13 @@ typedef X<T> = Map<int, T>;
|
|||
void f(X<String> a, X<String?> b) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X<String>'),
|
||||
findElement.typeAlias('X'),
|
||||
'Map<int, String>',
|
||||
);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X<String?>'),
|
||||
findElement.typeAlias('X'),
|
||||
'Map<int, String?>',
|
||||
|
@ -446,7 +446,7 @@ import 'a.dart';
|
|||
void f(X<String> a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X<String>'),
|
||||
findElement.importFind('package:test/a.dart').typeAlias('X'),
|
||||
'Map<int*, String*>*',
|
||||
|
@ -459,13 +459,13 @@ typedef X<T> = List<T?>;
|
|||
void f(X<int> a, X<int?> b) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X<int>'),
|
||||
findElement.typeAlias('X'),
|
||||
'List<int?>',
|
||||
);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X<int?>'),
|
||||
findElement.typeAlias('X'),
|
||||
'List<int?>',
|
||||
|
@ -482,7 +482,7 @@ import 'a.dart';
|
|||
void f(X<int> a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X<int>'),
|
||||
findElement.importFind('package:test/a.dart').typeAlias('X'),
|
||||
'List<int*>*',
|
||||
|
@ -495,13 +495,13 @@ typedef X = Never;
|
|||
void f(X a, X? b) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X a'),
|
||||
findElement.typeAlias('X'),
|
||||
'Never',
|
||||
);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X? b'),
|
||||
findElement.typeAlias('X'),
|
||||
'Never?',
|
||||
|
@ -518,7 +518,7 @@ import 'a.dart';
|
|||
void f(X a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X a'),
|
||||
findElement.importFind('package:test/a.dart').typeAlias('X'),
|
||||
'Null*',
|
||||
|
@ -531,13 +531,13 @@ typedef X = Never?;
|
|||
void f(X a, X? b) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X a'),
|
||||
findElement.typeAlias('X'),
|
||||
'Never?',
|
||||
);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X? b'),
|
||||
findElement.typeAlias('X'),
|
||||
'Never?',
|
||||
|
@ -550,7 +550,7 @@ typedef X<T> = T?;
|
|||
void f(X<int> a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X<int>'),
|
||||
findElement.typeAlias('X'),
|
||||
'int?',
|
||||
|
@ -563,7 +563,7 @@ typedef X<T> = Map<int, T>;
|
|||
X<String> f() => {};
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('X<String>'),
|
||||
findElement.typeAlias('X'),
|
||||
'Map<int, String>',
|
||||
|
@ -576,7 +576,7 @@ typedef Nothing = void;
|
|||
Nothing f() {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('Nothing f()'),
|
||||
findElement.typeAlias('Nothing'),
|
||||
'void',
|
||||
|
@ -592,7 +592,7 @@ class A {}
|
|||
f(A a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A a'),
|
||||
findElement.class_('A'),
|
||||
typeStr('A', 'A*'),
|
||||
|
@ -606,7 +606,7 @@ class A<T extends num> {}
|
|||
f(A a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A a'),
|
||||
findElement.class_('A'),
|
||||
typeStr('A<num>', 'A<num*>*'),
|
||||
|
@ -620,7 +620,7 @@ class A<T> {}
|
|||
f(A a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A a'),
|
||||
findElement.class_('A'),
|
||||
typeStr('A<dynamic>', 'A<dynamic>*'),
|
||||
|
@ -634,7 +634,7 @@ class A<T> {}
|
|||
f(A<int> a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A<int> a'),
|
||||
findElement.class_('A'),
|
||||
typeStr('A<int>', 'A<int*>*'),
|
||||
|
@ -648,7 +648,7 @@ import 'dart:core';
|
|||
dynamic a;
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('dynamic a;'),
|
||||
dynamicElement,
|
||||
'dynamic',
|
||||
|
@ -662,7 +662,7 @@ import 'dart:core' as mycore;
|
|||
mycore.dynamic a;
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('mycore.dynamic a;'),
|
||||
dynamicElement,
|
||||
'dynamic',
|
||||
|
@ -679,7 +679,7 @@ dynamic a;
|
|||
error(CompileTimeErrorCode.UNDEFINED_CLASS, 31, 7),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('dynamic a;'),
|
||||
null,
|
||||
'dynamic',
|
||||
|
@ -691,7 +691,7 @@ dynamic a;
|
|||
dynamic a;
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('dynamic a;'),
|
||||
dynamicElement,
|
||||
'dynamic',
|
||||
|
@ -705,7 +705,7 @@ typedef F = int Function();
|
|||
f(F a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('F a'),
|
||||
findElement.typeAlias('F'),
|
||||
typeStr('int Function()', 'int* Function()*'),
|
||||
|
@ -719,7 +719,7 @@ typedef F<T extends num> = T Function();
|
|||
f(F a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('F a'),
|
||||
findElement.typeAlias('F'),
|
||||
typeStr('num Function()', 'num* Function()*'),
|
||||
|
@ -733,7 +733,7 @@ typedef F<T> = T Function();
|
|||
f(F a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('F a'),
|
||||
findElement.typeAlias('F'),
|
||||
typeStr('dynamic Function()', 'dynamic Function()*'),
|
||||
|
@ -747,7 +747,7 @@ typedef F<T> = T Function();
|
|||
f(F<int> a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('F<int> a'),
|
||||
findElement.typeAlias('F'),
|
||||
typeStr('int Function()', 'int* Function()*'),
|
||||
|
@ -765,7 +765,7 @@ main() {
|
|||
error(CompileTimeErrorCode.NEW_WITH_NON_TYPE, 49, 1),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A();'),
|
||||
null,
|
||||
'dynamic',
|
||||
|
@ -782,7 +782,7 @@ main() {
|
|||
}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A();'),
|
||||
findElement.class_('A'),
|
||||
typeStr('A', 'A*'),
|
||||
|
@ -798,7 +798,7 @@ main() {
|
|||
error(CompileTimeErrorCode.NEW_WITH_NON_TYPE, 15, 1),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A();'),
|
||||
null,
|
||||
'dynamic',
|
||||
|
@ -814,7 +814,7 @@ void f() {
|
|||
error(CompileTimeErrorCode.NEW_WITH_NON_TYPE, 17, 10),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('int.double'),
|
||||
null,
|
||||
'dynamic',
|
||||
|
@ -831,7 +831,7 @@ void f() {
|
|||
error(CompileTimeErrorCode.NOT_A_TYPE, 18, 10),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('int.double'),
|
||||
null,
|
||||
'dynamic',
|
||||
|
@ -844,7 +844,7 @@ void f() {
|
|||
f(Never a) {}
|
||||
''');
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('Never a'),
|
||||
neverElement,
|
||||
typeStr('Never', 'Null*'),
|
||||
|
|
|
@ -24,8 +24,8 @@ class B implements A, A {} // ref
|
|||
]);
|
||||
|
||||
var A = findElement.class_('A');
|
||||
assertTypeName(findNode.typeName('A, A {} // ref'), A, 'A');
|
||||
assertTypeName(findNode.typeName('A {} // ref'), A, 'A');
|
||||
assertNamedType(findNode.typeName('A, A {} // ref'), A, 'A');
|
||||
assertNamedType(findNode.typeName('A {} // ref'), A, 'A');
|
||||
}
|
||||
|
||||
test_class_implements_2times_viaTypeAlias() async {
|
||||
|
@ -37,13 +37,13 @@ class C implements A, B {} // ref
|
|||
error(CompileTimeErrorCode.IMPLEMENTS_REPEATED, 48, 1),
|
||||
]);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('A, B {} // ref'),
|
||||
findElement.class_('A'),
|
||||
'A',
|
||||
);
|
||||
|
||||
assertTypeName(
|
||||
assertNamedType(
|
||||
findNode.typeName('B {} // ref'),
|
||||
findElement.typeAlias('B'),
|
||||
'A',
|
||||
|
|
|
@ -27,6 +27,6 @@ void<int> f() {}
|
|||
''', [
|
||||
error(ParserErrorCode.VOID_WITH_TYPE_ARGUMENTS, 4, 1),
|
||||
]);
|
||||
assertTypeName(findNode.typeName('int>'), intElement, 'int');
|
||||
assertNamedType(findNode.typeName('int>'), intElement, 'int');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue