Fix parser to use correct begin token, to get documentation comments from it.

Change-Id: I9505353c9c6c00082e588aced34e8151c7ab22b7
Bug: https://github.com/dart-lang/sdk/issues/51447
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284441
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
Konstantin Shcheglov
2023-02-22 17:03:38 +00:00
committed by Commit Queue
parent 5b55ed416f
commit 67e7c96962
55 changed files with 343 additions and 324 deletions
@@ -2544,7 +2544,16 @@ class Parser {
Token? mixinToken,
Token classKeyword) {
assert(optional('class', classKeyword));
Token begin = abstractToken ?? classKeyword;
Token begin = abstractToken ??
macroToken ??
inlineToken ??
sealedToken ??
baseToken ??
interfaceToken ??
finalToken ??
augmentToken ??
mixinToken ??
classKeyword;
listener.beginClassOrMixinOrNamedMixinApplicationPrelude(begin);
Token name = ensureIdentifier(
classKeyword, IdentifierContext.classOrMixinOrExtensionDeclaration);
+7 -1
View File
@@ -4755,7 +4755,13 @@ class AstBuilder extends StackListener {
var typeParameters = pop() as TypeParameterListImpl?;
var name = pop() as SimpleIdentifierImpl;
var metadata = pop() as List<AnnotationImpl>?;
var comment = _findComment(metadata, mixinKeyword);
final begin = sealedKeyword ??
baseKeyword ??
interfaceKeyword ??
finalKeyword ??
mixinKeyword;
var comment = _findComment(metadata, begin);
_classLikeBuilder = _MixinDeclarationBuilder(
comment: comment,
@@ -5,11 +5,13 @@
import 'package:analyzer/src/dart/error/syntactic_errors.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../dart/resolution/node_text_expectations.dart';
import '../diagnostics/parser_diagnostics.dart';
main() {
defineReflectiveSuite(() {
defineReflectiveTests(AstBuilderTest);
defineReflectiveTests(UpdateNodeTextExpectations);
});
}
@@ -17,15 +19,19 @@ main() {
class AstBuilderTest extends ParserDiagnosticsTest {
void test_class_abstract_sealed() {
var parseResult = parseStringWithErrors(r'''
/// text
abstract sealed class A {}
''');
parseResult.assertErrors([
error(ParserErrorCode.ABSTRACT_SEALED_CLASS, 9, 6),
error(ParserErrorCode.ABSTRACT_SEALED_CLASS, 18, 6),
]);
var node = parseResult.findNode.classDeclaration('class A {}');
assertParsedNodeText(node, r'''
ClassDeclaration
documentationComment: Comment
tokens
/// text
abstractKeyword: abstract
sealedKeyword: sealed
classKeyword: class
@@ -37,6 +43,7 @@ ClassDeclaration
void test_class_augment() {
var parseResult = parseStringWithErrors(r'''
/// text
augment class A {}
''');
parseResult.assertNoErrors();
@@ -44,6 +51,9 @@ augment class A {}
var node = parseResult.findNode.classDeclaration('class A {}');
assertParsedNodeText(node, r'''
ClassDeclaration
documentationComment: Comment
tokens
/// text
augmentKeyword: augment
classKeyword: class
name: A
@@ -54,6 +64,7 @@ ClassDeclaration
void test_class_base() {
var parseResult = parseStringWithErrors(r'''
/// text
base class A {}
''');
parseResult.assertNoErrors();
@@ -61,6 +72,9 @@ base class A {}
var node = parseResult.findNode.classDeclaration('class A {}');
assertParsedNodeText(node, r'''
ClassDeclaration
documentationComment: Comment
tokens
/// text
baseKeyword: base
classKeyword: class
name: A
@@ -269,6 +283,7 @@ ClassDeclaration
void test_class_final() {
var parseResult = parseStringWithErrors(r'''
/// text
final class A {}
''');
parseResult.assertNoErrors();
@@ -276,6 +291,9 @@ final class A {}
var node = parseResult.findNode.classDeclaration('class A {}');
assertParsedNodeText(node, r'''
ClassDeclaration
documentationComment: Comment
tokens
/// text
finalKeyword: final
classKeyword: class
name: A
@@ -316,6 +334,7 @@ ClassDeclaration
void test_class_inline() {
var parseResult = parseStringWithErrors(r'''
/// text
inline class A {}
''');
parseResult.assertNoErrors();
@@ -323,6 +342,9 @@ inline class A {}
var node = parseResult.findNode.classDeclaration('class A {}');
assertParsedNodeText(node, r'''
ClassDeclaration
documentationComment: Comment
tokens
/// text
inlineKeyword: inline
classKeyword: class
name: A
@@ -333,6 +355,7 @@ ClassDeclaration
void test_class_interface() {
var parseResult = parseStringWithErrors(r'''
/// text
interface class A {}
''');
parseResult.assertNoErrors();
@@ -340,6 +363,9 @@ interface class A {}
var node = parseResult.findNode.classDeclaration('class A {}');
assertParsedNodeText(node, r'''
ClassDeclaration
documentationComment: Comment
tokens
/// text
interfaceKeyword: interface
classKeyword: class
name: A
@@ -350,6 +376,7 @@ ClassDeclaration
void test_class_macro() {
var parseResult = parseStringWithErrors(r'''
/// text
macro class A {}
''');
parseResult.assertNoErrors();
@@ -357,6 +384,9 @@ macro class A {}
var node = parseResult.findNode.classDeclaration('class A {}');
assertParsedNodeText(node, r'''
ClassDeclaration
documentationComment: Comment
tokens
/// text
macroKeyword: macro
classKeyword: class
name: A
@@ -367,6 +397,7 @@ ClassDeclaration
void test_class_mixin() {
var parseResult = parseStringWithErrors(r'''
/// text
mixin class A {}
''');
parseResult.assertNoErrors();
@@ -374,6 +405,9 @@ mixin class A {}
var node = parseResult.findNode.classDeclaration('class A {}');
assertParsedNodeText(node, r'''
ClassDeclaration
documentationComment: Comment
tokens
/// text
mixinKeyword: mixin
classKeyword: class
name: A
@@ -384,6 +418,7 @@ ClassDeclaration
void test_class_sealed() {
var parseResult = parseStringWithErrors(r'''
/// text
sealed class A {}
''');
parseResult.assertNoErrors();
@@ -391,6 +426,9 @@ sealed class A {}
var node = parseResult.findNode.classDeclaration('class A {}');
assertParsedNodeText(node, r'''
ClassDeclaration
documentationComment: Comment
tokens
/// text
sealedKeyword: sealed
classKeyword: class
name: A
@@ -401,10 +439,11 @@ ClassDeclaration
void test_class_sealed_abstract() {
var parseResult = parseStringWithErrors(r'''
/// text
sealed abstract class A {}
''');
parseResult.assertErrors([
error(ParserErrorCode.ABSTRACT_SEALED_CLASS, 0, 6),
error(ParserErrorCode.ABSTRACT_SEALED_CLASS, 9, 6),
]);
var node = parseResult.findNode.classDeclaration('class A {}');
@@ -449,6 +488,7 @@ ClassDeclaration
void test_classAlias_macro() {
var parseResult = parseStringWithErrors(r'''
mixin M {}
/// text
macro class A = Object with M;
''');
parseResult.assertNoErrors();
@@ -456,6 +496,9 @@ macro class A = Object with M;
var node = parseResult.findNode.classTypeAlias('class A');
assertParsedNodeText(node, r'''
ClassTypeAlias
documentationComment: Comment
tokens
/// text
typedefKeyword: class
name: A
equals: =
@@ -476,6 +519,7 @@ ClassTypeAlias
void test_classAlias_mixin() {
var parseResult = parseStringWithErrors(r'''
mixin M {}
/// text
mixin class A = Object with M;
''');
parseResult.assertNoErrors();
@@ -483,6 +527,9 @@ mixin class A = Object with M;
var node = parseResult.findNode.classTypeAlias('class A');
assertParsedNodeText(node, r'''
ClassTypeAlias
documentationComment: Comment
tokens
/// text
typedefKeyword: class
name: A
equals: =
@@ -528,6 +575,7 @@ ClassTypeAlias
void test_classTypeAlias_base() {
var parseResult = parseStringWithErrors(r'''
mixin M {}
/// text
base class A = Object with M;
''');
parseResult.assertNoErrors();
@@ -535,6 +583,9 @@ base class A = Object with M;
var node = parseResult.findNode.classTypeAlias('class A');
assertParsedNodeText(node, r'''
ClassTypeAlias
documentationComment: Comment
tokens
/// text
typedefKeyword: class
name: A
equals: =
@@ -555,6 +606,7 @@ ClassTypeAlias
void test_classTypeAlias_final() {
var parseResult = parseStringWithErrors(r'''
mixin M {}
/// text
final class A = Object with M;
''');
parseResult.assertNoErrors();
@@ -562,6 +614,9 @@ final class A = Object with M;
var node = parseResult.findNode.classTypeAlias('class A');
assertParsedNodeText(node, r'''
ClassTypeAlias
documentationComment: Comment
tokens
/// text
typedefKeyword: class
name: A
equals: =
@@ -622,6 +677,7 @@ ClassTypeAlias
void test_classTypeAlias_interface() {
var parseResult = parseStringWithErrors(r'''
mixin M {}
/// text
interface class A = Object with M;
''');
parseResult.assertNoErrors();
@@ -629,6 +685,9 @@ interface class A = Object with M;
var node = parseResult.findNode.classTypeAlias('class A');
assertParsedNodeText(node, r'''
ClassTypeAlias
documentationComment: Comment
tokens
/// text
typedefKeyword: class
name: A
equals: =
@@ -649,6 +708,7 @@ ClassTypeAlias
void test_classTypeAlias_sealed() {
var parseResult = parseStringWithErrors(r'''
mixin M {}
/// text
sealed class A = Object with M;
''');
parseResult.assertNoErrors();
@@ -656,6 +716,9 @@ sealed class A = Object with M;
var node = parseResult.findNode.classTypeAlias('class A');
assertParsedNodeText(node, r'''
ClassTypeAlias
documentationComment: Comment
tokens
/// text
typedefKeyword: class
name: A
equals: =
@@ -1088,6 +1151,7 @@ LibraryDirective
void test_mixin_base() {
var parseResult = parseStringWithErrors(r'''
/// text
base mixin M {}
''');
parseResult.assertNoErrors();
@@ -1095,6 +1159,9 @@ base mixin M {}
final node = parseResult.findNode.mixinDeclaration('mixin M');
assertParsedNodeText(node, r'''
MixinDeclaration
documentationComment: Comment
tokens
/// text
baseKeyword: base
mixinKeyword: mixin
name: M
@@ -1105,6 +1172,7 @@ MixinDeclaration
void test_mixin_final() {
var parseResult = parseStringWithErrors(r'''
/// text
final mixin M {}
''');
parseResult.assertNoErrors();
@@ -1112,6 +1180,9 @@ final mixin M {}
final node = parseResult.findNode.mixinDeclaration('mixin M');
assertParsedNodeText(node, r'''
MixinDeclaration
documentationComment: Comment
tokens
/// text
finalKeyword: final
mixinKeyword: mixin
name: M
@@ -1159,6 +1230,7 @@ MixinDeclaration
void test_mixin_interface() {
var parseResult = parseStringWithErrors(r'''
/// text
interface mixin M {}
''');
parseResult.assertNoErrors();
@@ -1166,6 +1238,9 @@ interface mixin M {}
final node = parseResult.findNode.mixinDeclaration('mixin M');
assertParsedNodeText(node, r'''
MixinDeclaration
documentationComment: Comment
tokens
/// text
interfaceKeyword: interface
mixinKeyword: mixin
name: M
@@ -1206,6 +1281,7 @@ MixinDeclaration
void test_mixin_sealed() {
var parseResult = parseStringWithErrors(r'''
/// text
sealed mixin M {}
''');
parseResult.assertNoErrors();
@@ -1213,6 +1289,9 @@ sealed mixin M {}
final node = parseResult.findNode.mixinDeclaration('mixin M');
assertParsedNodeText(node, r'''
MixinDeclaration
documentationComment: Comment
tokens
/// text
sealedKeyword: sealed
mixinKeyword: mixin
name: M
@@ -2042,9 +2042,11 @@ Expected parent: (${parent.runtimeType}) $parent
_withIndent(() {
for (var token in tokens) {
_writelnWithIndent(token.lexeme);
_withIndent(() {
_writeOffset('offset', token.offset);
});
if (_withOffsets) {
_withIndent(() {
_writeOffset('offset', token.offset);
});
}
}
});
}
@@ -182,15 +182,15 @@ beginCompilationUnit(augment)
endTopLevelDeclaration(augment)
beginMetadataStar(augment)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(augment)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables({)
beginClassDeclaration(class, null, null, null, null, null, null, null, augment, null, Class)
beginClassDeclaration(augment, null, null, null, null, null, null, null, augment, null, Class)
handleNoType(Class)
handleClassExtends(null, 1)
handleClassNoWithClause()
handleImplements(null, 0)
handleClassHeader(class, class, null)
handleClassHeader(augment, class, null)
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
beginMetadataStar(augment)
endMetadataStar(0)
@@ -343,6 +343,6 @@ beginCompilationUnit(augment)
endClassMethod(null, void, (, null, })
endMember()
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 5, {, })
endClassDeclaration(class, })
endClassDeclaration(augment, })
endTopLevelDeclaration()
endCompilationUnit(6, )
@@ -413,13 +413,13 @@ parseUnit(augment)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(}, class, null, null, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, null, null, null, augment, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(augment)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, null, null, null, null, null, null, augment, null, Class)
parseClass(Class, class, class, Class)
parseClassHeaderOpt(Class, class, class)
listener: beginClassDeclaration(augment, null, null, null, null, null, null, null, augment, null, Class)
parseClass(Class, augment, class, Class)
parseClassHeaderOpt(Class, augment, class)
parseClassExtendsOpt(Class)
listener: handleNoType(Class)
listener: handleClassExtends(null, 1)
@@ -427,7 +427,7 @@ parseUnit(augment)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(Class)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
listener: handleClassHeader(augment, class, null)
parseClassOrMixinOrExtensionBody(Class, DeclarationKind.Class, Class)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, augment)
@@ -820,7 +820,7 @@ parseUnit(augment)
listener: endMember()
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 5, {, })
listener: endClassDeclaration(class, })
listener: endClassDeclaration(augment, })
listener: endTopLevelDeclaration()
reportAllErrorTokens(augment)
listener: endCompilationUnit(6, )
@@ -170,18 +170,18 @@ beginCompilationUnit(augment)
endTopLevelDeclaration(augment)
beginMetadataStar(augment)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(augment)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables({)
beginClassDeclaration(class, null, null, null, null, null, null, null, augment, null, Class)
beginClassDeclaration(augment, null, null, null, null, null, null, null, augment, null, Class)
handleNoType(Class)
handleClassExtends(null, 1)
handleClassNoWithClause()
handleImplements(null, 0)
handleClassHeader(class, class, null)
handleClassHeader(augment, class, null)
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
endClassDeclaration(class, })
endClassDeclaration(augment, })
endTopLevelDeclaration(augment)
beginMetadataStar(augment)
endMetadataStar(0)
@@ -200,10 +200,10 @@ beginCompilationUnit(augment)
endTopLevelDeclaration(augment)
beginMetadataStar(augment)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(augment)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables(=)
beginNamedMixinApplication(class, null, null, null, null, null, null, null, augment, null, Class)
beginNamedMixinApplication(augment, null, null, null, null, null, null, null, augment, null, Class)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
@@ -213,7 +213,7 @@ beginCompilationUnit(augment)
handleType(Mixin, null)
endTypeList(1)
handleNamedMixinApplicationWithClause(with)
endNamedMixinApplication(class, class, =, null, ;)
endNamedMixinApplication(augment, class, =, null, ;)
endTopLevelDeclaration(augment)
beginMetadataStar(augment)
endMetadataStar(0)
@@ -326,13 +326,13 @@ parseUnit(augment)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(;, class, null, null, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, null, null, null, augment, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(augment)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, null, null, null, null, null, null, augment, null, Class)
parseClass(Class, class, class, Class)
parseClassHeaderOpt(Class, class, class)
listener: beginClassDeclaration(augment, null, null, null, null, null, null, null, augment, null, Class)
parseClass(Class, augment, class, Class)
parseClassHeaderOpt(Class, augment, class)
parseClassExtendsOpt(Class)
listener: handleNoType(Class)
listener: handleClassExtends(null, 1)
@@ -340,12 +340,12 @@ parseUnit(augment)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(Class)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
listener: handleClassHeader(augment, class, null)
parseClassOrMixinOrExtensionBody(Class, DeclarationKind.Class, Class)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endClassDeclaration(augment, })
listener: endTopLevelDeclaration(augment)
parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
parseMetadataStar(})
@@ -380,12 +380,12 @@ parseUnit(augment)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(}, class, null, null, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, null, null, null, augment, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(augment)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
listener: beginNamedMixinApplication(class, null, null, null, null, null, null, null, augment, null, Class)
parseNamedMixinApplication(Class, class, class)
listener: beginNamedMixinApplication(augment, null, null, null, null, null, null, null, augment, null, Class)
parseNamedMixinApplication(Class, augment, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
listener: handleType(Object, null)
@@ -398,7 +398,7 @@ parseUnit(augment)
listener: endTypeList(1)
listener: handleNamedMixinApplicationWithClause(with)
ensureSemicolon(Mixin)
listener: endNamedMixinApplication(class, class, =, null, ;)
listener: endNamedMixinApplication(augment, class, =, null, ;)
listener: endTopLevelDeclaration(augment)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
@@ -488,18 +488,18 @@ beginCompilationUnit(augment)
beginMetadataStar(augment)
endMetadataStar(0)
handleRecoverableError(Message[DuplicatedModifier, The modifier 'augment' was already specified., Try removing all but one occurrence of the modifier., {lexeme: augment}], augment, augment)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(augment)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables({)
beginClassDeclaration(class, null, null, null, null, null, null, null, augment, null, Class)
beginClassDeclaration(augment, null, null, null, null, null, null, null, augment, null, Class)
handleNoType(Class)
handleClassExtends(null, 1)
handleClassNoWithClause()
handleImplements(null, 0)
handleClassHeader(class, class, null)
handleClassHeader(augment, class, null)
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
endClassDeclaration(class, })
endClassDeclaration(augment, })
endTopLevelDeclaration(abstract)
beginMetadataStar(abstract)
endMetadataStar(0)
@@ -520,10 +520,10 @@ beginCompilationUnit(augment)
beginMetadataStar(augment)
endMetadataStar(0)
handleRecoverableError(Message[DuplicatedModifier, The modifier 'augment' was already specified., Try removing all but one occurrence of the modifier., {lexeme: augment}], augment, augment)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(augment)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables(=)
beginNamedMixinApplication(class, null, null, null, null, null, null, null, augment, null, Class)
beginNamedMixinApplication(augment, null, null, null, null, null, null, null, augment, null, Class)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
@@ -533,7 +533,7 @@ beginCompilationUnit(augment)
handleType(Mixin, null)
endTypeList(1)
handleNamedMixinApplicationWithClause(with)
endNamedMixinApplication(class, class, =, null, ;)
endNamedMixinApplication(augment, class, =, null, ;)
endTopLevelDeclaration(abstract)
beginMetadataStar(abstract)
endMetadataStar(0)
@@ -694,13 +694,13 @@ parseUnit(augment)
reportRecoverableErrorWithToken(augment, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[DuplicatedModifier, The modifier 'augment' was already specified., Try removing all but one occurrence of the modifier., {lexeme: augment}], augment, augment)
parseClassOrNamedMixinApplication(null, null, null, null, null, null, null, augment, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(augment)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, null, null, null, null, null, null, augment, null, Class)
parseClass(Class, class, class, Class)
parseClassHeaderOpt(Class, class, class)
listener: beginClassDeclaration(augment, null, null, null, null, null, null, null, augment, null, Class)
parseClass(Class, augment, class, Class)
parseClassHeaderOpt(Class, augment, class)
parseClassExtendsOpt(Class)
listener: handleNoType(Class)
listener: handleClassExtends(null, 1)
@@ -708,12 +708,12 @@ parseUnit(augment)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(Class)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
listener: handleClassHeader(augment, class, null)
parseClassOrMixinOrExtensionBody(Class, DeclarationKind.Class, Class)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endClassDeclaration(augment, })
listener: endTopLevelDeclaration(abstract)
parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
parseMetadataStar(})
@@ -752,12 +752,12 @@ parseUnit(augment)
reportRecoverableErrorWithToken(augment, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[DuplicatedModifier, The modifier 'augment' was already specified., Try removing all but one occurrence of the modifier., {lexeme: augment}], augment, augment)
parseClassOrNamedMixinApplication(null, null, null, null, null, null, null, augment, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(augment)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
listener: beginNamedMixinApplication(class, null, null, null, null, null, null, null, augment, null, Class)
parseNamedMixinApplication(Class, class, class)
listener: beginNamedMixinApplication(augment, null, null, null, null, null, null, null, augment, null, Class)
parseNamedMixinApplication(Class, augment, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
listener: handleType(Object, null)
@@ -770,7 +770,7 @@ parseUnit(augment)
listener: endTypeList(1)
listener: handleNamedMixinApplicationWithClause(with)
ensureSemicolon(Mixin)
listener: endNamedMixinApplication(class, class, =, null, ;)
listener: endNamedMixinApplication(augment, class, =, null, ;)
listener: endTopLevelDeclaration(abstract)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
@@ -1,18 +1,18 @@
beginCompilationUnit(base)
beginMetadataStar(base)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(base)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
beginClassDeclaration(class, null, null, null, null, base, null, null, null, null, A)
beginClassDeclaration(base, null, null, null, null, base, null, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
handleImplements(null, 0)
handleClassHeader(class, class, null)
handleClassHeader(base, class, null)
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
endClassDeclaration(class, })
endClassDeclaration(base, })
endTopLevelDeclaration(abstract)
beginMetadataStar(abstract)
endMetadataStar(0)
@@ -44,10 +44,10 @@ beginCompilationUnit(base)
endTopLevelDeclaration(base)
beginMetadataStar(base)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(base)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables(=)
beginNamedMixinApplication(class, null, null, null, null, base, null, null, null, null, C)
beginNamedMixinApplication(base, null, null, null, null, base, null, null, null, null, C)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
@@ -57,6 +57,6 @@ beginCompilationUnit(base)
handleType(M, null)
endTypeList(1)
handleNamedMixinApplicationWithClause(with)
endNamedMixinApplication(class, class, =, null, ;)
endNamedMixinApplication(base, class, =, null, ;)
endTopLevelDeclaration()
endCompilationUnit(4, )
@@ -8,13 +8,13 @@ parseUnit(base)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(, class, null, null, null, base, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, base, null, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(base)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, null, null, null, base, null, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
listener: beginClassDeclaration(base, null, null, null, null, base, null, null, null, null, A)
parseClass(A, base, class, A)
parseClassHeaderOpt(A, base, class)
parseClassExtendsOpt(A)
listener: handleNoType(A)
listener: handleClassExtends(null, 1)
@@ -22,12 +22,12 @@ parseUnit(base)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(A)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
listener: handleClassHeader(base, class, null)
parseClassOrMixinOrExtensionBody(A, DeclarationKind.Class, A)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endClassDeclaration(base, })
listener: endTopLevelDeclaration(abstract)
parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
parseMetadataStar(})
@@ -85,12 +85,12 @@ parseUnit(base)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(}, class, null, null, null, base, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, base, null, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(base)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
listener: beginNamedMixinApplication(class, null, null, null, null, base, null, null, null, null, C)
parseNamedMixinApplication(C, class, class)
listener: beginNamedMixinApplication(base, null, null, null, null, base, null, null, null, null, C)
parseNamedMixinApplication(C, base, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
listener: handleType(Object, null)
@@ -103,7 +103,7 @@ parseUnit(base)
listener: endTypeList(1)
listener: handleNamedMixinApplicationWithClause(with)
ensureSemicolon(M)
listener: endNamedMixinApplication(class, class, =, null, ;)
listener: endNamedMixinApplication(base, class, =, null, ;)
listener: endTopLevelDeclaration()
reportAllErrorTokens(base)
listener: endCompilationUnit(4, )
@@ -1,18 +1,18 @@
beginCompilationUnit(final)
beginMetadataStar(final)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(final)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
beginClassDeclaration(class, null, null, null, null, null, null, final, null, null, A)
beginClassDeclaration(final, null, null, null, null, null, null, final, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
handleImplements(null, 0)
handleClassHeader(class, class, null)
handleClassHeader(final, class, null)
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
endClassDeclaration(class, })
endClassDeclaration(final, })
endTopLevelDeclaration(abstract)
beginMetadataStar(abstract)
endMetadataStar(0)
@@ -44,10 +44,10 @@ beginCompilationUnit(final)
endTopLevelDeclaration(final)
beginMetadataStar(final)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(final)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables(=)
beginNamedMixinApplication(class, null, null, null, null, null, null, final, null, null, C)
beginNamedMixinApplication(final, null, null, null, null, null, null, final, null, null, C)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
@@ -57,6 +57,6 @@ beginCompilationUnit(final)
handleType(M, null)
endTypeList(1)
handleNamedMixinApplicationWithClause(with)
endNamedMixinApplication(class, class, =, null, ;)
endNamedMixinApplication(final, class, =, null, ;)
endTopLevelDeclaration()
endCompilationUnit(4, )
@@ -8,13 +8,13 @@ parseUnit(final)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(, class, null, null, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, null, null, final, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(final)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, null, null, null, null, null, final, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
listener: beginClassDeclaration(final, null, null, null, null, null, null, final, null, null, A)
parseClass(A, final, class, A)
parseClassHeaderOpt(A, final, class)
parseClassExtendsOpt(A)
listener: handleNoType(A)
listener: handleClassExtends(null, 1)
@@ -22,12 +22,12 @@ parseUnit(final)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(A)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
listener: handleClassHeader(final, class, null)
parseClassOrMixinOrExtensionBody(A, DeclarationKind.Class, A)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endClassDeclaration(final, })
listener: endTopLevelDeclaration(abstract)
parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
parseMetadataStar(})
@@ -85,12 +85,12 @@ parseUnit(final)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(}, class, null, null, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, null, null, final, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(final)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
listener: beginNamedMixinApplication(class, null, null, null, null, null, null, final, null, null, C)
parseNamedMixinApplication(C, class, class)
listener: beginNamedMixinApplication(final, null, null, null, null, null, null, final, null, null, C)
parseNamedMixinApplication(C, final, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
listener: handleType(Object, null)
@@ -103,7 +103,7 @@ parseUnit(final)
listener: endTypeList(1)
listener: handleNamedMixinApplicationWithClause(with)
ensureSemicolon(M)
listener: endNamedMixinApplication(class, class, =, null, ;)
listener: endNamedMixinApplication(final, class, =, null, ;)
listener: endTopLevelDeclaration()
reportAllErrorTokens(final)
listener: endCompilationUnit(4, )
@@ -1,18 +1,18 @@
beginCompilationUnit(interface)
beginMetadataStar(interface)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(interface)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
beginClassDeclaration(class, null, null, null, null, null, interface, null, null, null, A)
beginClassDeclaration(interface, null, null, null, null, null, interface, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
handleImplements(null, 0)
handleClassHeader(class, class, null)
handleClassHeader(interface, class, null)
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
endClassDeclaration(class, })
endClassDeclaration(interface, })
endTopLevelDeclaration(abstract)
beginMetadataStar(abstract)
endMetadataStar(0)
@@ -44,10 +44,10 @@ beginCompilationUnit(interface)
endTopLevelDeclaration(interface)
beginMetadataStar(interface)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(interface)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables(=)
beginNamedMixinApplication(class, null, null, null, null, null, interface, null, null, null, C)
beginNamedMixinApplication(interface, null, null, null, null, null, interface, null, null, null, C)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
@@ -57,6 +57,6 @@ beginCompilationUnit(interface)
handleType(M, null)
endTypeList(1)
handleNamedMixinApplicationWithClause(with)
endNamedMixinApplication(class, class, =, null, ;)
endNamedMixinApplication(interface, class, =, null, ;)
endTopLevelDeclaration()
endCompilationUnit(4, )
@@ -8,13 +8,13 @@ parseUnit(interface)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(, class, null, null, null, null, interface, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, null, interface, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(interface)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, null, null, null, null, interface, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
listener: beginClassDeclaration(interface, null, null, null, null, null, interface, null, null, null, A)
parseClass(A, interface, class, A)
parseClassHeaderOpt(A, interface, class)
parseClassExtendsOpt(A)
listener: handleNoType(A)
listener: handleClassExtends(null, 1)
@@ -22,12 +22,12 @@ parseUnit(interface)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(A)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
listener: handleClassHeader(interface, class, null)
parseClassOrMixinOrExtensionBody(A, DeclarationKind.Class, A)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endClassDeclaration(interface, })
listener: endTopLevelDeclaration(abstract)
parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
parseMetadataStar(})
@@ -85,12 +85,12 @@ parseUnit(interface)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(}, class, null, null, null, null, interface, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, null, interface, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(interface)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
listener: beginNamedMixinApplication(class, null, null, null, null, null, interface, null, null, null, C)
parseNamedMixinApplication(C, class, class)
listener: beginNamedMixinApplication(interface, null, null, null, null, null, interface, null, null, null, C)
parseNamedMixinApplication(C, interface, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
listener: handleType(Object, null)
@@ -103,7 +103,7 @@ parseUnit(interface)
listener: endTypeList(1)
listener: handleNamedMixinApplicationWithClause(with)
ensureSemicolon(M)
listener: endNamedMixinApplication(class, class, =, null, ;)
listener: endNamedMixinApplication(interface, class, =, null, ;)
listener: endTopLevelDeclaration()
reportAllErrorTokens(interface)
listener: endCompilationUnit(4, )
@@ -1,18 +1,18 @@
beginCompilationUnit(mixin)
beginMetadataStar(mixin)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(mixin)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
beginClassDeclaration(class, null, null, null, null, null, null, null, null, mixin, A)
beginClassDeclaration(mixin, null, null, null, null, null, null, null, null, mixin, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
handleImplements(null, 0)
handleClassHeader(class, class, null)
handleClassHeader(mixin, class, null)
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
endClassDeclaration(class, })
endClassDeclaration(mixin, })
endTopLevelDeclaration(abstract)
beginMetadataStar(abstract)
endMetadataStar(0)
@@ -44,10 +44,10 @@ beginCompilationUnit(mixin)
endTopLevelDeclaration(mixin)
beginMetadataStar(mixin)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(mixin)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables(=)
beginNamedMixinApplication(class, null, null, null, null, null, null, null, null, mixin, C)
beginNamedMixinApplication(mixin, null, null, null, null, null, null, null, null, mixin, C)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
@@ -57,6 +57,6 @@ beginCompilationUnit(mixin)
handleType(M, null)
endTypeList(1)
handleNamedMixinApplicationWithClause(with)
endNamedMixinApplication(class, class, =, null, ;)
endNamedMixinApplication(mixin, class, =, null, ;)
endTopLevelDeclaration()
endCompilationUnit(4, )
@@ -8,13 +8,13 @@ parseUnit(mixin)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(, mixin, null, null, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, null, null, null, null, mixin, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(mixin)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, null, null, null, null, null, null, null, mixin, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
listener: beginClassDeclaration(mixin, null, null, null, null, null, null, null, null, mixin, A)
parseClass(A, mixin, class, A)
parseClassHeaderOpt(A, mixin, class)
parseClassExtendsOpt(A)
listener: handleNoType(A)
listener: handleClassExtends(null, 1)
@@ -22,12 +22,12 @@ parseUnit(mixin)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(A)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
listener: handleClassHeader(mixin, class, null)
parseClassOrMixinOrExtensionBody(A, DeclarationKind.Class, A)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endClassDeclaration(mixin, })
listener: endTopLevelDeclaration(abstract)
parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
parseMetadataStar(})
@@ -85,12 +85,12 @@ parseUnit(mixin)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(}, mixin, null, null, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, null, null, null, null, mixin, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(mixin)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
listener: beginNamedMixinApplication(class, null, null, null, null, null, null, null, null, mixin, C)
parseNamedMixinApplication(C, class, class)
listener: beginNamedMixinApplication(mixin, null, null, null, null, null, null, null, null, mixin, C)
parseNamedMixinApplication(C, mixin, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
listener: handleType(Object, null)
@@ -103,7 +103,7 @@ parseUnit(mixin)
listener: endTypeList(1)
listener: handleNamedMixinApplicationWithClause(with)
ensureSemicolon(M)
listener: endNamedMixinApplication(class, class, =, null, ;)
listener: endNamedMixinApplication(mixin, class, =, null, ;)
listener: endTopLevelDeclaration()
reportAllErrorTokens(mixin)
listener: endCompilationUnit(4, )
@@ -1,25 +1,25 @@
beginCompilationUnit(inline)
beginMetadataStar(inline)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(inline)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables({)
beginClassDeclaration(class, null, null, inline, null, null, null, null, null, null, Class)
beginClassDeclaration(inline, null, null, inline, null, null, null, null, null, null, Class)
handleNoType(Class)
handleClassExtends(null, 1)
handleClassNoWithClause()
handleImplements(null, 0)
handleClassHeader(class, class, null)
handleClassHeader(inline, class, null)
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
endClassDeclaration(class, })
endClassDeclaration(inline, })
endTopLevelDeclaration(inline)
beginMetadataStar(inline)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(inline)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables(=)
beginNamedMixinApplication(class, null, null, inline, null, null, null, null, null, null, Class)
beginNamedMixinApplication(inline, null, null, inline, null, null, null, null, null, null, Class)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
@@ -29,6 +29,6 @@ beginCompilationUnit(inline)
handleType(Mixin, null)
endTypeList(1)
handleNamedMixinApplicationWithClause(with)
endNamedMixinApplication(class, class, =, null, ;)
endNamedMixinApplication(inline, class, =, null, ;)
endTopLevelDeclaration()
endCompilationUnit(2, )
@@ -8,13 +8,13 @@ parseUnit(inline)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(, class, null, inline, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, inline, null, null, null, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(inline)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, null, inline, null, null, null, null, null, null, Class)
parseClass(Class, class, class, Class)
parseClassHeaderOpt(Class, class, class)
listener: beginClassDeclaration(inline, null, null, inline, null, null, null, null, null, null, Class)
parseClass(Class, inline, class, Class)
parseClassHeaderOpt(Class, inline, class)
parseClassExtendsOpt(Class)
listener: handleNoType(Class)
listener: handleClassExtends(null, 1)
@@ -22,12 +22,12 @@ parseUnit(inline)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(Class)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
listener: handleClassHeader(inline, class, null)
parseClassOrMixinOrExtensionBody(Class, DeclarationKind.Class, Class)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endClassDeclaration(inline, })
listener: endTopLevelDeclaration(inline)
parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
parseMetadataStar(})
@@ -35,12 +35,12 @@ parseUnit(inline)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(}, class, null, inline, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, inline, null, null, null, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(inline)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
listener: beginNamedMixinApplication(class, null, null, inline, null, null, null, null, null, null, Class)
parseNamedMixinApplication(Class, class, class)
listener: beginNamedMixinApplication(inline, null, null, inline, null, null, null, null, null, null, Class)
parseNamedMixinApplication(Class, inline, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
listener: handleType(Object, null)
@@ -53,7 +53,7 @@ parseUnit(inline)
listener: endTypeList(1)
listener: handleNamedMixinApplicationWithClause(with)
ensureSemicolon(Mixin)
listener: endNamedMixinApplication(class, class, =, null, ;)
listener: endNamedMixinApplication(inline, class, =, null, ;)
listener: endTopLevelDeclaration()
reportAllErrorTokens(inline)
listener: endCompilationUnit(2, )
@@ -1,18 +1,18 @@
beginCompilationUnit(macro)
beginMetadataStar(macro)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(macro)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables({)
beginClassDeclaration(class, null, macro, null, null, null, null, null, null, null, Class)
beginClassDeclaration(macro, null, macro, null, null, null, null, null, null, null, Class)
handleNoType(Class)
handleClassExtends(null, 1)
handleClassNoWithClause()
handleImplements(null, 0)
handleClassHeader(class, class, null)
handleClassHeader(macro, class, null)
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
endClassDeclaration(class, })
endClassDeclaration(macro, })
endTopLevelDeclaration(abstract)
beginMetadataStar(abstract)
endMetadataStar(0)
@@ -31,10 +31,10 @@ beginCompilationUnit(macro)
endTopLevelDeclaration(macro)
beginMetadataStar(macro)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(macro)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables(=)
beginNamedMixinApplication(class, null, macro, null, null, null, null, null, null, null, Class)
beginNamedMixinApplication(macro, null, macro, null, null, null, null, null, null, null, Class)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
@@ -44,7 +44,7 @@ beginCompilationUnit(macro)
handleType(Mixin, null)
endTypeList(1)
handleNamedMixinApplicationWithClause(with)
endNamedMixinApplication(class, class, =, null, ;)
endNamedMixinApplication(macro, class, =, null, ;)
endTopLevelDeclaration(abstract)
beginMetadataStar(abstract)
endMetadataStar(0)
@@ -8,13 +8,13 @@ parseUnit(macro)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(, class, macro, null, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, macro, null, null, null, null, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(macro)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, macro, null, null, null, null, null, null, null, Class)
parseClass(Class, class, class, Class)
parseClassHeaderOpt(Class, class, class)
listener: beginClassDeclaration(macro, null, macro, null, null, null, null, null, null, null, Class)
parseClass(Class, macro, class, Class)
parseClassHeaderOpt(Class, macro, class)
parseClassExtendsOpt(Class)
listener: handleNoType(Class)
listener: handleClassExtends(null, 1)
@@ -22,12 +22,12 @@ parseUnit(macro)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(Class)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
listener: handleClassHeader(macro, class, null)
parseClassOrMixinOrExtensionBody(Class, DeclarationKind.Class, Class)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endClassDeclaration(macro, })
listener: endTopLevelDeclaration(abstract)
parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
parseMetadataStar(})
@@ -62,12 +62,12 @@ parseUnit(macro)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(}, class, macro, null, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, macro, null, null, null, null, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(macro)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
listener: beginNamedMixinApplication(class, null, macro, null, null, null, null, null, null, null, Class)
parseNamedMixinApplication(Class, class, class)
listener: beginNamedMixinApplication(macro, null, macro, null, null, null, null, null, null, null, Class)
parseNamedMixinApplication(Class, macro, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
listener: handleType(Object, null)
@@ -80,7 +80,7 @@ parseUnit(macro)
listener: endTypeList(1)
listener: handleNamedMixinApplicationWithClause(with)
ensureSemicolon(Mixin)
listener: endNamedMixinApplication(class, class, =, null, ;)
listener: endNamedMixinApplication(macro, class, =, null, ;)
listener: endTopLevelDeclaration(abstract)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
@@ -1,18 +1,18 @@
beginCompilationUnit(sealed)
beginMetadataStar(sealed)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(sealed)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables({)
beginClassDeclaration(class, null, null, null, sealed, null, null, null, null, null, Class)
beginClassDeclaration(sealed, null, null, null, sealed, null, null, null, null, null, Class)
handleNoType(Class)
handleClassExtends(null, 1)
handleClassNoWithClause()
handleImplements(null, 0)
handleClassHeader(class, class, null)
handleClassHeader(sealed, class, null)
beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
endClassDeclaration(class, })
endClassDeclaration(sealed, })
endTopLevelDeclaration(mixin)
beginMetadataStar(mixin)
endMetadataStar(0)
@@ -29,10 +29,10 @@ beginCompilationUnit(sealed)
endTopLevelDeclaration(sealed)
beginMetadataStar(sealed)
endMetadataStar(0)
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
beginClassOrMixinOrNamedMixinApplicationPrelude(sealed)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables(=)
beginNamedMixinApplication(class, null, null, null, sealed, null, null, null, null, null, A)
beginNamedMixinApplication(sealed, null, null, null, sealed, null, null, null, null, null, A)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
@@ -42,6 +42,6 @@ beginCompilationUnit(sealed)
handleType(M, null)
endTypeList(1)
handleNamedMixinApplicationWithClause(with)
endNamedMixinApplication(class, class, =, null, ;)
endNamedMixinApplication(sealed, class, =, null, ;)
endTopLevelDeclaration()
endCompilationUnit(3, )
@@ -8,13 +8,13 @@ parseUnit(sealed)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(, class, null, null, sealed, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, sealed, null, null, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(sealed)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, null, null, sealed, null, null, null, null, null, Class)
parseClass(Class, class, class, Class)
parseClassHeaderOpt(Class, class, class)
listener: beginClassDeclaration(sealed, null, null, null, sealed, null, null, null, null, null, Class)
parseClass(Class, sealed, class, Class)
parseClassHeaderOpt(Class, sealed, class)
parseClassExtendsOpt(Class)
listener: handleNoType(Class)
listener: handleClassExtends(null, 1)
@@ -22,12 +22,12 @@ parseUnit(sealed)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(Class)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
listener: handleClassHeader(sealed, class, null)
parseClassOrMixinOrExtensionBody(Class, DeclarationKind.Class, Class)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endClassDeclaration(sealed, })
listener: endTopLevelDeclaration(mixin)
parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
parseMetadataStar(})
@@ -58,12 +58,12 @@ parseUnit(sealed)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(}, class, null, null, sealed, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, sealed, null, null, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(sealed)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
listener: beginNamedMixinApplication(class, null, null, null, sealed, null, null, null, null, null, A)
parseNamedMixinApplication(A, class, class)
listener: beginNamedMixinApplication(sealed, null, null, null, sealed, null, null, null, null, null, A)
parseNamedMixinApplication(A, sealed, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
listener: handleType(Object, null)
@@ -76,7 +76,7 @@ parseUnit(sealed)
listener: endTypeList(1)
listener: handleNamedMixinApplicationWithClause(with)
ensureSemicolon(M)
listener: endNamedMixinApplication(class, class, =, null, ;)
listener: endNamedMixinApplication(sealed, class, =, null, ;)
listener: endTopLevelDeclaration()
reportAllErrorTokens(sealed)
listener: endCompilationUnit(3, )
@@ -1,7 +1,5 @@
base
class A {}
base class A {}
abstract base class B {}
base
mixin M {}
base
class C = Object with M;
base class C = Object with M;
@@ -1,7 +1,5 @@
final
class A {}
final class A {}
abstract final class B {}
final
mixin M {}
final
class C = Object with M;
final class C = Object with M;
@@ -1,7 +1,5 @@
interface
class A {}
interface class A {}
abstract interface class B {}
interface
mixin M {}
interface
class C = Object with M;
interface class C = Object with M;
@@ -1,9 +1,7 @@
mixin
class A {}
mixin class A {}
abstract mixin class B {}
mixin M {}
mixin
class C = Object with M;
mixin class C = Object with M;
class AWith with A {}
class BWith with B {}
class CWith with C {}
@@ -1,45 +1,36 @@
mixin
class ErrorMixinClass {
mixin class ErrorMixinClass {
final int foo;
ErrorMixinClass(this.foo);
}
mixin
class ErrorMixinClassNamed {
mixin class ErrorMixinClassNamed {
final int foo;
ErrorMixinClassNamed.named(this.foo);
}
mixin
class ErrorMixinClassRedirect {
mixin class ErrorMixinClassRedirect {
int foo = 0;
ErrorMixinClassRedirect.named(int f) {}
ErrorMixinClassRedirect.x(int f) : this.named(f);
}
mixin
class ErrorMixinClassExternal {
mixin class ErrorMixinClassExternal {
external ErrorMixinClassExternal();
}
mixin
class ErrorMixinClassSuper {
mixin class ErrorMixinClassSuper {
ErrorMixinClassSuper(): super();
}
mixin
class ErrorMixinClassBody {
mixin class ErrorMixinClassBody {
ErrorMixinClassBody() {}
}
mixin
class MixinClassConstructor {
mixin class MixinClassConstructor {
int foo = 0;
MixinClassConstructor();
MixinClassConstructor.named();
}
mixin
class ConstMixinClassConstructor {
mixin class ConstMixinClassConstructor {
final int foo = 0;
const ConstMixinClassConstructor();
const ConstMixinClassConstructor.named();
}
mixin
class MixinClassFactory {
mixin class MixinClassFactory {
int foo = 0;
MixinClassFactory();
MixinClassFactory.named();
@@ -1,12 +1,6 @@
mixin
class NotObject {}
mixin
class AlsoNotObject {}
mixin
class A extends NotObject {}
mixin
class B extends Object with NotObject {}
mixin
class C = Object with NotObject;
mixin
class D = Object with AlsoNotObject, NotObject;
mixin class NotObject {}
mixin class AlsoNotObject {}
mixin class A extends NotObject {}
mixin class B extends Object with NotObject {}
mixin class C = Object with NotObject;
mixin class D = Object with AlsoNotObject, NotObject;
@@ -3,8 +3,7 @@ library static_interop;
import 'package:js/js.dart';
abstract class A {}
@JS()
inline
class B {
inline class B {
final A a;
external B(A a);
external B.named(int i);
@@ -3,8 +3,7 @@ library static_interop;
import 'package:js/js.dart';
abstract class A {}
@JS()
inline
class B {
inline class B {
final A a;
external B(A a);
external B.named(int i);
@@ -1,8 +1,6 @@
// @dart = 2.18
base
class A {}
base class A {}
abstract base class B {}
base
mixin M {}
base
class C = Object with M;
base class C = Object with M;
@@ -1,8 +1,6 @@
// @dart = 2.19
final
class A {}
final class A {}
abstract final class B {}
final
mixin M {}
final
class C = Object with M;
final class C = Object with M;
@@ -1,6 +1,4 @@
// @dart = 2.18
mixin Mixin {}
inline
class Class1 {}
inline
class Class2 = Object with Mixin;
inline class Class1 {}
inline class Class2 = Object with Mixin;
@@ -1,8 +1,6 @@
// @dart = 2.18
interface
class A {}
interface class A {}
abstract interface class B {}
interface
mixin M {}
interface
class C = Object with M;
interface class C = Object with M;
@@ -1,9 +1,7 @@
class Super {}
mixin Mixin {}
macro
class Class1 {}
macro class Class1 {}
abstract macro class Class2 {}
macro
class Class3 = Super with Mixin;
macro class Class3 = Super with Mixin;
abstract macro class Class4 = Super with Mixin;
main() {}
@@ -1,6 +1,4 @@
mixin
class A {}
mixin class A {}
abstract mixin class B {}
mixin M {}
mixin
class C = Object with M;
mixin class C = Object with M;
@@ -1,8 +1,6 @@
// @dart = 2.18
sealed
class A {}
sealed class A {}
sealed
mixin M {}
mixin MM {}
sealed
class B = Object with MM;
sealed class B = Object with MM;
@@ -1,6 +1,5 @@
@Deprecated('')
inline
class A {
inline class A {
@Deprecated('')
final int i;
@Deprecated('')
@@ -1,11 +1,9 @@
inline
class Class {
inline class Class {
final int it;
Class(this.it);
Class.named(int it) : this.it = it + 1;
}
inline
class GenericClass<T> {
inline class GenericClass<T> {
final T it;
GenericClass(this.it);
}
@@ -1,5 +1,4 @@
inline
class Class1 {
inline class Class1 {
final int it;
Class1(this.it);
Class1.named1(this.it, int additional);
@@ -9,8 +8,7 @@ class Class1 {
Class1.named5(int additional, int it) : this.it = it {}
Class1.named6(String text) : it = text.length;
}
inline
class Class2<T> {
inline class Class2<T> {
final T it;
Class2(this.it);
Class2.named1(this.it, int additional);
@@ -1,11 +1,9 @@
inline
class I {
inline class I {
final int it;
I(int x, [int? y]) : it = x + (y ?? 42);
void m(String s, [int i = 1]) {}
}
inline
class I2 {
inline class I2 {
final int it;
I2(int x, {int? y}) : it = x + (y ?? 87);
void m(String s, {int i = 1}) {}
@@ -1,10 +1,8 @@
inline
class Class1 {
inline class Class1 {
final int field;
Class1(this.field);
}
inline
class Class2 {
inline class Class2 {
final int field;
Class2(this.field);
}
@@ -1,6 +1,5 @@
abstract class A {}
inline
class B {
inline class B {
final A a;
external B(A a);
external B.named(int i);
@@ -2,38 +2,32 @@ import 'field_access_lib.dart';
extension on dynamic {
void set it(value) {}
}
inline
class InlineClass {
inline class InlineClass {
final int it;
InlineClass(this.it);
void test() {}
}
inline
class GenericInlineClass<T> {
inline class GenericInlineClass<T> {
final T it;
GenericInlineClass(this.it);
void test(T t) {}
}
inline
class FunctionInlineClass<T> {
inline class FunctionInlineClass<T> {
final T Function() it;
FunctionInlineClass(this.it);
void test(T Function() t) {}
}
inline
class GenericFunctionInlineClass {
inline class GenericFunctionInlineClass {
final T Function<T>() it;
GenericFunctionInlineClass(this.it);
void test() {}
}
inline
class DynamicInlineClass {
inline class DynamicInlineClass {
final dynamic it;
DynamicInlineClass(this.it);
void test() {}
}
inline
class ErroneousInlineClass {
inline class ErroneousInlineClass {
final int a;
final String b;
ErroneousInlineClass(this.a, this.b);
@@ -1,29 +1,23 @@
inline
class Class1 {
inline class Class1 {
final int field;
Class1(this.field);
}
inline
class Class2 {
inline class Class2 {
final int field;
Class2(int field) : this.field = field;
}
inline
class Class3 {
inline class Class3 {
final int field;
}
inline
class Class4 {
inline class Class4 {
final int field;
Class4(this.field, this.nonexisting);
}
inline
class Class5 {
inline class Class5 {
final int field;
Class5(this.field) : this.field = 42;
}
inline
class Class6 {
inline class Class6 {
final int field;
Class6(this.field) : this.nonexisting = 42;
}
@@ -1,13 +1,10 @@
mixin Mixin {}
inline
class Class1 {
inline class Class1 {
final int it;
Class1(this.it);
}
inline
class Class2 = Object with Mixin;
inline
class Class3<T> {
inline class Class2 = Object with Mixin;
inline class Class3<T> {
final List<T> it;
Class3(this.it);
}
@@ -1,5 +1,4 @@
inline
class A {
inline class A {
int value;
A.name1(this.value);
}
@@ -2,8 +2,7 @@ extension on Object {
int get setter => 42;
void set getter(int value) {}
}
inline
class InlineClass {
inline class InlineClass {
final int it;
InlineClass(this.it);
test() {}
@@ -1,5 +1,4 @@
inline
class Class {
inline class Class {
final int it;
void instanceMethod() {}
int get instanceGetter => 42;
@@ -8,8 +7,7 @@ class Class {
static void staticMethod() {}
static S genericStaticMethod<S>(S s) => s;
}
inline
class GenericClass<T> {
inline class GenericClass<T> {
final T it;
void instanceMethod() {}
T get instanceGetter => throw '';
@@ -1,19 +1,15 @@
inline
class Missing {}
inline
class Static {
inline class Missing {}
inline class Static {
static int staticField = 42;
final bool instanceField;
Static(this.instanceField);
}
inline
class Multiple {
inline class Multiple {
final bool instanceField1;
final int instanceField2;
Multiple(this.instanceField1);
}
inline
class Duplicate {
inline class Duplicate {
final bool instanceField;
final int instanceField;
Duplicate(this.instanceField);
@@ -1,9 +1,7 @@
class Super {}
mixin Mixin {}
macro
class Class1 {}
macro class Class1 {}
abstract macro class Class2 {}
macro
class Class3 = Super with Mixin;
macro class Class3 = Super with Mixin;
abstract macro class Class4 = Super with Mixin;
main() {}
@@ -1,6 +1,5 @@
import 'dart:math' as math;
sealed
class Shape {
sealed class Shape {
double calculateArea();
}
class Square implements Shape {
@@ -1,5 +1,3 @@
sealed
class A {}
sealed class A {}
mixin M {}
sealed
class B = Object with M;
sealed class B = Object with M;