Files
sdk/pkg/front_end/parser_testcases/general/function_reference_kinds.dart.expect
T
Paul Berry 126c5fa680 Initial parser support for constructor tear-offs.
This CL adds parser support for use of `<typeArguments>` as a
selector.  This allows expressions like `List<int>` (type literal with
type arguments), `f<int>` (function tear-off with type arguments),
`C.m<int>` (static method tear-off with type arguments), `EXPR.m<int>`
(instance method tear-off with type arguments), and `EXPR<int>`
(tear-off of `.call` method with type arguments).

I will add parser support for `.new` as a constructor name in a
follow-up CL.

Change-Id: I157e732276421e8c3fd20c38c67ae9643993bd85
Bug: https://github.com/dart-lang/sdk/issues/46020, https://github.com/dart-lang/sdk/issues/46044.
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/197102
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2021-05-25 13:58:10 +00:00

116 lines
3.9 KiB
Plaintext

beginCompilationUnit(var)
beginMetadataStar(var)
endMetadataStar(0)
beginTopLevelMember(var)
beginFields()
handleNoType(var)
handleIdentifier(simpleIdentifier, topLevelVariableDeclaration)
beginFieldInitializer(=)
handleIdentifier(f, expression)
handleNoTypeArguments(<)
handleNoArguments(<)
handleSend(f, <)
beginTypeArguments(<)
handleIdentifier(a, typeReference)
handleNoTypeArguments(,)
handleType(a, null)
handleIdentifier(b, typeReference)
handleNoTypeArguments(>)
handleType(b, null)
endTypeArguments(2, <, >)
handleTypeArgumentApplication(<)
endFieldInitializer(=, ;)
endTopLevelFields(null, null, null, null, var, 1, var, ;)
endTopLevelDeclaration(var)
beginMetadataStar(var)
endMetadataStar(0)
beginTopLevelMember(var)
beginFields(;)
handleNoType(var)
handleIdentifier(method, topLevelVariableDeclaration)
beginFieldInitializer(=)
handleIdentifier(f, expression)
handleNoTypeArguments(()
beginArguments(()
endArguments(0, (, ))
handleSend(f, .)
handleIdentifier(m, expressionContinuation)
handleNoTypeArguments(<)
handleNoArguments(<)
handleSend(m, <)
handleEndingBinaryExpression(.)
beginTypeArguments(<)
handleIdentifier(a, typeReference)
handleNoTypeArguments(,)
handleType(a, null)
handleIdentifier(b, typeReference)
handleNoTypeArguments(>)
handleType(b, null)
endTypeArguments(2, <, >)
handleTypeArgumentApplication(<)
endFieldInitializer(=, ;)
endTopLevelFields(null, null, null, null, var, 1, var, ;)
endTopLevelDeclaration(var)
beginMetadataStar(var)
endMetadataStar(0)
beginTopLevelMember(var)
beginFields(;)
handleNoType(var)
handleIdentifier(prefixedIdentifier, topLevelVariableDeclaration)
beginFieldInitializer(=)
handleIdentifier(prefix, expression)
handleNoTypeArguments(.)
handleNoArguments(.)
handleSend(prefix, .)
handleIdentifier(f, expressionContinuation)
handleNoTypeArguments(<)
handleNoArguments(<)
handleSend(f, <)
handleEndingBinaryExpression(.)
beginTypeArguments(<)
handleIdentifier(a, typeReference)
handleNoTypeArguments(,)
handleType(a, null)
handleIdentifier(b, typeReference)
handleNoTypeArguments(>)
handleType(b, null)
endTypeArguments(2, <, >)
handleTypeArgumentApplication(<)
endFieldInitializer(=, ;)
endTopLevelFields(null, null, null, null, var, 1, var, ;)
endTopLevelDeclaration(var)
beginMetadataStar(var)
endMetadataStar(0)
beginTopLevelMember(var)
beginFields(;)
handleNoType(var)
handleIdentifier(three_identifiers, topLevelVariableDeclaration)
beginFieldInitializer(=)
handleIdentifier(prefix, expression)
handleNoTypeArguments(.)
handleNoArguments(.)
handleSend(prefix, .)
handleIdentifier(ClassName, expressionContinuation)
handleNoTypeArguments(.)
handleNoArguments(.)
handleSend(ClassName, .)
handleEndingBinaryExpression(.)
handleIdentifier(m, expressionContinuation)
handleNoTypeArguments(<)
handleNoArguments(<)
handleSend(m, <)
handleEndingBinaryExpression(.)
beginTypeArguments(<)
handleIdentifier(a, typeReference)
handleNoTypeArguments(,)
handleType(a, null)
handleIdentifier(b, typeReference)
handleNoTypeArguments(>)
handleType(b, null)
endTypeArguments(2, <, >)
handleTypeArgumentApplication(<)
endFieldInitializer(=, ;)
endTopLevelFields(null, null, null, null, var, 1, var, ;)
endTopLevelDeclaration()
endCompilationUnit(4, )