mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 23:59:47 +00:00
[parser] More corner cases for record types
* required is a modifier when followed by [record type] `?`. * Parse record type as record type if followed by `super` or `?` `super` or `?` `this`. * Typedef with record type follow by `?`. * Parse record type as record type in get/set with async/sync/sync*. * Parse record type as record type when followed by `>>=` or `>>>=` (for weird formatted use in typedefs). Change-Id: I19e208497e28780fb1505139c488e943751cce25 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/263123 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Jens Johansen <jensj@google.com>
This commit is contained in:
parent
5501c7f978
commit
b3dbaadc83
|
@ -29,11 +29,19 @@ bool isModifier(Token token) {
|
||||||
// Record type is a possibility.
|
// Record type is a possibility.
|
||||||
if (optional("(", next)) {
|
if (optional("(", next)) {
|
||||||
Token afterGroup = next.endGroup!.next!;
|
Token afterGroup = next.endGroup!.next!;
|
||||||
if (afterGroup.isIdentifier) {
|
if (afterGroup.isIdentifier || _thisOrSuperWithDot(afterGroup)) {
|
||||||
// We've seen [modifier] [record type] [identifier].
|
// We've seen either
|
||||||
|
// [modifier] [record type] [identifier], or
|
||||||
|
// [modifier] [record type] `this` `.`, or
|
||||||
|
// [modifier] [record type] `super` `.`
|
||||||
return true;
|
return true;
|
||||||
} else if (optional('?', afterGroup) && afterGroup.next!.isIdentifier) {
|
} else if (optional('?', afterGroup) &&
|
||||||
// We've seen [modifier] [record type]? [identifier].
|
(afterGroup.next!.isIdentifier ||
|
||||||
|
_thisOrSuperWithDot(afterGroup.next!))) {
|
||||||
|
// We've seen either
|
||||||
|
// [modifier] [record type] `?` [identifier], or
|
||||||
|
// [modifier] [record type] `?` `this` `.`, or
|
||||||
|
// [modifier] [record type] `?` `super` `.`
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,6 +51,13 @@ bool isModifier(Token token) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool _thisOrSuperWithDot(Token token) {
|
||||||
|
if (optional("this", token) || optional("super", token)) {
|
||||||
|
return optional(".", token.next!);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/// This class is used to parse modifiers in most locations where modifiers
|
/// This class is used to parse modifiers in most locations where modifiers
|
||||||
/// can occur, but does not call handleModifier or handleModifiers.
|
/// can occur, but does not call handleModifier or handleModifiers.
|
||||||
class ModifierContext {
|
class ModifierContext {
|
||||||
|
|
|
@ -596,7 +596,8 @@ class Parser {
|
||||||
bool typedefWithRecord = false;
|
bool typedefWithRecord = false;
|
||||||
if (identical(value, 'typedef') && identical(nextValue, '(')) {
|
if (identical(value, 'typedef') && identical(nextValue, '(')) {
|
||||||
Token? endParen = keyword.next!.endGroup;
|
Token? endParen = keyword.next!.endGroup;
|
||||||
if (endParen != null && endParen.next!.isIdentifier) {
|
if (endParen != null &&
|
||||||
|
_isIdentifierOrQuestionIdentifier(endParen.next!)) {
|
||||||
// Looks like a typedef with a record.
|
// Looks like a typedef with a record.
|
||||||
TypeInfo typeInfo = computeType(keyword, /* required = */ false);
|
TypeInfo typeInfo = computeType(keyword, /* required = */ false);
|
||||||
if (typeInfo is ComplexTypeInfo && typeInfo.recordType) {
|
if (typeInfo is ComplexTypeInfo && typeInfo.recordType) {
|
||||||
|
@ -663,6 +664,14 @@ class Parser {
|
||||||
throw "Internal error: Unhandled top level keyword '$value'.";
|
throw "Internal error: Unhandled top level keyword '$value'.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool _isIdentifierOrQuestionIdentifier(Token token) {
|
||||||
|
if (token.isIdentifier) return true;
|
||||||
|
if (optional("?", token)) {
|
||||||
|
return token.next!.isIdentifier;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/// ```
|
/// ```
|
||||||
/// libraryAugmentationDirective:
|
/// libraryAugmentationDirective:
|
||||||
/// 'library' 'augment' uri ';'
|
/// 'library' 'augment' uri ';'
|
||||||
|
|
|
@ -739,14 +739,20 @@ class ComplexTypeInfo implements TypeInfo {
|
||||||
// * `]` e.g. `x([(int, int) x = (42, 42)]) {}`.
|
// * `]` e.g. `x([(int, int) x = (42, 42)]) {}`.
|
||||||
if (!isOneOfOrEof(afterIdentifier,
|
if (!isOneOfOrEof(afterIdentifier,
|
||||||
const [";", "=", "<", "(", ",", ")", "in", "}", ":", "]"])) {
|
const [";", "=", "<", "(", ",", ")", "in", "}", ":", "]"])) {
|
||||||
if (getOrSet && isOneOfOrEof(afterIdentifier, const ["=>", "{"])) {
|
if (getOrSet &&
|
||||||
|
isOneOfOrEof(
|
||||||
|
afterIdentifier, const ["=>", "{", "async", "sync"])) {
|
||||||
// With a getter/setter in the mix we can accept more stuff, e.g.
|
// With a getter/setter in the mix we can accept more stuff, e.g.
|
||||||
// these would be fine:
|
// these would be "fine":
|
||||||
// * `=>`: e.g. `(int, int) get x => (42, 42);`.
|
// * `=>`: e.g. `(int, int) get x => (42, 42);`.
|
||||||
// * `{`: e.g. `(int, int) get x { }`.
|
// * `{`: e.g. `(int, int) get x { }`.
|
||||||
// TODO(jensj): A setter would need parenthesis so technically
|
// * `async`: e.g. `(int, int) get x async {}`.
|
||||||
// couldn't look like this, but I don't think any other valid thing
|
// * `sync`: e.g. `(int, int) get x sync* {}`.
|
||||||
// could either. Should we handle that specifically?
|
// Not all of this is valid (e.g. a setter can't be async, sync has
|
||||||
|
// to be followed by *, return type of async has to be Future etc),
|
||||||
|
// but for disambiguation we'll assume it's enough, and we'd rather
|
||||||
|
// have an error saying "return time has to be Future" than "I don't
|
||||||
|
// know what these parenthesis mean".
|
||||||
} else if (optional("operator", next) &&
|
} else if (optional("operator", next) &&
|
||||||
afterIdentifier.isUserDefinableOperator) {
|
afterIdentifier.isUserDefinableOperator) {
|
||||||
// E.g.
|
// E.g.
|
||||||
|
@ -756,12 +762,20 @@ class ComplexTypeInfo implements TypeInfo {
|
||||||
return noType;
|
return noType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (optional("this", next) && optional(".", next.next!)) {
|
} else if ((optional("this", next) || optional("super", next)) &&
|
||||||
// E.g. C(({int n, String s}) this.x);
|
optional(".", next.next!)) {
|
||||||
|
// E.g.
|
||||||
|
// * C(({int n, String s}) this.x);
|
||||||
|
// * C((int, int) super.x);
|
||||||
} else {
|
} else {
|
||||||
// Is it e.g. List<(int, int)> or Map<(int, int), (String, String)>?
|
// Is it e.g.
|
||||||
// or List<List<(int, int)>> or List<List<List<(int, int)>>>.
|
// * List<(int, int)>
|
||||||
if (!isOneOfOrEof(next, const [",", ">", ">>", ">>>"])) {
|
// * Map<(int, int), (String, String)>?
|
||||||
|
// * List<List<(int, int)>>
|
||||||
|
// * List<List<List<(int, int)>>>
|
||||||
|
// * typedef F2<T extends List<(int, int)>>= T Function();
|
||||||
|
// * typedef F3<T extends List<List<(int, int)>>>= T Function();
|
||||||
|
if (!isOneOfOrEof(next, const [",", ">", ">>", ">>=", ">>>", ">>>="])) {
|
||||||
return noType;
|
return noType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
// https://github.com/dart-lang/sdk/issues/50007
|
// https://github.com/dart-lang/sdk/issues/50007
|
||||||
|
|
||||||
class C {
|
class C {
|
||||||
({num n, String s}) x;
|
|
||||||
|
|
||||||
C(({int n, String s}) this.x);
|
C(({int n, String s}) this.x);
|
||||||
|
C({({int n, String s}) this.x});
|
||||||
|
C({required ({int n, String s}) this.x});
|
||||||
|
C(({int n, String s})? this.x);
|
||||||
|
C({({int n, String s})? this.x});
|
||||||
|
C({required ({int n, String s})? this.x});
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,39 +11,11 @@ beginCompilationUnit(class)
|
||||||
handleImplements(null, 0)
|
handleImplements(null, 0)
|
||||||
handleClassHeader(class, class, null)
|
handleClassHeader(class, class, null)
|
||||||
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
||||||
beginMetadataStar(()
|
|
||||||
endMetadataStar(0)
|
|
||||||
beginMember()
|
|
||||||
beginFields(DeclarationKind.Class, null, null, null, null, null, null, null, {)
|
|
||||||
beginRecordType(()
|
|
||||||
beginRecordTypeNamedFields({)
|
|
||||||
beginRecordTypeEntry()
|
|
||||||
beginMetadataStar(num)
|
|
||||||
endMetadataStar(0)
|
|
||||||
handleIdentifier(num, typeReference)
|
|
||||||
handleNoTypeArguments(n)
|
|
||||||
handleType(num, null)
|
|
||||||
handleIdentifier(n, recordFieldDeclaration)
|
|
||||||
endRecordTypeEntry()
|
|
||||||
beginRecordTypeEntry()
|
|
||||||
beginMetadataStar(String)
|
|
||||||
endMetadataStar(0)
|
|
||||||
handleIdentifier(String, typeReference)
|
|
||||||
handleNoTypeArguments(s)
|
|
||||||
handleType(String, null)
|
|
||||||
handleIdentifier(s, recordFieldDeclaration)
|
|
||||||
endRecordTypeEntry()
|
|
||||||
endRecordTypeNamedFields(2, {)
|
|
||||||
endRecordType((, null, 1, true)
|
|
||||||
handleIdentifier(x, fieldDeclaration)
|
|
||||||
handleNoFieldInitializer(;)
|
|
||||||
endClassFields(null, null, null, null, null, null, null, 1, (, ;)
|
|
||||||
endMember()
|
|
||||||
beginMetadataStar(C)
|
beginMetadataStar(C)
|
||||||
endMetadataStar(0)
|
endMetadataStar(0)
|
||||||
beginMember()
|
beginMember()
|
||||||
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
handleNoType(;)
|
handleNoType({)
|
||||||
handleIdentifier(C, methodDeclaration)
|
handleIdentifier(C, methodDeclaration)
|
||||||
handleNoTypeVariables(()
|
handleNoTypeVariables(()
|
||||||
beginFormalParameters((, MemberKind.NonStaticMethod)
|
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
@ -79,7 +51,215 @@ beginCompilationUnit(class)
|
||||||
handleEmptyFunctionBody(;)
|
handleEmptyFunctionBody(;)
|
||||||
endClassConstructor(null, C, (, null, ;)
|
endClassConstructor(null, C, (, null, ;)
|
||||||
endMember()
|
endMember()
|
||||||
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 2, {, })
|
beginMetadataStar(C)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginMember()
|
||||||
|
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
|
handleNoType(;)
|
||||||
|
handleIdentifier(C, methodDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
beginOptionalFormalParameters({)
|
||||||
|
beginMetadataStar(()
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeNamedFields({)
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(n)
|
||||||
|
handleType(int, null)
|
||||||
|
handleIdentifier(n, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(String)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(String, typeReference)
|
||||||
|
handleNoTypeArguments(s)
|
||||||
|
handleType(String, null)
|
||||||
|
handleIdentifier(s, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordTypeNamedFields(2, {)
|
||||||
|
endRecordType((, null, 1, true)
|
||||||
|
handleIdentifier(x, fieldInitializer)
|
||||||
|
handleFormalParameterWithoutValue(})
|
||||||
|
endFormalParameter(this, null, ., x, null, null, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
endOptionalFormalParameters(1, {, })
|
||||||
|
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
handleNoInitializers()
|
||||||
|
handleAsyncModifier(null, null)
|
||||||
|
handleEmptyFunctionBody(;)
|
||||||
|
endClassConstructor(null, C, (, null, ;)
|
||||||
|
endMember()
|
||||||
|
beginMetadataStar(C)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginMember()
|
||||||
|
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
|
handleNoType(;)
|
||||||
|
handleIdentifier(C, methodDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
beginOptionalFormalParameters({)
|
||||||
|
beginMetadataStar(required)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginFormalParameter(required, MemberKind.NonStaticMethod, required, null, null)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeNamedFields({)
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(n)
|
||||||
|
handleType(int, null)
|
||||||
|
handleIdentifier(n, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(String)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(String, typeReference)
|
||||||
|
handleNoTypeArguments(s)
|
||||||
|
handleType(String, null)
|
||||||
|
handleIdentifier(s, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordTypeNamedFields(2, {)
|
||||||
|
endRecordType((, null, 1, true)
|
||||||
|
handleIdentifier(x, fieldInitializer)
|
||||||
|
handleFormalParameterWithoutValue(})
|
||||||
|
endFormalParameter(this, null, ., x, null, null, FormalParameterKind.requiredNamed, MemberKind.NonStaticMethod)
|
||||||
|
endOptionalFormalParameters(1, {, })
|
||||||
|
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
handleNoInitializers()
|
||||||
|
handleAsyncModifier(null, null)
|
||||||
|
handleEmptyFunctionBody(;)
|
||||||
|
endClassConstructor(null, C, (, null, ;)
|
||||||
|
endMember()
|
||||||
|
beginMetadataStar(C)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginMember()
|
||||||
|
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
|
handleNoType(;)
|
||||||
|
handleIdentifier(C, methodDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
beginMetadataStar(()
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeNamedFields({)
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(n)
|
||||||
|
handleType(int, null)
|
||||||
|
handleIdentifier(n, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(String)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(String, typeReference)
|
||||||
|
handleNoTypeArguments(s)
|
||||||
|
handleType(String, null)
|
||||||
|
handleIdentifier(s, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordTypeNamedFields(2, {)
|
||||||
|
endRecordType((, ?, 1, true)
|
||||||
|
handleIdentifier(x, fieldInitializer)
|
||||||
|
handleFormalParameterWithoutValue())
|
||||||
|
endFormalParameter(this, null, ., x, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||||
|
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
handleNoInitializers()
|
||||||
|
handleAsyncModifier(null, null)
|
||||||
|
handleEmptyFunctionBody(;)
|
||||||
|
endClassConstructor(null, C, (, null, ;)
|
||||||
|
endMember()
|
||||||
|
beginMetadataStar(C)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginMember()
|
||||||
|
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
|
handleNoType(;)
|
||||||
|
handleIdentifier(C, methodDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
beginOptionalFormalParameters({)
|
||||||
|
beginMetadataStar(()
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeNamedFields({)
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(n)
|
||||||
|
handleType(int, null)
|
||||||
|
handleIdentifier(n, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(String)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(String, typeReference)
|
||||||
|
handleNoTypeArguments(s)
|
||||||
|
handleType(String, null)
|
||||||
|
handleIdentifier(s, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordTypeNamedFields(2, {)
|
||||||
|
endRecordType((, ?, 1, true)
|
||||||
|
handleIdentifier(x, fieldInitializer)
|
||||||
|
handleFormalParameterWithoutValue(})
|
||||||
|
endFormalParameter(this, null, ., x, null, null, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
endOptionalFormalParameters(1, {, })
|
||||||
|
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
handleNoInitializers()
|
||||||
|
handleAsyncModifier(null, null)
|
||||||
|
handleEmptyFunctionBody(;)
|
||||||
|
endClassConstructor(null, C, (, null, ;)
|
||||||
|
endMember()
|
||||||
|
beginMetadataStar(C)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginMember()
|
||||||
|
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
|
handleNoType(;)
|
||||||
|
handleIdentifier(C, methodDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
beginOptionalFormalParameters({)
|
||||||
|
beginMetadataStar(required)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginFormalParameter(required, MemberKind.NonStaticMethod, required, null, null)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeNamedFields({)
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(n)
|
||||||
|
handleType(int, null)
|
||||||
|
handleIdentifier(n, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(String)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(String, typeReference)
|
||||||
|
handleNoTypeArguments(s)
|
||||||
|
handleType(String, null)
|
||||||
|
handleIdentifier(s, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordTypeNamedFields(2, {)
|
||||||
|
endRecordType((, ?, 1, true)
|
||||||
|
handleIdentifier(x, fieldInitializer)
|
||||||
|
handleFormalParameterWithoutValue(})
|
||||||
|
endFormalParameter(this, null, ., x, null, null, FormalParameterKind.requiredNamed, MemberKind.NonStaticMethod)
|
||||||
|
endOptionalFormalParameters(1, {, })
|
||||||
|
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
handleNoInitializers()
|
||||||
|
handleAsyncModifier(null, null)
|
||||||
|
handleEmptyFunctionBody(;)
|
||||||
|
endClassConstructor(null, C, (, null, ;)
|
||||||
|
endMember()
|
||||||
|
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 6, {, })
|
||||||
endClassDeclaration(class, })
|
endClassDeclaration(class, })
|
||||||
endTopLevelDeclaration()
|
endTopLevelDeclaration()
|
||||||
endCompilationUnit(1, )
|
endCompilationUnit(1, )
|
||||||
|
|
|
@ -25,60 +25,17 @@ parseUnit(class)
|
||||||
listener: handleClassHeader(class, class, null)
|
listener: handleClassHeader(class, class, null)
|
||||||
parseClassOrMixinOrExtensionBody(C, DeclarationKind.Class, C)
|
parseClassOrMixinOrExtensionBody(C, DeclarationKind.Class, C)
|
||||||
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
||||||
notEofOrValue(}, ()
|
notEofOrValue(}, C)
|
||||||
parseClassOrMixinOrExtensionOrEnumMemberImpl({, DeclarationKind.Class, C)
|
parseClassOrMixinOrExtensionOrEnumMemberImpl({, DeclarationKind.Class, C)
|
||||||
parseMetadataStar({)
|
parseMetadataStar({)
|
||||||
listener: beginMetadataStar(()
|
|
||||||
listener: endMetadataStar(0)
|
|
||||||
listener: beginMember()
|
|
||||||
parseFields({, null, null, null, null, null, null, null, {, Instance of 'ComplexTypeInfo', x, DeclarationKind.Class, C, false)
|
|
||||||
listener: beginFields(DeclarationKind.Class, null, null, null, null, null, null, null, {)
|
|
||||||
parseRecordType((, {, false)
|
|
||||||
listener: beginRecordType(()
|
|
||||||
parseRecordTypeNamedFields(()
|
|
||||||
listener: beginRecordTypeNamedFields({)
|
|
||||||
parseRecordTypeField({, identifierIsOptional: false)
|
|
||||||
listener: beginRecordTypeEntry()
|
|
||||||
parseMetadataStar({)
|
|
||||||
listener: beginMetadataStar(num)
|
|
||||||
listener: endMetadataStar(0)
|
|
||||||
listener: handleIdentifier(num, typeReference)
|
|
||||||
listener: handleNoTypeArguments(n)
|
|
||||||
listener: handleType(num, null)
|
|
||||||
ensureIdentifier(num, recordFieldDeclaration)
|
|
||||||
listener: handleIdentifier(n, recordFieldDeclaration)
|
|
||||||
listener: endRecordTypeEntry()
|
|
||||||
parseRecordTypeField(,, identifierIsOptional: false)
|
|
||||||
listener: beginRecordTypeEntry()
|
|
||||||
parseMetadataStar(,)
|
|
||||||
listener: beginMetadataStar(String)
|
|
||||||
listener: endMetadataStar(0)
|
|
||||||
listener: handleIdentifier(String, typeReference)
|
|
||||||
listener: handleNoTypeArguments(s)
|
|
||||||
listener: handleType(String, null)
|
|
||||||
ensureIdentifier(String, recordFieldDeclaration)
|
|
||||||
listener: handleIdentifier(s, recordFieldDeclaration)
|
|
||||||
listener: endRecordTypeEntry()
|
|
||||||
listener: endRecordTypeNamedFields(2, {)
|
|
||||||
ensureCloseParen(}, ()
|
|
||||||
listener: endRecordType((, null, 1, true)
|
|
||||||
ensureIdentifierPotentiallyRecovered(), fieldDeclaration, false)
|
|
||||||
listener: handleIdentifier(x, fieldDeclaration)
|
|
||||||
parseFieldInitializerOpt(x, x, null, null, null, null, null, DeclarationKind.Class, C)
|
|
||||||
listener: handleNoFieldInitializer(;)
|
|
||||||
listener: endClassFields(null, null, null, null, null, null, null, 1, (, ;)
|
|
||||||
listener: endMember()
|
|
||||||
notEofOrValue(}, C)
|
|
||||||
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, C)
|
|
||||||
parseMetadataStar(;)
|
|
||||||
listener: beginMetadataStar(C)
|
listener: beginMetadataStar(C)
|
||||||
listener: endMetadataStar(0)
|
listener: endMetadataStar(0)
|
||||||
listener: beginMember()
|
listener: beginMember()
|
||||||
isReservedKeyword(()
|
isReservedKeyword(()
|
||||||
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, C, DeclarationKind.Class, C, false)
|
parseMethod({, null, null, null, null, null, null, null, {, Instance of 'NoType', null, C, DeclarationKind.Class, C, false)
|
||||||
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
listener: handleNoType(;)
|
listener: handleNoType({)
|
||||||
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
|
ensureIdentifierPotentiallyRecovered({, methodDeclaration, false)
|
||||||
listener: handleIdentifier(C, methodDeclaration)
|
listener: handleIdentifier(C, methodDeclaration)
|
||||||
parseQualifiedRestOpt(C, methodDeclarationContinuation)
|
parseQualifiedRestOpt(C, methodDeclarationContinuation)
|
||||||
parseMethodTypeVar(C)
|
parseMethodTypeVar(C)
|
||||||
|
@ -136,8 +93,364 @@ parseUnit(class)
|
||||||
listener: handleEmptyFunctionBody(;)
|
listener: handleEmptyFunctionBody(;)
|
||||||
listener: endClassConstructor(null, C, (, null, ;)
|
listener: endClassConstructor(null, C, (, null, ;)
|
||||||
listener: endMember()
|
listener: endMember()
|
||||||
|
notEofOrValue(}, C)
|
||||||
|
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, C)
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(C)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginMember()
|
||||||
|
isReservedKeyword(()
|
||||||
|
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, C, DeclarationKind.Class, C, false)
|
||||||
|
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
|
listener: handleNoType(;)
|
||||||
|
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
|
||||||
|
listener: handleIdentifier(C, methodDeclaration)
|
||||||
|
parseQualifiedRestOpt(C, methodDeclarationContinuation)
|
||||||
|
parseMethodTypeVar(C)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseGetterOrFormalParameters(C, C, false, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameters(C, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParametersRest((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
parseOptionalNamedParameters((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginOptionalFormalParameters({)
|
||||||
|
parseFormalParameter({, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(()
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
parseRecordType((, {, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeNamedFields(()
|
||||||
|
listener: beginRecordTypeNamedFields({)
|
||||||
|
parseRecordTypeField({, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(n)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
ensureIdentifier(int, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(n, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(String)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(String, typeReference)
|
||||||
|
listener: handleNoTypeArguments(s)
|
||||||
|
listener: handleType(String, null)
|
||||||
|
ensureIdentifier(String, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(s, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordTypeNamedFields(2, {)
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endRecordType((, null, 1, true)
|
||||||
|
ensureIdentifier(., fieldInitializer)
|
||||||
|
listener: handleIdentifier(x, fieldInitializer)
|
||||||
|
listener: handleFormalParameterWithoutValue(})
|
||||||
|
listener: endFormalParameter(this, null, ., x, null, null, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
listener: endOptionalFormalParameters(1, {, })
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
parseInitializersOpt())
|
||||||
|
listener: handleNoInitializers()
|
||||||
|
parseAsyncModifierOpt())
|
||||||
|
listener: handleAsyncModifier(null, null)
|
||||||
|
inPlainSync()
|
||||||
|
inPlainSync()
|
||||||
|
parseFunctionBody(), false, true)
|
||||||
|
listener: handleEmptyFunctionBody(;)
|
||||||
|
listener: endClassConstructor(null, C, (, null, ;)
|
||||||
|
listener: endMember()
|
||||||
|
notEofOrValue(}, C)
|
||||||
|
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, C)
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(C)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginMember()
|
||||||
|
isReservedKeyword(()
|
||||||
|
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, C, DeclarationKind.Class, C, false)
|
||||||
|
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
|
listener: handleNoType(;)
|
||||||
|
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
|
||||||
|
listener: handleIdentifier(C, methodDeclaration)
|
||||||
|
parseQualifiedRestOpt(C, methodDeclarationContinuation)
|
||||||
|
parseMethodTypeVar(C)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseGetterOrFormalParameters(C, C, false, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameters(C, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParametersRest((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
parseOptionalNamedParameters((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginOptionalFormalParameters({)
|
||||||
|
parseFormalParameter({, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(required)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginFormalParameter(required, MemberKind.NonStaticMethod, required, null, null)
|
||||||
|
parseRecordType((, required, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeNamedFields(()
|
||||||
|
listener: beginRecordTypeNamedFields({)
|
||||||
|
parseRecordTypeField({, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(n)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
ensureIdentifier(int, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(n, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(String)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(String, typeReference)
|
||||||
|
listener: handleNoTypeArguments(s)
|
||||||
|
listener: handleType(String, null)
|
||||||
|
ensureIdentifier(String, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(s, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordTypeNamedFields(2, {)
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endRecordType((, null, 1, true)
|
||||||
|
ensureIdentifier(., fieldInitializer)
|
||||||
|
listener: handleIdentifier(x, fieldInitializer)
|
||||||
|
listener: handleFormalParameterWithoutValue(})
|
||||||
|
listener: endFormalParameter(this, null, ., x, null, null, FormalParameterKind.requiredNamed, MemberKind.NonStaticMethod)
|
||||||
|
listener: endOptionalFormalParameters(1, {, })
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
parseInitializersOpt())
|
||||||
|
listener: handleNoInitializers()
|
||||||
|
parseAsyncModifierOpt())
|
||||||
|
listener: handleAsyncModifier(null, null)
|
||||||
|
inPlainSync()
|
||||||
|
inPlainSync()
|
||||||
|
parseFunctionBody(), false, true)
|
||||||
|
listener: handleEmptyFunctionBody(;)
|
||||||
|
listener: endClassConstructor(null, C, (, null, ;)
|
||||||
|
listener: endMember()
|
||||||
|
notEofOrValue(}, C)
|
||||||
|
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, C)
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(C)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginMember()
|
||||||
|
isReservedKeyword(()
|
||||||
|
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, C, DeclarationKind.Class, C, false)
|
||||||
|
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
|
listener: handleNoType(;)
|
||||||
|
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
|
||||||
|
listener: handleIdentifier(C, methodDeclaration)
|
||||||
|
parseQualifiedRestOpt(C, methodDeclarationContinuation)
|
||||||
|
parseMethodTypeVar(C)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseGetterOrFormalParameters(C, C, false, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameters(C, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParametersRest((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(()
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
parseRecordType((, (, true)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeNamedFields(()
|
||||||
|
listener: beginRecordTypeNamedFields({)
|
||||||
|
parseRecordTypeField({, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(n)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
ensureIdentifier(int, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(n, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(String)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(String, typeReference)
|
||||||
|
listener: handleNoTypeArguments(s)
|
||||||
|
listener: handleType(String, null)
|
||||||
|
ensureIdentifier(String, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(s, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordTypeNamedFields(2, {)
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endRecordType((, ?, 1, true)
|
||||||
|
ensureIdentifier(., fieldInitializer)
|
||||||
|
listener: handleIdentifier(x, fieldInitializer)
|
||||||
|
listener: handleFormalParameterWithoutValue())
|
||||||
|
listener: endFormalParameter(this, null, ., x, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||||
|
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
parseInitializersOpt())
|
||||||
|
listener: handleNoInitializers()
|
||||||
|
parseAsyncModifierOpt())
|
||||||
|
listener: handleAsyncModifier(null, null)
|
||||||
|
inPlainSync()
|
||||||
|
inPlainSync()
|
||||||
|
parseFunctionBody(), false, true)
|
||||||
|
listener: handleEmptyFunctionBody(;)
|
||||||
|
listener: endClassConstructor(null, C, (, null, ;)
|
||||||
|
listener: endMember()
|
||||||
|
notEofOrValue(}, C)
|
||||||
|
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, C)
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(C)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginMember()
|
||||||
|
isReservedKeyword(()
|
||||||
|
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, C, DeclarationKind.Class, C, false)
|
||||||
|
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
|
listener: handleNoType(;)
|
||||||
|
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
|
||||||
|
listener: handleIdentifier(C, methodDeclaration)
|
||||||
|
parseQualifiedRestOpt(C, methodDeclarationContinuation)
|
||||||
|
parseMethodTypeVar(C)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseGetterOrFormalParameters(C, C, false, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameters(C, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParametersRest((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
parseOptionalNamedParameters((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginOptionalFormalParameters({)
|
||||||
|
parseFormalParameter({, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(()
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
parseRecordType((, {, true)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeNamedFields(()
|
||||||
|
listener: beginRecordTypeNamedFields({)
|
||||||
|
parseRecordTypeField({, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(n)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
ensureIdentifier(int, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(n, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(String)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(String, typeReference)
|
||||||
|
listener: handleNoTypeArguments(s)
|
||||||
|
listener: handleType(String, null)
|
||||||
|
ensureIdentifier(String, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(s, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordTypeNamedFields(2, {)
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endRecordType((, ?, 1, true)
|
||||||
|
ensureIdentifier(., fieldInitializer)
|
||||||
|
listener: handleIdentifier(x, fieldInitializer)
|
||||||
|
listener: handleFormalParameterWithoutValue(})
|
||||||
|
listener: endFormalParameter(this, null, ., x, null, null, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
listener: endOptionalFormalParameters(1, {, })
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
parseInitializersOpt())
|
||||||
|
listener: handleNoInitializers()
|
||||||
|
parseAsyncModifierOpt())
|
||||||
|
listener: handleAsyncModifier(null, null)
|
||||||
|
inPlainSync()
|
||||||
|
inPlainSync()
|
||||||
|
parseFunctionBody(), false, true)
|
||||||
|
listener: handleEmptyFunctionBody(;)
|
||||||
|
listener: endClassConstructor(null, C, (, null, ;)
|
||||||
|
listener: endMember()
|
||||||
|
notEofOrValue(}, C)
|
||||||
|
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, C)
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(C)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginMember()
|
||||||
|
isReservedKeyword(()
|
||||||
|
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, C, DeclarationKind.Class, C, false)
|
||||||
|
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, C)
|
||||||
|
listener: handleNoType(;)
|
||||||
|
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
|
||||||
|
listener: handleIdentifier(C, methodDeclaration)
|
||||||
|
parseQualifiedRestOpt(C, methodDeclarationContinuation)
|
||||||
|
parseMethodTypeVar(C)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseGetterOrFormalParameters(C, C, false, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameters(C, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParametersRest((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
parseOptionalNamedParameters((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginOptionalFormalParameters({)
|
||||||
|
parseFormalParameter({, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(required)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginFormalParameter(required, MemberKind.NonStaticMethod, required, null, null)
|
||||||
|
parseRecordType((, required, true)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeNamedFields(()
|
||||||
|
listener: beginRecordTypeNamedFields({)
|
||||||
|
parseRecordTypeField({, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(n)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
ensureIdentifier(int, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(n, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(String)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(String, typeReference)
|
||||||
|
listener: handleNoTypeArguments(s)
|
||||||
|
listener: handleType(String, null)
|
||||||
|
ensureIdentifier(String, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(s, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordTypeNamedFields(2, {)
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endRecordType((, ?, 1, true)
|
||||||
|
ensureIdentifier(., fieldInitializer)
|
||||||
|
listener: handleIdentifier(x, fieldInitializer)
|
||||||
|
listener: handleFormalParameterWithoutValue(})
|
||||||
|
listener: endFormalParameter(this, null, ., x, null, null, FormalParameterKind.requiredNamed, MemberKind.NonStaticMethod)
|
||||||
|
listener: endOptionalFormalParameters(1, {, })
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
parseInitializersOpt())
|
||||||
|
listener: handleNoInitializers()
|
||||||
|
parseAsyncModifierOpt())
|
||||||
|
listener: handleAsyncModifier(null, null)
|
||||||
|
inPlainSync()
|
||||||
|
inPlainSync()
|
||||||
|
parseFunctionBody(), false, true)
|
||||||
|
listener: handleEmptyFunctionBody(;)
|
||||||
|
listener: endClassConstructor(null, C, (, null, ;)
|
||||||
|
listener: endMember()
|
||||||
notEofOrValue(}, })
|
notEofOrValue(}, })
|
||||||
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 2, {, })
|
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 6, {, })
|
||||||
listener: endClassDeclaration(class, })
|
listener: endClassDeclaration(class, })
|
||||||
listener: endTopLevelDeclaration()
|
listener: endTopLevelDeclaration()
|
||||||
reportAllErrorTokens(class)
|
reportAllErrorTokens(class)
|
||||||
|
|
|
@ -1,13 +1,19 @@
|
||||||
class C {
|
class C {
|
||||||
({num n, String s}) x;
|
|
||||||
|
|
||||||
C(({int n, String s}) this.x);
|
C(({int n, String s}) this.x);
|
||||||
|
C({({int n, String s}) this.x});
|
||||||
|
C({required ({int n, String s}) this.x});
|
||||||
|
C(({int n, String s})? this.x);
|
||||||
|
C({({int n, String s})? this.x});
|
||||||
|
C({required ({int n, String s})? this.x});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class[KeywordToken] C[StringToken] {[BeginToken]
|
class[KeywordToken] C[StringToken] {[BeginToken]
|
||||||
([BeginToken]{[BeginToken]num[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken] x[StringToken];[SimpleToken]
|
|
||||||
|
|
||||||
C[StringToken]([BeginToken]([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken])[SimpleToken];[SimpleToken]
|
C[StringToken]([BeginToken]([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken])[SimpleToken];[SimpleToken]
|
||||||
|
C[StringToken]([BeginToken]{[BeginToken]([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
C[StringToken]([BeginToken]{[BeginToken]required[KeywordToken] ([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
C[StringToken]([BeginToken]([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken]?[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken])[SimpleToken];[SimpleToken]
|
||||||
|
C[StringToken]([BeginToken]{[BeginToken]([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken]?[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
C[StringToken]([BeginToken]{[BeginToken]required[KeywordToken] ([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken]?[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
}[SimpleToken]
|
}[SimpleToken]
|
||||||
[SimpleToken]
|
[SimpleToken]
|
||||||
|
|
|
@ -1,13 +1,19 @@
|
||||||
class C {
|
class C {
|
||||||
({num n, String s}) x;
|
|
||||||
|
|
||||||
C(({int n, String s}) this.x);
|
C(({int n, String s}) this.x);
|
||||||
|
C({({int n, String s}) this.x});
|
||||||
|
C({required ({int n, String s}) this.x});
|
||||||
|
C(({int n, String s})? this.x);
|
||||||
|
C({({int n, String s})? this.x});
|
||||||
|
C({required ({int n, String s})? this.x});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class[KeywordToken] C[StringToken] {[BeginToken]
|
class[KeywordToken] C[StringToken] {[BeginToken]
|
||||||
([BeginToken]{[BeginToken]num[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken] x[StringToken];[SimpleToken]
|
|
||||||
|
|
||||||
C[StringToken]([BeginToken]([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken])[SimpleToken];[SimpleToken]
|
C[StringToken]([BeginToken]([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken])[SimpleToken];[SimpleToken]
|
||||||
|
C[StringToken]([BeginToken]{[BeginToken]([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
C[StringToken]([BeginToken]{[BeginToken]required[KeywordToken] ([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
C[StringToken]([BeginToken]([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken]?[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken])[SimpleToken];[SimpleToken]
|
||||||
|
C[StringToken]([BeginToken]{[BeginToken]([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken]?[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
C[StringToken]([BeginToken]{[BeginToken]required[KeywordToken] ([BeginToken]{[BeginToken]int[StringToken] n[StringToken],[SimpleToken] String[StringToken] s[StringToken]}[SimpleToken])[SimpleToken]?[SimpleToken] this[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
}[SimpleToken]
|
}[SimpleToken]
|
||||||
[SimpleToken]
|
[SimpleToken]
|
||||||
|
|
|
@ -1,39 +1,95 @@
|
||||||
// Not getter, but method called 'get'.
|
// Not getter, but method called 'get'.
|
||||||
(int a, String b) get(int x) => (42, "fortytwo");
|
(int a, String b) get(int x) => (42, "fortytwo");
|
||||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get(int x) async => throw "hello";
|
||||||
|
(int a, String b) get(int x) async { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) async* => throw "hello";
|
||||||
|
(int a, String b) get(int x) async* { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) sync* => throw "hello";
|
||||||
|
(int a, String b) get(int x) sync* { throw "hello"; }
|
||||||
|
|
||||||
// Getter called get.
|
// Getter called get.
|
||||||
(int a, String b) get get => (42, "fortytwo");
|
(int a, String b) get get => (42, "fortytwo");
|
||||||
(int a, String b) get get { return (42, "fortytwo"); }
|
(int a, String b) get get { return (42, "fortytwo"); }
|
||||||
|
// The below is commented out for now --- probably that's a general
|
||||||
|
// parser bug that should be fixed.
|
||||||
|
// (int a, String b) get get async => throw "hello";
|
||||||
|
// (int a, String b) get get async { throw "hello"; }
|
||||||
|
// (int a, String b) get get async* => throw "hello";
|
||||||
|
// (int a, String b) get get async* { throw "hello"; }
|
||||||
|
// (int a, String b) get get sync* => throw "hello";
|
||||||
|
// (int a, String b) get get sync* { throw "hello"; }
|
||||||
|
|
||||||
// Getter called something else.
|
// Getter called something else.
|
||||||
(int a, String b) get topLevelGetter => (42, "fortytwo");
|
(int a, String b) get topLevelGetter => (42, "fortytwo");
|
||||||
(int a, String b) get topLevelGetter { return (42, "fortytwo"); }
|
(int a, String b) get topLevelGetter { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get topLevelGetter async => throw "hello";
|
||||||
|
(int a, String b) get topLevelGetter async { throw "hello"; }
|
||||||
|
(int a, String b) get topLevelGetter async* => throw "hello";
|
||||||
|
(int a, String b) get topLevelGetter async* { throw "hello"; }
|
||||||
|
(int a, String b) get topLevelGetter sync* => throw "hello";
|
||||||
|
(int a, String b) get topLevelGetter sync* { throw "hello"; }
|
||||||
|
|
||||||
class Foo {
|
class Foo {
|
||||||
// Not getter, but method called 'get'.
|
// Not getter, but method called 'get'.
|
||||||
(int a, String b) get(int x) => (42, "fortytwo");
|
(int a, String b) get(int x) => (42, "fortytwo");
|
||||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get(int x) async => throw "hello";
|
||||||
|
(int a, String b) get(int x) async { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) async* => throw "hello";
|
||||||
|
(int a, String b) get(int x) async* { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) sync* => throw "hello";
|
||||||
|
(int a, String b) get(int x) sync* { throw "hello"; }
|
||||||
|
|
||||||
// Getter called get.
|
// Getter called get.
|
||||||
(int a, String b) get get => (42, "fortytwo");
|
(int a, String b) get get => (42, "fortytwo");
|
||||||
(int a, String b) get get { return (42, "fortytwo"); }
|
(int a, String b) get get { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get get async => throw "hello";
|
||||||
|
(int a, String b) get get async { throw "hello"; }
|
||||||
|
(int a, String b) get get async* => throw "hello";
|
||||||
|
(int a, String b) get get async* { throw "hello"; }
|
||||||
|
(int a, String b) get get sync* => throw "hello";
|
||||||
|
(int a, String b) get get sync* { throw "hello"; }
|
||||||
|
|
||||||
// Getter called something else.
|
// Getter called something else.
|
||||||
(int a, String b) get instanceGetter => (42, "fortytwo");
|
(int a, String b) get instanceGetter => (42, "fortytwo");
|
||||||
(int a, String b) get instanceGetter { return (42, "fortytwo"); }
|
(int a, String b) get instanceGetter { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get instanceGetter async => throw "hello";
|
||||||
|
(int a, String b) get instanceGetter async { return throw "hello"; }
|
||||||
|
(int a, String b) get instanceGetter async* => throw "hello";
|
||||||
|
(int a, String b) get instanceGetter async* { return throw "hello"; }
|
||||||
|
(int a, String b) get instanceGetter sync* => throw "hello";
|
||||||
|
(int a, String b) get instanceGetter sync* { return throw "hello"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
class Bar {
|
class Bar {
|
||||||
// Not getter, but method called 'get'.
|
// Not getter, but method called 'get'.
|
||||||
static (int a, String b) get(int x) => (42, "fortytwo");
|
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(int x) { return (42, "fortytwo"); }
|
||||||
|
static (int a, String b) get(int x) async => throw "hello";
|
||||||
|
static (int a, String b) get(int x) async { throw "hello"; }
|
||||||
|
static (int a, String b) get(int x) async* => throw "hello";
|
||||||
|
static (int a, String b) get(int x) async* { throw "hello"; }
|
||||||
|
static (int a, String b) get(int x) sync* => throw "hello";
|
||||||
|
static (int a, String b) get(int x) sync* { throw "hello"; }
|
||||||
|
|
||||||
// Getter called get.
|
// Getter called get.
|
||||||
static (int a, String b) get get => (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 get { return (42, "fortytwo"); }
|
||||||
|
static (int a, String b) get get async => throw "hello";
|
||||||
|
static (int a, String b) get get async { throw "hello"; }
|
||||||
|
static (int a, String b) get get async* => throw "hello";
|
||||||
|
static (int a, String b) get get async* { throw "hello"; }
|
||||||
|
static (int a, String b) get get sync* => throw "hello";
|
||||||
|
static (int a, String b) get get sync* { throw "hello"; }
|
||||||
|
|
||||||
// Getter called something else.
|
// Getter called something else.
|
||||||
static (int a, String b) get staticGetter => (42, "fortytwo");
|
static (int a, String b) get staticGetter => (42, "fortytwo");
|
||||||
static (int a, String b) get staticGetter { return (42, "fortytwo"); }
|
static (int a, String b) get staticGetter { return (42, "fortytwo"); }
|
||||||
|
static (int a, String b) get staticGetter async => throw "hello";
|
||||||
|
static (int a, String b) get staticGetter async { throw "hello"; }
|
||||||
|
static (int a, String b) get staticGetter async* => throw "hello";
|
||||||
|
static (int a, String b) get staticGetter async* { throw "hello"; }
|
||||||
|
static (int a, String b) get staticGetter sync* => throw "hello";
|
||||||
|
static (int a, String b) get staticGetter sync* { throw "hello"; }
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,79 +1,191 @@
|
||||||
(int a, String b) get(int x) => (42, "fortytwo");
|
(int a, String b) get(int x) => (42, "fortytwo");
|
||||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get(int x) async => throw "hello";
|
||||||
|
(int a, String b) get(int x) async { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) async* => throw "hello";
|
||||||
|
(int a, String b) get(int x) async* { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) sync* => throw "hello";
|
||||||
|
(int a, String b) get(int x) sync* { throw "hello"; }
|
||||||
|
|
||||||
|
|
||||||
(int a, String b) get get => (42, "fortytwo");
|
(int a, String b) get get => (42, "fortytwo");
|
||||||
(int a, String b) get get { return (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 => (42, "fortytwo");
|
||||||
(int a, String b) get topLevelGetter { return (42, "fortytwo"); }
|
(int a, String b) get topLevelGetter { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get topLevelGetter async => throw "hello";
|
||||||
|
(int a, String b) get topLevelGetter async { throw "hello"; }
|
||||||
|
(int a, String b) get topLevelGetter async* => throw "hello";
|
||||||
|
(int a, String b) get topLevelGetter async* { throw "hello"; }
|
||||||
|
(int a, String b) get topLevelGetter sync* => throw "hello";
|
||||||
|
(int a, String b) get topLevelGetter sync* { throw "hello"; }
|
||||||
|
|
||||||
class Foo {
|
class Foo {
|
||||||
|
|
||||||
(int a, String b) get(int x) => (42, "fortytwo");
|
(int a, String b) get(int x) => (42, "fortytwo");
|
||||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get(int x) async => throw "hello";
|
||||||
|
(int a, String b) get(int x) async { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) async* => throw "hello";
|
||||||
|
(int a, String b) get(int x) async* { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) sync* => throw "hello";
|
||||||
|
(int a, String b) get(int x) sync* { throw "hello"; }
|
||||||
|
|
||||||
|
|
||||||
(int a, String b) get get => (42, "fortytwo");
|
(int a, String b) get get => (42, "fortytwo");
|
||||||
(int a, String b) get get { return (42, "fortytwo"); }
|
(int a, String b) get get { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get get async => throw "hello";
|
||||||
|
(int a, String b) get get async { throw "hello"; }
|
||||||
|
(int a, String b) get get async* => throw "hello";
|
||||||
|
(int a, String b) get get async* { throw "hello"; }
|
||||||
|
(int a, String b) get get sync* => throw "hello";
|
||||||
|
(int a, String b) get get sync* { throw "hello"; }
|
||||||
|
|
||||||
|
|
||||||
(int a, String b) get instanceGetter => (42, "fortytwo");
|
(int a, String b) get instanceGetter => (42, "fortytwo");
|
||||||
(int a, String b) get instanceGetter { return (42, "fortytwo"); }
|
(int a, String b) get instanceGetter { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get instanceGetter async => throw "hello";
|
||||||
|
(int a, String b) get instanceGetter async { return throw "hello"; }
|
||||||
|
(int a, String b) get instanceGetter async* => throw "hello";
|
||||||
|
(int a, String b) get instanceGetter async* { return throw "hello"; }
|
||||||
|
(int a, String b) get instanceGetter sync* => throw "hello";
|
||||||
|
(int a, String b) get instanceGetter sync* { return throw "hello"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
class Bar {
|
class Bar {
|
||||||
|
|
||||||
static (int a, String b) get(int x) => (42, "fortytwo");
|
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(int x) { return (42, "fortytwo"); }
|
||||||
|
static (int a, String b) get(int x) async => throw "hello";
|
||||||
|
static (int a, String b) get(int x) async { throw "hello"; }
|
||||||
|
static (int a, String b) get(int x) async* => throw "hello";
|
||||||
|
static (int a, String b) get(int x) async* { throw "hello"; }
|
||||||
|
static (int a, String b) get(int x) sync* => throw "hello";
|
||||||
|
static (int a, String b) get(int x) sync* { throw "hello"; }
|
||||||
|
|
||||||
|
|
||||||
static (int a, String b) get get => (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 get { return (42, "fortytwo"); }
|
||||||
|
static (int a, String b) get get async => throw "hello";
|
||||||
|
static (int a, String b) get get async { throw "hello"; }
|
||||||
|
static (int a, String b) get get async* => throw "hello";
|
||||||
|
static (int a, String b) get get async* { throw "hello"; }
|
||||||
|
static (int a, String b) get get sync* => throw "hello";
|
||||||
|
static (int a, String b) get get sync* { throw "hello"; }
|
||||||
|
|
||||||
|
|
||||||
static (int a, String b) get staticGetter => (42, "fortytwo");
|
static (int a, String b) get staticGetter => (42, "fortytwo");
|
||||||
static (int a, String b) get staticGetter { return (42, "fortytwo"); }
|
static (int a, String b) get staticGetter { return (42, "fortytwo"); }
|
||||||
|
static (int a, String b) get staticGetter async => throw "hello";
|
||||||
|
static (int a, String b) get staticGetter async { throw "hello"; }
|
||||||
|
static (int a, String b) get staticGetter async* => throw "hello";
|
||||||
|
static (int a, String b) get staticGetter async* { throw "hello"; }
|
||||||
|
static (int a, String b) get staticGetter sync* => throw "hello";
|
||||||
|
static (int a, String b) get staticGetter sync* { throw "hello"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
([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] =>[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]([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]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[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] =>[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] 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] =>[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]
|
([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]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
|
||||||
class[KeywordToken] Foo[StringToken] {[BeginToken]
|
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] =>[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]([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]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[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] =>[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] 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] get[KeywordToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[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] =>[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]
|
([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]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] async[KeywordToken] {[BeginToken] return[KeywordToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] async[KeywordToken]*[SimpleToken] {[BeginToken] return[KeywordToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] return[KeywordToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
}[SimpleToken]
|
}[SimpleToken]
|
||||||
|
|
||||||
class[KeywordToken] Bar[StringToken] {[BeginToken]
|
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] =>[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]([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]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[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] =>[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] 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] get[KeywordToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[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] =>[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]
|
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]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
}[SimpleToken]
|
}[SimpleToken]
|
||||||
[SimpleToken]
|
[SimpleToken]
|
||||||
|
|
|
@ -1,79 +1,191 @@
|
||||||
(int a, String b) get(int x) => (42, "fortytwo");
|
(int a, String b) get(int x) => (42, "fortytwo");
|
||||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get(int x) async => throw "hello";
|
||||||
|
(int a, String b) get(int x) async { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) async* => throw "hello";
|
||||||
|
(int a, String b) get(int x) async* { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) sync* => throw "hello";
|
||||||
|
(int a, String b) get(int x) sync* { throw "hello"; }
|
||||||
|
|
||||||
|
|
||||||
(int a, String b) get get => (42, "fortytwo");
|
(int a, String b) get get => (42, "fortytwo");
|
||||||
(int a, String b) get get { return (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 => (42, "fortytwo");
|
||||||
(int a, String b) get topLevelGetter { return (42, "fortytwo"); }
|
(int a, String b) get topLevelGetter { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get topLevelGetter async => throw "hello";
|
||||||
|
(int a, String b) get topLevelGetter async { throw "hello"; }
|
||||||
|
(int a, String b) get topLevelGetter async* => throw "hello";
|
||||||
|
(int a, String b) get topLevelGetter async* { throw "hello"; }
|
||||||
|
(int a, String b) get topLevelGetter sync* => throw "hello";
|
||||||
|
(int a, String b) get topLevelGetter sync* { throw "hello"; }
|
||||||
|
|
||||||
class Foo {
|
class Foo {
|
||||||
|
|
||||||
(int a, String b) get(int x) => (42, "fortytwo");
|
(int a, String b) get(int x) => (42, "fortytwo");
|
||||||
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
(int a, String b) get(int x) { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get(int x) async => throw "hello";
|
||||||
|
(int a, String b) get(int x) async { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) async* => throw "hello";
|
||||||
|
(int a, String b) get(int x) async* { throw "hello"; }
|
||||||
|
(int a, String b) get(int x) sync* => throw "hello";
|
||||||
|
(int a, String b) get(int x) sync* { throw "hello"; }
|
||||||
|
|
||||||
|
|
||||||
(int a, String b) get get => (42, "fortytwo");
|
(int a, String b) get get => (42, "fortytwo");
|
||||||
(int a, String b) get get { return (42, "fortytwo"); }
|
(int a, String b) get get { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get get async => throw "hello";
|
||||||
|
(int a, String b) get get async { throw "hello"; }
|
||||||
|
(int a, String b) get get async* => throw "hello";
|
||||||
|
(int a, String b) get get async* { throw "hello"; }
|
||||||
|
(int a, String b) get get sync* => throw "hello";
|
||||||
|
(int a, String b) get get sync* { throw "hello"; }
|
||||||
|
|
||||||
|
|
||||||
(int a, String b) get instanceGetter => (42, "fortytwo");
|
(int a, String b) get instanceGetter => (42, "fortytwo");
|
||||||
(int a, String b) get instanceGetter { return (42, "fortytwo"); }
|
(int a, String b) get instanceGetter { return (42, "fortytwo"); }
|
||||||
|
(int a, String b) get instanceGetter async => throw "hello";
|
||||||
|
(int a, String b) get instanceGetter async { return throw "hello"; }
|
||||||
|
(int a, String b) get instanceGetter async* => throw "hello";
|
||||||
|
(int a, String b) get instanceGetter async* { return throw "hello"; }
|
||||||
|
(int a, String b) get instanceGetter sync* => throw "hello";
|
||||||
|
(int a, String b) get instanceGetter sync* { return throw "hello"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
class Bar {
|
class Bar {
|
||||||
|
|
||||||
static (int a, String b) get(int x) => (42, "fortytwo");
|
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(int x) { return (42, "fortytwo"); }
|
||||||
|
static (int a, String b) get(int x) async => throw "hello";
|
||||||
|
static (int a, String b) get(int x) async { throw "hello"; }
|
||||||
|
static (int a, String b) get(int x) async* => throw "hello";
|
||||||
|
static (int a, String b) get(int x) async* { throw "hello"; }
|
||||||
|
static (int a, String b) get(int x) sync* => throw "hello";
|
||||||
|
static (int a, String b) get(int x) sync* { throw "hello"; }
|
||||||
|
|
||||||
|
|
||||||
static (int a, String b) get get => (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 get { return (42, "fortytwo"); }
|
||||||
|
static (int a, String b) get get async => throw "hello";
|
||||||
|
static (int a, String b) get get async { throw "hello"; }
|
||||||
|
static (int a, String b) get get async* => throw "hello";
|
||||||
|
static (int a, String b) get get async* { throw "hello"; }
|
||||||
|
static (int a, String b) get get sync* => throw "hello";
|
||||||
|
static (int a, String b) get get sync* { throw "hello"; }
|
||||||
|
|
||||||
|
|
||||||
static (int a, String b) get staticGetter => (42, "fortytwo");
|
static (int a, String b) get staticGetter => (42, "fortytwo");
|
||||||
static (int a, String b) get staticGetter { return (42, "fortytwo"); }
|
static (int a, String b) get staticGetter { return (42, "fortytwo"); }
|
||||||
|
static (int a, String b) get staticGetter async => throw "hello";
|
||||||
|
static (int a, String b) get staticGetter async { throw "hello"; }
|
||||||
|
static (int a, String b) get staticGetter async* => throw "hello";
|
||||||
|
static (int a, String b) get staticGetter async* { throw "hello"; }
|
||||||
|
static (int a, String b) get staticGetter sync* => throw "hello";
|
||||||
|
static (int a, String b) get staticGetter sync* { throw "hello"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
([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] =>[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]([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]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[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] =>[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] 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] =>[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]
|
([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]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] topLevelGetter[StringToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
|
||||||
class[KeywordToken] Foo[StringToken] {[BeginToken]
|
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] =>[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]([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]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[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] =>[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] 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] get[KeywordToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[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] =>[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]
|
([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]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] async[KeywordToken] {[BeginToken] return[KeywordToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] async[KeywordToken]*[SimpleToken] {[BeginToken] return[KeywordToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] instanceGetter[StringToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] return[KeywordToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
}[SimpleToken]
|
}[SimpleToken]
|
||||||
|
|
||||||
class[KeywordToken] Bar[StringToken] {[BeginToken]
|
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] =>[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]([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]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken]([BeginToken]int[StringToken] x[StringToken])[SimpleToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[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] =>[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] 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] get[KeywordToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] get[KeywordToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[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] =>[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]
|
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]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] async[KeywordToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] async[KeywordToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] async[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] async[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] sync[KeywordToken]*[SimpleToken] =>[SimpleToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken]
|
||||||
|
static[KeywordToken] ([BeginToken]int[StringToken] a[StringToken],[SimpleToken] String[StringToken] b[StringToken])[SimpleToken] get[KeywordToken] staticGetter[StringToken] sync[KeywordToken]*[SimpleToken] {[BeginToken] throw[KeywordToken] "hello"[StringToken];[SimpleToken] }[SimpleToken]
|
||||||
}[SimpleToken]
|
}[SimpleToken]
|
||||||
[SimpleToken]
|
[SimpleToken]
|
||||||
|
|
|
@ -1 +1,13 @@
|
||||||
typedef ({int j}) R2();
|
typedef (int, int) T1();
|
||||||
|
typedef ({int j}) T2();
|
||||||
|
typedef (int, int)? T3();
|
||||||
|
typedef ({int j})? T4();
|
||||||
|
|
||||||
|
/// Syntactically tricky coincidences containing >>> and >>>=.
|
||||||
|
/// DO NOT FORMAT THIS FILE. There should not be a space between >>> and =.
|
||||||
|
typedef F1<T extends (int, int)>= T Function();
|
||||||
|
typedef F2<T extends List<(int, int)>>= T Function();
|
||||||
|
typedef F3<T extends List<List<(int, int)>>>= T Function();
|
||||||
|
typedef F4<T extends List<List<List<(int, int)>>>>= T Function();
|
||||||
|
typedef F5<T extends List<List<List<List<(int, int)>>>>>= T Function();
|
||||||
|
typedef F6<T extends List<List<List<List<List<(int, int)>>>>>>= T Function();
|
||||||
|
|
|
@ -1,4 +1,32 @@
|
||||||
beginCompilationUnit(typedef)
|
beginCompilationUnit(typedef)
|
||||||
|
beginMetadataStar(typedef)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
beginTypedef(typedef)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
handleIdentifier(T1, typedefDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.FunctionTypeAlias)
|
||||||
|
endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
|
||||||
|
endTypedef(typedef, null, ;)
|
||||||
|
endTopLevelDeclaration(typedef)
|
||||||
beginMetadataStar(typedef)
|
beginMetadataStar(typedef)
|
||||||
endMetadataStar(0)
|
endMetadataStar(0)
|
||||||
beginUncategorizedTopLevelDeclaration(typedef)
|
beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
@ -15,10 +43,366 @@ beginCompilationUnit(typedef)
|
||||||
endRecordTypeEntry()
|
endRecordTypeEntry()
|
||||||
endRecordTypeNamedFields(1, {)
|
endRecordTypeNamedFields(1, {)
|
||||||
endRecordType((, null, 1, true)
|
endRecordType((, null, 1, true)
|
||||||
handleIdentifier(R2, typedefDeclaration)
|
handleIdentifier(T2, typedefDeclaration)
|
||||||
handleNoTypeVariables(()
|
handleNoTypeVariables(()
|
||||||
beginFormalParameters((, MemberKind.FunctionTypeAlias)
|
beginFormalParameters((, MemberKind.FunctionTypeAlias)
|
||||||
endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
|
endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
|
||||||
endTypedef(typedef, null, ;)
|
endTypedef(typedef, null, ;)
|
||||||
|
endTopLevelDeclaration(typedef)
|
||||||
|
beginMetadataStar(typedef)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
beginTypedef(typedef)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, ?, 2, false)
|
||||||
|
handleIdentifier(T3, typedefDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.FunctionTypeAlias)
|
||||||
|
endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
|
||||||
|
endTypedef(typedef, null, ;)
|
||||||
|
endTopLevelDeclaration(typedef)
|
||||||
|
beginMetadataStar(typedef)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
beginTypedef(typedef)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeNamedFields({)
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(j)
|
||||||
|
handleType(int, null)
|
||||||
|
handleIdentifier(j, recordFieldDeclaration)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordTypeNamedFields(1, {)
|
||||||
|
endRecordType((, ?, 1, true)
|
||||||
|
handleIdentifier(T4, typedefDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.FunctionTypeAlias)
|
||||||
|
endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
|
||||||
|
endTypedef(typedef, null, ;)
|
||||||
|
endTopLevelDeclaration(typedef)
|
||||||
|
beginMetadataStar(typedef)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
beginTypedef(typedef)
|
||||||
|
handleIdentifier(F1, typedefDeclaration)
|
||||||
|
beginTypeVariables(<)
|
||||||
|
beginMetadataStar(T)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
beginTypeVariable(T)
|
||||||
|
handleTypeVariablesDefined(), 1)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
endTypeVariable(>=, 0, extends, null)
|
||||||
|
endTypeVariables(<, >)
|
||||||
|
beginFunctionType(T)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
handleIdentifier(T, typeReference)
|
||||||
|
handleNoTypeArguments(Function)
|
||||||
|
handleType(T, null)
|
||||||
|
beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
endFunctionType(Function, null)
|
||||||
|
endTypedef(typedef, =, ;)
|
||||||
|
endTopLevelDeclaration(typedef)
|
||||||
|
beginMetadataStar(typedef)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
beginTypedef(typedef)
|
||||||
|
handleIdentifier(F2, typedefDeclaration)
|
||||||
|
beginTypeVariables(<)
|
||||||
|
beginMetadataStar(T)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
beginTypeVariable(T)
|
||||||
|
handleTypeVariablesDefined(>, 1)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeVariable(>=, 0, extends, null)
|
||||||
|
endTypeVariables(<, >)
|
||||||
|
beginFunctionType(T)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
handleIdentifier(T, typeReference)
|
||||||
|
handleNoTypeArguments(Function)
|
||||||
|
handleType(T, null)
|
||||||
|
beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
endFunctionType(Function, null)
|
||||||
|
endTypedef(typedef, =, ;)
|
||||||
|
endTopLevelDeclaration(typedef)
|
||||||
|
beginMetadataStar(typedef)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
beginTypedef(typedef)
|
||||||
|
handleIdentifier(F3, typedefDeclaration)
|
||||||
|
beginTypeVariables(<)
|
||||||
|
beginMetadataStar(T)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
beginTypeVariable(T)
|
||||||
|
handleTypeVariablesDefined(>, 1)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeVariable(>=, 0, extends, null)
|
||||||
|
endTypeVariables(<, >)
|
||||||
|
beginFunctionType(T)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
handleIdentifier(T, typeReference)
|
||||||
|
handleNoTypeArguments(Function)
|
||||||
|
handleType(T, null)
|
||||||
|
beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
endFunctionType(Function, null)
|
||||||
|
endTypedef(typedef, =, ;)
|
||||||
|
endTopLevelDeclaration(typedef)
|
||||||
|
beginMetadataStar(typedef)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
beginTypedef(typedef)
|
||||||
|
handleIdentifier(F4, typedefDeclaration)
|
||||||
|
beginTypeVariables(<)
|
||||||
|
beginMetadataStar(T)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
beginTypeVariable(T)
|
||||||
|
handleTypeVariablesDefined(>, 1)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeVariable(>=, 0, extends, null)
|
||||||
|
endTypeVariables(<, >)
|
||||||
|
beginFunctionType(T)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
handleIdentifier(T, typeReference)
|
||||||
|
handleNoTypeArguments(Function)
|
||||||
|
handleType(T, null)
|
||||||
|
beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
endFunctionType(Function, null)
|
||||||
|
endTypedef(typedef, =, ;)
|
||||||
|
endTopLevelDeclaration(typedef)
|
||||||
|
beginMetadataStar(typedef)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
beginTypedef(typedef)
|
||||||
|
handleIdentifier(F5, typedefDeclaration)
|
||||||
|
beginTypeVariables(<)
|
||||||
|
beginMetadataStar(T)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
beginTypeVariable(T)
|
||||||
|
handleTypeVariablesDefined(>, 1)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeVariable(>=, 0, extends, null)
|
||||||
|
endTypeVariables(<, >)
|
||||||
|
beginFunctionType(T)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
handleIdentifier(T, typeReference)
|
||||||
|
handleNoTypeArguments(Function)
|
||||||
|
handleType(T, null)
|
||||||
|
beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
endFunctionType(Function, null)
|
||||||
|
endTypedef(typedef, =, ;)
|
||||||
|
endTopLevelDeclaration(typedef)
|
||||||
|
beginMetadataStar(typedef)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
beginTypedef(typedef)
|
||||||
|
handleIdentifier(F6, typedefDeclaration)
|
||||||
|
beginTypeVariables(<)
|
||||||
|
beginMetadataStar(T)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
beginTypeVariable(T)
|
||||||
|
handleTypeVariablesDefined(>, 1)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
handleIdentifier(List, typeReference)
|
||||||
|
beginTypeArguments(<)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeArguments(1, <, >)
|
||||||
|
handleType(List, null)
|
||||||
|
endTypeVariable(>=, 0, extends, null)
|
||||||
|
endTypeVariables(<, >)
|
||||||
|
beginFunctionType(T)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
handleIdentifier(T, typeReference)
|
||||||
|
handleNoTypeArguments(Function)
|
||||||
|
handleType(T, null)
|
||||||
|
beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
endFunctionType(Function, null)
|
||||||
|
endTypedef(typedef, =, ;)
|
||||||
endTopLevelDeclaration()
|
endTopLevelDeclaration()
|
||||||
endCompilationUnit(1, )
|
endCompilationUnit(10, )
|
||||||
|
|
|
@ -7,6 +7,47 @@ parseUnit(typedef)
|
||||||
listener: beginMetadataStar(typedef)
|
listener: beginMetadataStar(typedef)
|
||||||
listener: endMetadataStar(0)
|
listener: endMetadataStar(0)
|
||||||
parseTopLevelKeywordDeclaration(, typedef, null, Instance of 'DirectiveContext')
|
parseTopLevelKeywordDeclaration(, typedef, null, Instance of 'DirectiveContext')
|
||||||
|
parseTypedef(typedef)
|
||||||
|
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
listener: beginTypedef(typedef)
|
||||||
|
parseRecordType((, typedef, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
ensureIdentifierPotentiallyRecovered(), typedefDeclaration, false)
|
||||||
|
listener: handleIdentifier(T1, typedefDeclaration)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseFormalParametersRequiredOpt(T1, MemberKind.FunctionTypeAlias)
|
||||||
|
parseFormalParametersRest((, MemberKind.FunctionTypeAlias)
|
||||||
|
listener: beginFormalParameters((, MemberKind.FunctionTypeAlias)
|
||||||
|
listener: endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
|
||||||
|
ensureSemicolon())
|
||||||
|
listener: endTypedef(typedef, null, ;)
|
||||||
|
listener: endTopLevelDeclaration(typedef)
|
||||||
|
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(typedef)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
|
||||||
parseTypedef(typedef)
|
parseTypedef(typedef)
|
||||||
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
listener: beginTypedef(typedef)
|
listener: beginTypedef(typedef)
|
||||||
|
@ -29,14 +70,508 @@ parseUnit(typedef)
|
||||||
ensureCloseParen(}, ()
|
ensureCloseParen(}, ()
|
||||||
listener: endRecordType((, null, 1, true)
|
listener: endRecordType((, null, 1, true)
|
||||||
ensureIdentifierPotentiallyRecovered(), typedefDeclaration, false)
|
ensureIdentifierPotentiallyRecovered(), typedefDeclaration, false)
|
||||||
listener: handleIdentifier(R2, typedefDeclaration)
|
listener: handleIdentifier(T2, typedefDeclaration)
|
||||||
listener: handleNoTypeVariables(()
|
listener: handleNoTypeVariables(()
|
||||||
parseFormalParametersRequiredOpt(R2, MemberKind.FunctionTypeAlias)
|
parseFormalParametersRequiredOpt(T2, MemberKind.FunctionTypeAlias)
|
||||||
parseFormalParametersRest((, MemberKind.FunctionTypeAlias)
|
parseFormalParametersRest((, MemberKind.FunctionTypeAlias)
|
||||||
listener: beginFormalParameters((, MemberKind.FunctionTypeAlias)
|
listener: beginFormalParameters((, MemberKind.FunctionTypeAlias)
|
||||||
listener: endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
|
listener: endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
|
||||||
ensureSemicolon())
|
ensureSemicolon())
|
||||||
listener: endTypedef(typedef, null, ;)
|
listener: endTypedef(typedef, null, ;)
|
||||||
|
listener: endTopLevelDeclaration(typedef)
|
||||||
|
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(typedef)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
|
||||||
|
parseTypedef(typedef)
|
||||||
|
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
listener: beginTypedef(typedef)
|
||||||
|
parseRecordType((, typedef, true)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, ?, 2, false)
|
||||||
|
ensureIdentifierPotentiallyRecovered(?, typedefDeclaration, false)
|
||||||
|
listener: handleIdentifier(T3, typedefDeclaration)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseFormalParametersRequiredOpt(T3, MemberKind.FunctionTypeAlias)
|
||||||
|
parseFormalParametersRest((, MemberKind.FunctionTypeAlias)
|
||||||
|
listener: beginFormalParameters((, MemberKind.FunctionTypeAlias)
|
||||||
|
listener: endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
|
||||||
|
ensureSemicolon())
|
||||||
|
listener: endTypedef(typedef, null, ;)
|
||||||
|
listener: endTopLevelDeclaration(typedef)
|
||||||
|
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(typedef)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
|
||||||
|
parseTypedef(typedef)
|
||||||
|
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
listener: beginTypedef(typedef)
|
||||||
|
parseRecordType((, typedef, true)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeNamedFields(()
|
||||||
|
listener: beginRecordTypeNamedFields({)
|
||||||
|
parseRecordTypeField({, identifierIsOptional: false)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(j)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
ensureIdentifier(int, recordFieldDeclaration)
|
||||||
|
listener: handleIdentifier(j, recordFieldDeclaration)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordTypeNamedFields(1, {)
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endRecordType((, ?, 1, true)
|
||||||
|
ensureIdentifierPotentiallyRecovered(?, typedefDeclaration, false)
|
||||||
|
listener: handleIdentifier(T4, typedefDeclaration)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseFormalParametersRequiredOpt(T4, MemberKind.FunctionTypeAlias)
|
||||||
|
parseFormalParametersRest((, MemberKind.FunctionTypeAlias)
|
||||||
|
listener: beginFormalParameters((, MemberKind.FunctionTypeAlias)
|
||||||
|
listener: endFormalParameters(0, (, ), MemberKind.FunctionTypeAlias)
|
||||||
|
ensureSemicolon())
|
||||||
|
listener: endTypedef(typedef, null, ;)
|
||||||
|
listener: endTopLevelDeclaration(typedef)
|
||||||
|
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(typedef)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
|
||||||
|
parseTypedef(typedef)
|
||||||
|
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
listener: beginTypedef(typedef)
|
||||||
|
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
|
||||||
|
listener: handleIdentifier(F1, typedefDeclaration)
|
||||||
|
listener: beginTypeVariables(<)
|
||||||
|
parseMetadataStar(<)
|
||||||
|
listener: beginMetadataStar(T)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
ensureIdentifier(<, typeVariableDeclaration)
|
||||||
|
listener: handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
listener: beginTypeVariable(T)
|
||||||
|
listener: handleTypeVariablesDefined(), 1)
|
||||||
|
parseRecordType((, extends, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
listener: endTypeVariable(>=, 0, extends, null)
|
||||||
|
listener: endTypeVariables(<, >)
|
||||||
|
listener: beginFunctionType(T)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
ensureIdentifier(=, typeReference)
|
||||||
|
listener: handleIdentifier(T, typeReference)
|
||||||
|
listener: handleNoTypeArguments(Function)
|
||||||
|
listener: handleType(T, null)
|
||||||
|
parseFormalParametersRequiredOpt(Function, MemberKind.GeneralizedFunctionType)
|
||||||
|
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFunctionType(Function, null)
|
||||||
|
ensureSemicolon())
|
||||||
|
listener: endTypedef(typedef, =, ;)
|
||||||
|
listener: endTopLevelDeclaration(typedef)
|
||||||
|
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(typedef)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
|
||||||
|
parseTypedef(typedef)
|
||||||
|
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
listener: beginTypedef(typedef)
|
||||||
|
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
|
||||||
|
listener: handleIdentifier(F2, typedefDeclaration)
|
||||||
|
listener: beginTypeVariables(<)
|
||||||
|
parseMetadataStar(<)
|
||||||
|
listener: beginMetadataStar(T)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
ensureIdentifier(<, typeVariableDeclaration)
|
||||||
|
listener: handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
listener: beginTypeVariable(T)
|
||||||
|
listener: handleTypeVariablesDefined(>, 1)
|
||||||
|
ensureIdentifier(extends, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
parseRecordType((, <, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeVariable(>=, 0, extends, null)
|
||||||
|
listener: endTypeVariables(<, >)
|
||||||
|
listener: beginFunctionType(T)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
ensureIdentifier(=, typeReference)
|
||||||
|
listener: handleIdentifier(T, typeReference)
|
||||||
|
listener: handleNoTypeArguments(Function)
|
||||||
|
listener: handleType(T, null)
|
||||||
|
parseFormalParametersRequiredOpt(Function, MemberKind.GeneralizedFunctionType)
|
||||||
|
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFunctionType(Function, null)
|
||||||
|
ensureSemicolon())
|
||||||
|
listener: endTypedef(typedef, =, ;)
|
||||||
|
listener: endTopLevelDeclaration(typedef)
|
||||||
|
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(typedef)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
|
||||||
|
parseTypedef(typedef)
|
||||||
|
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
listener: beginTypedef(typedef)
|
||||||
|
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
|
||||||
|
listener: handleIdentifier(F3, typedefDeclaration)
|
||||||
|
listener: beginTypeVariables(<)
|
||||||
|
parseMetadataStar(<)
|
||||||
|
listener: beginMetadataStar(T)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
ensureIdentifier(<, typeVariableDeclaration)
|
||||||
|
listener: handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
listener: beginTypeVariable(T)
|
||||||
|
listener: handleTypeVariablesDefined(>, 1)
|
||||||
|
ensureIdentifier(extends, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
ensureIdentifier(<, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
parseRecordType((, <, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeVariable(>=, 0, extends, null)
|
||||||
|
listener: endTypeVariables(<, >)
|
||||||
|
listener: beginFunctionType(T)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
ensureIdentifier(=, typeReference)
|
||||||
|
listener: handleIdentifier(T, typeReference)
|
||||||
|
listener: handleNoTypeArguments(Function)
|
||||||
|
listener: handleType(T, null)
|
||||||
|
parseFormalParametersRequiredOpt(Function, MemberKind.GeneralizedFunctionType)
|
||||||
|
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFunctionType(Function, null)
|
||||||
|
ensureSemicolon())
|
||||||
|
listener: endTypedef(typedef, =, ;)
|
||||||
|
listener: endTopLevelDeclaration(typedef)
|
||||||
|
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(typedef)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
|
||||||
|
parseTypedef(typedef)
|
||||||
|
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
listener: beginTypedef(typedef)
|
||||||
|
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
|
||||||
|
listener: handleIdentifier(F4, typedefDeclaration)
|
||||||
|
listener: beginTypeVariables(<)
|
||||||
|
parseMetadataStar(<)
|
||||||
|
listener: beginMetadataStar(T)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
ensureIdentifier(<, typeVariableDeclaration)
|
||||||
|
listener: handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
listener: beginTypeVariable(T)
|
||||||
|
listener: handleTypeVariablesDefined(>, 1)
|
||||||
|
ensureIdentifier(extends, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
ensureIdentifier(<, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
ensureIdentifier(<, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
parseRecordType((, <, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeVariable(>=, 0, extends, null)
|
||||||
|
listener: endTypeVariables(<, >)
|
||||||
|
listener: beginFunctionType(T)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
ensureIdentifier(=, typeReference)
|
||||||
|
listener: handleIdentifier(T, typeReference)
|
||||||
|
listener: handleNoTypeArguments(Function)
|
||||||
|
listener: handleType(T, null)
|
||||||
|
parseFormalParametersRequiredOpt(Function, MemberKind.GeneralizedFunctionType)
|
||||||
|
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFunctionType(Function, null)
|
||||||
|
ensureSemicolon())
|
||||||
|
listener: endTypedef(typedef, =, ;)
|
||||||
|
listener: endTopLevelDeclaration(typedef)
|
||||||
|
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(typedef)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
|
||||||
|
parseTypedef(typedef)
|
||||||
|
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
listener: beginTypedef(typedef)
|
||||||
|
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
|
||||||
|
listener: handleIdentifier(F5, typedefDeclaration)
|
||||||
|
listener: beginTypeVariables(<)
|
||||||
|
parseMetadataStar(<)
|
||||||
|
listener: beginMetadataStar(T)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
ensureIdentifier(<, typeVariableDeclaration)
|
||||||
|
listener: handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
listener: beginTypeVariable(T)
|
||||||
|
listener: handleTypeVariablesDefined(>, 1)
|
||||||
|
ensureIdentifier(extends, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
ensureIdentifier(<, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
ensureIdentifier(<, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
ensureIdentifier(<, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
parseRecordType((, <, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeVariable(>=, 0, extends, null)
|
||||||
|
listener: endTypeVariables(<, >)
|
||||||
|
listener: beginFunctionType(T)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
ensureIdentifier(=, typeReference)
|
||||||
|
listener: handleIdentifier(T, typeReference)
|
||||||
|
listener: handleNoTypeArguments(Function)
|
||||||
|
listener: handleType(T, null)
|
||||||
|
parseFormalParametersRequiredOpt(Function, MemberKind.GeneralizedFunctionType)
|
||||||
|
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFunctionType(Function, null)
|
||||||
|
ensureSemicolon())
|
||||||
|
listener: endTypedef(typedef, =, ;)
|
||||||
|
listener: endTopLevelDeclaration(typedef)
|
||||||
|
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(typedef)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
|
||||||
|
parseTypedef(typedef)
|
||||||
|
listener: beginUncategorizedTopLevelDeclaration(typedef)
|
||||||
|
listener: beginTypedef(typedef)
|
||||||
|
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
|
||||||
|
listener: handleIdentifier(F6, typedefDeclaration)
|
||||||
|
listener: beginTypeVariables(<)
|
||||||
|
parseMetadataStar(<)
|
||||||
|
listener: beginMetadataStar(T)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
ensureIdentifier(<, typeVariableDeclaration)
|
||||||
|
listener: handleIdentifier(T, typeVariableDeclaration)
|
||||||
|
listener: beginTypeVariable(T)
|
||||||
|
listener: handleTypeVariablesDefined(>, 1)
|
||||||
|
ensureIdentifier(extends, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
ensureIdentifier(<, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
ensureIdentifier(<, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
ensureIdentifier(<, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
ensureIdentifier(<, typeReference)
|
||||||
|
listener: handleIdentifier(List, typeReference)
|
||||||
|
listener: beginTypeArguments(<)
|
||||||
|
parseRecordType((, <, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeArguments(1, <, >)
|
||||||
|
listener: handleType(List, null)
|
||||||
|
listener: endTypeVariable(>=, 0, extends, null)
|
||||||
|
listener: endTypeVariables(<, >)
|
||||||
|
listener: beginFunctionType(T)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
ensureIdentifier(=, typeReference)
|
||||||
|
listener: handleIdentifier(T, typeReference)
|
||||||
|
listener: handleNoTypeArguments(Function)
|
||||||
|
listener: handleType(T, null)
|
||||||
|
parseFormalParametersRequiredOpt(Function, MemberKind.GeneralizedFunctionType)
|
||||||
|
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFormalParameters(0, (, ), MemberKind.GeneralizedFunctionType)
|
||||||
|
listener: endFunctionType(Function, null)
|
||||||
|
ensureSemicolon())
|
||||||
|
listener: endTypedef(typedef, =, ;)
|
||||||
listener: endTopLevelDeclaration()
|
listener: endTopLevelDeclaration()
|
||||||
reportAllErrorTokens(typedef)
|
reportAllErrorTokens(typedef)
|
||||||
listener: endCompilationUnit(1, )
|
listener: endCompilationUnit(10, )
|
||||||
|
|
|
@ -1,5 +1,31 @@
|
||||||
typedef ({int j}) R2();
|
NOTICE: Stream was rewritten by parser!
|
||||||
|
|
||||||
|
typedef (int, int) T1();
|
||||||
|
typedef ({int j}) T2();
|
||||||
|
typedef (int, int)? T3();
|
||||||
|
typedef ({int j})? T4();
|
||||||
|
|
||||||
|
|
||||||
typedef[KeywordToken] ([BeginToken]{[BeginToken]int[StringToken] j[StringToken]}[SimpleToken])[SimpleToken] R2[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
|
||||||
|
typedef F1<T extends (int, int)>= T Function();
|
||||||
|
typedef F2<T extends List<(int, int)>>= T Function();
|
||||||
|
typedef F3<T extends List<List<(int, int)>>>= T Function();
|
||||||
|
typedef F4<T extends List<List<List<(int, int)>>>>= T Function();
|
||||||
|
typedef F5<T extends List<List<List<List<(int, int)>>>>>= T Function();
|
||||||
|
typedef F6<T extends List<List<List<List<List<(int, int)>>>>>>= T Function();
|
||||||
|
|
||||||
|
|
||||||
|
typedef[KeywordToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] T1[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] ([BeginToken]{[BeginToken]int[StringToken] j[StringToken]}[SimpleToken])[SimpleToken] T2[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]?[SimpleToken] T3[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] ([BeginToken]{[BeginToken]int[StringToken] j[StringToken]}[SimpleToken])[SimpleToken]?[SimpleToken] T4[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef[KeywordToken] F1[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>[SimpleToken]=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] F2[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] List[StringToken]<[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>[SimpleToken]>[SimpleToken]=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] F3[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>[SimpleToken]>[SimpleToken]>[SimpleToken]=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] F4[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>[SimpleToken]>[SimpleToken]>[SimpleToken]>[SimpleToken]=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] F5[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>[SimpleToken]>[SimpleToken]>[SimpleToken]>[SimpleToken]>[SimpleToken]=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] F6[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>[SimpleToken]>[SimpleToken]>[SimpleToken]>[SimpleToken]>[SimpleToken]>[SimpleToken]=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
[SimpleToken]
|
[SimpleToken]
|
||||||
|
|
|
@ -1,5 +1,29 @@
|
||||||
typedef ({int j}) R2();
|
typedef (int, int) T1();
|
||||||
|
typedef ({int j}) T2();
|
||||||
|
typedef (int, int)? T3();
|
||||||
|
typedef ({int j})? T4();
|
||||||
|
|
||||||
|
|
||||||
typedef[KeywordToken] ([BeginToken]{[BeginToken]int[StringToken] j[StringToken]}[SimpleToken])[SimpleToken] R2[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
|
||||||
|
typedef F1<T extends (int, int)>= T Function();
|
||||||
|
typedef F2<T extends List<(int, int)>>= T Function();
|
||||||
|
typedef F3<T extends List<List<(int, int)>>>= T Function();
|
||||||
|
typedef F4<T extends List<List<List<(int, int)>>>>= T Function();
|
||||||
|
typedef F5<T extends List<List<List<List<(int, int)>>>>>= T Function();
|
||||||
|
typedef F6<T extends List<List<List<List<List<(int, int)>>>>>>= T Function();
|
||||||
|
|
||||||
|
|
||||||
|
typedef[KeywordToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] T1[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] ([BeginToken]{[BeginToken]int[StringToken] j[StringToken]}[SimpleToken])[SimpleToken] T2[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]?[SimpleToken] T3[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] ([BeginToken]{[BeginToken]int[StringToken] j[StringToken]}[SimpleToken])[SimpleToken]?[SimpleToken] T4[StringToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef[KeywordToken] F1[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] F2[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] List[StringToken]<[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>>=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] F3[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>>>=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] F4[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>>>[SimpleToken]>=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] F5[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>>>[SimpleToken]>>=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
|
typedef[KeywordToken] F6[StringToken]<[BeginToken]T[StringToken] extends[KeywordToken] List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]List[StringToken]<[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken]>>>[SimpleToken]>>>=[SimpleToken] T[StringToken] Function[KeywordToken]([BeginToken])[SimpleToken];[SimpleToken]
|
||||||
[SimpleToken]
|
[SimpleToken]
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
class Foo extends Bar {
|
||||||
|
Foo((int, int) super.x);
|
||||||
|
Foo([(int, int) super.x]);
|
||||||
|
Foo({(int, int) super.x});
|
||||||
|
Foo({required (int, int) super.x});
|
||||||
|
}
|
|
@ -0,0 +1,177 @@
|
||||||
|
beginCompilationUnit(class)
|
||||||
|
beginMetadataStar(class)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
|
||||||
|
handleIdentifier(Foo, classOrMixinDeclaration)
|
||||||
|
handleNoTypeVariables(extends)
|
||||||
|
beginClassDeclaration(class, null, null, null, Foo)
|
||||||
|
handleIdentifier(Bar, typeReference)
|
||||||
|
handleNoTypeArguments({)
|
||||||
|
handleType(Bar, null)
|
||||||
|
handleClassExtends(extends, 1)
|
||||||
|
handleClassNoWithClause()
|
||||||
|
handleImplements(null, 0)
|
||||||
|
handleClassHeader(class, class, null)
|
||||||
|
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
||||||
|
beginMetadataStar(Foo)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginMember()
|
||||||
|
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, Foo)
|
||||||
|
handleNoType({)
|
||||||
|
handleIdentifier(Foo, methodDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
beginMetadataStar(()
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
handleIdentifier(x, fieldInitializer)
|
||||||
|
handleFormalParameterWithoutValue())
|
||||||
|
endFormalParameter(null, super, ., x, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||||
|
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
handleNoInitializers()
|
||||||
|
handleAsyncModifier(null, null)
|
||||||
|
handleEmptyFunctionBody(;)
|
||||||
|
endClassConstructor(null, Foo, (, null, ;)
|
||||||
|
endMember()
|
||||||
|
beginMetadataStar(Foo)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginMember()
|
||||||
|
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, Foo)
|
||||||
|
handleNoType(;)
|
||||||
|
handleIdentifier(Foo, methodDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
beginOptionalFormalParameters([)
|
||||||
|
beginMetadataStar(()
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
handleIdentifier(x, fieldInitializer)
|
||||||
|
handleFormalParameterWithoutValue(])
|
||||||
|
endFormalParameter(null, super, ., x, null, null, FormalParameterKind.optionalPositional, MemberKind.NonStaticMethod)
|
||||||
|
endOptionalFormalParameters(1, [, ])
|
||||||
|
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
handleNoInitializers()
|
||||||
|
handleAsyncModifier(null, null)
|
||||||
|
handleEmptyFunctionBody(;)
|
||||||
|
endClassConstructor(null, Foo, (, null, ;)
|
||||||
|
endMember()
|
||||||
|
beginMetadataStar(Foo)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginMember()
|
||||||
|
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, Foo)
|
||||||
|
handleNoType(;)
|
||||||
|
handleIdentifier(Foo, methodDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
beginOptionalFormalParameters({)
|
||||||
|
beginMetadataStar(()
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
handleIdentifier(x, fieldInitializer)
|
||||||
|
handleFormalParameterWithoutValue(})
|
||||||
|
endFormalParameter(null, super, ., x, null, null, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
endOptionalFormalParameters(1, {, })
|
||||||
|
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
handleNoInitializers()
|
||||||
|
handleAsyncModifier(null, null)
|
||||||
|
handleEmptyFunctionBody(;)
|
||||||
|
endClassConstructor(null, Foo, (, null, ;)
|
||||||
|
endMember()
|
||||||
|
beginMetadataStar(Foo)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginMember()
|
||||||
|
beginMethod(DeclarationKind.Class, null, null, null, null, null, null, Foo)
|
||||||
|
handleNoType(;)
|
||||||
|
handleIdentifier(Foo, methodDeclaration)
|
||||||
|
handleNoTypeVariables(()
|
||||||
|
beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
beginOptionalFormalParameters({)
|
||||||
|
beginMetadataStar(required)
|
||||||
|
endMetadataStar(0)
|
||||||
|
beginFormalParameter(required, MemberKind.NonStaticMethod, required, null, null)
|
||||||
|
beginRecordType(()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments(,)
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName(,)
|
||||||
|
endRecordTypeEntry()
|
||||||
|
beginRecordTypeEntry()
|
||||||
|
beginMetadataStar(int)
|
||||||
|
endMetadataStar(0)
|
||||||
|
handleIdentifier(int, typeReference)
|
||||||
|
handleNoTypeArguments())
|
||||||
|
handleType(int, null)
|
||||||
|
handleNoName())
|
||||||
|
endRecordTypeEntry()
|
||||||
|
endRecordType((, null, 2, false)
|
||||||
|
handleIdentifier(x, fieldInitializer)
|
||||||
|
handleFormalParameterWithoutValue(})
|
||||||
|
endFormalParameter(null, super, ., x, null, null, FormalParameterKind.requiredNamed, MemberKind.NonStaticMethod)
|
||||||
|
endOptionalFormalParameters(1, {, })
|
||||||
|
endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
handleNoInitializers()
|
||||||
|
handleAsyncModifier(null, null)
|
||||||
|
handleEmptyFunctionBody(;)
|
||||||
|
endClassConstructor(null, Foo, (, null, ;)
|
||||||
|
endMember()
|
||||||
|
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 4, {, })
|
||||||
|
endClassDeclaration(class, })
|
||||||
|
endTopLevelDeclaration()
|
||||||
|
endCompilationUnit(1, )
|
|
@ -0,0 +1,296 @@
|
||||||
|
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(extends)
|
||||||
|
listener: beginClassDeclaration(class, null, null, null, Foo)
|
||||||
|
parseClass(Foo, class, class, Foo)
|
||||||
|
parseClassHeaderOpt(Foo, class, class)
|
||||||
|
parseClassExtendsOpt(Foo)
|
||||||
|
parseClassExtendsSeenExtendsClause(extends, Foo)
|
||||||
|
listener: handleIdentifier(Bar, typeReference)
|
||||||
|
listener: handleNoTypeArguments({)
|
||||||
|
listener: handleType(Bar, null)
|
||||||
|
listener: handleClassExtends(extends, 1)
|
||||||
|
parseClassWithClauseOpt(Bar)
|
||||||
|
listener: handleClassNoWithClause()
|
||||||
|
parseClassOrMixinOrEnumImplementsOpt(Bar)
|
||||||
|
listener: handleImplements(null, 0)
|
||||||
|
listener: handleClassHeader(class, class, null)
|
||||||
|
parseClassOrMixinOrExtensionBody(Bar, DeclarationKind.Class, Foo)
|
||||||
|
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
|
||||||
|
notEofOrValue(}, Foo)
|
||||||
|
parseClassOrMixinOrExtensionOrEnumMemberImpl({, DeclarationKind.Class, Foo)
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(Foo)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginMember()
|
||||||
|
isReservedKeyword(()
|
||||||
|
parseMethod({, null, null, null, null, null, null, null, {, Instance of 'NoType', null, Foo, DeclarationKind.Class, Foo, false)
|
||||||
|
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, Foo)
|
||||||
|
listener: handleNoType({)
|
||||||
|
ensureIdentifierPotentiallyRecovered({, methodDeclaration, false)
|
||||||
|
listener: handleIdentifier(Foo, methodDeclaration)
|
||||||
|
parseQualifiedRestOpt(Foo, methodDeclarationContinuation)
|
||||||
|
parseMethodTypeVar(Foo)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseGetterOrFormalParameters(Foo, Foo, false, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameters(Foo, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParametersRest((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(()
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
parseRecordType((, (, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
ensureIdentifier(., fieldInitializer)
|
||||||
|
listener: handleIdentifier(x, fieldInitializer)
|
||||||
|
listener: handleFormalParameterWithoutValue())
|
||||||
|
listener: endFormalParameter(null, super, ., x, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
|
||||||
|
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
parseInitializersOpt())
|
||||||
|
listener: handleNoInitializers()
|
||||||
|
parseAsyncModifierOpt())
|
||||||
|
listener: handleAsyncModifier(null, null)
|
||||||
|
inPlainSync()
|
||||||
|
inPlainSync()
|
||||||
|
parseFunctionBody(), false, true)
|
||||||
|
listener: handleEmptyFunctionBody(;)
|
||||||
|
listener: endClassConstructor(null, Foo, (, null, ;)
|
||||||
|
listener: endMember()
|
||||||
|
notEofOrValue(}, Foo)
|
||||||
|
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, Foo)
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(Foo)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginMember()
|
||||||
|
isReservedKeyword(()
|
||||||
|
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, Foo, DeclarationKind.Class, Foo, false)
|
||||||
|
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, Foo)
|
||||||
|
listener: handleNoType(;)
|
||||||
|
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
|
||||||
|
listener: handleIdentifier(Foo, methodDeclaration)
|
||||||
|
parseQualifiedRestOpt(Foo, methodDeclarationContinuation)
|
||||||
|
parseMethodTypeVar(Foo)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseGetterOrFormalParameters(Foo, Foo, false, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameters(Foo, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParametersRest((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
parseOptionalPositionalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginOptionalFormalParameters([)
|
||||||
|
parseFormalParameter([, FormalParameterKind.optionalPositional, MemberKind.NonStaticMethod)
|
||||||
|
parseMetadataStar([)
|
||||||
|
listener: beginMetadataStar(()
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
parseRecordType((, [, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
ensureIdentifier(., fieldInitializer)
|
||||||
|
listener: handleIdentifier(x, fieldInitializer)
|
||||||
|
listener: handleFormalParameterWithoutValue(])
|
||||||
|
listener: endFormalParameter(null, super, ., x, null, null, FormalParameterKind.optionalPositional, MemberKind.NonStaticMethod)
|
||||||
|
listener: endOptionalFormalParameters(1, [, ])
|
||||||
|
ensureCloseParen(], ()
|
||||||
|
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
parseInitializersOpt())
|
||||||
|
listener: handleNoInitializers()
|
||||||
|
parseAsyncModifierOpt())
|
||||||
|
listener: handleAsyncModifier(null, null)
|
||||||
|
inPlainSync()
|
||||||
|
inPlainSync()
|
||||||
|
parseFunctionBody(), false, true)
|
||||||
|
listener: handleEmptyFunctionBody(;)
|
||||||
|
listener: endClassConstructor(null, Foo, (, null, ;)
|
||||||
|
listener: endMember()
|
||||||
|
notEofOrValue(}, Foo)
|
||||||
|
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, Foo)
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(Foo)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginMember()
|
||||||
|
isReservedKeyword(()
|
||||||
|
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, Foo, DeclarationKind.Class, Foo, false)
|
||||||
|
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, Foo)
|
||||||
|
listener: handleNoType(;)
|
||||||
|
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
|
||||||
|
listener: handleIdentifier(Foo, methodDeclaration)
|
||||||
|
parseQualifiedRestOpt(Foo, methodDeclarationContinuation)
|
||||||
|
parseMethodTypeVar(Foo)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseGetterOrFormalParameters(Foo, Foo, false, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameters(Foo, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParametersRest((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
parseOptionalNamedParameters((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginOptionalFormalParameters({)
|
||||||
|
parseFormalParameter({, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(()
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginFormalParameter((, MemberKind.NonStaticMethod, null, null, null)
|
||||||
|
parseRecordType((, {, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
ensureIdentifier(., fieldInitializer)
|
||||||
|
listener: handleIdentifier(x, fieldInitializer)
|
||||||
|
listener: handleFormalParameterWithoutValue(})
|
||||||
|
listener: endFormalParameter(null, super, ., x, null, null, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
listener: endOptionalFormalParameters(1, {, })
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
parseInitializersOpt())
|
||||||
|
listener: handleNoInitializers()
|
||||||
|
parseAsyncModifierOpt())
|
||||||
|
listener: handleAsyncModifier(null, null)
|
||||||
|
inPlainSync()
|
||||||
|
inPlainSync()
|
||||||
|
parseFunctionBody(), false, true)
|
||||||
|
listener: handleEmptyFunctionBody(;)
|
||||||
|
listener: endClassConstructor(null, Foo, (, null, ;)
|
||||||
|
listener: endMember()
|
||||||
|
notEofOrValue(}, Foo)
|
||||||
|
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, Foo)
|
||||||
|
parseMetadataStar(;)
|
||||||
|
listener: beginMetadataStar(Foo)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginMember()
|
||||||
|
isReservedKeyword(()
|
||||||
|
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, Foo, DeclarationKind.Class, Foo, false)
|
||||||
|
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, Foo)
|
||||||
|
listener: handleNoType(;)
|
||||||
|
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
|
||||||
|
listener: handleIdentifier(Foo, methodDeclaration)
|
||||||
|
parseQualifiedRestOpt(Foo, methodDeclarationContinuation)
|
||||||
|
parseMethodTypeVar(Foo)
|
||||||
|
listener: handleNoTypeVariables(()
|
||||||
|
parseGetterOrFormalParameters(Foo, Foo, false, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParameters(Foo, MemberKind.NonStaticMethod)
|
||||||
|
parseFormalParametersRest((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginFormalParameters((, MemberKind.NonStaticMethod)
|
||||||
|
parseOptionalNamedParameters((, MemberKind.NonStaticMethod)
|
||||||
|
listener: beginOptionalFormalParameters({)
|
||||||
|
parseFormalParameter({, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod)
|
||||||
|
parseMetadataStar({)
|
||||||
|
listener: beginMetadataStar(required)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: beginFormalParameter(required, MemberKind.NonStaticMethod, required, null, null)
|
||||||
|
parseRecordType((, required, false)
|
||||||
|
listener: beginRecordType(()
|
||||||
|
parseRecordTypeField((, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(()
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments(,)
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName(,)
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
parseRecordTypeField(,, identifierIsOptional: true)
|
||||||
|
listener: beginRecordTypeEntry()
|
||||||
|
parseMetadataStar(,)
|
||||||
|
listener: beginMetadataStar(int)
|
||||||
|
listener: endMetadataStar(0)
|
||||||
|
listener: handleIdentifier(int, typeReference)
|
||||||
|
listener: handleNoTypeArguments())
|
||||||
|
listener: handleType(int, null)
|
||||||
|
listener: handleNoName())
|
||||||
|
listener: endRecordTypeEntry()
|
||||||
|
listener: endRecordType((, null, 2, false)
|
||||||
|
ensureIdentifier(., fieldInitializer)
|
||||||
|
listener: handleIdentifier(x, fieldInitializer)
|
||||||
|
listener: handleFormalParameterWithoutValue(})
|
||||||
|
listener: endFormalParameter(null, super, ., x, null, null, FormalParameterKind.requiredNamed, MemberKind.NonStaticMethod)
|
||||||
|
listener: endOptionalFormalParameters(1, {, })
|
||||||
|
ensureCloseParen(}, ()
|
||||||
|
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
|
||||||
|
parseInitializersOpt())
|
||||||
|
listener: handleNoInitializers()
|
||||||
|
parseAsyncModifierOpt())
|
||||||
|
listener: handleAsyncModifier(null, null)
|
||||||
|
inPlainSync()
|
||||||
|
inPlainSync()
|
||||||
|
parseFunctionBody(), false, true)
|
||||||
|
listener: handleEmptyFunctionBody(;)
|
||||||
|
listener: endClassConstructor(null, Foo, (, null, ;)
|
||||||
|
listener: endMember()
|
||||||
|
notEofOrValue(}, })
|
||||||
|
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 4, {, })
|
||||||
|
listener: endClassDeclaration(class, })
|
||||||
|
listener: endTopLevelDeclaration()
|
||||||
|
reportAllErrorTokens(class)
|
||||||
|
listener: endCompilationUnit(1, )
|
|
@ -0,0 +1,15 @@
|
||||||
|
class Foo extends Bar {
|
||||||
|
Foo((int, int) super.x);
|
||||||
|
Foo([(int, int) super.x]);
|
||||||
|
Foo({(int, int) super.x});
|
||||||
|
Foo({required (int, int) super.x});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class[KeywordToken] Foo[StringToken] extends[KeywordToken] Bar[StringToken] {[BeginToken]
|
||||||
|
Foo[StringToken]([BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] super[KeywordToken].[SimpleToken]x[StringToken])[SimpleToken];[SimpleToken]
|
||||||
|
Foo[StringToken]([BeginToken][[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] super[KeywordToken].[SimpleToken]x[StringToken]][SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
Foo[StringToken]([BeginToken]{[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] super[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
Foo[StringToken]([BeginToken]{[BeginToken]required[KeywordToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] super[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
}[SimpleToken]
|
||||||
|
[SimpleToken]
|
|
@ -0,0 +1,15 @@
|
||||||
|
class Foo extends Bar {
|
||||||
|
Foo((int, int) super.x);
|
||||||
|
Foo([(int, int) super.x]);
|
||||||
|
Foo({(int, int) super.x});
|
||||||
|
Foo({required (int, int) super.x});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class[KeywordToken] Foo[StringToken] extends[KeywordToken] Bar[StringToken] {[BeginToken]
|
||||||
|
Foo[StringToken]([BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] super[KeywordToken].[SimpleToken]x[StringToken])[SimpleToken];[SimpleToken]
|
||||||
|
Foo[StringToken]([BeginToken][[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] super[KeywordToken].[SimpleToken]x[StringToken]][SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
Foo[StringToken]([BeginToken]{[BeginToken]([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] super[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
Foo[StringToken]([BeginToken]{[BeginToken]required[KeywordToken] ([BeginToken]int[StringToken],[SimpleToken] int[StringToken])[SimpleToken] super[KeywordToken].[SimpleToken]x[StringToken]}[SimpleToken])[SimpleToken];[SimpleToken]
|
||||||
|
}[SimpleToken]
|
||||||
|
[SimpleToken]
|
|
@ -1220,6 +1220,7 @@ sandboxed
|
||||||
sanitizing
|
sanitizing
|
||||||
saw
|
saw
|
||||||
say
|
say
|
||||||
|
saying
|
||||||
sb
|
sb
|
||||||
sc
|
sc
|
||||||
scc
|
scc
|
||||||
|
|
|
@ -125,6 +125,7 @@ cmp
|
||||||
cnn
|
cnn
|
||||||
coded
|
coded
|
||||||
codepath
|
codepath
|
||||||
|
coincidences
|
||||||
collisions
|
collisions
|
||||||
columns
|
columns
|
||||||
commented
|
commented
|
||||||
|
|
Loading…
Reference in a new issue