diff --git a/pkg/analyzer/test/src/dart/resolution/type_literal_test.dart b/pkg/analyzer/test/src/dart/resolution/type_literal_test.dart index f776d398285..bd234c75e60 100644 --- a/pkg/analyzer/test/src/dart/resolution/type_literal_test.dart +++ b/pkg/analyzer/test/src/dart/resolution/type_literal_test.dart @@ -326,6 +326,64 @@ TypeLiteral '''); } + test_extensionType() async { + await assertNoErrorsInCode(''' +extension type A(T it) {} +final v = A; +'''); + + final node = findNode.typeLiteral('A;'); + assertResolvedNodeText(node, r''' +TypeLiteral + type: NamedType + name: A + typeArguments: TypeArgumentList + leftBracket: < + arguments + NamedType + name: int + element: dart:core::@class::int + type: int + rightBracket: > + element: self::@extensionType::A + type: A + staticType: Type +'''); + } + + test_extensionType_importPrefix() async { + newFile('$testPackageLibPath/a.dart', ''' +extension type A(T it) {} +'''); + + await assertNoErrorsInCode(''' +import 'a.dart' as a; +var t = a.A; +'''); + + final node = findNode.typeLiteral('A;'); + assertResolvedNodeText(node, r''' +TypeLiteral + type: NamedType + importPrefix: ImportPrefixReference + name: a + period: . + element: self::@prefix::a + name: A + typeArguments: TypeArgumentList + leftBracket: < + arguments + NamedType + name: int + element: dart:core::@class::int + type: int + rightBracket: > + element: package:test/a.dart::@extensionType::A + type: A + staticType: Type +'''); + } + test_functionAlias() async { await assertNoErrorsInCode(''' typedef Fn = void Function(T);