mirror of
https://github.com/dart-lang/sdk
synced 2024-09-19 15:01:29 +00:00
[parser] Support RecordType for setter/getters and static methods
Fixes https://github.com/dart-lang/sdk/issues/49709 Change-Id: I710e687ce7e1066eef8439f541f2e5fe2771db36 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255988 Reviewed-by: Johnni Winther <johnniwinther@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Jens Johansen <jensj@google.com>
This commit is contained in:
parent
104b0deb5c
commit
cf8f47df4f
|
@ -26,6 +26,11 @@ bool isModifier(Token token) {
|
|||
Token next = token.next!;
|
||||
Keyword? keyword = next.keyword;
|
||||
if (keyword == null && !next.isIdentifier || keyword == Keyword.IN) {
|
||||
// Record type is a possibility.
|
||||
if (optional("(", next) && next.endGroup!.next!.isIdentifier) {
|
||||
// We've seen [modifier] [record type] [identifier].
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -705,7 +705,14 @@ class ComplexTypeInfo implements TypeInfo {
|
|||
if (optional('?', next)) {
|
||||
next = next.next!;
|
||||
}
|
||||
if (!(next.isIdentifier)) {
|
||||
bool getOrSet = false;
|
||||
if (next.isKeyword &&
|
||||
(optional("get", next) || optional("set", next)) &&
|
||||
next.next!.isIdentifier) {
|
||||
getOrSet = true;
|
||||
next = next.next!;
|
||||
}
|
||||
if (!next.isIdentifier) {
|
||||
// This could for instance be `(int x, int y) {`.
|
||||
return noType;
|
||||
}
|
||||
|
@ -713,8 +720,18 @@ class ComplexTypeInfo implements TypeInfo {
|
|||
// TODO(jensj): Are there any other instances where it's a valid
|
||||
// (optional) record type?
|
||||
if (!isOneOfOrEof(afterIdentifier, const [";", "=", "(", ",", ")"])) {
|
||||
// This could for instance be `(int x, int y) async {`.
|
||||
return noType;
|
||||
if (getOrSet && isOneOfOrEof(afterIdentifier, const ["=>", "{"])) {
|
||||
// With a getter/setter in the mix we can accept more stuff, e.g.
|
||||
// these would be fine:
|
||||
// - `(` unchecked content `)` `get` identifier `=>`.
|
||||
// - `(` unchecked content `)` `get` identifier `{`.
|
||||
// TODO(jensj): A setter would need parenthesis so technically
|
||||
// couldn't look like this, but I don't think any other valid thing
|
||||
// could either. Should we handle that specifically?
|
||||
} else {
|
||||
// This could for instance be `(int x, int y) async {`.
|
||||
return noType;
|
||||
}
|
||||
}
|
||||
}
|
||||
assert(optional(')', token));
|
||||
|
|
|
@ -19,12 +19,18 @@ void foo() {
|
|||
(int x, int y) async (int x, int y) {
|
||||
print("sync named async with record type return type taking 2 parameters");
|
||||
}
|
||||
|
||||
(int x, int y) async (int x, int y) => print("sync named async with record type return type taking 2 parameters");
|
||||
|
||||
(int x, int y) {
|
||||
print("sync unnamed taking 2 parameters");
|
||||
}();
|
||||
|
||||
(int x, int y) => print("sync unnamed taking 2 parameters");
|
||||
|
||||
(int x, int y) async {
|
||||
print("async unnamed taking 2 parameters");
|
||||
}();
|
||||
|
||||
(int x, int y) async => print("async unnamed taking 2 parameters");
|
||||
}
|
||||
|
|
|
@ -536,6 +536,62 @@ beginCompilationUnit(void)
|
|||
handleExpressionStatement(;)
|
||||
endBlockFunctionBody(1, {, })
|
||||
endLocalFunctionDeclaration(})
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
handleNoTypeVariables(()
|
||||
beginLocalFunctionDeclaration(()
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(y)
|
||||
handleType(int, null)
|
||||
handleIdentifier(y, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
beginFunctionName(async)
|
||||
handleIdentifier(async, localFunctionDeclaration)
|
||||
endFunctionName((, ()
|
||||
beginFormalParameters((, MemberKind.Local)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue(,)
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(y)
|
||||
handleType(int, null)
|
||||
handleIdentifier(y, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, y, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
endFormalParameters(2, (, ), MemberKind.Local)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
handleIdentifier(print, expression)
|
||||
handleNoTypeArguments(()
|
||||
beginArguments(()
|
||||
beginLiteralString("sync named async with record type return type taking 2 parameters")
|
||||
endLiteralString(0, ))
|
||||
endArguments(1, (, ))
|
||||
handleSend(print, ;)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endLocalFunctionDeclaration(;)
|
||||
handleNoTypeVariables(()
|
||||
beginFunctionExpression(()
|
||||
beginFormalParameters((, MemberKind.Local)
|
||||
|
@ -576,6 +632,39 @@ beginCompilationUnit(void)
|
|||
handleSend((, ))
|
||||
handleExpressionStatement(;)
|
||||
handleNoTypeVariables(()
|
||||
beginFunctionExpression(()
|
||||
beginFormalParameters((, MemberKind.Local)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue(,)
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(y)
|
||||
handleType(int, null)
|
||||
handleIdentifier(y, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, y, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
endFormalParameters(2, (, ), MemberKind.Local)
|
||||
handleAsyncModifier(null, null)
|
||||
handleIdentifier(print, expression)
|
||||
handleNoTypeArguments(()
|
||||
beginArguments(()
|
||||
beginLiteralString("sync unnamed taking 2 parameters")
|
||||
endLiteralString(0, ))
|
||||
endArguments(1, (, ))
|
||||
handleSend(print, ;)
|
||||
handleExpressionFunctionBody(=>, null)
|
||||
endFunctionExpression((, ;)
|
||||
handleExpressionStatement(;)
|
||||
handleNoTypeVariables(()
|
||||
beginFunctionExpression(()
|
||||
beginFormalParameters((, MemberKind.Local)
|
||||
beginMetadataStar(int)
|
||||
|
@ -614,7 +703,40 @@ beginCompilationUnit(void)
|
|||
endArguments(0, (, ))
|
||||
handleSend((, ))
|
||||
handleExpressionStatement(;)
|
||||
endBlockFunctionBody(14, {, })
|
||||
handleNoTypeVariables(()
|
||||
beginFunctionExpression(()
|
||||
beginFormalParameters((, MemberKind.Local)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue(,)
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(y)
|
||||
handleType(int, null)
|
||||
handleIdentifier(y, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, y, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
endFormalParameters(2, (, ), MemberKind.Local)
|
||||
handleAsyncModifier(async, null)
|
||||
handleIdentifier(print, expression)
|
||||
handleNoTypeArguments(()
|
||||
beginArguments(()
|
||||
beginLiteralString("async unnamed taking 2 parameters")
|
||||
endLiteralString(0, ))
|
||||
endArguments(1, (, ))
|
||||
handleSend(print, ;)
|
||||
handleExpressionFunctionBody(=>, null)
|
||||
endFunctionExpression((, ;)
|
||||
handleExpressionStatement(;)
|
||||
endBlockFunctionBody(17, {, })
|
||||
endTopLevelMethod(void, null, })
|
||||
endTopLevelDeclaration()
|
||||
endCompilationUnit(1, )
|
||||
|
|
|
@ -1077,17 +1077,123 @@ parseUnit(void)
|
|||
parseStatementX(})
|
||||
parseExpressionStatementOrDeclaration(}, false)
|
||||
parseExpressionStatementOrDeclarationAfterModifiers(}, }, null, null, null, false)
|
||||
looksLikeLocalFunction(async)
|
||||
listener: beginMetadataStar(()
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleNoTypeVariables(()
|
||||
listener: beginLocalFunctionDeclaration(()
|
||||
parseRecordType((, })
|
||||
listener: beginRecordType(()
|
||||
parseRecordTypeField((, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(()
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(x)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(x, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
parseRecordTypeField(,, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(,)
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(y)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(y, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
listener: endRecordType((, null, 2, false)
|
||||
parseNamedFunctionRest(), (, async, false)
|
||||
listener: beginFunctionName(async)
|
||||
ensureIdentifier(), localFunctionDeclaration)
|
||||
inPlainSync()
|
||||
listener: handleIdentifier(async, localFunctionDeclaration)
|
||||
listener: endFunctionName((, ()
|
||||
parseFormalParametersRequiredOpt(async, MemberKind.Local)
|
||||
parseFormalParametersRest((, MemberKind.Local)
|
||||
listener: beginFormalParameters((, MemberKind.Local)
|
||||
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
parseMetadataStar(()
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(x)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, formalParameterDeclaration)
|
||||
listener: handleIdentifier(x, formalParameterDeclaration)
|
||||
listener: handleFormalParameterWithoutValue(,)
|
||||
listener: endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
parseFormalParameter(,, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
parseMetadataStar(,)
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(y)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, formalParameterDeclaration)
|
||||
listener: handleIdentifier(y, formalParameterDeclaration)
|
||||
listener: handleFormalParameterWithoutValue())
|
||||
listener: endFormalParameter(null, null, null, y, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
listener: endFormalParameters(2, (, ), MemberKind.Local)
|
||||
parseInitializersOpt())
|
||||
listener: handleNoInitializers()
|
||||
parseAsyncOptBody(), false, false)
|
||||
parseAsyncModifierOpt())
|
||||
listener: handleAsyncModifier(null, null)
|
||||
inPlainSync()
|
||||
parseFunctionBody(), false, false)
|
||||
parseExpressionFunctionBody(=>, false)
|
||||
parseExpression(=>)
|
||||
parsePrecedenceExpression(=>, 1, true)
|
||||
parseUnaryExpression(=>, true)
|
||||
parsePrimary(=>, expression)
|
||||
parseSendOrFunctionLiteral(=>, expression)
|
||||
looksLikeFunctionBody(;)
|
||||
parseSend(=>, expression)
|
||||
isNextIdentifier(=>)
|
||||
ensureIdentifier(=>, expression)
|
||||
listener: handleIdentifier(print, expression)
|
||||
listener: handleNoTypeArguments(()
|
||||
parseArgumentsOpt(print)
|
||||
parseArguments(print)
|
||||
parseArgumentsRest(()
|
||||
listener: beginArguments(()
|
||||
parseExpression(()
|
||||
parsePrecedenceExpression((, 1, true)
|
||||
parseUnaryExpression((, true)
|
||||
parsePrimary((, expression)
|
||||
parseLiteralString(()
|
||||
parseSingleLiteralString(()
|
||||
listener: beginLiteralString("sync named async with record type return type taking 2 parameters")
|
||||
listener: endLiteralString(0, ))
|
||||
listener: endArguments(1, (, ))
|
||||
listener: handleSend(print, ;)
|
||||
ensureSemicolon())
|
||||
listener: handleExpressionFunctionBody(=>, ;)
|
||||
inGenerator()
|
||||
listener: endLocalFunctionDeclaration(;)
|
||||
notEofOrValue(}, ()
|
||||
parseStatement(;)
|
||||
parseStatementX(;)
|
||||
parseExpressionStatementOrDeclaration(;, false)
|
||||
parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false)
|
||||
looksLikeLocalFunction(()
|
||||
parseExpressionStatement(})
|
||||
parseExpression(})
|
||||
parsePrecedenceExpression(}, 1, true)
|
||||
parseUnaryExpression(}, true)
|
||||
parsePrimary(}, expression)
|
||||
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(})
|
||||
parseExpressionStatement(;)
|
||||
parseExpression(;)
|
||||
parsePrecedenceExpression(;, 1, true)
|
||||
parseUnaryExpression(;, true)
|
||||
parsePrimary(;, expression)
|
||||
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(;)
|
||||
listener: handleNoTypeVariables(()
|
||||
parseFunctionExpression(})
|
||||
parseFunctionExpression(;)
|
||||
listener: beginFunctionExpression(()
|
||||
parseFormalParametersRequiredOpt(}, MemberKind.Local)
|
||||
parseFormalParametersRequiredOpt(;, MemberKind.Local)
|
||||
parseFormalParametersRest((, MemberKind.Local)
|
||||
listener: beginFormalParameters((, MemberKind.Local)
|
||||
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
|
@ -1167,6 +1273,85 @@ parseUnit(void)
|
|||
ensureSemicolon())
|
||||
listener: handleExpressionStatement(;)
|
||||
notEofOrValue(}, ()
|
||||
parseStatement(;)
|
||||
parseStatementX(;)
|
||||
parseExpressionStatementOrDeclaration(;, false)
|
||||
parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false)
|
||||
looksLikeLocalFunction(()
|
||||
parseExpressionStatement(;)
|
||||
parseExpression(;)
|
||||
parsePrecedenceExpression(;, 1, true)
|
||||
parseUnaryExpression(;, true)
|
||||
parsePrimary(;, expression)
|
||||
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(;)
|
||||
listener: handleNoTypeVariables(()
|
||||
parseFunctionExpression(;)
|
||||
listener: beginFunctionExpression(()
|
||||
parseFormalParametersRequiredOpt(;, MemberKind.Local)
|
||||
parseFormalParametersRest((, MemberKind.Local)
|
||||
listener: beginFormalParameters((, MemberKind.Local)
|
||||
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
parseMetadataStar(()
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(x)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, formalParameterDeclaration)
|
||||
listener: handleIdentifier(x, formalParameterDeclaration)
|
||||
listener: handleFormalParameterWithoutValue(,)
|
||||
listener: endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
parseFormalParameter(,, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
parseMetadataStar(,)
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(y)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, formalParameterDeclaration)
|
||||
listener: handleIdentifier(y, formalParameterDeclaration)
|
||||
listener: handleFormalParameterWithoutValue())
|
||||
listener: endFormalParameter(null, null, null, y, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
listener: endFormalParameters(2, (, ), MemberKind.Local)
|
||||
parseAsyncOptBody(), true, false)
|
||||
parseAsyncModifierOpt())
|
||||
listener: handleAsyncModifier(null, null)
|
||||
inPlainSync()
|
||||
parseFunctionBody(), true, false)
|
||||
parseExpressionFunctionBody(=>, true)
|
||||
parseExpression(=>)
|
||||
parsePrecedenceExpression(=>, 1, true)
|
||||
parseUnaryExpression(=>, true)
|
||||
parsePrimary(=>, expression)
|
||||
parseSendOrFunctionLiteral(=>, expression)
|
||||
looksLikeFunctionBody(;)
|
||||
parseSend(=>, expression)
|
||||
isNextIdentifier(=>)
|
||||
ensureIdentifier(=>, expression)
|
||||
listener: handleIdentifier(print, expression)
|
||||
listener: handleNoTypeArguments(()
|
||||
parseArgumentsOpt(print)
|
||||
parseArguments(print)
|
||||
parseArgumentsRest(()
|
||||
listener: beginArguments(()
|
||||
parseExpression(()
|
||||
parsePrecedenceExpression((, 1, true)
|
||||
parseUnaryExpression((, true)
|
||||
parsePrimary((, expression)
|
||||
parseLiteralString(()
|
||||
parseSingleLiteralString(()
|
||||
listener: beginLiteralString("sync unnamed taking 2 parameters")
|
||||
listener: endLiteralString(0, ))
|
||||
listener: endArguments(1, (, ))
|
||||
listener: handleSend(print, ;)
|
||||
listener: handleExpressionFunctionBody(=>, null)
|
||||
inGenerator()
|
||||
listener: endFunctionExpression((, ;)
|
||||
ensureSemicolon())
|
||||
listener: handleExpressionStatement(;)
|
||||
notEofOrValue(}, ()
|
||||
parseStatement(;)
|
||||
parseStatementX(;)
|
||||
parseExpressionStatementOrDeclaration(;, false)
|
||||
|
@ -1260,8 +1445,87 @@ parseUnit(void)
|
|||
listener: handleSend((, ))
|
||||
ensureSemicolon())
|
||||
listener: handleExpressionStatement(;)
|
||||
notEofOrValue(}, ()
|
||||
parseStatement(;)
|
||||
parseStatementX(;)
|
||||
parseExpressionStatementOrDeclaration(;, false)
|
||||
parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false)
|
||||
looksLikeLocalFunction(()
|
||||
parseExpressionStatement(;)
|
||||
parseExpression(;)
|
||||
parsePrecedenceExpression(;, 1, true)
|
||||
parseUnaryExpression(;, true)
|
||||
parsePrimary(;, expression)
|
||||
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(;)
|
||||
listener: handleNoTypeVariables(()
|
||||
parseFunctionExpression(;)
|
||||
listener: beginFunctionExpression(()
|
||||
parseFormalParametersRequiredOpt(;, MemberKind.Local)
|
||||
parseFormalParametersRest((, MemberKind.Local)
|
||||
listener: beginFormalParameters((, MemberKind.Local)
|
||||
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
parseMetadataStar(()
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(x)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, formalParameterDeclaration)
|
||||
listener: handleIdentifier(x, formalParameterDeclaration)
|
||||
listener: handleFormalParameterWithoutValue(,)
|
||||
listener: endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
parseFormalParameter(,, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
parseMetadataStar(,)
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginFormalParameter(int, MemberKind.Local, null, null, null)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(y)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, formalParameterDeclaration)
|
||||
listener: handleIdentifier(y, formalParameterDeclaration)
|
||||
listener: handleFormalParameterWithoutValue())
|
||||
listener: endFormalParameter(null, null, null, y, null, null, FormalParameterKind.requiredPositional, MemberKind.Local)
|
||||
listener: endFormalParameters(2, (, ), MemberKind.Local)
|
||||
parseAsyncOptBody(), true, false)
|
||||
parseAsyncModifierOpt())
|
||||
listener: handleAsyncModifier(async, null)
|
||||
inPlainSync()
|
||||
parseFunctionBody(async, true, false)
|
||||
parseExpressionFunctionBody(=>, true)
|
||||
parseExpression(=>)
|
||||
parsePrecedenceExpression(=>, 1, true)
|
||||
parseUnaryExpression(=>, true)
|
||||
parsePrimary(=>, expression)
|
||||
parseSendOrFunctionLiteral(=>, expression)
|
||||
looksLikeFunctionBody(;)
|
||||
parseSend(=>, expression)
|
||||
isNextIdentifier(=>)
|
||||
ensureIdentifier(=>, expression)
|
||||
listener: handleIdentifier(print, expression)
|
||||
listener: handleNoTypeArguments(()
|
||||
parseArgumentsOpt(print)
|
||||
parseArguments(print)
|
||||
parseArgumentsRest(()
|
||||
listener: beginArguments(()
|
||||
parseExpression(()
|
||||
parsePrecedenceExpression((, 1, true)
|
||||
parseUnaryExpression((, true)
|
||||
parsePrimary((, expression)
|
||||
parseLiteralString(()
|
||||
parseSingleLiteralString(()
|
||||
listener: beginLiteralString("async unnamed taking 2 parameters")
|
||||
listener: endLiteralString(0, ))
|
||||
listener: endArguments(1, (, ))
|
||||
listener: handleSend(print, ;)
|
||||
listener: handleExpressionFunctionBody(=>, null)
|
||||
inGenerator()
|
||||
listener: endFunctionExpression((, ;)
|
||||
ensureSemicolon())
|
||||
listener: handleExpressionStatement(;)
|
||||
notEofOrValue(}, })
|
||||
listener: endBlockFunctionBody(14, {, })
|
||||
listener: endBlockFunctionBody(17, {, })
|
||||
listener: endTopLevelMethod(void, null, })
|
||||
listener: endTopLevelDeclaration()
|
||||
reportAllErrorTokens(void)
|
||||
|
|
|
@ -20,13 +20,19 @@ print("sync named async with int return type taking 2 parameters");
|
|||
print("sync named async with record type return type taking 2 parameters");
|
||||
}
|
||||
|
||||
(int x, int y) async (int x, int y) => print("sync named async with record type return type taking 2 parameters");
|
||||
|
||||
(int x, int y) {
|
||||
print("sync unnamed taking 2 parameters");
|
||||
}();
|
||||
|
||||
(int x, int y) => print("sync unnamed taking 2 parameters");
|
||||
|
||||
(int x, int y) async {
|
||||
print("async unnamed taking 2 parameters");
|
||||
}();
|
||||
|
||||
(int x, int y) async => print("async unnamed taking 2 parameters");
|
||||
}
|
||||
|
||||
|
||||
|
@ -52,12 +58,18 @@ print[StringToken]([BeginToken]"sync named async with int return type taking 2 p
|
|||
print[StringToken]([BeginToken]"sync named async with record type return type taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]
|
||||
|
||||
([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] async[KeywordToken] ([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] =>[SimpleToken] print[StringToken]([BeginToken]"sync named async with record type return type taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] {[BeginToken]
|
||||
print[StringToken]([BeginToken]"sync unnamed taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] =>[SimpleToken] print[StringToken]([BeginToken]"sync unnamed taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] async[KeywordToken] {[BeginToken]
|
||||
print[StringToken]([BeginToken]"async unnamed taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] async[KeywordToken] =>[SimpleToken] print[StringToken]([BeginToken]"async unnamed taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]
|
||||
[SimpleToken]
|
||||
|
|
|
@ -20,13 +20,19 @@ print("sync named async with int return type taking 2 parameters");
|
|||
print("sync named async with record type return type taking 2 parameters");
|
||||
}
|
||||
|
||||
(int x, int y) async (int x, int y) => print("sync named async with record type return type taking 2 parameters");
|
||||
|
||||
(int x, int y) {
|
||||
print("sync unnamed taking 2 parameters");
|
||||
}();
|
||||
|
||||
(int x, int y) => print("sync unnamed taking 2 parameters");
|
||||
|
||||
(int x, int y) async {
|
||||
print("async unnamed taking 2 parameters");
|
||||
}();
|
||||
|
||||
(int x, int y) async => print("async unnamed taking 2 parameters");
|
||||
}
|
||||
|
||||
|
||||
|
@ -52,12 +58,18 @@ print[StringToken]([BeginToken]"sync named async with int return type taking 2 p
|
|||
print[StringToken]([BeginToken]"sync named async with record type return type taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]
|
||||
|
||||
([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] async[KeywordToken] ([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] =>[SimpleToken] print[StringToken]([BeginToken]"sync named async with record type return type taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] {[BeginToken]
|
||||
print[StringToken]([BeginToken]"sync unnamed taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] =>[SimpleToken] print[StringToken]([BeginToken]"sync unnamed taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] async[KeywordToken] {[BeginToken]
|
||||
print[StringToken]([BeginToken]"async unnamed taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
([BeginToken]int[StringToken] x[StringToken],[SimpleToken] int[StringToken] y[StringToken])[SimpleToken] async[KeywordToken] =>[SimpleToken] print[StringToken]([BeginToken]"async unnamed taking 2 parameters"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]
|
||||
[SimpleToken]
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
// Not getter, but method called 'get'.
|
||||
(int a, String b) get(int x) => (42, "fortytwo");
|
||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||
|
||||
// Getter called get.
|
||||
(int a, String b) get get => (42, "fortytwo");
|
||||
(int a, String b) get get { return (42, "fortytwo"); }
|
||||
|
||||
// Getter called something else.
|
||||
(int a, String b) get topLevelGetter => (42, "fortytwo");
|
||||
(int a, String b) get topLevelGetter { return (42, "fortytwo"); }
|
||||
|
||||
class Foo {
|
||||
// Not getter, but method called 'get'.
|
||||
(int a, String b) get(int x) => (42, "fortytwo");
|
||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||
|
||||
// Getter called get.
|
||||
(int a, String b) get get => (42, "fortytwo");
|
||||
(int a, String b) get get { return (42, "fortytwo"); }
|
||||
|
||||
// Getter called something else.
|
||||
(int a, String b) get instanceGetter => (42, "fortytwo");
|
||||
(int a, String b) get instanceGetter { return (42, "fortytwo"); }
|
||||
}
|
||||
|
||||
class Bar {
|
||||
// Not getter, but method called 'get'.
|
||||
static (int a, String b) get(int x) => (42, "fortytwo");
|
||||
static (int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||
|
||||
// Getter called get.
|
||||
static (int a, String b) get get => (42, "fortytwo");
|
||||
static (int a, String b) get get { return (42, "fortytwo"); }
|
||||
|
||||
// Getter called something else.
|
||||
static (int a, String b) get staticGetter => (42, "fortytwo");
|
||||
static (int a, String b) get staticGetter { return (42, "fortytwo"); }
|
||||
}
|
|
@ -0,0 +1,743 @@
|
|||
beginCompilationUnit(()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginTopLevelMember(()
|
||||
beginTopLevelMethod(, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, topLevelFunctionDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.TopLevelMethod)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.TopLevelMethod, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.TopLevelMethod)
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endTopLevelMethod((, null, ;)
|
||||
endTopLevelDeclaration(()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginTopLevelMember(()
|
||||
beginTopLevelMethod(;, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, topLevelFunctionDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.TopLevelMethod)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.TopLevelMethod, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.TopLevelMethod)
|
||||
handleAsyncModifier(null, null)
|
||||
beginBlockFunctionBody({)
|
||||
beginReturnStatement(return)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
endReturnStatement(true, return, ;)
|
||||
endBlockFunctionBody(1, {, })
|
||||
endTopLevelMethod((, null, })
|
||||
endTopLevelDeclaration(()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginTopLevelMember(()
|
||||
beginTopLevelMethod(}, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, topLevelFunctionDeclaration)
|
||||
handleNoTypeVariables(=>)
|
||||
handleNoFormalParameters(=>, MemberKind.TopLevelMethod)
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endTopLevelMethod((, get, ;)
|
||||
endTopLevelDeclaration(()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginTopLevelMember(()
|
||||
beginTopLevelMethod(;, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, topLevelFunctionDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
handleNoFormalParameters({, MemberKind.TopLevelMethod)
|
||||
handleAsyncModifier(null, null)
|
||||
beginBlockFunctionBody({)
|
||||
beginReturnStatement(return)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
endReturnStatement(true, return, ;)
|
||||
endBlockFunctionBody(1, {, })
|
||||
endTopLevelMethod((, get, })
|
||||
endTopLevelDeclaration(()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginTopLevelMember(()
|
||||
beginTopLevelMethod(}, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(topLevelGetter, topLevelFunctionDeclaration)
|
||||
handleNoTypeVariables(=>)
|
||||
handleNoFormalParameters(=>, MemberKind.TopLevelMethod)
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endTopLevelMethod((, get, ;)
|
||||
endTopLevelDeclaration(()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginTopLevelMember(()
|
||||
beginTopLevelMethod(;, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(topLevelGetter, topLevelFunctionDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
handleNoFormalParameters({, MemberKind.TopLevelMethod)
|
||||
handleAsyncModifier(null, null)
|
||||
beginBlockFunctionBody({)
|
||||
beginReturnStatement(return)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
endReturnStatement(true, return, ;)
|
||||
endBlockFunctionBody(1, {, })
|
||||
endTopLevelMethod((, get, })
|
||||
endTopLevelDeclaration(class)
|
||||
beginMetadataStar(class)
|
||||
endMetadataStar(0)
|
||||
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
|
||||
handleIdentifier(Foo, classOrMixinDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
beginClassDeclaration(class, null, null, null, Foo)
|
||||
handleNoType(Foo)
|
||||
handleClassExtends(null, 1)
|
||||
handleClassNoWithClause()
|
||||
handleImplements(null, 0)
|
||||
handleClassHeader(class, class, null)
|
||||
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, get)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, methodDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(null, (, (, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, get)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, methodDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginBlockFunctionBody({)
|
||||
beginReturnStatement(return)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
endReturnStatement(true, return, ;)
|
||||
endBlockFunctionBody(1, {, })
|
||||
endClassMethod(null, (, (, null, })
|
||||
endMember()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, get, get)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, methodDeclaration)
|
||||
handleNoTypeVariables(=>)
|
||||
handleNoFormalParameters(=>, MemberKind.NonStaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(get, (, =>, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, get, get)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, methodDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
handleNoFormalParameters({, MemberKind.NonStaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginBlockFunctionBody({)
|
||||
beginReturnStatement(return)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
endReturnStatement(true, return, ;)
|
||||
endBlockFunctionBody(1, {, })
|
||||
endClassMethod(get, (, {, null, })
|
||||
endMember()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, get, instanceGetter)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(instanceGetter, methodDeclaration)
|
||||
handleNoTypeVariables(=>)
|
||||
handleNoFormalParameters(=>, MemberKind.NonStaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(get, (, =>, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, get, instanceGetter)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(instanceGetter, methodDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
handleNoFormalParameters({, MemberKind.NonStaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginBlockFunctionBody({)
|
||||
beginReturnStatement(return)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
endReturnStatement(true, return, ;)
|
||||
endBlockFunctionBody(1, {, })
|
||||
endClassMethod(get, (, {, null, })
|
||||
endMember()
|
||||
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 6, {, })
|
||||
endClassDeclaration(class, })
|
||||
endTopLevelDeclaration(class)
|
||||
beginMetadataStar(class)
|
||||
endMetadataStar(0)
|
||||
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
|
||||
handleIdentifier(Bar, classOrMixinDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
beginClassDeclaration(class, null, null, null, Bar)
|
||||
handleNoType(Bar)
|
||||
handleClassExtends(null, 1)
|
||||
handleClassNoWithClause()
|
||||
handleImplements(null, 0)
|
||||
handleClassHeader(class, class, null)
|
||||
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, static, null, null, null, get)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, methodDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.StaticMethod)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.StaticMethod, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.StaticMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.StaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(null, static, (, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, static, null, null, null, get)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, methodDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.StaticMethod)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.StaticMethod, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.StaticMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.StaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginBlockFunctionBody({)
|
||||
beginReturnStatement(return)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
endReturnStatement(true, return, ;)
|
||||
endBlockFunctionBody(1, {, })
|
||||
endClassMethod(null, static, (, null, })
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, static, null, null, get, get)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, methodDeclaration)
|
||||
handleNoTypeVariables(=>)
|
||||
handleNoFormalParameters(=>, MemberKind.StaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(get, static, =>, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, static, null, null, get, get)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(get, methodDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
handleNoFormalParameters({, MemberKind.StaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginBlockFunctionBody({)
|
||||
beginReturnStatement(return)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
endReturnStatement(true, return, ;)
|
||||
endBlockFunctionBody(1, {, })
|
||||
endClassMethod(get, static, {, null, })
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, static, null, null, get, staticGetter)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(staticGetter, methodDeclaration)
|
||||
handleNoTypeVariables(=>)
|
||||
handleNoFormalParameters(=>, MemberKind.StaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(get, static, =>, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, static, null, null, get, staticGetter)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(staticGetter, methodDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
handleNoFormalParameters({, MemberKind.StaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginBlockFunctionBody({)
|
||||
beginReturnStatement(return)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
endReturnStatement(true, return, ;)
|
||||
endBlockFunctionBody(1, {, })
|
||||
endClassMethod(get, static, {, null, })
|
||||
endMember()
|
||||
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 6, {, })
|
||||
endClassDeclaration(class, })
|
||||
endTopLevelDeclaration()
|
||||
endCompilationUnit(8, )
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,79 @@
|
|||
(int a, String b) get(int x) => (42, "fortytwo");
|
||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
(int a, String b) get get => (42, "fortytwo");
|
||||
(int a, String b) get get { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
(int a, String b) get topLevelGetter => (42, "fortytwo");
|
||||
(int a, String b) get topLevelGetter { return (42, "fortytwo"); }
|
||||
|
||||
class Foo {
|
||||
|
||||
(int a, String b) get(int x) => (42, "fortytwo");
|
||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
(int a, String b) get get => (42, "fortytwo");
|
||||
(int a, String b) get get { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
(int a, String b) get instanceGetter => (42, "fortytwo");
|
||||
(int a, String b) get instanceGetter { return (42, "fortytwo"); }
|
||||
}
|
||||
|
||||
class Bar {
|
||||
|
||||
static (int a, String b) get(int x) => (42, "fortytwo");
|
||||
static (int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
static (int a, String b) get get => (42, "fortytwo");
|
||||
static (int a, String b) get get { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
static (int a, String b) get staticGetter => (42, "fortytwo");
|
||||
static (int a, String b) get staticGetter { return (42, "fortytwo"); }
|
||||
}
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
class[KeywordToken] Foo[StringToken] {[BeginToken]
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
}[SimpleToken]
|
||||
|
||||
class[KeywordToken] Bar[StringToken] {[BeginToken]
|
||||
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
}[SimpleToken]
|
||||
[SimpleToken]
|
|
@ -0,0 +1,79 @@
|
|||
(int a, String b) get(int x) => (42, "fortytwo");
|
||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
(int a, String b) get get => (42, "fortytwo");
|
||||
(int a, String b) get get { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
(int a, String b) get topLevelGetter => (42, "fortytwo");
|
||||
(int a, String b) get topLevelGetter { return (42, "fortytwo"); }
|
||||
|
||||
class Foo {
|
||||
|
||||
(int a, String b) get(int x) => (42, "fortytwo");
|
||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
(int a, String b) get get => (42, "fortytwo");
|
||||
(int a, String b) get get { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
(int a, String b) get instanceGetter => (42, "fortytwo");
|
||||
(int a, String b) get instanceGetter { return (42, "fortytwo"); }
|
||||
}
|
||||
|
||||
class Bar {
|
||||
|
||||
static (int a, String b) get(int x) => (42, "fortytwo");
|
||||
static (int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
static (int a, String b) get get => (42, "fortytwo");
|
||||
static (int a, String b) get get { return (42, "fortytwo"); }
|
||||
|
||||
|
||||
static (int a, String b) get staticGetter => (42, "fortytwo");
|
||||
static (int a, String b) get staticGetter { return (42, "fortytwo"); }
|
||||
}
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
class[KeywordToken] Foo[StringToken] {[BeginToken]
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
}[SimpleToken]
|
||||
|
||||
class[KeywordToken] Bar[StringToken] {[BeginToken]
|
||||
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
|
||||
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] {[BeginToken] return[KeywordToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken] }[SimpleToken]
|
||||
}[SimpleToken]
|
||||
[SimpleToken]
|
|
@ -0,0 +1,39 @@
|
|||
// Not setter, but method called 'set'.
|
||||
(int a, String b) set(int x) => (42, "fortytwo");
|
||||
|
||||
// Setter called set.
|
||||
void set set((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
// Getter called set.
|
||||
(int a, String b) get set => (42, "fortytwo");
|
||||
|
||||
// Setter called something else.
|
||||
void set topLevelSetter((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
class Foo {
|
||||
// Not setter, but method called 'set'.
|
||||
(int a, String b) set(int x) => (42, "fortytwo");
|
||||
|
||||
// Setter called set.
|
||||
void set set((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
// Getter called set.
|
||||
(int a, String b) get set => (42, "fortytwo");
|
||||
|
||||
// Setter called something else.
|
||||
void set instanceSetter((int a, String b) x) => (42, "fortytwo");
|
||||
}
|
||||
|
||||
class Bar {
|
||||
// Not setter, but method called 'set'.
|
||||
static (int a, String b) set(int x) => (42, "fortytwo");
|
||||
|
||||
// Setter called set.
|
||||
static void set set((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
// Getter called set.
|
||||
static (int a, String b) get set => (42, "fortytwo");
|
||||
|
||||
// Setter called something else.
|
||||
static void set staticSetter((int a, String b) x) => (42, "fortytwo");
|
||||
}
|
|
@ -0,0 +1,526 @@
|
|||
beginCompilationUnit(()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginTopLevelMember(()
|
||||
beginTopLevelMethod(, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(set, topLevelFunctionDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.TopLevelMethod)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.TopLevelMethod, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.TopLevelMethod)
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endTopLevelMethod((, null, ;)
|
||||
endTopLevelDeclaration(void)
|
||||
beginMetadataStar(void)
|
||||
endMetadataStar(0)
|
||||
beginTopLevelMember(void)
|
||||
beginTopLevelMethod(;, null, null)
|
||||
handleVoidKeyword(void)
|
||||
handleIdentifier(set, topLevelFunctionDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.TopLevelMethod)
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter((, MemberKind.TopLevelMethod, null, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.TopLevelMethod)
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endTopLevelMethod(void, set, ;)
|
||||
endTopLevelDeclaration(()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginTopLevelMember(()
|
||||
beginTopLevelMethod(;, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(set, topLevelFunctionDeclaration)
|
||||
handleNoTypeVariables(=>)
|
||||
handleNoFormalParameters(=>, MemberKind.TopLevelMethod)
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endTopLevelMethod((, get, ;)
|
||||
endTopLevelDeclaration(void)
|
||||
beginMetadataStar(void)
|
||||
endMetadataStar(0)
|
||||
beginTopLevelMember(void)
|
||||
beginTopLevelMethod(;, null, null)
|
||||
handleVoidKeyword(void)
|
||||
handleIdentifier(topLevelSetter, topLevelFunctionDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.TopLevelMethod)
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter((, MemberKind.TopLevelMethod, null, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.TopLevelMethod)
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endTopLevelMethod(void, set, ;)
|
||||
endTopLevelDeclaration(class)
|
||||
beginMetadataStar(class)
|
||||
endMetadataStar(0)
|
||||
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
|
||||
handleIdentifier(Foo, classOrMixinDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
beginClassDeclaration(class, null, null, null, Foo)
|
||||
handleNoType(Foo)
|
||||
handleClassExtends(null, 1)
|
||||
handleClassNoWithClause()
|
||||
handleImplements(null, 0)
|
||||
handleClassHeader(class, class, null)
|
||||
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, set)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(set, methodDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.NonStaticMethod, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(null, (, (, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(void)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, set, set)
|
||||
handleVoidKeyword(void)
|
||||
handleIdentifier(set, methodDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(set, void, (, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, get, set)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(set, methodDeclaration)
|
||||
handleNoTypeVariables(=>)
|
||||
handleNoFormalParameters(=>, MemberKind.NonStaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(get, (, =>, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(void)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, set, instanceSetter)
|
||||
handleVoidKeyword(void)
|
||||
handleIdentifier(instanceSetter, methodDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(set, void, (, null, ;)
|
||||
endMember()
|
||||
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 4, {, })
|
||||
endClassDeclaration(class, })
|
||||
endTopLevelDeclaration(class)
|
||||
beginMetadataStar(class)
|
||||
endMetadataStar(0)
|
||||
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
|
||||
handleIdentifier(Bar, classOrMixinDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
beginClassDeclaration(class, null, null, null, Bar)
|
||||
handleNoType(Bar)
|
||||
handleClassExtends(null, 1)
|
||||
handleClassNoWithClause()
|
||||
handleImplements(null, 0)
|
||||
handleClassHeader(class, class, null)
|
||||
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, static, null, null, null, set)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(set, methodDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.StaticMethod)
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter(int, MemberKind.StaticMethod, null, null, null)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(x)
|
||||
handleType(int, null)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.StaticMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.StaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(null, static, (, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, static, null, null, set, set)
|
||||
handleVoidKeyword(void)
|
||||
handleIdentifier(set, methodDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.StaticMethod)
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter((, MemberKind.StaticMethod, null, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.StaticMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.StaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(set, static, (, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, static, null, null, get, set)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(set, methodDeclaration)
|
||||
handleNoTypeVariables(=>)
|
||||
handleNoFormalParameters(=>, MemberKind.StaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(get, static, =>, null, ;)
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginMethod(DeclarationKind.Class, null, null, static, null, null, set, staticSetter)
|
||||
handleVoidKeyword(void)
|
||||
handleIdentifier(staticSetter, methodDeclaration)
|
||||
handleNoTypeVariables(()
|
||||
beginFormalParameters((, MemberKind.StaticMethod)
|
||||
beginMetadataStar(()
|
||||
endMetadataStar(0)
|
||||
beginFormalParameter((, MemberKind.StaticMethod, null, null, null)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(String)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(String, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(String, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(x, formalParameterDeclaration)
|
||||
handleFormalParameterWithoutValue())
|
||||
endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.StaticMethod)
|
||||
endFormalParameters(1, (, ), MemberKind.StaticMethod)
|
||||
handleNoInitializers()
|
||||
handleAsyncModifier(null, null)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
beginLiteralString("fortytwo")
|
||||
endLiteralString(0, ))
|
||||
endRecordLiteral((, 2)
|
||||
handleExpressionFunctionBody(=>, ;)
|
||||
endClassMethod(set, static, (, null, ;)
|
||||
endMember()
|
||||
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 4, {, })
|
||||
endClassDeclaration(class, })
|
||||
endTopLevelDeclaration()
|
||||
endCompilationUnit(6, )
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,79 @@
|
|||
(int a, String b) set(int x) => (42, "fortytwo");
|
||||
|
||||
|
||||
void set set((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
|
||||
(int a, String b) get set => (42, "fortytwo");
|
||||
|
||||
|
||||
void set topLevelSetter((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
class Foo {
|
||||
|
||||
(int a, String b) set(int x) => (42, "fortytwo");
|
||||
|
||||
|
||||
void set set((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
|
||||
(int a, String b) get set => (42, "fortytwo");
|
||||
|
||||
|
||||
void set instanceSetter((int a, String b) x) => (42, "fortytwo");
|
||||
}
|
||||
|
||||
class Bar {
|
||||
|
||||
static (int a, String b) set(int x) => (42, "fortytwo");
|
||||
|
||||
|
||||
static void set set((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
|
||||
static (int a, String b) get set => (42, "fortytwo");
|
||||
|
||||
|
||||
static void set staticSetter((int a, String b) x) => (42, "fortytwo");
|
||||
}
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] set[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
void[KeywordToken] set[KeywordToken] set[KeywordToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] set[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
void[KeywordToken] set[KeywordToken] topLevelSetter[StringToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
class[KeywordToken] Foo[StringToken] {[BeginToken]
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] set[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
void[KeywordToken] set[KeywordToken] set[KeywordToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] set[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
void[KeywordToken] set[KeywordToken] instanceSetter[StringToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]
|
||||
|
||||
class[KeywordToken] Bar[StringToken] {[BeginToken]
|
||||
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] set[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
static[KeywordToken] void[KeywordToken] set[KeywordToken] set[KeywordToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] set[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
static[KeywordToken] void[KeywordToken] set[KeywordToken] staticSetter[StringToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]
|
||||
[SimpleToken]
|
|
@ -0,0 +1,79 @@
|
|||
(int a, String b) set(int x) => (42, "fortytwo");
|
||||
|
||||
|
||||
void set set((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
|
||||
(int a, String b) get set => (42, "fortytwo");
|
||||
|
||||
|
||||
void set topLevelSetter((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
class Foo {
|
||||
|
||||
(int a, String b) set(int x) => (42, "fortytwo");
|
||||
|
||||
|
||||
void set set((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
|
||||
(int a, String b) get set => (42, "fortytwo");
|
||||
|
||||
|
||||
void set instanceSetter((int a, String b) x) => (42, "fortytwo");
|
||||
}
|
||||
|
||||
class Bar {
|
||||
|
||||
static (int a, String b) set(int x) => (42, "fortytwo");
|
||||
|
||||
|
||||
static void set set((int a, String b) x) => (42, "fortytwo");
|
||||
|
||||
|
||||
static (int a, String b) get set => (42, "fortytwo");
|
||||
|
||||
|
||||
static void set staticSetter((int a, String b) x) => (42, "fortytwo");
|
||||
}
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] set[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
void[KeywordToken] set[KeywordToken] set[KeywordToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] set[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
void[KeywordToken] set[KeywordToken] topLevelSetter[StringToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
class[KeywordToken] Foo[StringToken] {[BeginToken]
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] set[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
void[KeywordToken] set[KeywordToken] set[KeywordToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] set[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
void[KeywordToken] set[KeywordToken] instanceSetter[StringToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]
|
||||
|
||||
class[KeywordToken] Bar[StringToken] {[BeginToken]
|
||||
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] set[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
static[KeywordToken] void[KeywordToken] set[KeywordToken] set[KeywordToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] set[KeywordToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
|
||||
|
||||
static[KeywordToken] void[KeywordToken] set[KeywordToken] staticSetter[StringToken]([BeginToken]([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] x[StringToken])[SimpleToken] =>[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] "fortytwo"[StringToken])[SimpleToken];[SimpleToken]
|
||||
}[SimpleToken]
|
||||
[SimpleToken]
|
|
@ -0,0 +1,8 @@
|
|||
class Foo {
|
||||
final (int a, int b) x = (42, 42);
|
||||
static (int a, int b) y = (42, 42);
|
||||
static final (int a, int b) z = (42, 42);
|
||||
static const (int a, int b) b = (42, 42);
|
||||
late (int a, int b) c;
|
||||
late final (int a, int b) d;
|
||||
}
|
|
@ -0,0 +1,193 @@
|
|||
beginCompilationUnit(class)
|
||||
beginMetadataStar(class)
|
||||
endMetadataStar(0)
|
||||
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
|
||||
handleIdentifier(Foo, classOrMixinDeclaration)
|
||||
handleNoTypeVariables({)
|
||||
beginClassDeclaration(class, null, null, null, Foo)
|
||||
handleNoType(Foo)
|
||||
handleClassExtends(null, 1)
|
||||
handleClassNoWithClause()
|
||||
handleImplements(null, 0)
|
||||
handleClassHeader(class, class, null)
|
||||
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
||||
beginMetadataStar(final)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginFields(DeclarationKind.Class, null, null, null, null, null, null, final, {)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(int, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(x, fieldDeclaration)
|
||||
beginFieldInitializer(=)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
handleLiteralInt(42)
|
||||
endRecordLiteral((, 2)
|
||||
endFieldInitializer(=, ;)
|
||||
endClassFields(null, null, null, null, null, null, final, 1, final, ;)
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginFields(DeclarationKind.Class, null, null, null, static, null, null, null, ;)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(int, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(y, fieldDeclaration)
|
||||
beginFieldInitializer(=)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
handleLiteralInt(42)
|
||||
endRecordLiteral((, 2)
|
||||
endFieldInitializer(=, ;)
|
||||
endClassFields(null, null, null, static, null, null, null, 1, static, ;)
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginFields(DeclarationKind.Class, null, null, null, static, null, null, final, ;)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(int, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(z, fieldDeclaration)
|
||||
beginFieldInitializer(=)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
handleLiteralInt(42)
|
||||
endRecordLiteral((, 2)
|
||||
endFieldInitializer(=, ;)
|
||||
endClassFields(null, null, null, static, null, null, final, 1, static, ;)
|
||||
endMember()
|
||||
beginMetadataStar(static)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginFields(DeclarationKind.Class, null, null, null, static, null, null, const, ;)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(int, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(b, fieldDeclaration)
|
||||
beginFieldInitializer(=)
|
||||
beginParenthesizedExpressionOrRecordLiteral(()
|
||||
handleLiteralInt(42)
|
||||
handleLiteralInt(42)
|
||||
endRecordLiteral((, 2)
|
||||
endFieldInitializer(=, ;)
|
||||
endClassFields(null, null, null, static, null, null, const, 1, static, ;)
|
||||
endMember()
|
||||
beginMetadataStar(late)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginFields(DeclarationKind.Class, null, null, null, null, null, late, null, ;)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(int, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(c, fieldDeclaration)
|
||||
handleNoFieldInitializer(;)
|
||||
endClassFields(null, null, null, null, null, late, null, 1, late, ;)
|
||||
endMember()
|
||||
beginMetadataStar(late)
|
||||
endMetadataStar(0)
|
||||
beginMember()
|
||||
beginFields(DeclarationKind.Class, null, null, null, null, null, late, final, ;)
|
||||
beginRecordType(()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(a)
|
||||
handleType(int, null)
|
||||
handleIdentifier(a, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
beginRecordTypeEntry()
|
||||
beginMetadataStar(int)
|
||||
endMetadataStar(0)
|
||||
handleIdentifier(int, typeReference)
|
||||
handleNoTypeArguments(b)
|
||||
handleType(int, null)
|
||||
handleIdentifier(b, recordFieldDeclaration)
|
||||
endRecordTypeEntry()
|
||||
endRecordType((, null, 2, false)
|
||||
handleIdentifier(d, fieldDeclaration)
|
||||
handleNoFieldInitializer(;)
|
||||
endClassFields(null, null, null, null, null, late, final, 1, late, ;)
|
||||
endMember()
|
||||
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 6, {, })
|
||||
endClassDeclaration(class, })
|
||||
endTopLevelDeclaration()
|
||||
endCompilationUnit(1, )
|
|
@ -0,0 +1,355 @@
|
|||
parseUnit(class)
|
||||
skipErrorTokens(class)
|
||||
listener: beginCompilationUnit(class)
|
||||
syntheticPreviousToken(class)
|
||||
parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext')
|
||||
parseMetadataStar()
|
||||
listener: beginMetadataStar(class)
|
||||
listener: endMetadataStar(0)
|
||||
parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
|
||||
parseClassOrNamedMixinApplication(null, null, null, class)
|
||||
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
|
||||
ensureIdentifier(class, classOrMixinDeclaration)
|
||||
listener: handleIdentifier(Foo, classOrMixinDeclaration)
|
||||
listener: handleNoTypeVariables({)
|
||||
listener: beginClassDeclaration(class, null, null, null, Foo)
|
||||
parseClass(Foo, class, class, Foo)
|
||||
parseClassHeaderOpt(Foo, class, class)
|
||||
parseClassExtendsOpt(Foo)
|
||||
listener: handleNoType(Foo)
|
||||
listener: handleClassExtends(null, 1)
|
||||
parseClassWithClauseOpt(Foo)
|
||||
listener: handleClassNoWithClause()
|
||||
parseClassOrMixinOrEnumImplementsOpt(Foo)
|
||||
listener: handleImplements(null, 0)
|
||||
listener: handleClassHeader(class, class, null)
|
||||
parseClassOrMixinOrExtensionBody(Foo, DeclarationKind.Class, Foo)
|
||||
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
||||
notEofOrValue(}, final)
|
||||
parseClassOrMixinOrExtensionOrEnumMemberImpl({, DeclarationKind.Class, Foo)
|
||||
parseMetadataStar({)
|
||||
listener: beginMetadataStar(final)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginMember()
|
||||
parseFields({, null, null, null, null, null, null, final, final, Instance of 'ComplexTypeInfo', x, DeclarationKind.Class, Foo, false)
|
||||
listener: beginFields(DeclarationKind.Class, null, null, null, null, null, null, final, {)
|
||||
parseRecordType((, final)
|
||||
listener: beginRecordType(()
|
||||
parseRecordTypeField((, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(()
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(a)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(a, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
parseRecordTypeField(,, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(,)
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(b)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(b, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
listener: endRecordType((, null, 2, false)
|
||||
ensureIdentifierPotentiallyRecovered(), fieldDeclaration, false)
|
||||
listener: handleIdentifier(x, fieldDeclaration)
|
||||
parseFieldInitializerOpt(x, x, null, null, null, null, final, DeclarationKind.Class, Foo)
|
||||
listener: beginFieldInitializer(=)
|
||||
parseExpression(=)
|
||||
parsePrecedenceExpression(=, 1, true)
|
||||
parseUnaryExpression(=, true)
|
||||
parsePrimary(=, expression)
|
||||
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(=)
|
||||
parseParenthesizedExpressionOrRecordLiteral(=)
|
||||
listener: beginParenthesizedExpressionOrRecordLiteral(()
|
||||
parseExpression(()
|
||||
parsePrecedenceExpression((, 1, true)
|
||||
parseUnaryExpression((, true)
|
||||
parsePrimary((, expression)
|
||||
parseLiteralInt(()
|
||||
listener: handleLiteralInt(42)
|
||||
parseExpression(,)
|
||||
parsePrecedenceExpression(,, 1, true)
|
||||
parseUnaryExpression(,, true)
|
||||
parsePrimary(,, expression)
|
||||
parseLiteralInt(,)
|
||||
listener: handleLiteralInt(42)
|
||||
ensureCloseParen(42, ()
|
||||
listener: endRecordLiteral((, 2)
|
||||
listener: endFieldInitializer(=, ;)
|
||||
listener: endClassFields(null, null, null, null, null, null, final, 1, final, ;)
|
||||
listener: endMember()
|
||||
notEofOrValue(}, static)
|
||||
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, Foo)
|
||||
parseMetadataStar(;)
|
||||
listener: beginMetadataStar(static)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginMember()
|
||||
parseFields(;, null, null, null, static, null, null, null, static, Instance of 'ComplexTypeInfo', y, DeclarationKind.Class, Foo, false)
|
||||
listener: beginFields(DeclarationKind.Class, null, null, null, static, null, null, null, ;)
|
||||
parseRecordType((, static)
|
||||
listener: beginRecordType(()
|
||||
parseRecordTypeField((, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(()
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(a)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(a, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
parseRecordTypeField(,, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(,)
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(b)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(b, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
listener: endRecordType((, null, 2, false)
|
||||
ensureIdentifierPotentiallyRecovered(), fieldDeclaration, false)
|
||||
listener: handleIdentifier(y, fieldDeclaration)
|
||||
parseFieldInitializerOpt(y, y, null, null, null, null, null, DeclarationKind.Class, Foo)
|
||||
listener: beginFieldInitializer(=)
|
||||
parseExpression(=)
|
||||
parsePrecedenceExpression(=, 1, true)
|
||||
parseUnaryExpression(=, true)
|
||||
parsePrimary(=, expression)
|
||||
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(=)
|
||||
parseParenthesizedExpressionOrRecordLiteral(=)
|
||||
listener: beginParenthesizedExpressionOrRecordLiteral(()
|
||||
parseExpression(()
|
||||
parsePrecedenceExpression((, 1, true)
|
||||
parseUnaryExpression((, true)
|
||||
parsePrimary((, expression)
|
||||
parseLiteralInt(()
|
||||
listener: handleLiteralInt(42)
|
||||
parseExpression(,)
|
||||
parsePrecedenceExpression(,, 1, true)
|
||||
parseUnaryExpression(,, true)
|
||||
parsePrimary(,, expression)
|
||||
parseLiteralInt(,)
|
||||
listener: handleLiteralInt(42)
|
||||
ensureCloseParen(42, ()
|
||||
listener: endRecordLiteral((, 2)
|
||||
listener: endFieldInitializer(=, ;)
|
||||
listener: endClassFields(null, null, null, static, null, null, null, 1, static, ;)
|
||||
listener: endMember()
|
||||
notEofOrValue(}, static)
|
||||
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, Foo)
|
||||
parseMetadataStar(;)
|
||||
listener: beginMetadataStar(static)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginMember()
|
||||
parseFields(;, null, null, null, static, null, null, final, final, Instance of 'ComplexTypeInfo', z, DeclarationKind.Class, Foo, false)
|
||||
listener: beginFields(DeclarationKind.Class, null, null, null, static, null, null, final, ;)
|
||||
parseRecordType((, final)
|
||||
listener: beginRecordType(()
|
||||
parseRecordTypeField((, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(()
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(a)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(a, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
parseRecordTypeField(,, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(,)
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(b)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(b, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
listener: endRecordType((, null, 2, false)
|
||||
ensureIdentifierPotentiallyRecovered(), fieldDeclaration, false)
|
||||
listener: handleIdentifier(z, fieldDeclaration)
|
||||
parseFieldInitializerOpt(z, z, null, null, null, null, final, DeclarationKind.Class, Foo)
|
||||
listener: beginFieldInitializer(=)
|
||||
parseExpression(=)
|
||||
parsePrecedenceExpression(=, 1, true)
|
||||
parseUnaryExpression(=, true)
|
||||
parsePrimary(=, expression)
|
||||
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(=)
|
||||
parseParenthesizedExpressionOrRecordLiteral(=)
|
||||
listener: beginParenthesizedExpressionOrRecordLiteral(()
|
||||
parseExpression(()
|
||||
parsePrecedenceExpression((, 1, true)
|
||||
parseUnaryExpression((, true)
|
||||
parsePrimary((, expression)
|
||||
parseLiteralInt(()
|
||||
listener: handleLiteralInt(42)
|
||||
parseExpression(,)
|
||||
parsePrecedenceExpression(,, 1, true)
|
||||
parseUnaryExpression(,, true)
|
||||
parsePrimary(,, expression)
|
||||
parseLiteralInt(,)
|
||||
listener: handleLiteralInt(42)
|
||||
ensureCloseParen(42, ()
|
||||
listener: endRecordLiteral((, 2)
|
||||
listener: endFieldInitializer(=, ;)
|
||||
listener: endClassFields(null, null, null, static, null, null, final, 1, static, ;)
|
||||
listener: endMember()
|
||||
notEofOrValue(}, static)
|
||||
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, Foo)
|
||||
parseMetadataStar(;)
|
||||
listener: beginMetadataStar(static)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginMember()
|
||||
parseFields(;, null, null, null, static, null, null, const, const, Instance of 'ComplexTypeInfo', b, DeclarationKind.Class, Foo, false)
|
||||
listener: beginFields(DeclarationKind.Class, null, null, null, static, null, null, const, ;)
|
||||
parseRecordType((, const)
|
||||
listener: beginRecordType(()
|
||||
parseRecordTypeField((, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(()
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(a)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(a, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
parseRecordTypeField(,, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(,)
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(b)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(b, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
listener: endRecordType((, null, 2, false)
|
||||
ensureIdentifierPotentiallyRecovered(), fieldDeclaration, false)
|
||||
listener: handleIdentifier(b, fieldDeclaration)
|
||||
parseFieldInitializerOpt(b, b, null, null, null, null, const, DeclarationKind.Class, Foo)
|
||||
listener: beginFieldInitializer(=)
|
||||
parseExpression(=)
|
||||
parsePrecedenceExpression(=, 1, true)
|
||||
parseUnaryExpression(=, true)
|
||||
parsePrimary(=, expression)
|
||||
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(=)
|
||||
parseParenthesizedExpressionOrRecordLiteral(=)
|
||||
listener: beginParenthesizedExpressionOrRecordLiteral(()
|
||||
parseExpression(()
|
||||
parsePrecedenceExpression((, 1, true)
|
||||
parseUnaryExpression((, true)
|
||||
parsePrimary((, expression)
|
||||
parseLiteralInt(()
|
||||
listener: handleLiteralInt(42)
|
||||
parseExpression(,)
|
||||
parsePrecedenceExpression(,, 1, true)
|
||||
parseUnaryExpression(,, true)
|
||||
parsePrimary(,, expression)
|
||||
parseLiteralInt(,)
|
||||
listener: handleLiteralInt(42)
|
||||
ensureCloseParen(42, ()
|
||||
listener: endRecordLiteral((, 2)
|
||||
listener: endFieldInitializer(=, ;)
|
||||
listener: endClassFields(null, null, null, static, null, null, const, 1, static, ;)
|
||||
listener: endMember()
|
||||
notEofOrValue(}, late)
|
||||
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, Foo)
|
||||
parseMetadataStar(;)
|
||||
listener: beginMetadataStar(late)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginMember()
|
||||
parseFields(;, null, null, null, null, null, late, null, late, Instance of 'ComplexTypeInfo', c, DeclarationKind.Class, Foo, false)
|
||||
listener: beginFields(DeclarationKind.Class, null, null, null, null, null, late, null, ;)
|
||||
parseRecordType((, late)
|
||||
listener: beginRecordType(()
|
||||
parseRecordTypeField((, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(()
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(a)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(a, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
parseRecordTypeField(,, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(,)
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(b)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(b, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
listener: endRecordType((, null, 2, false)
|
||||
ensureIdentifierPotentiallyRecovered(), fieldDeclaration, false)
|
||||
listener: handleIdentifier(c, fieldDeclaration)
|
||||
parseFieldInitializerOpt(c, c, late, null, null, null, null, DeclarationKind.Class, Foo)
|
||||
listener: handleNoFieldInitializer(;)
|
||||
listener: endClassFields(null, null, null, null, null, late, null, 1, late, ;)
|
||||
listener: endMember()
|
||||
notEofOrValue(}, late)
|
||||
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, Foo)
|
||||
parseMetadataStar(;)
|
||||
listener: beginMetadataStar(late)
|
||||
listener: endMetadataStar(0)
|
||||
listener: beginMember()
|
||||
parseFields(;, null, null, null, null, null, late, final, final, Instance of 'ComplexTypeInfo', d, DeclarationKind.Class, Foo, false)
|
||||
listener: beginFields(DeclarationKind.Class, null, null, null, null, null, late, final, ;)
|
||||
parseRecordType((, final)
|
||||
listener: beginRecordType(()
|
||||
parseRecordTypeField((, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(()
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(a)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(a, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
parseRecordTypeField(,, identifierIsOptional: true)
|
||||
listener: beginRecordTypeEntry()
|
||||
parseMetadataStar(,)
|
||||
listener: beginMetadataStar(int)
|
||||
listener: endMetadataStar(0)
|
||||
listener: handleIdentifier(int, typeReference)
|
||||
listener: handleNoTypeArguments(b)
|
||||
listener: handleType(int, null)
|
||||
ensureIdentifier(int, recordFieldDeclaration)
|
||||
listener: handleIdentifier(b, recordFieldDeclaration)
|
||||
listener: endRecordTypeEntry()
|
||||
listener: endRecordType((, null, 2, false)
|
||||
ensureIdentifierPotentiallyRecovered(), fieldDeclaration, false)
|
||||
listener: handleIdentifier(d, fieldDeclaration)
|
||||
parseFieldInitializerOpt(d, d, late, null, null, null, final, DeclarationKind.Class, Foo)
|
||||
listener: handleNoFieldInitializer(;)
|
||||
listener: endClassFields(null, null, null, null, null, late, final, 1, late, ;)
|
||||
listener: endMember()
|
||||
notEofOrValue(}, })
|
||||
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 6, {, })
|
||||
listener: endClassDeclaration(class, })
|
||||
listener: endTopLevelDeclaration()
|
||||
reportAllErrorTokens(class)
|
||||
listener: endCompilationUnit(1, )
|
|
@ -0,0 +1,19 @@
|
|||
class Foo {
|
||||
final (int a, int b) x = (42, 42);
|
||||
static (int a, int b) y = (42, 42);
|
||||
static final (int a, int b) z = (42, 42);
|
||||
static const (int a, int b) b = (42, 42);
|
||||
late (int a, int b) c;
|
||||
late final (int a, int b) d;
|
||||
}
|
||||
|
||||
|
||||
class[KeywordToken] Foo[StringToken] {[BeginToken]
|
||||
final[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] x[StringToken] =[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] 42[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] y[StringToken] =[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] 42[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] final[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] z[StringToken] =[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] 42[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] const[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] b[StringToken] =[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] 42[StringToken])[SimpleToken];[SimpleToken]
|
||||
late[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] c[StringToken];[SimpleToken]
|
||||
late[KeywordToken] final[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] d[StringToken];[SimpleToken]
|
||||
}[SimpleToken]
|
||||
[SimpleToken]
|
|
@ -0,0 +1,19 @@
|
|||
class Foo {
|
||||
final (int a, int b) x = (42, 42);
|
||||
static (int a, int b) y = (42, 42);
|
||||
static final (int a, int b) z = (42, 42);
|
||||
static const (int a, int b) b = (42, 42);
|
||||
late (int a, int b) c;
|
||||
late final (int a, int b) d;
|
||||
}
|
||||
|
||||
|
||||
class[KeywordToken] Foo[StringToken] {[BeginToken]
|
||||
final[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] x[StringToken] =[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] 42[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] y[StringToken] =[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] 42[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] final[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] z[StringToken] =[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] 42[StringToken])[SimpleToken];[SimpleToken]
|
||||
static[KeywordToken] const[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] b[StringToken] =[SimpleToken] ([BeginToken]42[StringToken],[SimpleToken] 42[StringToken])[SimpleToken];[SimpleToken]
|
||||
late[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] c[StringToken];[SimpleToken]
|
||||
late[KeywordToken] final[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] int[StringToken] b[StringToken])[SimpleToken] d[StringToken];[SimpleToken]
|
||||
}[SimpleToken]
|
||||
[SimpleToken]
|
|
@ -285,6 +285,7 @@ forces
|
|||
foreground
|
||||
forrest
|
||||
forty
|
||||
fortytwo
|
||||
foundation
|
||||
fox
|
||||
frequency
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
main() {
|
||||
(int, int) record1 = (1, 2);
|
||||
//^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
|
@ -14,7 +13,6 @@ main() {
|
|||
print(record1);
|
||||
(int x, int y) record1Named = (1, 2);
|
||||
//^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
|
@ -24,7 +22,6 @@ main() {
|
|||
|
||||
(int, int, ) record2 = (1, 2);
|
||||
//^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
|
@ -34,7 +31,6 @@ main() {
|
|||
|
||||
(int x, int y, ) record2Named = (1, 2);
|
||||
//^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
|
@ -44,7 +40,6 @@ main() {
|
|||
|
||||
(int, int, {int a, int b}) record3 = (1, 2, a: 3, b: 4);
|
||||
//^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
|
@ -54,7 +49,6 @@ main() {
|
|||
|
||||
(int x, int y, {int a, int b}) record3Named = (1, 2, a: 3, b: 4);
|
||||
//^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
|
@ -64,7 +58,6 @@ main() {
|
|||
|
||||
(int, int, {int a, int b, }) record4 = (1, 2, a: 3, b: 4);
|
||||
//^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
|
@ -74,7 +67,6 @@ main() {
|
|||
|
||||
(int x, int y, {int a, int b, }) record4Named = (1, 2, a: 3, b: 4);
|
||||
//^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
|
@ -91,29 +83,37 @@ main() {
|
|||
print(b.foo(42));
|
||||
(int, int) Function ((int, int) a) z1 = ((int, int) a) { return (42, 42); };
|
||||
//^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
|
||||
final (int x, int y) finalRecordType = (42, 42);
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
}
|
||||
|
||||
(int a, String b) get topLevelGetterType => throw '';
|
||||
// [error column 1, length 1]
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
|
||||
(int, int) foo((int, {bool b}) inputRecord, int x) {
|
||||
// [error column 1, length 1]
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
if (inputRecord.b) return (42, 42);
|
||||
|
@ -129,11 +129,28 @@ main() {
|
|||
class Bar {
|
||||
(int, int) foo(int x) => (42, 42);
|
||||
//^
|
||||
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
|
||||
static (int x, int y) staticRecordType = (42, 42);
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
|
||||
(int a, String b) get instanceGetterType => throw '';
|
||||
//^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
|
||||
static (int a, String b) get staticGetterType => throw '';
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
}
|
||||
|
||||
|
|
|
@ -96,8 +96,21 @@ main() {
|
|||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
|
||||
final (int x, int y) finalRecordType = (42, 42);
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
}
|
||||
|
||||
(int a, String b) get topLevelGetterType => throw '';
|
||||
// [error column 1, length 1]
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
|
||||
(int, int) foo((int, {bool b}) inputRecord, int x) {
|
||||
// [error column 1, length 1]
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
|
@ -122,6 +135,24 @@ class Bar {
|
|||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
|
||||
static (int x, int y) staticRecordType = (42, 42);
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
|
||||
(int a, String b) get instanceGetterType => throw '';
|
||||
//^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
|
||||
static (int a, String b) get staticGetterType => throw '';
|
||||
// ^
|
||||
// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
|
||||
// [cfe] This requires the experimental 'records' language feature to be enabled.
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue