Version 2.17.0-123.0.dev
Merge commit '7c04f35043d52b348061a4af110e18928916c955' into 'dev'
diff --git a/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart b/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
index 7312240..54a1efc 100644
--- a/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/messages/codes_generated.dart
@@ -7011,6 +7011,34 @@
problemMessage: r"""'loadLibrary' takes no arguments.""");
// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
+const Template<
+ Message Function(
+ String
+ name)> templateMacroClassNotDeclaredMacro = const Template<
+ Message Function(String name)>(
+ problemMessageTemplate:
+ r"""Non-abstract class '#name' implements 'Macro' but isn't declared as a macro class.""",
+ correctionMessageTemplate: r"""Try adding the 'macro' class modifier.""",
+ withArguments: _withArgumentsMacroClassNotDeclaredMacro);
+
+// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
+const Code<Message Function(String name)> codeMacroClassNotDeclaredMacro =
+ const Code<Message Function(String name)>(
+ "MacroClassNotDeclaredMacro",
+);
+
+// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
+Message _withArgumentsMacroClassNotDeclaredMacro(String name) {
+ if (name.isEmpty) throw 'No name provided';
+ name = demangleMixinApplicationName(name);
+ return new Message(codeMacroClassNotDeclaredMacro,
+ problemMessage:
+ """Non-abstract class '${name}' implements 'Macro' but isn't declared as a macro class.""",
+ correctionMessage: """Try adding the 'macro' class modifier.""",
+ arguments: {'name': name});
+}
+
+// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
const Code<Null> codeMainNotFunctionDeclaration =
messageMainNotFunctionDeclaration;
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
index 9741d8c..1a3c741 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
@@ -61,9 +61,10 @@
}
@override
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
- listener?.beginClassDeclaration(begin, abstractToken, macroToken, name);
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
+ listener?.beginClassDeclaration(
+ begin, abstractToken, macroToken, augmentToken, name);
}
@override
@@ -339,10 +340,10 @@
}
@override
- void beginNamedMixinApplication(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginNamedMixinApplication(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
listener?.beginNamedMixinApplication(
- begin, abstractToken, macroToken, name);
+ begin, abstractToken, macroToken, augmentToken, name);
}
@override
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
index 2f5e2a4..f09b097 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
@@ -126,8 +126,8 @@
/// (or extraneous modifiers in the case of recovery) preceding [name].
///
/// At this point we have parsed the name and type parameter declarations.
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {}
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {}
/// Handle an extends clause in a class declaration. Substructures:
/// - supertype (may be a mixin application)
@@ -720,8 +720,8 @@
/// (or extraneous modifiers in the case of recovery) preceding [name].
///
/// At this point we have parsed the name and type parameter declarations.
- void beginNamedMixinApplication(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {}
+ void beginNamedMixinApplication(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {}
/// Handle a named mixin application with clause (e.g. "A with B, C").
/// Substructures:
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
index 6ebcc62..9c693a0 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
@@ -494,8 +494,12 @@
token = parseMetadataStar(token);
Token next = token.next!;
if (next.isTopLevelKeyword) {
- return parseTopLevelKeywordDeclaration(/* start = */ token,
- /* keyword = */ next, /* macroToken = */ null, directiveState);
+ return parseTopLevelKeywordDeclaration(
+ /* start = */ token,
+ /* keyword = */ next,
+ /* macroToken = */ null,
+ /* augmentToken = */ null,
+ directiveState);
}
Token start = token;
// Skip modifiers to find a top level keyword or identifier
@@ -515,15 +519,27 @@
}
next = token.next!;
Token? macroToken;
+ Token? augmentToken;
+ // TODO(johnniwinther): Should we support/recognize the combination
+ // of 'macro' and 'augment'.
if (next.isIdentifier &&
next.lexeme == 'macro' &&
optional('class', next.next!)) {
macroToken = next;
next = next.next!;
+ } else if (next.isIdentifier &&
+ next.lexeme == 'augment' &&
+ optional('class', next.next!)) {
+ augmentToken = next;
+ next = next.next!;
}
if (next.isTopLevelKeyword) {
- return parseTopLevelKeywordDeclaration(/* start = */ start,
- /* keyword = */ next, /* macroToken = */ macroToken, directiveState);
+ return parseTopLevelKeywordDeclaration(
+ /* start = */ start,
+ /* keyword = */ next,
+ /* macroToken = */ macroToken,
+ /* augmentToken =*/ augmentToken,
+ directiveState);
} else if (next.isKeywordOrIdentifier) {
// TODO(danrubel): improve parseTopLevelMember
// so that we don't parse modifiers twice.
@@ -600,16 +616,20 @@
/// Parse any top-level declaration that begins with a keyword.
/// [start] is the token before any modifiers preceding [keyword].
- Token parseTopLevelKeywordDeclaration(Token start, Token keyword,
- Token? macroToken, DirectiveContext? directiveState) {
+ Token parseTopLevelKeywordDeclaration(
+ Token start,
+ Token keyword,
+ Token? macroToken,
+ Token? augmentToken,
+ DirectiveContext? directiveState) {
assert(keyword.isTopLevelKeyword);
final String? value = keyword.stringValue;
if (identical(value, 'class')) {
directiveState?.checkDeclaration();
- Token? abstractToken =
- parseClassDeclarationModifiers(start, macroToken ?? keyword);
+ Token? abstractToken = parseClassDeclarationModifiers(
+ start, macroToken ?? augmentToken ?? keyword);
return parseClassOrNamedMixinApplication(
- abstractToken, macroToken, keyword);
+ abstractToken, macroToken, augmentToken, keyword);
} else if (identical(value, 'enum')) {
directiveState?.checkDeclaration();
parseTopLevelKeywordModifiers(start, keyword);
@@ -2065,8 +2085,8 @@
return token;
}
- Token parseClassOrNamedMixinApplication(
- Token? abstractToken, Token? macroToken, Token classKeyword) {
+ Token parseClassOrNamedMixinApplication(Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token classKeyword) {
assert(optional('class', classKeyword));
Token begin = abstractToken ?? classKeyword;
listener.beginClassOrMixinOrNamedMixinApplicationPrelude(begin);
@@ -2077,10 +2097,11 @@
.parseVariables(name, this);
if (optional('=', token.next!)) {
listener.beginNamedMixinApplication(
- begin, abstractToken, macroToken, name);
+ begin, abstractToken, macroToken, augmentToken, name);
return parseNamedMixinApplication(token, begin, classKeyword);
} else {
- listener.beginClassDeclaration(begin, abstractToken, macroToken, name);
+ listener.beginClassDeclaration(
+ begin, abstractToken, macroToken, augmentToken, name);
return parseClass(token, begin, classKeyword, name.lexeme);
}
}
diff --git a/pkg/analyzer/lib/dart/ast/ast.dart b/pkg/analyzer/lib/dart/ast/ast.dart
index 5719d83..06db863 100644
--- a/pkg/analyzer/lib/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/dart/ast/ast.dart
@@ -808,6 +808,9 @@
/// Return the 'abstract' keyword, or `null` if the keyword was absent.
Token? get abstractKeyword;
+ /// Return the 'augment' keyword, or `null` if the keyword was absent.
+ Token? get augmentKeyword;
+
/// Return the token representing the 'class' keyword.
Token get classKeyword;
@@ -895,6 +898,10 @@
/// defining an abstract class.
Token? get abstractKeyword;
+ /// The token for the 'augment' keyword, or `null` if this is not defining an
+ /// augmentation class.
+ Token? get augmentKeyword;
+
@override
ClassElement? get declaredElement;
diff --git a/pkg/analyzer/lib/dart/ast/ast_factory.dart b/pkg/analyzer/lib/dart/ast/ast_factory.dart
index 78698ce..8569e45 100644
--- a/pkg/analyzer/lib/dart/ast/ast_factory.dart
+++ b/pkg/analyzer/lib/dart/ast/ast_factory.dart
@@ -119,16 +119,18 @@
/// [comment] and [metadata] can be `null` if the class does not have the
/// corresponding attribute. The [abstractKeyword] can be `null` if the class
/// is not abstract. The [macroKeyword] can be `null` if the class is not a
- /// macro class. The [typeParameters] can be `null` if the class does not
- /// have any type parameters. Any or all of the [extendsClause], [withClause],
- /// and [implementsClause] can be `null` if the class does not have the
- /// corresponding clause. The list of [members] can be `null` if the class
- /// does not have any members.
+ /// macro class. The [augmentKeyword] can be `null` if the class is not an
+ /// augmentation class. The [typeParameters] can be `null` if the class does
+ /// not have any type parameters. Any or all of the [extendsClause],
+ /// [withClause], and [implementsClause] can be `null` if the class does not
+ /// have the corresponding clause. The list of [members] can be `null` if the
+ /// class does not have any members.
ClassDeclaration classDeclaration(
Comment? comment,
List<Annotation>? metadata,
Token? abstractKeyword,
Token? macroKeyword,
+ Token? augmentKeyword,
Token classKeyword,
SimpleIdentifier name,
TypeParameterList? typeParameters,
@@ -144,7 +146,8 @@
/// corresponding attribute. The [typeParameters] can be `null` if the class
/// does not have any type parameters. The [abstractKeyword] can be `null` if
/// the class is not abstract. The [macroKeyword] can be `null` if the class
- /// is not a macro class. The [implementsClause] can be `null` if the
+ /// is not a macro class. The [augmentKeyword] can be `null` if the class is
+ /// not an augmentation class. The [implementsClause] can be `null` if the
/// class does not implement any interfaces.
ClassTypeAlias classTypeAlias(
Comment? comment,
@@ -155,6 +158,7 @@
Token equals,
Token? abstractKeyword,
Token? macroKeyword,
+ Token? augmentKeyword,
NamedType superclass,
WithClause withClause,
ImplementsClause? implementsClause,
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index 0424dc2..29f3b33 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -1405,6 +1405,10 @@
@override
Token? macroKeyword;
+ /// The 'augment' keyword, or `null` if the keyword was absent.
+ @override
+ Token? augmentKeyword;
+
/// The token representing the 'class' keyword.
@override
Token classKeyword;
@@ -1434,6 +1438,7 @@
List<Annotation>? metadata,
this.abstractKeyword,
this.macroKeyword,
+ this.augmentKeyword,
this.classKeyword,
SimpleIdentifierImpl name,
TypeParameterListImpl? typeParameters,
@@ -1453,6 +1458,7 @@
Iterable<SyntacticEntity> get childEntities => super._childEntities
..add(abstractKeyword)
..add(macroKeyword)
+ ..add(augmentKeyword)
..add(classKeyword)
..add(_name)
..add(_typeParameters)
@@ -1476,7 +1482,7 @@
@override
Token get firstTokenAfterCommentAndMetadata {
- return abstractKeyword ?? macroKeyword ?? classKeyword;
+ return abstractKeyword ?? macroKeyword ?? augmentKeyword ?? classKeyword;
}
@override
@@ -1661,6 +1667,11 @@
@override
Token? macroKeyword;
+ /// The token for the 'augment' keyword, or `null` if this is not defining an
+ /// augmentation class.
+ @override
+ Token? augmentKeyword;
+
/// The name of the superclass of the class being declared.
NamedTypeImpl _superclass;
@@ -1686,6 +1697,7 @@
this.equals,
this.abstractKeyword,
this.macroKeyword,
+ this.augmentKeyword,
this._superclass,
this._withClause,
this._implementsClause,
@@ -1705,6 +1717,7 @@
..add(equals)
..add(abstractKeyword)
..add(macroKeyword)
+ ..add(augmentKeyword)
..add(_superclass)
..add(_withClause)
..add(_implementsClause)
@@ -1715,7 +1728,7 @@
@override
Token get firstTokenAfterCommentAndMetadata {
- return abstractKeyword ?? macroKeyword ?? typedefKeyword;
+ return abstractKeyword ?? macroKeyword ?? augmentKeyword ?? typedefKeyword;
}
@override
diff --git a/pkg/analyzer/lib/src/dart/ast/ast_factory.dart b/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
index 9f80d70..bf7b306 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast_factory.dart
@@ -156,6 +156,7 @@
List<Annotation>? metadata,
Token? abstractKeyword,
Token? macroKeyword,
+ Token? augmentKeyword,
Token classKeyword,
SimpleIdentifier name,
TypeParameterList? typeParameters,
@@ -170,6 +171,7 @@
metadata,
abstractKeyword,
macroKeyword,
+ augmentKeyword,
classKeyword,
name as SimpleIdentifierImpl,
typeParameters as TypeParameterListImpl?,
@@ -190,6 +192,7 @@
Token equals,
Token? abstractKeyword,
Token? macroKeyword,
+ Token? augmentKeyword,
NamedType superclass,
WithClause withClause,
ImplementsClause? implementsClause,
@@ -203,6 +206,7 @@
equals,
abstractKeyword,
macroKeyword,
+ augmentKeyword,
superclass as NamedTypeImpl,
withClause as WithClauseImpl,
implementsClause as ImplementsClauseImpl?,
diff --git a/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart b/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart
index 960f2cf..1c1ea38 100644
--- a/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart
@@ -152,6 +152,7 @@
_visitNodeList(node.metadata, separator: ' ', suffix: ' ');
_visitToken(node.abstractKeyword, suffix: ' ');
_visitToken(node.macroKeyword, suffix: ' ');
+ _visitToken(node.augmentKeyword, suffix: ' ');
sink.write('class ');
_visitNode(node.name);
_visitNode(node.typeParameters);
@@ -170,6 +171,7 @@
sink.write('abstract ');
}
_visitToken(node.macroKeyword, suffix: ' ');
+ _visitToken(node.augmentKeyword, suffix: ' ');
sink.write('class ');
_visitNode(node.name);
_visitNode(node.typeParameters);
diff --git a/pkg/analyzer/lib/src/fasta/ast_builder.dart b/pkg/analyzer/lib/src/fasta/ast_builder.dart
index 68ee0dc..f71b79fc 100644
--- a/pkg/analyzer/lib/src/fasta/ast_builder.dart
+++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart
@@ -250,25 +250,40 @@
}
@override
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
assert(classDeclaration == null &&
mixinDeclaration == null &&
extensionDeclaration == null);
push(_Modifiers()..abstractKeyword = abstractToken);
- if (macroToken != null && !enableMacros) {
- var feature = ExperimentalFeatures.macros;
- handleRecoverableError(
- templateExperimentNotEnabled.withArguments(
- feature.enableString,
- _versionAsString(ExperimentStatus.currentVersion),
- ),
- macroToken,
- macroToken);
- // Pretend that 'macro' didn't occur while this feature is incomplete.
- macroToken = null;
+ if (!enableMacros) {
+ if (macroToken != null) {
+ var feature = ExperimentalFeatures.macros;
+ handleRecoverableError(
+ templateExperimentNotEnabled.withArguments(
+ feature.enableString,
+ _versionAsString(ExperimentStatus.currentVersion),
+ ),
+ macroToken,
+ macroToken);
+ // Pretend that 'macro' didn't occur while this feature is incomplete.
+ macroToken = null;
+ }
+ if (augmentToken != null) {
+ var feature = ExperimentalFeatures.macros;
+ handleRecoverableError(
+ templateExperimentNotEnabled.withArguments(
+ feature.enableString,
+ _versionAsString(ExperimentStatus.currentVersion),
+ ),
+ augmentToken,
+ augmentToken);
+ // Pretend that 'augment' didn't occur while this feature is incomplete.
+ augmentToken = null;
+ }
}
push(macroToken ?? NullValue.Token);
+ push(augmentToken ?? NullValue.Token);
}
@override
@@ -398,22 +413,37 @@
}
@override
- void beginNamedMixinApplication(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginNamedMixinApplication(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
push(_Modifiers()..abstractKeyword = abstractToken);
- if (macroToken != null && !enableMacros) {
- var feature = ExperimentalFeatures.macros;
- handleRecoverableError(
- templateExperimentNotEnabled.withArguments(
- feature.enableString,
- _versionAsString(ExperimentStatus.currentVersion),
- ),
- macroToken,
- macroToken);
- // Pretend that 'macro' didn't occur while this feature is incomplete.
- macroToken = null;
+ if (!enableMacros) {
+ if (macroToken != null) {
+ var feature = ExperimentalFeatures.macros;
+ handleRecoverableError(
+ templateExperimentNotEnabled.withArguments(
+ feature.enableString,
+ _versionAsString(ExperimentStatus.currentVersion),
+ ),
+ macroToken,
+ macroToken);
+ // Pretend that 'macro' didn't occur while this feature is incomplete.
+ macroToken = null;
+ }
+ if (augmentToken != null) {
+ var feature = ExperimentalFeatures.macros;
+ handleRecoverableError(
+ templateExperimentNotEnabled.withArguments(
+ feature.enableString,
+ _versionAsString(ExperimentStatus.currentVersion),
+ ),
+ augmentToken,
+ augmentToken);
+ // Pretend that 'augment' didn't occur while this feature is incomplete.
+ augmentToken = null;
+ }
}
push(macroToken ?? NullValue.Token);
+ push(augmentToken ?? NullValue.Token);
}
@override
@@ -2090,6 +2120,7 @@
var withClause = pop(NullValue.WithClause) as WithClause;
var superclass = pop() as NamedType;
var macroKeyword = pop(NullValue.Token) as Token?;
+ var augmentKeyword = pop(NullValue.Token) as Token?;
var modifiers = pop() as _Modifiers?;
var typeParameters = pop() as TypeParameterList?;
var name = pop() as SimpleIdentifier;
@@ -2105,6 +2136,7 @@
equalsToken,
abstractKeyword,
macroKeyword,
+ augmentKeyword,
superclass,
withClause,
implementsClause,
@@ -2690,6 +2722,7 @@
var withClause = pop(NullValue.WithClause) as WithClause?;
var extendsClause = pop(NullValue.ExtendsClause) as ExtendsClause?;
var macroKeyword = pop(NullValue.Token) as Token?;
+ var augmentKeyword = pop(NullValue.Token) as Token?;
var modifiers = pop() as _Modifiers?;
var typeParameters = pop() as TypeParameterList?;
var name = pop() as SimpleIdentifier;
@@ -2703,6 +2736,7 @@
metadata,
abstractKeyword,
macroKeyword,
+ augmentKeyword,
classKeyword,
name,
typeParameters,
diff --git a/pkg/analyzer/lib/src/generated/testing/ast_test_factory.dart b/pkg/analyzer/lib/src/generated/testing/ast_test_factory.dart
index 9fb88ca..22cd603 100644
--- a/pkg/analyzer/lib/src/generated/testing/ast_test_factory.dart
+++ b/pkg/analyzer/lib/src/generated/testing/ast_test_factory.dart
@@ -241,7 +241,8 @@
WithClause? withClause,
ImplementsClause? implementsClause,
{List<ClassMember> members = const [],
- bool isMacro = false}) =>
+ bool isMacro = false,
+ bool isAugmentation = false}) =>
astFactory.classDeclaration(
null,
null,
@@ -249,6 +250,7 @@
? null
: TokenFactory.tokenFromKeyword(abstractKeyword),
isMacro ? TokenFactory.tokenFromString('macro') : null,
+ isAugmentation ? TokenFactory.tokenFromString('augment') : null,
TokenFactory.tokenFromKeyword(Keyword.CLASS),
identifier3(name),
typeParameters,
@@ -266,7 +268,8 @@
NamedType superclass,
WithClause withClause,
ImplementsClause? implementsClause,
- {bool isMacro = false}) =>
+ {bool isMacro = false,
+ bool isAugmentation = false}) =>
astFactory.classTypeAlias(
null,
null,
@@ -278,6 +281,7 @@
? null
: TokenFactory.tokenFromKeyword(abstractKeyword),
isMacro ? TokenFactory.tokenFromString('macro') : null,
+ isAugmentation ? TokenFactory.tokenFromString('augment') : null,
superclass,
withClause,
implementsClause,
diff --git a/pkg/analyzer/test/generated/parser_fasta_listener.dart b/pkg/analyzer/test/generated/parser_fasta_listener.dart
index d588af2..cf8dfd5 100644
--- a/pkg/analyzer/test/generated/parser_fasta_listener.dart
+++ b/pkg/analyzer/test/generated/parser_fasta_listener.dart
@@ -86,9 +86,10 @@
}
@override
- void beginClassDeclaration(
- Token beginToken, Token? abstractToken, Token? macroToken, Token name) {
- super.beginClassDeclaration(beginToken, abstractToken, macroToken, name);
+ void beginClassDeclaration(Token beginToken, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
+ super.beginClassDeclaration(
+ beginToken, abstractToken, macroToken, augmentToken, name);
begin('ClassDeclaration');
}
@@ -391,10 +392,10 @@
}
@override
- void beginNamedMixinApplication(
- Token beginToken, Token? abstractToken, Token? macroToken, Token name) {
+ void beginNamedMixinApplication(Token beginToken, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
super.beginNamedMixinApplication(
- beginToken, abstractToken, macroToken, name);
+ beginToken, abstractToken, macroToken, augmentToken, name);
begin('NamedMixinApplication');
}
diff --git a/pkg/analyzer/test/generated/parser_test_base.dart b/pkg/analyzer/test/generated/parser_test_base.dart
index 384a789..6db8545 100644
--- a/pkg/analyzer/test/generated/parser_test_base.dart
+++ b/pkg/analyzer/test/generated/parser_test_base.dart
@@ -815,6 +815,7 @@
null,
null,
null,
+ null,
Token(Keyword.CLASS, 0),
astFactory.simpleIdentifier(
fasta.StringToken.fromString(TokenType.IDENTIFIER, className, 6)),
diff --git a/pkg/analyzer/test/src/dart/ast/to_source_visitor_test.dart b/pkg/analyzer/test/src/dart/ast/to_source_visitor_test.dart
index eac40aa..3af192f 100644
--- a/pkg/analyzer/test/src/dart/ast/to_source_visitor_test.dart
+++ b/pkg/analyzer/test/src/dart/ast/to_source_visitor_test.dart
@@ -211,6 +211,13 @@
Keyword.ABSTRACT, "C", null, null, null, null));
}
+ void test_visitClassDeclaration_abstractAugment() {
+ ClassDeclaration declaration = AstTestFactory.classDeclaration(
+ Keyword.ABSTRACT, "C", null, null, null, null,
+ isAugmentation: true);
+ _assertSource("abstract augment class C {}", declaration);
+ }
+
void test_visitClassDeclaration_abstractMacro() {
ClassDeclaration declaration = AstTestFactory.classDeclaration(
Keyword.ABSTRACT, "C", null, null, null, null,
@@ -218,6 +225,13 @@
_assertSource("abstract macro class C {}", declaration);
}
+ void test_visitClassDeclaration_augment() {
+ ClassDeclaration declaration = AstTestFactory.classDeclaration(
+ null, "C", null, null, null, null,
+ isAugmentation: true);
+ _assertSource("augment class C {}", declaration);
+ }
+
void test_visitClassDeclaration_empty() {
_assertSource("class C {}",
AstTestFactory.classDeclaration(null, "C", null, null, null, null));
@@ -406,6 +420,19 @@
AstTestFactory.implementsClause([AstTestFactory.namedType4("I")])));
}
+ void test_visitClassTypeAlias_abstractAugment() {
+ _assertSource(
+ "abstract augment class C = S with M1;",
+ AstTestFactory.classTypeAlias(
+ "C",
+ null,
+ Keyword.ABSTRACT,
+ AstTestFactory.namedType4("S"),
+ AstTestFactory.withClause([AstTestFactory.namedType4("M1")]),
+ null,
+ isAugmentation: true));
+ }
+
void test_visitClassTypeAlias_abstractMacro() {
_assertSource(
"abstract macro class C = S with M1;",
@@ -419,6 +446,19 @@
isMacro: true));
}
+ void test_visitClassTypeAlias_augment() {
+ _assertSource(
+ "augment class C = S with M1;",
+ AstTestFactory.classTypeAlias(
+ "C",
+ null,
+ null,
+ AstTestFactory.namedType4("S"),
+ AstTestFactory.withClause([AstTestFactory.namedType4("M1")]),
+ null,
+ isAugmentation: true));
+ }
+
void test_visitClassTypeAlias_generic() {
_assertSource(
"class C<E> = S<E> with M1<E>;",
diff --git a/pkg/front_end/lib/src/fasta/builder/class_builder.dart b/pkg/front_end/lib/src/fasta/builder/class_builder.dart
index 758b070..c807337 100644
--- a/pkg/front_end/lib/src/fasta/builder/class_builder.dart
+++ b/pkg/front_end/lib/src/fasta/builder/class_builder.dart
@@ -62,6 +62,8 @@
bool get isMacro;
+ bool get isAugmentation;
+
bool get declaresConstConstructor;
bool get isMixin;
@@ -124,11 +126,7 @@
{bool isSetter: false, bool isSuper: false});
/// Calls [f] for each constructor declared in this class.
- ///
- /// If [includeInjectedConstructors] is `true`, constructors only declared in
- /// the patch class, if any, are included.
- void forEachConstructor(void Function(String, MemberBuilder) f,
- {bool includeInjectedConstructors: false});
+ void forEachConstructor(void Function(String, MemberBuilder) f);
}
abstract class ClassBuilderImpl extends DeclarationBuilderImpl
diff --git a/pkg/front_end/lib/src/fasta/dill/dill_class_builder.dart b/pkg/front_end/lib/src/fasta/dill/dill_class_builder.dart
index d8e6d6a..03a982b 100644
--- a/pkg/front_end/lib/src/fasta/dill/dill_class_builder.dart
+++ b/pkg/front_end/lib/src/fasta/dill/dill_class_builder.dart
@@ -59,6 +59,9 @@
bool get isMacro => cls.isMacro;
@override
+ bool get isAugmentation => false;
+
+ @override
List<TypeVariableBuilder>? get typeVariables {
List<TypeVariableBuilder>? typeVariables = super.typeVariables;
if (typeVariables == null && cls.typeParameters.isNotEmpty) {
diff --git a/pkg/front_end/lib/src/fasta/incremental_compiler.dart b/pkg/front_end/lib/src/fasta/incremental_compiler.dart
index 3e10ccd..74902b3 100644
--- a/pkg/front_end/lib/src/fasta/incremental_compiler.dart
+++ b/pkg/front_end/lib/src/fasta/incremental_compiler.dart
@@ -1749,6 +1749,7 @@
loader: lastGoodKernelTarget.loader,
nameOrigin: libraryBuilder,
isUnsupported: libraryBuilder.isUnsupported,
+ isAugmentation: false,
);
libraryBuilder.scope.forEachLocalMember((name, member) {
debugLibrary.scope.addLocalMember(name, member, setter: false);
@@ -1803,6 +1804,7 @@
scope: debugLibrary.scope.createNestedScope("expression"),
nameOrigin: libraryBuilder,
isUnsupported: libraryBuilder.isUnsupported,
+ isAugmentation: false,
);
HybridFileSystem hfs =
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
index 755208c..1e2e07c 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
@@ -427,12 +427,25 @@
Future<void> _buildForPhase1(
Iterable<SourceLibraryBuilder> augmentationLibraries) async {
await loader.buildOutlines();
+ // Normally patch libraries are applied in [SourceLoader.resolveParts].
+ // For augmentation libraries we instead apply them directly here.
+ for (SourceLibraryBuilder augmentationLibrary in augmentationLibraries) {
+ augmentationLibrary.applyPatches();
+ }
loader.computeLibraryScopes(augmentationLibraries);
// TODO(johnniwinther): Support computation of macro applications in
// augmentation libraries?
loader.resolveTypes(augmentationLibraries);
}
+ /// Builds [augmentationLibrary] to the state expected after applying phase
+ /// 2 macros.
+ void _buildForPhase2(SourceLibraryBuilder augmentationLibrary) {
+ augmentationLibrary.finishTypeVariables(objectClassBuilder, dynamicType);
+ augmentationLibrary.build(loader.coreLibrary, modifyTarget: false);
+ augmentationLibrary.resolveConstructors();
+ }
+
Future<BuildResult> buildOutlines({CanonicalName? nameRoot}) async {
if (loader.first == null) return new BuildResult();
return withCrashReporting<BuildResult>(() async {
@@ -483,7 +496,8 @@
loader.checkSemantics(objectClassBuilder);
benchmarker?.enterPhase(BenchmarkPhases.outline_finishTypeVariables);
- loader.finishTypeVariables(objectClassBuilder, dynamicType);
+ loader.finishTypeVariables(
+ loader.sourceLibraryBuilders, objectClassBuilder, dynamicType);
benchmarker
?.enterPhase(BenchmarkPhases.outline_createTypeInferenceEngine);
@@ -500,7 +514,7 @@
installSyntheticConstructors(sourceClassBuilders);
benchmarker?.enterPhase(BenchmarkPhases.outline_resolveConstructors);
- loader.resolveConstructors();
+ loader.resolveConstructors(loader.sourceLibraryBuilders);
benchmarker?.enterPhase(BenchmarkPhases.outline_link);
component =
@@ -517,8 +531,11 @@
if (macroApplications != null) {
benchmarker?.enterPhase(BenchmarkPhases.outline_applyDeclarationMacros);
- await macroApplications
- .applyDeclarationsMacros(loader.hierarchyBuilder);
+ await macroApplications.applyDeclarationsMacros(loader.hierarchyBuilder,
+ (SourceLibraryBuilder augmentationLibrary) async {
+ await _buildForPhase1([augmentationLibrary]);
+ _buildForPhase2(augmentationLibrary);
+ });
}
benchmarker
@@ -959,8 +976,7 @@
}
}
- superclassBuilder.forEachConstructor(addSyntheticConstructor,
- includeInjectedConstructors: true);
+ superclassBuilder.forEachConstructor(addSyntheticConstructor);
if (!isConstructorAdded) {
builder.addSyntheticConstructor(_makeDefaultConstructor(
diff --git a/pkg/front_end/lib/src/fasta/kernel/macro.dart b/pkg/front_end/lib/src/fasta/kernel/macro.dart
index c4a34b3..c81a969 100644
--- a/pkg/front_end/lib/src/fasta/kernel/macro.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/macro.dart
@@ -116,6 +116,7 @@
final macro.MacroExecutor _macroExecutor;
final Map<SourceLibraryBuilder, LibraryMacroApplicationData> libraryData;
final MacroApplicationDataForTesting? dataForTesting;
+ List<_ApplicationData>? _applicationDataCache;
MacroApplications(
this._macroExecutor, this.libraryData, this.dataForTesting) {
@@ -272,60 +273,57 @@
}
}
- Future<Map<SourceLibraryBuilder, List<macro.MacroExecutionResult>>>
- _applyMacros(
- Future<List<macro.MacroExecutionResult>> Function(
- Builder, macro.Declaration, List<MacroApplication>)
- applyMacros) async {
- Map<SourceLibraryBuilder, List<macro.MacroExecutionResult>> libraryResults =
- {};
- for (MapEntry<SourceLibraryBuilder,
- LibraryMacroApplicationData> libraryEntry in libraryData.entries) {
- SourceLibraryBuilder libraryBuilder = libraryEntry.key;
- List<macro.MacroExecutionResult> results = [];
- LibraryMacroApplicationData libraryMacroApplicationData =
- libraryEntry.value;
- for (MapEntry<MemberBuilder, List<MacroApplication>> memberEntry
- in libraryMacroApplicationData.memberApplications.entries) {
- MemberBuilder memberBuilder = memberEntry.key;
- macro.Declaration? declaration = _getMemberDeclaration(memberBuilder);
- if (declaration != null) {
- results.addAll(
- await applyMacros(memberBuilder, declaration, memberEntry.value));
- }
- }
- for (MapEntry<SourceClassBuilder, ClassMacroApplicationData> classEntry
- in libraryMacroApplicationData.classData.entries) {
- SourceClassBuilder classBuilder = classEntry.key;
- ClassMacroApplicationData classData = classEntry.value;
- List<MacroApplication>? classApplications = classData.classApplications;
- if (classApplications != null) {
- macro.ClassDeclaration classDeclaration =
- _getClassDeclaration(classBuilder);
- results.addAll(await applyMacros(
- classBuilder, classDeclaration, classApplications));
- }
+ Iterable<_ApplicationData> get _applicationData {
+ if (_applicationDataCache == null) {
+ List<_ApplicationData> data = _applicationDataCache = [];
+ for (MapEntry<SourceLibraryBuilder,
+ LibraryMacroApplicationData> libraryEntry in libraryData.entries) {
+ SourceLibraryBuilder libraryBuilder = libraryEntry.key;
+ LibraryMacroApplicationData libraryMacroApplicationData =
+ libraryEntry.value;
for (MapEntry<MemberBuilder, List<MacroApplication>> memberEntry
- in classData.memberApplications.entries) {
+ in libraryMacroApplicationData.memberApplications.entries) {
MemberBuilder memberBuilder = memberEntry.key;
macro.Declaration? declaration = _getMemberDeclaration(memberBuilder);
if (declaration != null) {
- results.addAll(await applyMacros(
- memberBuilder, declaration, memberEntry.value));
+ data.add(new _ApplicationData(
+ libraryBuilder, memberBuilder, declaration, memberEntry.value));
+ }
+ }
+ for (MapEntry<SourceClassBuilder, ClassMacroApplicationData> classEntry
+ in libraryMacroApplicationData.classData.entries) {
+ SourceClassBuilder classBuilder = classEntry.key;
+ ClassMacroApplicationData classData = classEntry.value;
+ List<MacroApplication>? classApplications =
+ classData.classApplications;
+ if (classApplications != null) {
+ macro.ClassDeclaration classDeclaration =
+ _getClassDeclaration(classBuilder);
+ data.add(new _ApplicationData(libraryBuilder, classBuilder,
+ classDeclaration, classApplications));
+ }
+ for (MapEntry<MemberBuilder, List<MacroApplication>> memberEntry
+ in classData.memberApplications.entries) {
+ MemberBuilder memberBuilder = memberEntry.key;
+ macro.Declaration? declaration =
+ _getMemberDeclaration(memberBuilder);
+ if (declaration != null) {
+ data.add(new _ApplicationData(libraryBuilder, memberBuilder,
+ declaration, memberEntry.value));
+ }
}
}
}
- libraryResults[libraryBuilder] = results;
}
- return libraryResults;
+ return _applicationDataCache!;
}
Future<List<macro.MacroExecutionResult>> _applyTypeMacros(
- Builder builder,
- macro.Declaration declaration,
- List<MacroApplication> macroApplications) async {
+ _ApplicationData applicationData) async {
+ macro.Declaration declaration = applicationData.declaration;
List<macro.MacroExecutionResult> results = [];
- for (MacroApplication macroApplication in macroApplications) {
+ for (MacroApplication macroApplication
+ in applicationData.macroApplications) {
if (macroApplication.instanceIdentifier
.shouldExecute(_declarationKind(declaration), macro.Phase.types)) {
macro.MacroExecutionResult result =
@@ -336,6 +334,7 @@
}
if (retainDataForTesting) {
+ Builder builder = applicationData.builder;
if (builder is SourceClassBuilder) {
dataForTesting?.classTypesResults[builder] = results;
} else {
@@ -347,8 +346,13 @@
Future<List<SourceLibraryBuilder>> applyTypeMacros() async {
List<SourceLibraryBuilder> augmentationLibraries = [];
- Map<SourceLibraryBuilder, List<macro.MacroExecutionResult>> results =
- await _applyMacros(_applyTypeMacros);
+ Map<SourceLibraryBuilder, List<macro.MacroExecutionResult>> results = {};
+ for (_ApplicationData macroApplication in _applicationData) {
+ List<macro.MacroExecutionResult> executionResults =
+ await _applyTypeMacros(macroApplication);
+ (results[macroApplication.libraryBuilder] ??= [])
+ .addAll(executionResults);
+ }
for (MapEntry<SourceLibraryBuilder, List<macro.MacroExecutionResult>> entry
in results.entries) {
SourceLibraryBuilder sourceLibraryBuilder = entry.key;
@@ -363,12 +367,12 @@
return augmentationLibraries;
}
- Future<List<macro.MacroExecutionResult>> _applyDeclarationsMacros(
- Builder builder,
- macro.Declaration declaration,
- List<MacroApplication> macroApplications) async {
+ Future<void> _applyDeclarationsMacros(_ApplicationData applicationData,
+ Future<void> Function(SourceLibraryBuilder) onAugmentationLibrary) async {
List<macro.MacroExecutionResult> results = [];
- for (MacroApplication macroApplication in macroApplications) {
+ macro.Declaration declaration = applicationData.declaration;
+ for (MacroApplication macroApplication
+ in applicationData.macroApplications) {
if (macroApplication.instanceIdentifier.shouldExecute(
_declarationKind(declaration), macro.Phase.declarations)) {
macro.MacroExecutionResult result =
@@ -377,10 +381,19 @@
declaration,
typeResolver,
classIntrospector);
- results.add(result);
+ String source = _macroExecutor
+ .buildAugmentationLibrary([result], _resolveIdentifier);
+ SourceLibraryBuilder augmentationLibrary = await applicationData
+ .libraryBuilder
+ .createAugmentationLibrary(source);
+ await onAugmentationLibrary(augmentationLibrary);
+ if (retainDataForTesting) {
+ results.add(result);
+ }
}
}
if (retainDataForTesting) {
+ Builder builder = applicationData.builder;
if (builder is SourceClassBuilder) {
dataForTesting?.classDeclarationsResults[builder] = results;
} else {
@@ -388,27 +401,28 @@
results;
}
}
- return results;
}
late Types types;
late macro.TypeResolver typeResolver;
late macro.ClassIntrospector classIntrospector;
- Future<void> applyDeclarationsMacros(
- ClassHierarchyBase classHierarchy) async {
+ Future<void> applyDeclarationsMacros(ClassHierarchyBase classHierarchy,
+ Future<void> Function(SourceLibraryBuilder) onAugmentationLibrary) async {
types = new Types(classHierarchy);
typeResolver = new _TypeResolver(this);
classIntrospector = new _ClassIntrospector(this);
- await _applyMacros(_applyDeclarationsMacros);
+ for (_ApplicationData macroApplication in _applicationData) {
+ await _applyDeclarationsMacros(macroApplication, onAugmentationLibrary);
+ }
}
Future<List<macro.MacroExecutionResult>> _applyDefinitionMacros(
- Builder builder,
- macro.Declaration declaration,
- List<MacroApplication> macroApplications) async {
+ _ApplicationData applicationData) async {
List<macro.MacroExecutionResult> results = [];
- for (MacroApplication macroApplication in macroApplications) {
+ macro.Declaration declaration = applicationData.declaration;
+ for (MacroApplication macroApplication
+ in applicationData.macroApplications) {
if (macroApplication.instanceIdentifier.shouldExecute(
_declarationKind(declaration), macro.Phase.definitions)) {
macro.MacroExecutionResult result =
@@ -422,6 +436,7 @@
}
}
if (retainDataForTesting) {
+ Builder builder = applicationData.builder;
if (builder is SourceClassBuilder) {
dataForTesting?.classDefinitionsResults[builder] = results;
} else {
@@ -436,13 +451,16 @@
Future<void> applyDefinitionMacros() async {
typeDeclarationResolver = new _TypeDeclarationResolver();
- await _applyMacros(_applyDefinitionMacros);
+ for (_ApplicationData macroApplication in _applicationData) {
+ await _applyDefinitionMacros(macroApplication);
+ }
}
void close() {
_macroExecutor.close();
_staticTypeCache.clear();
_typeAnnotationCache.clear();
+ _applicationDataCache?.clear();
}
macro.ClassDeclaration _createClassDeclaration(SourceClassBuilder builder) {
@@ -951,3 +969,14 @@
throw new UnsupportedError(
"Unexpected declaration ${declaration} (${declaration.runtimeType})");
}
+
+/// Data needed to apply a list of macro applications to a class or member.
+class _ApplicationData {
+ final SourceLibraryBuilder libraryBuilder;
+ final Builder builder;
+ final macro.Declaration declaration;
+ final List<MacroApplication> macroApplications;
+
+ _ApplicationData(this.libraryBuilder, this.builder, this.declaration,
+ this.macroApplications);
+}
diff --git a/pkg/front_end/lib/src/fasta/kernel/macro_annotation_parser.dart b/pkg/front_end/lib/src/fasta/kernel/macro_annotation_parser.dart
index 02b0dc4..8105873 100644
--- a/pkg/front_end/lib/src/fasta/kernel/macro_annotation_parser.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/macro_annotation_parser.dart
@@ -321,8 +321,8 @@
}
@override
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
_unexpected();
}
@@ -599,8 +599,8 @@
}
@override
- void beginNamedMixinApplication(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginNamedMixinApplication(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
_unexpected();
}
diff --git a/pkg/front_end/lib/src/fasta/scope.dart b/pkg/front_end/lib/src/fasta/scope.dart
index f1b940b..ef90973 100644
--- a/pkg/front_end/lib/src/fasta/scope.dart
+++ b/pkg/front_end/lib/src/fasta/scope.dart
@@ -6,6 +6,7 @@
import 'package:kernel/ast.dart';
import 'package:kernel/class_hierarchy.dart';
+import 'package:kernel/type_environment.dart';
import 'builder/builder.dart';
import 'builder/class_builder.dart';
@@ -26,6 +27,7 @@
import 'kernel/hierarchy/class_member.dart' show ClassMember;
import 'kernel/kernel_helper.dart';
import 'problems.dart' show internalProblem, unsupported;
+import 'source/source_class_builder.dart';
import 'source/source_library_builder.dart';
import 'source/source_member_builder.dart';
import 'util/helpers.dart' show DelayedActionPerformer;
@@ -847,6 +849,18 @@
@override
List<ClassMember> get localSetters => const <ClassMember>[];
+
+ @override
+ void checkVariance(
+ SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment) {
+ assert(false, "Unexpected call to $runtimeType.checkVariance.");
+ }
+
+ @override
+ void checkTypes(
+ SourceLibraryBuilder library, TypeEnvironment typeEnvironment) {
+ assert(false, "Unexpected call to $runtimeType.checkVariance.");
+ }
}
class AmbiguousMemberBuilder extends AmbiguousBuilder
diff --git a/pkg/front_end/lib/src/fasta/source/diet_listener.dart b/pkg/front_end/lib/src/fasta/source/diet_listener.dart
index fd09e4e..2de10ba 100644
--- a/pkg/front_end/lib/src/fasta/source/diet_listener.dart
+++ b/pkg/front_end/lib/src/fasta/source/diet_listener.dart
@@ -916,8 +916,8 @@
}
@override
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
debugEvent("beginClassDeclaration");
push(begin);
}
diff --git a/pkg/front_end/lib/src/fasta/source/outline_builder.dart b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
index 47620d5..c51ff0c 100644
--- a/pkg/front_end/lib/src/fasta/source/outline_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/outline_builder.dart
@@ -795,8 +795,8 @@
}
@override
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
debugEvent("beginClassDeclaration");
popDeclarationContext(
DeclarationContext.ClassOrMixinOrNamedMixinApplication);
@@ -809,18 +809,32 @@
libraryBuilder.setCurrentClassName(name.lexeme);
inAbstractClass = abstractToken != null;
push(abstractToken != null ? abstractMask : 0);
- if (macroToken != null && !libraryBuilder.enableMacrosInLibrary) {
- // TODO(johnniwinther): We should emit a different message when the
- // experiment is not released yet. The current message indicates that
- // changing the sdk version can solve the problem.
- addProblem(
- templateExperimentNotEnabled.withArguments(
- 'macros', libraryBuilder.enableMacrosVersionInLibrary.toText()),
- macroToken.next!.charOffset,
- macroToken.next!.length);
- macroToken = null;
+ if (!libraryBuilder.enableMacrosInLibrary) {
+ if (macroToken != null) {
+ // TODO(johnniwinther): We should emit a different message when the
+ // experiment is not released yet. The current message indicates that
+ // changing the sdk version can solve the problem.
+ addProblem(
+ templateExperimentNotEnabled.withArguments(
+ 'macros', libraryBuilder.enableMacrosVersionInLibrary.toText()),
+ macroToken.next!.charOffset,
+ macroToken.next!.length);
+ macroToken = null;
+ }
+ if (augmentToken != null) {
+ // TODO(johnniwinther): We should emit a different message when the
+ // experiment is not released yet. The current message indicates that
+ // changing the sdk version can solve the problem.
+ addProblem(
+ templateExperimentNotEnabled.withArguments(
+ 'macros', libraryBuilder.enableMacrosVersionInLibrary.toText()),
+ augmentToken.next!.charOffset,
+ augmentToken.next!.length);
+ augmentToken = null;
+ }
}
push(macroToken ?? NullValue.Token);
+ push(augmentToken ?? NullValue.Token);
}
@override
@@ -892,8 +906,8 @@
}
@override
- void beginNamedMixinApplication(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginNamedMixinApplication(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
debugEvent("beginNamedMixinApplication");
popDeclarationContext(
DeclarationContext.ClassOrMixinOrNamedMixinApplication);
@@ -904,15 +918,26 @@
libraryBuilder.currentTypeParameterScopeBuilder.markAsNamedMixinApplication(
name.lexeme, name.charOffset, typeVariables);
push(abstractToken != null ? abstractMask : 0);
- if (macroToken != null && !libraryBuilder.enableMacrosInLibrary) {
- addProblem(
- templateExperimentNotEnabled.withArguments(
- 'macros', libraryBuilder.enableMacrosVersionInLibrary.toText()),
- macroToken.next!.charOffset,
- macroToken.next!.length);
- macroToken = null;
+ if (!libraryBuilder.enableMacrosInLibrary) {
+ if (macroToken != null) {
+ addProblem(
+ templateExperimentNotEnabled.withArguments(
+ 'macros', libraryBuilder.enableMacrosVersionInLibrary.toText()),
+ macroToken.next!.charOffset,
+ macroToken.next!.length);
+ macroToken = null;
+ }
+ if (augmentToken != null) {
+ addProblem(
+ templateExperimentNotEnabled.withArguments(
+ 'macros', libraryBuilder.enableMacrosVersionInLibrary.toText()),
+ augmentToken.next!.charOffset,
+ augmentToken.next!.length);
+ augmentToken = null;
+ }
}
push(macroToken ?? NullValue.Token);
+ push(augmentToken ?? NullValue.Token);
}
@override
@@ -1052,6 +1077,7 @@
ValueKinds.TypeBuilderOrNull,
ValueKinds.ParserRecovery,
]),
+ /* augment token */ ValueKinds.TokenOrNull,
/* macro token */ ValueKinds.TokenOrNull,
/* modifiers */ ValueKinds.Integer,
/* type variables */ ValueKinds.TypeVariableListOrNull,
@@ -1064,6 +1090,7 @@
pop(NullValue.TypeBuilderList) as List<TypeBuilder>?;
int supertypeOffset = popCharOffset();
TypeBuilder? supertype = nullIfParserRecovery(pop()) as TypeBuilder?;
+ Token? augmentToken = pop(NullValue.Token) as Token?;
Token? macroToken = pop(NullValue.Token) as Token?;
int modifiers = pop() as int;
List<TypeVariableBuilder>? typeVariables =
@@ -1142,7 +1169,8 @@
nameOffset,
endToken.charOffset,
supertypeOffset,
- isMacro: macroToken != null);
+ isMacro: macroToken != null,
+ isAugmentation: augmentToken != null);
}
libraryBuilder.setCurrentClassName(null);
popDeclarationContext(DeclarationContext.Class);
@@ -1916,6 +1944,7 @@
ValueKinds.ParserRecovery,
ValueKinds.TypeBuilder,
]),
+ /* augment token */ ValueKinds.TokenOrNull,
/* macro token */ ValueKinds.TokenOrNull,
/* modifiers */ ValueKinds.Integer,
/* type variables */ ValueKinds.TypeVariableListOrNull,
@@ -1927,6 +1956,7 @@
List<TypeBuilder>? interfaces =
popIfNotNull(implementsKeyword) as List<TypeBuilder>?;
Object? mixinApplication = pop();
+ Token? augmentToken = pop(NullValue.Token) as Token?;
Token? macroToken = pop(NullValue.Token) as Token?;
int modifiers = pop() as int;
List<TypeVariableBuilder>? typeVariables =
@@ -1996,7 +2026,8 @@
startCharOffset,
charOffset,
charEndOffset,
- isMacro: macroToken != null);
+ isMacro: macroToken != null,
+ isAugmentation: augmentToken != null);
}
popDeclarationContext(DeclarationContext.NamedMixinApplication);
}
diff --git a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
index 0f930faf..102db7f 100644
--- a/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_class_builder.dart
@@ -57,7 +57,6 @@
import 'source_field_builder.dart';
import 'source_library_builder.dart' show SourceLibraryBuilder;
import 'source_member_builder.dart';
-import 'source_procedure_builder.dart';
Class initializeClass(
Class? cls,
@@ -103,7 +102,10 @@
@override
final bool isMacro;
- SourceClassBuilder? _patchBuilder;
+ @override
+ final bool isAugmentation;
+
+ List<SourceClassBuilder>? _patches;
SourceClassBuilder(
List<MetadataBuilder>? metadata,
@@ -124,7 +126,8 @@
{Class? cls,
this.mixedInTypeBuilder,
this.isMixinDeclaration = false,
- this.isMacro: false})
+ this.isMacro = false,
+ this.isAugmentation = false})
: actualCls = initializeClass(cls, typeVariables, name, parent,
startCharOffset, nameOffset, charEndOffset, referencesFromIndexed),
super(metadata, modifiers, name, typeVariables, supertype, interfaces,
@@ -132,7 +135,7 @@
actualCls.hasConstConstructor = declaresConstConstructor;
}
- SourceClassBuilder? get patchForTesting => _patchBuilder;
+ List<SourceClassBuilder>? get patchesForTesting => _patches;
SourceClassBuilder? actualOrigin;
@@ -349,20 +352,39 @@
}
@override
- void forEachConstructor(void Function(String, MemberBuilder) f,
- {bool includeInjectedConstructors: false}) {
+ void forEach(void f(String name, Builder builder)) {
if (isPatch) {
- actualOrigin!.forEachConstructor(f,
- includeInjectedConstructors: includeInjectedConstructors);
+ actualOrigin!.forEach(f);
+ } else {
+ scope.forEach(f);
+ List<SourceClassBuilder>? patchClasses = _patches;
+ if (patchClasses != null) {
+ for (SourceClassBuilder patchClass in patchClasses) {
+ patchClass.scope.forEach((String name, Builder builder) {
+ if (!builder.isPatch) {
+ f(name, builder);
+ }
+ });
+ }
+ }
+ }
+ }
+
+ @override
+ void forEachConstructor(void Function(String, MemberBuilder) f) {
+ if (isPatch) {
+ actualOrigin!.forEachConstructor(f);
} else {
constructors.forEach(f);
- if (includeInjectedConstructors) {
- _patchBuilder?.constructors
- .forEach((String name, MemberBuilder builder) {
- if (!builder.isPatch) {
- f(name, builder);
- }
- });
+ List<SourceClassBuilder>? patchClasses = _patches;
+ if (patchClasses != null) {
+ for (SourceClassBuilder patchClass in patchClasses) {
+ patchClass.constructors.forEach((String name, MemberBuilder builder) {
+ if (!builder.isPatch) {
+ f(name, builder);
+ }
+ });
+ }
}
}
}
@@ -382,8 +404,8 @@
// assert checks that the names of the fields from the original declaration
// and from the patch don't intersect.
assert(
- _patchBuilder == null ||
- _patchBuilder!.scope.localMembers
+ _patches == null ||
+ _patches!.every((patchClass) => patchClass.scope.localMembers
.where((b) => b is SourceFieldBuilder)
.map((b) => (b as SourceFieldBuilder).name)
.toSet()
@@ -391,9 +413,14 @@
.where((b) => b is SourceFieldBuilder)
.map((b) => (b as SourceFieldBuilder).name)
.toSet())
- .isEmpty,
+ .isEmpty),
"Detected an attempt to patch a field.");
- _patchBuilder?.scope.forEach(callbackFilteringFieldBuilders);
+ List<SourceClassBuilder>? patchClasses = _patches;
+ if (patchClasses != null) {
+ for (SourceClassBuilder patchClass in patchClasses) {
+ patchClass.scope.forEach(callbackFilteringFieldBuilders);
+ }
+ }
scope.forEach(callbackFilteringFieldBuilders);
}
@@ -412,7 +439,12 @@
// Constructors can be patched, so iterate first over constructors in the
// patch, and then over constructors in the original declaration skipping
// those with the names that are in the patch.
- _patchBuilder?.constructors.forEach(callbackFilteringFieldBuilders);
+ List<SourceClassBuilder>? patchClasses = _patches;
+ if (patchClasses != null) {
+ for (SourceClassBuilder patchClass in patchClasses) {
+ patchClass.constructors.forEach(callbackFilteringFieldBuilders);
+ }
+ }
constructors.forEach(callbackFilteringFieldBuilders);
}
@@ -569,7 +601,7 @@
void applyPatch(Builder patch) {
if (patch is SourceClassBuilder) {
patch.actualOrigin = this;
- _patchBuilder = patch;
+ (_patches ??= []).add(patch);
// TODO(ahe): Complain if `patch.supertype` isn't null.
scope.forEachLocalMember((String name, Builder member) {
Builder? memberPatch =
@@ -614,8 +646,11 @@
}
}
- void checkSupertypes(CoreTypes coreTypes,
- ClassHierarchyBuilder hierarchyBuilder, Class enumClass) {
+ void checkSupertypes(
+ CoreTypes coreTypes,
+ ClassHierarchyBuilder hierarchyBuilder,
+ Class enumClass,
+ Class? macroClass) {
// This method determines whether the class (that's being built) its super
// class appears both in 'extends' and 'implements' clauses and whether any
// interface appears multiple times in the 'implements' clause.
@@ -675,6 +710,27 @@
}
}
}
+ if (macroClass != null && !cls.isMacro && !cls.isAbstract) {
+ // TODO(johnniwinther): Merge this check with the loop above.
+ bool isMacroFound = false;
+ List<Supertype> interfaces =
+ hierarchyBuilder.getNodeFromClass(cls).superclasses;
+ for (int i = 0; !isMacroFound && i < interfaces.length; i++) {
+ if (interfaces[i].classNode == macroClass) {
+ isMacroFound = true;
+ }
+ }
+ interfaces = hierarchyBuilder.getNodeFromClass(cls).interfaces;
+ for (int i = 0; !isMacroFound && i < interfaces.length; i++) {
+ if (interfaces[i].classNode == macroClass) {
+ isMacroFound = true;
+ }
+ }
+ if (isMacroFound) {
+ addProblem(templateMacroClassNotDeclaredMacro.withArguments(name),
+ charOffset, noLength);
+ }
+ }
void fail(NamedTypeBuilder target, Message message,
TypeAliasBuilder? aliasBuilder) {
@@ -1274,38 +1330,25 @@
}
forEach((String name, Builder builder) {
- if (builder is SourceFieldBuilder) {
- // Check fields.
- checkVarianceInField(builder, typeEnvironment, cls.typeParameters);
- library.checkTypesInField(builder, typeEnvironment);
- } else if (builder is SourceProcedureBuilder) {
- // Check procedures
- checkVarianceInFunction(
- builder.procedure, typeEnvironment, cls.typeParameters);
- library.checkTypesInFunctionBuilder(builder, typeEnvironment);
+ if (builder is SourceMemberBuilder) {
+ builder.checkVariance(this, typeEnvironment);
+ builder.checkTypes(library, typeEnvironment);
} else {
assert(
- builder is _RedirectingConstructorsFieldBuilder &&
- builder.name == redirectingName,
- "Unexpected member: $builder.");
+ false,
+ "Unexpected class member builder $builder "
+ "(${builder.runtimeType})");
}
});
forEachConstructor((String name, MemberBuilder builder) {
- if (builder is DeclaredSourceConstructorBuilder) {
- library.checkTypesInConstructorBuilder(builder, typeEnvironment);
- } else if (builder is RedirectingFactoryBuilder) {
- library.checkTypesInRedirectingFactoryBuilder(builder, typeEnvironment);
- } else if (builder is SourceFactoryBuilder) {
- assert(builder.isFactory, "Unexpected constructor $builder.");
- library.checkTypesInFunctionBuilder(builder, typeEnvironment);
+ if (builder is SourceMemberBuilder) {
+ builder.checkTypes(library, typeEnvironment);
} else {
- assert(
- // This is a synthesized constructor.
- builder is SyntheticSourceConstructorBuilder,
- "Unexpected constructor: $builder.");
+ assert(false,
+ "Unexpected constructor builder $builder (${builder.runtimeType})");
}
- }, includeInjectedConstructors: true);
+ });
}
void addSyntheticConstructor(
@@ -2710,4 +2753,12 @@
List<SynthesizedFunctionNode> synthesizedFunctionNodes) {
// Do nothing.
}
+
+ @override
+ void checkVariance(
+ SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment) {}
+
+ @override
+ void checkTypes(
+ SourceLibraryBuilder library, TypeEnvironment typeEnvironment) {}
}
diff --git a/pkg/front_end/lib/src/fasta/source/source_constructor_builder.dart b/pkg/front_end/lib/src/fasta/source/source_constructor_builder.dart
index 2cf43f9..1b39c45 100644
--- a/pkg/front_end/lib/src/fasta/source/source_constructor_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_constructor_builder.dart
@@ -6,6 +6,7 @@
import 'package:kernel/ast.dart';
import 'package:kernel/class_hierarchy.dart';
import 'package:kernel/type_algebra.dart';
+import 'package:kernel/type_environment.dart';
import '../builder/builder.dart';
import '../builder/class_builder.dart';
@@ -74,6 +75,8 @@
Constructor get actualConstructor => _constructor;
+ List<DeclaredSourceConstructorBuilder>? _patches;
+
bool _hasFormalsInferred = false;
final bool _hasSuperInitializingFormals;
@@ -151,8 +154,7 @@
@override
DeclaredSourceConstructorBuilder get origin => actualOrigin ?? this;
- ConstructorBuilder? get patchForTesting =>
- dataForTesting?.patchForTesting as ConstructorBuilder?;
+ List<SourceConstructorBuilder>? get patchForTesting => _patches;
@override
bool get isDeclarationInstanceMember => false;
@@ -671,6 +673,8 @@
return 1;
}
+ List<DeclaredSourceConstructorBuilder>? get patchesForTesting => _patches;
+
@override
void becomeNative(SourceLoader loader) {
_constructor.isExternal = true;
@@ -682,7 +686,7 @@
if (patch is DeclaredSourceConstructorBuilder) {
if (checkPatch(patch)) {
patch.actualOrigin = this;
- dataForTesting?.patchForTesting = patch;
+ (_patches ??= []).add(patch);
}
} else {
reportPatchMismatch(patch);
@@ -739,6 +743,22 @@
formals = <FormalParameterBuilder>[];
}
}
+
+ @override
+ void checkVariance(
+ SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment) {}
+
+ @override
+ void checkTypes(
+ SourceLibraryBuilder library, TypeEnvironment typeEnvironment) {
+ library.checkTypesInConstructorBuilder(this, typeEnvironment);
+ List<DeclaredSourceConstructorBuilder>? patches = _patches;
+ if (patches != null) {
+ for (DeclaredSourceConstructorBuilder patch in patches) {
+ patch.checkTypes(library, typeEnvironment);
+ }
+ }
+ }
}
class SyntheticSourceConstructorBuilder extends DillConstructorBuilder
@@ -813,4 +833,12 @@
_synthesizedFunctionNode = null;
}
}
+
+ @override
+ void checkVariance(
+ SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment) {}
+
+ @override
+ void checkTypes(
+ SourceLibraryBuilder library, TypeEnvironment typeEnvironment) {}
}
diff --git a/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart b/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart
index 5d02635..03bae33 100644
--- a/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_factory_builder.dart
@@ -5,6 +5,7 @@
import 'package:kernel/ast.dart';
import 'package:kernel/class_hierarchy.dart';
import 'package:kernel/type_algebra.dart';
+import 'package:kernel/type_environment.dart';
import '../builder/builder.dart';
import '../builder/constructor_reference_builder.dart';
@@ -28,6 +29,7 @@
import '../type_inference/type_schema.dart';
import '../util/helpers.dart';
import 'name_scheme.dart';
+import 'source_class_builder.dart';
import 'source_function_builder.dart';
import 'source_library_builder.dart' show SourceLibraryBuilder;
import 'source_loader.dart' show SourceLoader;
@@ -46,6 +48,8 @@
SourceFactoryBuilder? actualOrigin;
+ List<SourceFactoryBuilder>? _patches;
+
SourceFactoryBuilder(
List<MetadataBuilder>? metadata,
int modifiers,
@@ -80,8 +84,7 @@
this.asyncModifier = asyncModifier;
}
- SourceFactoryBuilder? get patchForTesting =>
- dataForTesting?.patchForTesting as SourceFactoryBuilder?;
+ List<SourceFactoryBuilder>? get patchesForTesting => _patches;
@override
AsyncMarker get asyncModifier => actualAsyncModifier;
@@ -215,7 +218,7 @@
if (patch is SourceFactoryBuilder) {
if (checkPatch(patch)) {
patch.actualOrigin = this;
- dataForTesting?.patchForTesting = patch;
+ (_patches ??= []).add(patch);
}
} else {
reportPatchMismatch(patch);
@@ -246,6 +249,22 @@
_finishPatch();
return 1;
}
+
+ @override
+ void checkVariance(
+ SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment) {}
+
+ @override
+ void checkTypes(
+ SourceLibraryBuilder library, TypeEnvironment typeEnvironment) {
+ library.checkTypesInFunctionBuilder(this, typeEnvironment);
+ List<SourceFactoryBuilder>? patches = _patches;
+ if (patches != null) {
+ for (SourceFactoryBuilder patch in patches) {
+ patch.checkTypes(library, typeEnvironment);
+ }
+ }
+ }
}
class RedirectingFactoryBuilder extends SourceFactoryBuilder {
@@ -466,4 +485,14 @@
List<DartType>? getTypeArguments() {
return getRedirectingFactoryBody(_procedure)!.typeArguments;
}
+
+ @override
+ void checkVariance(
+ SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment) {}
+
+ @override
+ void checkTypes(
+ SourceLibraryBuilder library, TypeEnvironment typeEnvironment) {
+ library.checkTypesInRedirectingFactoryBuilder(this, typeEnvironment);
+ }
}
diff --git a/pkg/front_end/lib/src/fasta/source/source_field_builder.dart b/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
index 5a71d1b..0f2b052 100644
--- a/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
@@ -10,6 +10,7 @@
import 'package:kernel/core_types.dart';
import 'package:kernel/src/legacy_erasure.dart';
import 'package:kernel/type_algebra.dart';
+import 'package:kernel/type_environment.dart';
import '../builder/class_builder.dart';
import '../builder/field_builder.dart';
@@ -35,6 +36,7 @@
import '../type_inference/type_inference_engine.dart'
show IncludesTypeParametersNonCovariantly;
import '../util/helpers.dart' show DelayedActionPerformer;
+import 'source_class_builder.dart';
import 'source_member_builder.dart';
class SourceFieldBuilder extends SourceMemberBuilderImpl
@@ -496,6 +498,19 @@
@override
List<ClassMember> get localSetters =>
_localSetters ??= _fieldEncoding.getLocalSetters(this);
+
+ @override
+ void checkVariance(
+ SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment) {
+ sourceClassBuilder.checkVarianceInField(
+ this, typeEnvironment, sourceClassBuilder.cls.typeParameters);
+ }
+
+ @override
+ void checkTypes(
+ SourceLibraryBuilder library, TypeEnvironment typeEnvironment) {
+ library.checkTypesInField(this, typeEnvironment);
+ }
}
/// Strategy pattern for creating different encodings of a declared field.
diff --git a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
index 70e9378..3df221f 100644
--- a/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_library_builder.dart
@@ -243,6 +243,9 @@
List<SourceLibraryBuilder>? _patchLibraries;
+ /// `true` if this is an augmentation library.
+ final bool isAugmentation;
+
SourceLibraryBuilder.internal(
SourceLoader loader,
Uri fileUri,
@@ -253,8 +256,9 @@
Library library,
LibraryBuilder? nameOrigin,
Library? referencesFrom,
- bool? referenceIsPartOwner,
- bool isUnsupported)
+ {bool? referenceIsPartOwner,
+ required bool isUnsupported,
+ required bool isAugmentation})
: this.fromScopes(
loader,
fileUri,
@@ -266,7 +270,8 @@
library,
nameOrigin,
referencesFrom,
- isUnsupported);
+ isUnsupported: isUnsupported,
+ isAugmentation: isAugmentation);
SourceLibraryBuilder.fromScopes(
this.loader,
@@ -279,7 +284,8 @@
this.library,
this._nameOrigin,
this.referencesFrom,
- this.isUnsupported)
+ {required this.isUnsupported,
+ required this.isAugmentation})
: _languageVersion = packageLanguageVersion,
currentTypeParameterScopeBuilder = _libraryTypeParameterScopeBuilder,
referencesFromIndexed =
@@ -469,7 +475,8 @@
LibraryBuilder? nameOrigin,
Library? referencesFrom,
bool? referenceIsPartOwner,
- required bool isUnsupported})
+ required bool isUnsupported,
+ required bool isAugmentation})
: this.internal(
loader,
fileUri,
@@ -487,8 +494,9 @@
..setLanguageVersion(packageLanguageVersion.version)),
nameOrigin,
referencesFrom,
- referenceIsPartOwner,
- isUnsupported);
+ referenceIsPartOwner: referenceIsPartOwner,
+ isUnsupported: isUnsupported,
+ isAugmentation: isAugmentation);
@override
bool get isPart => partOfName != null || partOfUri != null;
@@ -520,7 +528,8 @@
loader: loader,
isUnsupported: false,
target: library,
- origin: this);
+ origin: this,
+ isAugmentation: true);
addPatchLibrary(augmentationLibrary);
loader.registerUnparsedLibrarySource(augmentationLibrary, source);
return augmentationLibrary;
@@ -1758,7 +1767,8 @@
int nameOffset,
int endOffset,
int supertypeOffset,
- {required bool isMacro}) {
+ {required bool isMacro,
+ required bool isAugmentation}) {
_addClass(
TypeParameterScopeKind.classDeclaration,
metadata,
@@ -1771,7 +1781,8 @@
nameOffset,
endOffset,
supertypeOffset,
- isMacro: isMacro);
+ isMacro: isMacro,
+ isAugmentation: isAugmentation);
}
void addMixinDeclaration(
@@ -1797,7 +1808,8 @@
nameOffset,
endOffset,
supertypeOffset,
- isMacro: false);
+ isMacro: false,
+ isAugmentation: false);
}
void _addClass(
@@ -1812,7 +1824,8 @@
int nameOffset,
int endOffset,
int supertypeOffset,
- {required bool isMacro}) {
+ {required bool isMacro,
+ required bool isAugmentation}) {
_checkBadFunctionDeclUse(className, kind, nameOffset);
_checkBadFunctionParameter(typeVariables);
// Nested declaration began in `OutlineBuilder.beginClassDeclaration`.
@@ -1850,7 +1863,9 @@
typeVariables,
applyMixins(supertype, startOffset, nameOffset, endOffset, className,
isMixinDeclaration,
- typeVariables: typeVariables, isMacro: false),
+ typeVariables: typeVariables,
+ isMacro: false,
+ isAugmentation: false),
interfaces,
// TODO(johnniwinther): Add the `on` clause types of a mixin declaration
// here.
@@ -1864,7 +1879,8 @@
endOffset,
_currentClassReferencesFromIndexed,
isMixinDeclaration: isMixinDeclaration,
- isMacro: isMacro);
+ isMacro: isMacro,
+ isAugmentation: isAugmentation);
constructorReferences.clear();
Map<String, TypeVariableBuilder>? typeVariablesByName =
@@ -2125,7 +2141,8 @@
List<TypeVariableBuilder>? typeVariables,
int modifiers: 0,
List<TypeBuilder>? interfaces,
- required bool isMacro}) {
+ required bool isMacro,
+ required bool isAugmentation}) {
if (name == null) {
// The following parameters should only be used when building a named
// mixin application.
@@ -2344,7 +2361,8 @@
charEndOffset,
referencesFromIndexedClass,
mixedInTypeBuilder: isMixinDeclaration ? null : mixin,
- isMacro: isNamedMixinApplication && isMacro);
+ isMacro: isNamedMixinApplication && isMacro,
+ isAugmentation: isNamedMixinApplication && isAugmentation);
// TODO(ahe, kmillikin): Should always be true?
// pkg/analyzer/test/src/summary/resynthesize_kernel_test.dart can't
// handle that :(
@@ -2372,7 +2390,8 @@
int startCharOffset,
int charOffset,
int charEndOffset,
- {required bool isMacro}) {
+ {required bool isMacro,
+ required bool isAugmentation}) {
// Nested declaration began in `OutlineBuilder.beginNamedMixinApplication`.
endNestedDeclaration(TypeParameterScopeKind.namedMixinApplication, name)
.resolveNamedTypes(typeVariables, this);
@@ -2383,7 +2402,8 @@
typeVariables: typeVariables,
modifiers: modifiers,
interfaces: interfaces,
- isMacro: isMacro)!;
+ isMacro: isMacro,
+ isAugmentation: isAugmentation)!;
checkTypeVariables(typeVariables, supertype.declaration);
}
@@ -2838,7 +2858,9 @@
typeVariables,
applyMixins(supertypeBuilder, startCharOffset, charOffset,
charEndOffset, name, /* isMixinDeclaration = */ false,
- typeVariables: typeVariables, isMacro: false),
+ typeVariables: typeVariables,
+ isMacro: false,
+ isAugmentation: false),
interfaceBuilders,
enumConstantInfos,
this,
@@ -3883,9 +3905,11 @@
Builder member = patchDeclarations.current;
// We need to inject all non-patch members into the origin library. This
// should only apply to private members.
+ // For augmentation libraries, all members are injected into the origin
+ // library, regardless of privacy.
if (member.isPatch) {
// Ignore patches.
- } else if (name.startsWith("_")) {
+ } else if (name.startsWith("_") || isAugmentation) {
origin.injectMemberFromPatch(name, member);
} else {
origin.exportMemberFromPatch(name, member);
@@ -4560,9 +4584,9 @@
while (iterator.moveNext()) {
Builder declaration = iterator.current;
if (declaration is SourceFieldBuilder) {
- checkTypesInField(declaration, typeEnvironment);
+ declaration.checkTypes(this, typeEnvironment);
} else if (declaration is SourceProcedureBuilder) {
- checkTypesInFunctionBuilder(declaration, typeEnvironment);
+ declaration.checkTypes(this, typeEnvironment);
if (declaration.isGetter) {
Builder? setterDeclaration =
scope.lookupLocalMember(declaration.name, setter: true);
diff --git a/pkg/front_end/lib/src/fasta/source/source_loader.dart b/pkg/front_end/lib/src/fasta/source/source_loader.dart
index a429ef0..cd4c326 100644
--- a/pkg/front_end/lib/src/fasta/source/source_loader.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_loader.dart
@@ -328,7 +328,8 @@
referenceIsPartOwner: referenceIsPartOwner,
isUnsupported: origin?.library.isUnsupported ??
importUri.isScheme('dart') &&
- !target.uriTranslator.isLibrarySupported(importUri.path));
+ !target.uriTranslator.isLibrarySupported(importUri.path),
+ isAugmentation: false);
}
/// Return `"true"` if the [dottedName] is a 'dart.library.*' qualifier for a
@@ -1689,9 +1690,9 @@
ticker.logMs("Finished forwarders for $count procedures");
}
- void resolveConstructors() {
+ void resolveConstructors(List<SourceLibraryBuilder> libraryBuilders) {
int count = 0;
- for (SourceLibraryBuilder library in sourceLibraryBuilders) {
+ for (SourceLibraryBuilder library in libraryBuilders) {
count += library.resolveConstructors();
}
ticker.logMs("Resolved $count constructors");
@@ -1705,9 +1706,10 @@
}
}
- void finishTypeVariables(ClassBuilder object, TypeBuilder dynamicType) {
+ void finishTypeVariables(Iterable<SourceLibraryBuilder> libraryBuilders,
+ ClassBuilder object, TypeBuilder dynamicType) {
int count = 0;
- for (SourceLibraryBuilder library in sourceLibraryBuilders) {
+ for (SourceLibraryBuilder library in libraryBuilders) {
count += library.finishTypeVariables(object, dynamicType);
}
ticker.logMs("Resolved $count type-variable bounds");
@@ -2065,7 +2067,8 @@
List<SourceClassBuilder> sourceClasses, Class enumClass) {
for (SourceClassBuilder builder in sourceClasses) {
if (builder.library.loader == this && !builder.isPatch) {
- builder.checkSupertypes(coreTypes, hierarchyBuilder, enumClass);
+ builder.checkSupertypes(
+ coreTypes, hierarchyBuilder, enumClass, _macroClassBuilder?.cls);
}
}
ticker.logMs("Checked supertypes");
@@ -2585,7 +2588,7 @@
_asyncThenWrapperHelper(continuation) {}
-_awaitHelper(object, thenCallback, errorCallback, awaiter) {}
+_awaitHelper(object, thenCallback, errorCallback) {}
_completeOnAsyncReturn(_future, value, async_jump_var) {}
diff --git a/pkg/front_end/lib/src/fasta/source/source_member_builder.dart b/pkg/front_end/lib/src/fasta/source/source_member_builder.dart
index edfb1a1..fcdfb76 100644
--- a/pkg/front_end/lib/src/fasta/source/source_member_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_member_builder.dart
@@ -6,6 +6,7 @@
import 'package:kernel/ast.dart';
import 'package:kernel/class_hierarchy.dart';
+import 'package:kernel/type_environment.dart';
import '../../base/common.dart';
import '../builder/builder.dart';
@@ -18,6 +19,7 @@
import '../type_inference/type_inference_engine.dart'
show InferenceDataForTesting;
import '../util/helpers.dart' show DelayedActionPerformer;
+import 'source_class_builder.dart';
abstract class SourceMemberBuilder implements MemberBuilder {
MemberDataForTesting? get dataForTesting;
@@ -31,6 +33,15 @@
ClassHierarchy classHierarchy,
List<DelayedActionPerformer> delayedActionPerformers,
List<SynthesizedFunctionNode> synthesizedFunctionNodes);
+
+ /// Checks the variance of type parameters [sourceClassBuilder] used in the
+ /// signature of this member.
+ void checkVariance(
+ SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment);
+
+ /// Checks the signature types of this member.
+ void checkTypes(
+ SourceLibraryBuilder library, TypeEnvironment typeEnvironment);
}
mixin SourceMemberBuilderMixin implements SourceMemberBuilder {
@@ -114,8 +125,6 @@
class MemberDataForTesting {
final InferenceDataForTesting inferenceData = new InferenceDataForTesting();
-
- MemberBuilder? patchForTesting;
}
/// If the name of [member] is private, update it to use the library reference
diff --git a/pkg/front_end/lib/src/fasta/source/source_procedure_builder.dart b/pkg/front_end/lib/src/fasta/source/source_procedure_builder.dart
index 44af31f..5695450 100644
--- a/pkg/front_end/lib/src/fasta/source/source_procedure_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_procedure_builder.dart
@@ -4,6 +4,7 @@
import 'package:kernel/ast.dart';
import 'package:kernel/type_algebra.dart';
+import 'package:kernel/type_environment.dart';
import '../builder/builder.dart';
import '../builder/extension_builder.dart';
@@ -19,6 +20,7 @@
import '../source/name_scheme.dart';
import '../source/source_library_builder.dart' show SourceLibraryBuilder;
import '../source/source_loader.dart' show SourceLoader;
+import 'source_class_builder.dart';
import 'source_function_builder.dart';
import 'source_member_builder.dart';
@@ -52,6 +54,8 @@
SourceProcedureBuilder? actualOrigin;
+ List<SourceProcedureBuilder>? _patches;
+
SourceProcedureBuilder(
List<MetadataBuilder>? metadata,
int modifiers,
@@ -104,8 +108,7 @@
}
}
- ProcedureBuilder? get patchForTesting =>
- dataForTesting?.patchForTesting as ProcedureBuilder?;
+ List<SourceProcedureBuilder>? get patchesForTesting => _patches;
@override
AsyncMarker get asyncModifier => actualAsyncModifier;
@@ -456,7 +459,7 @@
if (patch is SourceProcedureBuilder) {
if (checkPatch(patch)) {
patch.actualOrigin = this;
- dataForTesting?.patchForTesting = patch;
+ (_patches ??= []).add(patch);
}
} else {
reportPatchMismatch(patch);
@@ -483,6 +486,31 @@
origin.procedure.isRedirectingFactory = _procedure.isRedirectingFactory;
return 1;
}
+
+ @override
+ void checkVariance(
+ SourceClassBuilder sourceClassBuilder, TypeEnvironment typeEnvironment) {
+ sourceClassBuilder.checkVarianceInFunction(
+ procedure, typeEnvironment, sourceClassBuilder.cls.typeParameters);
+ List<SourceProcedureBuilder>? patches = _patches;
+ if (patches != null) {
+ for (SourceProcedureBuilder patch in patches) {
+ patch.checkVariance(sourceClassBuilder, typeEnvironment);
+ }
+ }
+ }
+
+ @override
+ void checkTypes(
+ SourceLibraryBuilder library, TypeEnvironment typeEnvironment) {
+ library.checkTypesInFunctionBuilder(this, typeEnvironment);
+ List<SourceProcedureBuilder>? patches = _patches;
+ if (patches != null) {
+ for (SourceProcedureBuilder patch in patches) {
+ patch.checkTypes(library, typeEnvironment);
+ }
+ }
+ }
}
class SourceProcedureMember extends BuilderClassMember {
diff --git a/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart b/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
index d7140cd..a88ff23 100644
--- a/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
+++ b/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
@@ -165,12 +165,13 @@
}
@override
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
ClassDeclarationBegin data = new ClassDeclarationBegin(ParserAstType.BEGIN,
begin: begin,
abstractToken: abstractToken,
macroToken: macroToken,
+ augmentToken: augmentToken,
name: name);
seen(data);
}
@@ -920,13 +921,14 @@
}
@override
- void beginNamedMixinApplication(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginNamedMixinApplication(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
NamedMixinApplicationBegin data = new NamedMixinApplicationBegin(
ParserAstType.BEGIN,
begin: begin,
abstractToken: abstractToken,
macroToken: macroToken,
+ augmentToken: augmentToken,
name: name);
seen(data);
}
@@ -2831,12 +2833,14 @@
final Token begin;
final Token? abstractToken;
final Token? macroToken;
+ final Token? augmentToken;
final Token name;
ClassDeclarationBegin(ParserAstType type,
{required this.begin,
this.abstractToken,
this.macroToken,
+ this.augmentToken,
required this.name})
: super("ClassDeclaration", type);
@@ -2845,6 +2849,7 @@
"begin": begin,
"abstractToken": abstractToken,
"macroToken": macroToken,
+ "augmentToken": augmentToken,
"name": name,
};
}
@@ -4199,12 +4204,14 @@
final Token begin;
final Token? abstractToken;
final Token? macroToken;
+ final Token? augmentToken;
final Token name;
NamedMixinApplicationBegin(ParserAstType type,
{required this.begin,
this.abstractToken,
this.macroToken,
+ this.augmentToken,
required this.name})
: super("NamedMixinApplication", type);
@@ -4213,6 +4220,7 @@
"begin": begin,
"abstractToken": abstractToken,
"macroToken": macroToken,
+ "augmentToken": augmentToken,
"name": name,
};
}
diff --git a/pkg/front_end/messages.status b/pkg/front_end/messages.status
index 0e1957f..b2e67dc 100644
--- a/pkg/front_end/messages.status
+++ b/pkg/front_end/messages.status
@@ -578,6 +578,8 @@
LibraryDirectiveNotFirst/script3: Fail
ListLiteralTooManyTypeArguments/example: Fail
LoadLibraryTakesNoArguments/example: Fail
+MacroClassNotDeclaredMacro/analyzerCode: Fail
+MacroClassNotDeclaredMacro/example: Fail
MainNotFunctionDeclaration/analyzerCode: Fail
MainNotFunctionDeclarationExported/analyzerCode: Fail
MainNotFunctionDeclarationExported/part_wrapped_script: Fail
diff --git a/pkg/front_end/messages.yaml b/pkg/front_end/messages.yaml
index 043a64d..72c975a 100644
--- a/pkg/front_end/messages.yaml
+++ b/pkg/front_end/messages.yaml
@@ -5479,3 +5479,7 @@
EnumImplementerContainsValuesDeclaration:
problemMessage: "'#name' has 'Enum' as a superinterface and can't contain non-static member with name 'values'."
+
+MacroClassNotDeclaredMacro:
+ problemMessage: "Non-abstract class '#name' implements 'Macro' but isn't declared as a macro class."
+ correctionMessage: "Try adding the 'macro' class modifier."
diff --git a/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.intertwined.expect b/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.intertwined.expect
index 2403c22..272dfb5 100644
--- a/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/enhanced_enums/entries_with_type_arguments.dart.intertwined.expect
@@ -6,7 +6,7 @@
parseMetadataStar()
listener: beginMetadataStar(enum)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, enum, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, enum, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(, enum)
parseEnum(enum)
listener: beginUncategorizedTopLevelDeclaration(enum)
diff --git a/pkg/front_end/parser_testcases/error_recovery/bracket_mismatch_01.dart.expect b/pkg/front_end/parser_testcases/error_recovery/bracket_mismatch_01.dart.expect
index 315d899..f82251f 100644
--- a/pkg/front_end/parser_testcases/error_recovery/bracket_mismatch_01.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/bracket_mismatch_01.dart.expect
@@ -14,7 +14,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -114,7 +114,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(D, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, D)
+ beginClassDeclaration(class, null, null, null, D)
handleNoType(D)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/bracket_mismatch_01.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/bracket_mismatch_01.dart.intertwined.expect
index f075fef..09f91b9 100644
--- a/pkg/front_end/parser_testcases/error_recovery/bracket_mismatch_01.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/bracket_mismatch_01.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
@@ -258,14 +258,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(D, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, D)
+ listener: beginClassDeclaration(class, null, null, null, D)
parseClass(D, class, class, D)
parseClassHeaderOpt(D, class, class)
parseClassExtendsOpt(D)
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.expect
index df50087..23e1d5d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.expect
@@ -126,7 +126,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.intertwined.expect
index 06d293d..4c6e830 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_general.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_get.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_get.crash_dart.expect
index ddc254b..24af11c 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_get.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_get.crash_dart.expect
@@ -34,7 +34,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_get.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_get.crash_dart.intertwined.expect
index 3f0d02a..927fcd5 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_get.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_get.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.expect
index c5b9ca5..1f2918a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.expect
@@ -30,7 +30,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.intertwined.expect
index 510034d..5678e88 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_set.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_set.crash_dart.expect
index 49cb540..413fa9a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_set.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_set.crash_dart.expect
@@ -30,7 +30,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_set.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_set.crash_dart.intertwined.expect
index fdc9ae0..7dd414e 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_set.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_bad_name_set.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_get.dart.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_get.dart.expect
index affdbb5..37bd2b8 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_get.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_get.dart.expect
@@ -30,7 +30,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_get.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_get.dart.intertwined.expect
index 3e8ea041..7438400 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_get.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_get.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_ok.dart.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_ok.dart.expect
index 3353b3f..685dbf9 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_ok.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_ok.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_ok.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_ok.dart.intertwined.expect
index fbd18be..a01601a0 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_ok.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_ok.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_operator.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_operator.crash_dart.expect
index 9ecbeda..bf658f7 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_operator.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_operator.crash_dart.expect
@@ -78,7 +78,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_operator.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_operator.crash_dart.intertwined.expect
index 06cf3f0..6a5900b 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_operator.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_operator.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_return_type.dart.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_return_type.dart.expect
index a93fe07..ab6b6c8 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_return_type.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_return_type.dart.expect
@@ -22,7 +22,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_return_type.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_return_type.dart.intertwined.expect
index 148639d..b072c20 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_return_type.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_return_type.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_set.dart.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_set.dart.expect
index e78880d..0f7ad37 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_set.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_set.dart.expect
@@ -22,7 +22,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_set.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_set.dart.intertwined.expect
index d1bd6a8..89458dc 100644
--- a/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_set.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/constructor_recovery_set.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/error_recovery/extension_member_contributor_test_completion.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/extension_member_contributor_test_completion.dart.intertwined.expect
index c951cb0..fe4a38c 100644
--- a/pkg/front_end/parser_testcases/error_recovery/extension_member_contributor_test_completion.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/extension_member_contributor_test_completion.dart.intertwined.expect
@@ -6,7 +6,7 @@
parseMetadataStar()
listener: beginMetadataStar(extension)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, extension, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, extension, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(, extension)
parseExtension(extension)
listener: beginExtensionDeclarationPrelude(extension)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_000032.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_000032.dart.expect
index 3caae1e..9a0072b 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_000032.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_000032.dart.expect
@@ -26,7 +26,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_000032.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_000032.dart.intertwined.expect
index 32d89ec..0267bd5 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_000032.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_000032.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_22313.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_22313.dart.expect
index cfcdd2e..b572628 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_22313.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_22313.dart.expect
@@ -26,7 +26,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -41,7 +41,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(B, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, B)
+ beginClassDeclaration(class, null, null, null, B)
handleNoType(B)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -56,7 +56,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables(extends)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleIdentifier(A, typeReference)
handleNoTypeArguments(,)
handleType(A, null)
@@ -92,7 +92,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Bar, classOrMixinDeclaration)
handleNoTypeVariables(extend)
- beginClassDeclaration(class, null, null, Bar)
+ beginClassDeclaration(class, null, null, null, Bar)
handleNoType(Bar)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -134,7 +134,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Baz, classOrMixinDeclaration)
handleNoTypeVariables(on)
- beginClassDeclaration(class, null, null, Baz)
+ beginClassDeclaration(class, null, null, null, Baz)
handleNoType(Baz)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_22313.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_22313.dart.intertwined.expect
index 0c27622..f0f0ce6 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_22313.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_22313.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
@@ -34,14 +34,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(B, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, B)
+ listener: beginClassDeclaration(class, null, null, null, B)
parseClass(B, class, class, B)
parseClassHeaderOpt(B, class, class)
parseClassExtendsOpt(B)
@@ -62,14 +62,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables(extends)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
@@ -130,14 +130,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Bar, classOrMixinDeclaration)
listener: handleNoTypeVariables(extend)
- listener: beginClassDeclaration(class, null, null, Bar)
+ listener: beginClassDeclaration(class, null, null, null, Bar)
parseClass(Bar, class, class, Bar)
parseClassHeaderOpt(Bar, class, class)
parseClassExtendsOpt(Bar)
@@ -214,14 +214,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Baz, classOrMixinDeclaration)
listener: handleNoTypeVariables(on)
- listener: beginClassDeclaration(class, null, null, Baz)
+ listener: beginClassDeclaration(class, null, null, null, Baz)
parseClass(Baz, class, class, Baz)
parseClassHeaderOpt(Baz, class, class)
parseClassExtendsOpt(Baz)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.expect
index 50def6f..1313ed6 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.expect
@@ -25,7 +25,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Annotation, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Annotation)
+ beginClassDeclaration(class, null, null, null, Annotation)
handleNoType(Annotation)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -80,7 +80,7 @@
handleNoType(E)
endTypeVariable(>, 0, null, null)
endTypeVariables(<, >)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(>)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -95,7 +95,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.intertwined.expect
index 8d39ca9..8826b80 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_22314.dart.intertwined.expect
@@ -28,14 +28,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Annotation, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Annotation)
+ listener: beginClassDeclaration(class, null, null, null, Annotation)
parseClass(Annotation, class, class, Annotation)
parseClassHeaderOpt(Annotation, class, class)
parseClassExtendsOpt(Annotation)
@@ -112,9 +112,9 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
@@ -127,7 +127,7 @@
listener: handleNoType(E)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(>, class, class, A)
parseClassHeaderOpt(>, class, class)
parseClassExtendsOpt(>)
@@ -148,14 +148,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_26073.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_26073.dart.intertwined.expect
index d081a84..10ddbdb 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_26073.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_26073.dart.intertwined.expect
@@ -6,7 +6,7 @@
parseMetadataStar()
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -44,7 +44,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -79,7 +79,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -120,7 +120,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -158,7 +158,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -203,7 +203,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -249,7 +249,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -306,7 +306,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -386,7 +386,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -458,7 +458,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -476,7 +476,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_26810.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_26810.dart.expect
index 2ac0d92..1f9d7e5 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_26810.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_26810.dart.expect
@@ -66,7 +66,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
handleIdentifier(Key, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(abstract, abstract, null, Key)
+ beginClassDeclaration(abstract, abstract, null, null, Key)
handleNoType(Key)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_26810.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_26810.dart.intertwined.expect
index b1c109a..08cc15d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_26810.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_26810.dart.intertwined.expect
@@ -6,15 +6,15 @@
parseMetadataStar()
listener: beginMetadataStar(abstract)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
parseTopLevelKeywordModifiers(abstract, class)
- parseClassOrNamedMixinApplication(abstract, null, class)
+ parseClassOrNamedMixinApplication(abstract, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Key, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(abstract, abstract, null, Key)
+ listener: beginClassDeclaration(abstract, abstract, null, null, Key)
parseClass(Key, abstract, class, Key)
parseClassHeaderOpt(Key, abstract, class)
parseClassExtendsOpt(Key)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_26810_and.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_26810_and.dart.expect
index 0316b5f..65e0e92 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_26810_and.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_26810_and.dart.expect
@@ -66,7 +66,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
handleIdentifier(Key, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(abstract, abstract, null, Key)
+ beginClassDeclaration(abstract, abstract, null, null, Key)
handleNoType(Key)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_26810_and.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_26810_and.dart.intertwined.expect
index 91ece53..4dfa6f2 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_26810_and.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_26810_and.dart.intertwined.expect
@@ -6,15 +6,15 @@
parseMetadataStar()
listener: beginMetadataStar(abstract)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
parseTopLevelKeywordModifiers(abstract, class)
- parseClassOrNamedMixinApplication(abstract, null, class)
+ parseClassOrNamedMixinApplication(abstract, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Key, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(abstract, abstract, null, Key)
+ listener: beginClassDeclaration(abstract, abstract, null, null, Key)
parseClass(Key, abstract, class, Key)
parseClassHeaderOpt(Key, abstract, class)
parseClassExtendsOpt(Key)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_26810_or.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_26810_or.dart.expect
index c5a4273..59c238c 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_26810_or.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_26810_or.dart.expect
@@ -66,7 +66,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
handleIdentifier(Key, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(abstract, abstract, null, Key)
+ beginClassDeclaration(abstract, abstract, null, null, Key)
handleNoType(Key)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_26810_or.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_26810_or.dart.intertwined.expect
index f8f7500..d7c2cfa 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_26810_or.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_26810_or.dart.intertwined.expect
@@ -6,15 +6,15 @@
parseMetadataStar()
listener: beginMetadataStar(abstract)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
parseTopLevelKeywordModifiers(abstract, class)
- parseClassOrNamedMixinApplication(abstract, null, class)
+ parseClassOrNamedMixinApplication(abstract, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Key, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(abstract, abstract, null, Key)
+ listener: beginClassDeclaration(abstract, abstract, null, null, Key)
parseClass(Key, abstract, class, Key)
parseClassHeaderOpt(Key, abstract, class)
parseClassExtendsOpt(Key)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39026.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39026.crash_dart.expect
index abe79a6..0deeeac 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39026.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39026.crash_dart.expect
@@ -14,7 +14,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39026.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39026.crash_dart.intertwined.expect
index 19f4ce1..becebb3 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39026.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39026.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39026_prime.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39026_prime.crash_dart.expect
index ecd1166..256e9d9 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39026_prime.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39026_prime.crash_dart.expect
@@ -10,7 +10,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39026_prime.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39026_prime.crash_dart.intertwined.expect
index 6329811..8b1083d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39026_prime.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39026_prime.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.intertwined.expect
index 8b108c7..dcd3f1d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39033.crash_dart.intertwined.expect
@@ -6,7 +6,7 @@
parseMetadataStar()
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39230.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39230.crash_dart.expect
index e533d5c..dc0e852 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39230.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39230.crash_dart.expect
@@ -22,7 +22,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_39230.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_39230.crash_dart.intertwined.expect
index 87cebd9..d1667e3 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_39230.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_39230.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_41265.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_41265.crash_dart.expect
index c9eff1a..a9912eb 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_41265.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_41265.crash_dart.expect
@@ -18,7 +18,7 @@
handleNoType(T)
endTypeVariable(>, 0, null, null)
endTypeVariables(<, >)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(>)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -54,7 +54,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(DND1, classOrMixinDeclaration)
handleNoTypeVariables(extends)
- beginClassDeclaration(class, null, null, DND1)
+ beginClassDeclaration(class, null, null, null, DND1)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_41265.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_41265.crash_dart.intertwined.expect
index 32477fe..1cddebb 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_41265.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_41265.crash_dart.intertwined.expect
@@ -6,9 +6,9 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
@@ -21,7 +21,7 @@
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(>, class, class, A)
parseClassHeaderOpt(>, class, class)
parseClassExtendsOpt(>)
@@ -42,7 +42,7 @@
parseMetadataStar(})
listener: beginMetadataStar(mixin)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, mixin, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, mixin, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(}, mixin)
parseMixin(mixin)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(mixin)
@@ -74,14 +74,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(DND1, classOrMixinDeclaration)
listener: handleNoTypeVariables(extends)
- listener: beginClassDeclaration(class, null, null, DND1)
+ listener: beginClassDeclaration(class, null, null, null, DND1)
parseClass(DND1, class, class, DND1)
parseClassHeaderOpt(DND1, class, class)
parseClassExtendsOpt(DND1)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_43090.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_43090.crash_dart.intertwined.expect
index fdef824..b6a4348 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_43090.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_43090.crash_dart.intertwined.expect
@@ -6,7 +6,7 @@
parseMetadataStar()
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_43090_prime_01.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_43090_prime_01.crash_dart.intertwined.expect
index 4c19f5b..73dba53 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_43090_prime_01.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_43090_prime_01.crash_dart.intertwined.expect
@@ -6,7 +6,7 @@
parseMetadataStar()
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_43090_prime_02.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_43090_prime_02.crash_dart.intertwined.expect
index b8f453d..f2ed397 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_43090_prime_02.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_43090_prime_02.crash_dart.intertwined.expect
@@ -6,7 +6,7 @@
parseMetadataStar()
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251.dart.expect
index 9a36032..d60c06a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251.dart.expect
@@ -22,7 +22,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(F, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, F)
+ beginClassDeclaration(class, null, null, null, F)
handleNoType(F)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251.dart.intertwined.expect
index 46c74ad..352312d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(F, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, F)
+ listener: beginClassDeclaration(class, null, null, null, F)
parseClass(F, class, class, F)
parseClassHeaderOpt(F, class, class)
parseClassExtendsOpt(F)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_const.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_const.dart.expect
index 548af9c..c78bdb7 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_const.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_const.dart.expect
@@ -22,7 +22,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(F, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, F)
+ beginClassDeclaration(class, null, null, null, F)
handleNoType(F)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_const.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_const.dart.intertwined.expect
index 04648ed..b5959b9a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_const.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_const.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(F, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, F)
+ listener: beginClassDeclaration(class, null, null, null, F)
parseClass(F, class, class, F)
parseClassHeaderOpt(F, class, class)
parseClassExtendsOpt(F)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list.dart.expect
index fc0194c..38fbcab8 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list.dart.expect
@@ -18,7 +18,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(F, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, F)
+ beginClassDeclaration(class, null, null, null, F)
handleNoType(F)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list.dart.intertwined.expect
index 78a0d51..88127ee 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(F, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, F)
+ listener: beginClassDeclaration(class, null, null, null, F)
parseClass(F, class, class, F)
parseClassHeaderOpt(F, class, class)
parseClassExtendsOpt(F)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_const.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_const.dart.expect
index 143a90d..d005a9d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_const.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_const.dart.expect
@@ -22,7 +22,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(F, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, F)
+ beginClassDeclaration(class, null, null, null, F)
handleNoType(F)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_const.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_const.dart.intertwined.expect
index 5602483..c912bcf 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_const.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_const.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(F, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, F)
+ listener: beginClassDeclaration(class, null, null, null, F)
parseClass(F, class, class, F)
parseClassHeaderOpt(F, class, class)
parseClassExtendsOpt(F)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_new.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_new.dart.expect
index 9792fa7..13ae759 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_new.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_new.dart.expect
@@ -34,7 +34,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(F, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, F)
+ beginClassDeclaration(class, null, null, null, F)
handleNoType(F)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_new.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_new.dart.intertwined.expect
index eba032d..c504081 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_new.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_list_new.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(F, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, F)
+ listener: beginClassDeclaration(class, null, null, null, F)
parseClass(F, class, class, F)
parseClassHeaderOpt(F, class, class)
parseClassExtendsOpt(F)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_new.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_new.dart.expect
index 88ac7ed..f3d58ae 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_new.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_new.dart.expect
@@ -34,7 +34,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(F, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, F)
+ beginClassDeclaration(class, null, null, null, F)
handleNoType(F)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_new.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_new.dart.intertwined.expect
index ccc11a0..7c8208e 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_new.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_new.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(F, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, F)
+ listener: beginClassDeclaration(class, null, null, null, F)
parseClass(F, class, class, F)
parseClassHeaderOpt(F, class, class)
parseClassExtendsOpt(F)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set.dart.expect
index 9138896..f8d5f4f 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set.dart.expect
@@ -22,7 +22,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(F, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, F)
+ beginClassDeclaration(class, null, null, null, F)
handleNoType(F)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set.dart.intertwined.expect
index 498b48a..e13a694 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(F, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, F)
+ listener: beginClassDeclaration(class, null, null, null, F)
parseClass(F, class, class, F)
parseClassHeaderOpt(F, class, class)
parseClassExtendsOpt(F)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_const.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_const.dart.expect
index a2bf1e5..c664b70 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_const.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_const.dart.expect
@@ -22,7 +22,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(F, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, F)
+ beginClassDeclaration(class, null, null, null, F)
handleNoType(F)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_const.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_const.dart.intertwined.expect
index b2e7f3e..6d7d079 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_const.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_const.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(F, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, F)
+ listener: beginClassDeclaration(class, null, null, null, F)
parseClass(F, class, class, F)
parseClassHeaderOpt(F, class, class)
parseClassExtendsOpt(F)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_new.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_new.dart.expect
index a62bd2c..f534b0d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_new.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_new.dart.expect
@@ -34,7 +34,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(F, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, F)
+ beginClassDeclaration(class, null, null, null, F)
handleNoType(F)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_new.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_new.dart.intertwined.expect
index dabdaef..bd41963 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_new.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45251_set_new.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(F, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, F)
+ listener: beginClassDeclaration(class, null, null, null, F)
parseClass(F, class, class, F)
parseClassHeaderOpt(F, class, class)
parseClassExtendsOpt(F)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45327_prime_1.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45327_prime_1.crash_dart.expect
index aaf3524..e811ec9 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45327_prime_1.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45327_prime_1.crash_dart.expect
@@ -22,7 +22,7 @@
handleNoType(T)
endTypeVariable(>, 0, null, null)
endTypeVariables(<, >)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(>)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_45327_prime_1.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_45327_prime_1.crash_dart.intertwined.expect
index 4cba827..c2de767 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_45327_prime_1.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_45327_prime_1.crash_dart.intertwined.expect
@@ -6,9 +6,9 @@
parseMetadataStar(UnmatchedToken(())
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(UnmatchedToken((), class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(UnmatchedToken((), class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(UnmatchedToken((), class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
@@ -21,7 +21,7 @@
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(>, class, class, Foo)
parseClassHeaderOpt(>, class, class)
parseClassExtendsOpt(>)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46346.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46346.dart.expect
index 3bc1986..de46ff9 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46346.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46346.dart.expect
@@ -227,7 +227,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'abstract' as a name here., null, {lexeme: abstract}], abstract, abstract)
handleIdentifier(abstract, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, abstract)
+ beginClassDeclaration(class, null, null, null, abstract)
handleNoType(abstract)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -243,7 +243,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'as' as a name here., null, {lexeme: as}], as, as)
handleIdentifier(as, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, as)
+ beginClassDeclaration(class, null, null, null, as)
handleNoType(as)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -259,7 +259,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'assert' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: assert}], assert, assert)
handleIdentifier(assert, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, assert)
+ beginClassDeclaration(class, null, null, null, assert)
handleNoType(assert)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -274,7 +274,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(async, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, async)
+ beginClassDeclaration(class, null, null, null, async)
handleNoType(async)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -289,7 +289,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(await, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, await)
+ beginClassDeclaration(class, null, null, null, await)
handleNoType(await)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -305,7 +305,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'break' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: break}], break, break)
handleIdentifier(break, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, break)
+ beginClassDeclaration(class, null, null, null, break)
handleNoType(break)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -321,7 +321,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'case' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: case}], case, case)
handleIdentifier(case, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, case)
+ beginClassDeclaration(class, null, null, null, case)
handleNoType(case)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -337,7 +337,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'catch' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: catch}], catch, catch)
handleIdentifier(catch, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, catch)
+ beginClassDeclaration(class, null, null, null, catch)
handleNoType(catch)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -353,7 +353,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'class' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: class}], class, class)
handleIdentifier(class, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, class)
+ beginClassDeclaration(class, null, null, null, class)
handleNoType(class)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -369,7 +369,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'const' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: const}], const, const)
handleIdentifier(const, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, const)
+ beginClassDeclaration(class, null, null, null, const)
handleNoType(const)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -385,7 +385,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'continue' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: continue}], continue, continue)
handleIdentifier(continue, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, continue)
+ beginClassDeclaration(class, null, null, null, continue)
handleNoType(continue)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -401,7 +401,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'covariant' as a name here., null, {lexeme: covariant}], covariant, covariant)
handleIdentifier(covariant, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, covariant)
+ beginClassDeclaration(class, null, null, null, covariant)
handleNoType(covariant)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -417,7 +417,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'default' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: default}], default, default)
handleIdentifier(default, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, default)
+ beginClassDeclaration(class, null, null, null, default)
handleNoType(default)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -433,7 +433,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'deferred' as a name here., null, {lexeme: deferred}], deferred, deferred)
handleIdentifier(deferred, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, deferred)
+ beginClassDeclaration(class, null, null, null, deferred)
handleNoType(deferred)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -449,7 +449,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'do' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: do}], do, do)
handleIdentifier(do, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, do)
+ beginClassDeclaration(class, null, null, null, do)
handleNoType(do)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -465,7 +465,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'dynamic' as a name here., null, {lexeme: dynamic}], dynamic, dynamic)
handleIdentifier(dynamic, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, dynamic)
+ beginClassDeclaration(class, null, null, null, dynamic)
handleNoType(dynamic)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -481,7 +481,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'else' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: else}], else, else)
handleIdentifier(else, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, else)
+ beginClassDeclaration(class, null, null, null, else)
handleNoType(else)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -497,7 +497,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'enum' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: enum}], enum, enum)
handleIdentifier(enum, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, enum)
+ beginClassDeclaration(class, null, null, null, enum)
handleNoType(enum)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -513,7 +513,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'export' as a name here., null, {lexeme: export}], export, export)
handleIdentifier(export, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, export)
+ beginClassDeclaration(class, null, null, null, export)
handleNoType(export)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -529,7 +529,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'extends' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: extends}], extends, extends)
handleIdentifier(extends, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, extends)
+ beginClassDeclaration(class, null, null, null, extends)
handleNoType(extends)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -545,7 +545,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'extension' as a name here., null, {lexeme: extension}], extension, extension)
handleIdentifier(extension, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, extension)
+ beginClassDeclaration(class, null, null, null, extension)
handleNoType(extension)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -561,7 +561,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'external' as a name here., null, {lexeme: external}], external, external)
handleIdentifier(external, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, external)
+ beginClassDeclaration(class, null, null, null, external)
handleNoType(external)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -577,7 +577,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'factory' as a name here., null, {lexeme: factory}], factory, factory)
handleIdentifier(factory, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, factory)
+ beginClassDeclaration(class, null, null, null, factory)
handleNoType(factory)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -593,7 +593,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'false' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: false}], false, false)
handleIdentifier(false, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, false)
+ beginClassDeclaration(class, null, null, null, false)
handleNoType(false)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -609,7 +609,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'final' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: final}], final, final)
handleIdentifier(final, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, final)
+ beginClassDeclaration(class, null, null, null, final)
handleNoType(final)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -625,7 +625,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'finally' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: finally}], finally, finally)
handleIdentifier(finally, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, finally)
+ beginClassDeclaration(class, null, null, null, finally)
handleNoType(finally)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -641,7 +641,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'for' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: for}], for, for)
handleIdentifier(for, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, for)
+ beginClassDeclaration(class, null, null, null, for)
handleNoType(for)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -656,7 +656,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Function, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Function)
+ beginClassDeclaration(class, null, null, null, Function)
handleNoType(Function)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -672,7 +672,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'get' as a name here., null, {lexeme: get}], get, get)
handleIdentifier(get, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, get)
+ beginClassDeclaration(class, null, null, null, get)
handleNoType(get)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -687,7 +687,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(hide, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, hide)
+ beginClassDeclaration(class, null, null, null, hide)
handleNoType(hide)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -703,7 +703,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'if' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: if}], if, if)
handleIdentifier(if, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, if)
+ beginClassDeclaration(class, null, null, null, if)
handleNoType(if)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -719,7 +719,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'implements' as a name here., null, {lexeme: implements}], implements, implements)
handleIdentifier(implements, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, implements)
+ beginClassDeclaration(class, null, null, null, implements)
handleNoType(implements)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -735,7 +735,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'import' as a name here., null, {lexeme: import}], import, import)
handleIdentifier(import, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, import)
+ beginClassDeclaration(class, null, null, null, import)
handleNoType(import)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -751,7 +751,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'in' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: in}], in, in)
handleIdentifier(in, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, in)
+ beginClassDeclaration(class, null, null, null, in)
handleNoType(in)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -766,7 +766,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(inout, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, inout)
+ beginClassDeclaration(class, null, null, null, inout)
handleNoType(inout)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -782,7 +782,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'interface' as a name here., null, {lexeme: interface}], interface, interface)
handleIdentifier(interface, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, interface)
+ beginClassDeclaration(class, null, null, null, interface)
handleNoType(interface)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -798,7 +798,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'is' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: is}], is, is)
handleIdentifier(is, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, is)
+ beginClassDeclaration(class, null, null, null, is)
handleNoType(is)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -814,7 +814,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'late' as a name here., null, {lexeme: late}], late, late)
handleIdentifier(late, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, late)
+ beginClassDeclaration(class, null, null, null, late)
handleNoType(late)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -830,7 +830,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'library' as a name here., null, {lexeme: library}], library, library)
handleIdentifier(library, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, library)
+ beginClassDeclaration(class, null, null, null, library)
handleNoType(library)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -846,7 +846,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'mixin' as a name here., null, {lexeme: mixin}], mixin, mixin)
handleIdentifier(mixin, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, mixin)
+ beginClassDeclaration(class, null, null, null, mixin)
handleNoType(mixin)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -861,7 +861,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(native, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, native)
+ beginClassDeclaration(class, null, null, null, native)
handleNoType(native)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -877,7 +877,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'new' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: new}], new, new)
handleIdentifier(new, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, new)
+ beginClassDeclaration(class, null, null, null, new)
handleNoType(new)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -893,7 +893,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'null' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: null}], null, null)
handleIdentifier(null, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, null)
+ beginClassDeclaration(class, null, null, null, null)
handleNoType(null)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -908,7 +908,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(of, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, of)
+ beginClassDeclaration(class, null, null, null, of)
handleNoType(of)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -923,7 +923,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(on, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, on)
+ beginClassDeclaration(class, null, null, null, on)
handleNoType(on)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -939,7 +939,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'operator' as a name here., null, {lexeme: operator}], operator, operator)
handleIdentifier(operator, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, operator)
+ beginClassDeclaration(class, null, null, null, operator)
handleNoType(operator)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -954,7 +954,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(out, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, out)
+ beginClassDeclaration(class, null, null, null, out)
handleNoType(out)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -970,7 +970,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'part' as a name here., null, {lexeme: part}], part, part)
handleIdentifier(part, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, part)
+ beginClassDeclaration(class, null, null, null, part)
handleNoType(part)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -985,7 +985,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(patch, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, patch)
+ beginClassDeclaration(class, null, null, null, patch)
handleNoType(patch)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1001,7 +1001,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'required' as a name here., null, {lexeme: required}], required, required)
handleIdentifier(required, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, required)
+ beginClassDeclaration(class, null, null, null, required)
handleNoType(required)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1017,7 +1017,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'rethrow' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: rethrow}], rethrow, rethrow)
handleIdentifier(rethrow, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, rethrow)
+ beginClassDeclaration(class, null, null, null, rethrow)
handleNoType(rethrow)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1033,7 +1033,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'return' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: return}], return, return)
handleIdentifier(return, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, return)
+ beginClassDeclaration(class, null, null, null, return)
handleNoType(return)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1049,7 +1049,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'set' as a name here., null, {lexeme: set}], set, set)
handleIdentifier(set, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, set)
+ beginClassDeclaration(class, null, null, null, set)
handleNoType(set)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1064,7 +1064,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(show, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, show)
+ beginClassDeclaration(class, null, null, null, show)
handleNoType(show)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1079,7 +1079,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(source, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, source)
+ beginClassDeclaration(class, null, null, null, source)
handleNoType(source)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1095,7 +1095,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'static' as a name here., null, {lexeme: static}], static, static)
handleIdentifier(static, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, static)
+ beginClassDeclaration(class, null, null, null, static)
handleNoType(static)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1111,7 +1111,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
handleIdentifier(super, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, super)
+ beginClassDeclaration(class, null, null, null, super)
handleNoType(super)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1127,7 +1127,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'switch' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: switch}], switch, switch)
handleIdentifier(switch, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, switch)
+ beginClassDeclaration(class, null, null, null, switch)
handleNoType(switch)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1142,7 +1142,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(sync, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, sync)
+ beginClassDeclaration(class, null, null, null, sync)
handleNoType(sync)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1158,7 +1158,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'this' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: this}], this, this)
handleIdentifier(this, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, this)
+ beginClassDeclaration(class, null, null, null, this)
handleNoType(this)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1174,7 +1174,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'throw' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: throw}], throw, throw)
handleIdentifier(throw, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, throw)
+ beginClassDeclaration(class, null, null, null, throw)
handleNoType(throw)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1190,7 +1190,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'true' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: true}], true, true)
handleIdentifier(true, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, true)
+ beginClassDeclaration(class, null, null, null, true)
handleNoType(true)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1206,7 +1206,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'try' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: try}], try, try)
handleIdentifier(try, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, try)
+ beginClassDeclaration(class, null, null, null, try)
handleNoType(try)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1222,7 +1222,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'typedef' as a name here., null, {lexeme: typedef}], typedef, typedef)
handleIdentifier(typedef, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, typedef)
+ beginClassDeclaration(class, null, null, null, typedef)
handleNoType(typedef)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1238,7 +1238,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'var' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: var}], var, var)
handleIdentifier(var, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, var)
+ beginClassDeclaration(class, null, null, null, var)
handleNoType(var)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1254,7 +1254,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'void' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: void}], void, void)
handleIdentifier(void, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, void)
+ beginClassDeclaration(class, null, null, null, void)
handleNoType(void)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1270,7 +1270,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'while' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: while}], while, while)
handleIdentifier(while, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, while)
+ beginClassDeclaration(class, null, null, null, while)
handleNoType(while)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1286,7 +1286,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'with' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: with}], with, with)
handleIdentifier(with, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, with)
+ beginClassDeclaration(class, null, null, null, with)
handleNoType(with)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -1301,7 +1301,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(yield, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, yield)
+ beginClassDeclaration(class, null, null, null, yield)
handleNoType(yield)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46346.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46346.dart.intertwined.expect
index 6c9c866..d873666 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46346.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46346.dart.intertwined.expect
@@ -6,16 +6,16 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(abstract, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'abstract' as a name here., null, {lexeme: abstract}], abstract, abstract)
listener: handleIdentifier(abstract, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, abstract)
+ listener: beginClassDeclaration(class, null, null, null, abstract)
parseClass(abstract, class, class, abstract)
parseClassHeaderOpt(abstract, class, class)
parseClassExtendsOpt(abstract)
@@ -36,16 +36,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(as, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'as' as a name here., null, {lexeme: as}], as, as)
listener: handleIdentifier(as, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, as)
+ listener: beginClassDeclaration(class, null, null, null, as)
parseClass(as, class, class, as)
parseClassHeaderOpt(as, class, class)
parseClassExtendsOpt(as)
@@ -66,16 +66,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(assert, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'assert' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: assert}], assert, assert)
listener: handleIdentifier(assert, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, assert)
+ listener: beginClassDeclaration(class, null, null, null, assert)
parseClass(assert, class, class, assert)
parseClassHeaderOpt(assert, class, class)
parseClassExtendsOpt(assert)
@@ -96,14 +96,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(async, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, async)
+ listener: beginClassDeclaration(class, null, null, null, async)
parseClass(async, class, class, async)
parseClassHeaderOpt(async, class, class)
parseClassExtendsOpt(async)
@@ -124,14 +124,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(await, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, await)
+ listener: beginClassDeclaration(class, null, null, null, await)
parseClass(await, class, class, await)
parseClassHeaderOpt(await, class, class)
parseClassExtendsOpt(await)
@@ -152,16 +152,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(break, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'break' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: break}], break, break)
listener: handleIdentifier(break, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, break)
+ listener: beginClassDeclaration(class, null, null, null, break)
parseClass(break, class, class, break)
parseClassHeaderOpt(break, class, class)
parseClassExtendsOpt(break)
@@ -182,16 +182,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(case, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'case' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: case}], case, case)
listener: handleIdentifier(case, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, case)
+ listener: beginClassDeclaration(class, null, null, null, case)
parseClass(case, class, class, case)
parseClassHeaderOpt(case, class, class)
parseClassExtendsOpt(case)
@@ -212,16 +212,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(catch, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'catch' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: catch}], catch, catch)
listener: handleIdentifier(catch, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, catch)
+ listener: beginClassDeclaration(class, null, null, null, catch)
parseClass(catch, class, class, catch)
parseClassHeaderOpt(catch, class, class)
parseClassExtendsOpt(catch)
@@ -242,16 +242,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(class, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'class' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: class}], class, class)
listener: handleIdentifier(class, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, class)
+ listener: beginClassDeclaration(class, null, null, null, class)
parseClass(class, class, class, class)
parseClassHeaderOpt(class, class, class)
parseClassExtendsOpt(class)
@@ -272,16 +272,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(const, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'const' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: const}], const, const)
listener: handleIdentifier(const, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, const)
+ listener: beginClassDeclaration(class, null, null, null, const)
parseClass(const, class, class, const)
parseClassHeaderOpt(const, class, class)
parseClassExtendsOpt(const)
@@ -302,16 +302,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(continue, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'continue' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: continue}], continue, continue)
listener: handleIdentifier(continue, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, continue)
+ listener: beginClassDeclaration(class, null, null, null, continue)
parseClass(continue, class, class, continue)
parseClassHeaderOpt(continue, class, class)
parseClassExtendsOpt(continue)
@@ -332,16 +332,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(covariant, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'covariant' as a name here., null, {lexeme: covariant}], covariant, covariant)
listener: handleIdentifier(covariant, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, covariant)
+ listener: beginClassDeclaration(class, null, null, null, covariant)
parseClass(covariant, class, class, covariant)
parseClassHeaderOpt(covariant, class, class)
parseClassExtendsOpt(covariant)
@@ -362,16 +362,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(default, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'default' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: default}], default, default)
listener: handleIdentifier(default, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, default)
+ listener: beginClassDeclaration(class, null, null, null, default)
parseClass(default, class, class, default)
parseClassHeaderOpt(default, class, class)
parseClassExtendsOpt(default)
@@ -392,16 +392,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(deferred, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'deferred' as a name here., null, {lexeme: deferred}], deferred, deferred)
listener: handleIdentifier(deferred, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, deferred)
+ listener: beginClassDeclaration(class, null, null, null, deferred)
parseClass(deferred, class, class, deferred)
parseClassHeaderOpt(deferred, class, class)
parseClassExtendsOpt(deferred)
@@ -422,16 +422,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(do, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'do' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: do}], do, do)
listener: handleIdentifier(do, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, do)
+ listener: beginClassDeclaration(class, null, null, null, do)
parseClass(do, class, class, do)
parseClassHeaderOpt(do, class, class)
parseClassExtendsOpt(do)
@@ -452,16 +452,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(dynamic, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'dynamic' as a name here., null, {lexeme: dynamic}], dynamic, dynamic)
listener: handleIdentifier(dynamic, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, dynamic)
+ listener: beginClassDeclaration(class, null, null, null, dynamic)
parseClass(dynamic, class, class, dynamic)
parseClassHeaderOpt(dynamic, class, class)
parseClassExtendsOpt(dynamic)
@@ -482,16 +482,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(else, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'else' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: else}], else, else)
listener: handleIdentifier(else, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, else)
+ listener: beginClassDeclaration(class, null, null, null, else)
parseClass(else, class, class, else)
parseClassHeaderOpt(else, class, class)
parseClassExtendsOpt(else)
@@ -512,16 +512,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(enum, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'enum' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: enum}], enum, enum)
listener: handleIdentifier(enum, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, enum)
+ listener: beginClassDeclaration(class, null, null, null, enum)
parseClass(enum, class, class, enum)
parseClassHeaderOpt(enum, class, class)
parseClassExtendsOpt(enum)
@@ -542,16 +542,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(export, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'export' as a name here., null, {lexeme: export}], export, export)
listener: handleIdentifier(export, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, export)
+ listener: beginClassDeclaration(class, null, null, null, export)
parseClass(export, class, class, export)
parseClassHeaderOpt(export, class, class)
parseClassExtendsOpt(export)
@@ -572,16 +572,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(extends, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'extends' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: extends}], extends, extends)
listener: handleIdentifier(extends, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, extends)
+ listener: beginClassDeclaration(class, null, null, null, extends)
parseClass(extends, class, class, extends)
parseClassHeaderOpt(extends, class, class)
parseClassExtendsOpt(extends)
@@ -602,16 +602,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(extension, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'extension' as a name here., null, {lexeme: extension}], extension, extension)
listener: handleIdentifier(extension, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, extension)
+ listener: beginClassDeclaration(class, null, null, null, extension)
parseClass(extension, class, class, extension)
parseClassHeaderOpt(extension, class, class)
parseClassExtendsOpt(extension)
@@ -632,16 +632,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(external, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'external' as a name here., null, {lexeme: external}], external, external)
listener: handleIdentifier(external, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, external)
+ listener: beginClassDeclaration(class, null, null, null, external)
parseClass(external, class, class, external)
parseClassHeaderOpt(external, class, class)
parseClassExtendsOpt(external)
@@ -662,16 +662,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(factory, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'factory' as a name here., null, {lexeme: factory}], factory, factory)
listener: handleIdentifier(factory, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, factory)
+ listener: beginClassDeclaration(class, null, null, null, factory)
parseClass(factory, class, class, factory)
parseClassHeaderOpt(factory, class, class)
parseClassExtendsOpt(factory)
@@ -692,16 +692,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(false, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'false' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: false}], false, false)
listener: handleIdentifier(false, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, false)
+ listener: beginClassDeclaration(class, null, null, null, false)
parseClass(false, class, class, false)
parseClassHeaderOpt(false, class, class)
parseClassExtendsOpt(false)
@@ -722,16 +722,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(final, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'final' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: final}], final, final)
listener: handleIdentifier(final, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, final)
+ listener: beginClassDeclaration(class, null, null, null, final)
parseClass(final, class, class, final)
parseClassHeaderOpt(final, class, class)
parseClassExtendsOpt(final)
@@ -752,16 +752,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(finally, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'finally' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: finally}], finally, finally)
listener: handleIdentifier(finally, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, finally)
+ listener: beginClassDeclaration(class, null, null, null, finally)
parseClass(finally, class, class, finally)
parseClassHeaderOpt(finally, class, class)
parseClassExtendsOpt(finally)
@@ -782,16 +782,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(for, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'for' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: for}], for, for)
listener: handleIdentifier(for, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, for)
+ listener: beginClassDeclaration(class, null, null, null, for)
parseClass(for, class, class, for)
parseClassHeaderOpt(for, class, class)
parseClassExtendsOpt(for)
@@ -812,14 +812,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Function, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Function)
+ listener: beginClassDeclaration(class, null, null, null, Function)
parseClass(Function, class, class, Function)
parseClassHeaderOpt(Function, class, class)
parseClassExtendsOpt(Function)
@@ -840,16 +840,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(get, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'get' as a name here., null, {lexeme: get}], get, get)
listener: handleIdentifier(get, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, get)
+ listener: beginClassDeclaration(class, null, null, null, get)
parseClass(get, class, class, get)
parseClassHeaderOpt(get, class, class)
parseClassExtendsOpt(get)
@@ -870,14 +870,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(hide, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, hide)
+ listener: beginClassDeclaration(class, null, null, null, hide)
parseClass(hide, class, class, hide)
parseClassHeaderOpt(hide, class, class)
parseClassExtendsOpt(hide)
@@ -898,16 +898,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(if, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'if' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: if}], if, if)
listener: handleIdentifier(if, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, if)
+ listener: beginClassDeclaration(class, null, null, null, if)
parseClass(if, class, class, if)
parseClassHeaderOpt(if, class, class)
parseClassExtendsOpt(if)
@@ -928,16 +928,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(implements, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'implements' as a name here., null, {lexeme: implements}], implements, implements)
listener: handleIdentifier(implements, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, implements)
+ listener: beginClassDeclaration(class, null, null, null, implements)
parseClass(implements, class, class, implements)
parseClassHeaderOpt(implements, class, class)
parseClassExtendsOpt(implements)
@@ -958,16 +958,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(import, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'import' as a name here., null, {lexeme: import}], import, import)
listener: handleIdentifier(import, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, import)
+ listener: beginClassDeclaration(class, null, null, null, import)
parseClass(import, class, class, import)
parseClassHeaderOpt(import, class, class)
parseClassExtendsOpt(import)
@@ -988,16 +988,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(in, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'in' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: in}], in, in)
listener: handleIdentifier(in, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, in)
+ listener: beginClassDeclaration(class, null, null, null, in)
parseClass(in, class, class, in)
parseClassHeaderOpt(in, class, class)
parseClassExtendsOpt(in)
@@ -1018,14 +1018,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(inout, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, inout)
+ listener: beginClassDeclaration(class, null, null, null, inout)
parseClass(inout, class, class, inout)
parseClassHeaderOpt(inout, class, class)
parseClassExtendsOpt(inout)
@@ -1046,16 +1046,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(interface, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'interface' as a name here., null, {lexeme: interface}], interface, interface)
listener: handleIdentifier(interface, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, interface)
+ listener: beginClassDeclaration(class, null, null, null, interface)
parseClass(interface, class, class, interface)
parseClassHeaderOpt(interface, class, class)
parseClassExtendsOpt(interface)
@@ -1076,16 +1076,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(is, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'is' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: is}], is, is)
listener: handleIdentifier(is, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, is)
+ listener: beginClassDeclaration(class, null, null, null, is)
parseClass(is, class, class, is)
parseClassHeaderOpt(is, class, class)
parseClassExtendsOpt(is)
@@ -1106,16 +1106,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(late, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'late' as a name here., null, {lexeme: late}], late, late)
listener: handleIdentifier(late, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, late)
+ listener: beginClassDeclaration(class, null, null, null, late)
parseClass(late, class, class, late)
parseClassHeaderOpt(late, class, class)
parseClassExtendsOpt(late)
@@ -1136,16 +1136,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(library, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'library' as a name here., null, {lexeme: library}], library, library)
listener: handleIdentifier(library, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, library)
+ listener: beginClassDeclaration(class, null, null, null, library)
parseClass(library, class, class, library)
parseClassHeaderOpt(library, class, class)
parseClassExtendsOpt(library)
@@ -1166,16 +1166,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(mixin, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'mixin' as a name here., null, {lexeme: mixin}], mixin, mixin)
listener: handleIdentifier(mixin, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, mixin)
+ listener: beginClassDeclaration(class, null, null, null, mixin)
parseClass(mixin, class, class, mixin)
parseClassHeaderOpt(mixin, class, class)
parseClassExtendsOpt(mixin)
@@ -1196,14 +1196,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(native, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, native)
+ listener: beginClassDeclaration(class, null, null, null, native)
parseClass(native, class, class, native)
parseClassHeaderOpt(native, class, class)
parseClassExtendsOpt(native)
@@ -1224,16 +1224,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(new, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'new' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: new}], new, new)
listener: handleIdentifier(new, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, new)
+ listener: beginClassDeclaration(class, null, null, null, new)
parseClass(new, class, class, new)
parseClassHeaderOpt(new, class, class)
parseClassExtendsOpt(new)
@@ -1254,16 +1254,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(null, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'null' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: null}], null, null)
listener: handleIdentifier(null, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, null)
+ listener: beginClassDeclaration(class, null, null, null, null)
parseClass(null, class, class, null)
parseClassHeaderOpt(null, class, class)
parseClassExtendsOpt(null)
@@ -1284,14 +1284,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(of, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, of)
+ listener: beginClassDeclaration(class, null, null, null, of)
parseClass(of, class, class, of)
parseClassHeaderOpt(of, class, class)
parseClassExtendsOpt(of)
@@ -1312,14 +1312,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(on, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, on)
+ listener: beginClassDeclaration(class, null, null, null, on)
parseClass(on, class, class, on)
parseClassHeaderOpt(on, class, class)
parseClassExtendsOpt(on)
@@ -1340,16 +1340,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(operator, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'operator' as a name here., null, {lexeme: operator}], operator, operator)
listener: handleIdentifier(operator, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, operator)
+ listener: beginClassDeclaration(class, null, null, null, operator)
parseClass(operator, class, class, operator)
parseClassHeaderOpt(operator, class, class)
parseClassExtendsOpt(operator)
@@ -1370,14 +1370,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(out, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, out)
+ listener: beginClassDeclaration(class, null, null, null, out)
parseClass(out, class, class, out)
parseClassHeaderOpt(out, class, class)
parseClassExtendsOpt(out)
@@ -1398,16 +1398,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(part, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'part' as a name here., null, {lexeme: part}], part, part)
listener: handleIdentifier(part, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, part)
+ listener: beginClassDeclaration(class, null, null, null, part)
parseClass(part, class, class, part)
parseClassHeaderOpt(part, class, class)
parseClassExtendsOpt(part)
@@ -1428,14 +1428,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(patch, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, patch)
+ listener: beginClassDeclaration(class, null, null, null, patch)
parseClass(patch, class, class, patch)
parseClassHeaderOpt(patch, class, class)
parseClassExtendsOpt(patch)
@@ -1456,16 +1456,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(required, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'required' as a name here., null, {lexeme: required}], required, required)
listener: handleIdentifier(required, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, required)
+ listener: beginClassDeclaration(class, null, null, null, required)
parseClass(required, class, class, required)
parseClassHeaderOpt(required, class, class)
parseClassExtendsOpt(required)
@@ -1486,16 +1486,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(rethrow, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'rethrow' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: rethrow}], rethrow, rethrow)
listener: handleIdentifier(rethrow, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, rethrow)
+ listener: beginClassDeclaration(class, null, null, null, rethrow)
parseClass(rethrow, class, class, rethrow)
parseClassHeaderOpt(rethrow, class, class)
parseClassExtendsOpt(rethrow)
@@ -1516,16 +1516,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(return, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'return' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: return}], return, return)
listener: handleIdentifier(return, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, return)
+ listener: beginClassDeclaration(class, null, null, null, return)
parseClass(return, class, class, return)
parseClassHeaderOpt(return, class, class)
parseClassExtendsOpt(return)
@@ -1546,16 +1546,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(set, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'set' as a name here., null, {lexeme: set}], set, set)
listener: handleIdentifier(set, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, set)
+ listener: beginClassDeclaration(class, null, null, null, set)
parseClass(set, class, class, set)
parseClassHeaderOpt(set, class, class)
parseClassExtendsOpt(set)
@@ -1576,14 +1576,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(show, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, show)
+ listener: beginClassDeclaration(class, null, null, null, show)
parseClass(show, class, class, show)
parseClassHeaderOpt(show, class, class)
parseClassExtendsOpt(show)
@@ -1604,14 +1604,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(source, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, source)
+ listener: beginClassDeclaration(class, null, null, null, source)
parseClass(source, class, class, source)
parseClassHeaderOpt(source, class, class)
parseClassExtendsOpt(source)
@@ -1632,16 +1632,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(static, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'static' as a name here., null, {lexeme: static}], static, static)
listener: handleIdentifier(static, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, static)
+ listener: beginClassDeclaration(class, null, null, null, static)
parseClass(static, class, class, static)
parseClassHeaderOpt(static, class, class)
parseClassExtendsOpt(static)
@@ -1662,16 +1662,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(super, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
listener: handleIdentifier(super, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, super)
+ listener: beginClassDeclaration(class, null, null, null, super)
parseClass(super, class, class, super)
parseClassHeaderOpt(super, class, class)
parseClassExtendsOpt(super)
@@ -1692,16 +1692,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(switch, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'switch' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: switch}], switch, switch)
listener: handleIdentifier(switch, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, switch)
+ listener: beginClassDeclaration(class, null, null, null, switch)
parseClass(switch, class, class, switch)
parseClassHeaderOpt(switch, class, class)
parseClassExtendsOpt(switch)
@@ -1722,14 +1722,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(sync, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, sync)
+ listener: beginClassDeclaration(class, null, null, null, sync)
parseClass(sync, class, class, sync)
parseClassHeaderOpt(sync, class, class)
parseClassExtendsOpt(sync)
@@ -1750,16 +1750,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(this, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'this' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: this}], this, this)
listener: handleIdentifier(this, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, this)
+ listener: beginClassDeclaration(class, null, null, null, this)
parseClass(this, class, class, this)
parseClassHeaderOpt(this, class, class)
parseClassExtendsOpt(this)
@@ -1780,16 +1780,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(throw, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'throw' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: throw}], throw, throw)
listener: handleIdentifier(throw, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, throw)
+ listener: beginClassDeclaration(class, null, null, null, throw)
parseClass(throw, class, class, throw)
parseClassHeaderOpt(throw, class, class)
parseClassExtendsOpt(throw)
@@ -1810,16 +1810,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(true, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'true' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: true}], true, true)
listener: handleIdentifier(true, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, true)
+ listener: beginClassDeclaration(class, null, null, null, true)
parseClass(true, class, class, true)
parseClassHeaderOpt(true, class, class)
parseClassExtendsOpt(true)
@@ -1840,16 +1840,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(try, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'try' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: try}], try, try)
listener: handleIdentifier(try, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, try)
+ listener: beginClassDeclaration(class, null, null, null, try)
parseClass(try, class, class, try)
parseClassHeaderOpt(try, class, class)
parseClassExtendsOpt(try)
@@ -1870,16 +1870,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(typedef, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'typedef' as a name here., null, {lexeme: typedef}], typedef, typedef)
listener: handleIdentifier(typedef, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, typedef)
+ listener: beginClassDeclaration(class, null, null, null, typedef)
parseClass(typedef, class, class, typedef)
parseClassHeaderOpt(typedef, class, class)
parseClassExtendsOpt(typedef)
@@ -1900,16 +1900,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(var, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'var' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: var}], var, var)
listener: handleIdentifier(var, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, var)
+ listener: beginClassDeclaration(class, null, null, null, var)
parseClass(var, class, class, var)
parseClassHeaderOpt(var, class, class)
parseClassExtendsOpt(var)
@@ -1930,16 +1930,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(void, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'void' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: void}], void, void)
listener: handleIdentifier(void, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, void)
+ listener: beginClassDeclaration(class, null, null, null, void)
parseClass(void, class, class, void)
parseClassHeaderOpt(void, class, class)
parseClassExtendsOpt(void)
@@ -1960,16 +1960,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(while, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'while' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: while}], while, while)
listener: handleIdentifier(while, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, while)
+ listener: beginClassDeclaration(class, null, null, null, while)
parseClass(while, class, class, while)
parseClassHeaderOpt(while, class, class)
parseClassExtendsOpt(while)
@@ -1990,16 +1990,16 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(with, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'with' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: with}], with, with)
listener: handleIdentifier(with, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, with)
+ listener: beginClassDeclaration(class, null, null, null, with)
parseClass(with, class, class, with)
parseClassHeaderOpt(with, class, class)
parseClassExtendsOpt(with)
@@ -2020,14 +2020,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(yield, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, yield)
+ listener: beginClassDeclaration(class, null, null, null, yield)
parseClass(yield, class, class, yield)
parseClassHeaderOpt(yield, class, class)
parseClassExtendsOpt(yield)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_1.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_1.dart.expect
index b29582c..c9c3900 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_1.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_1.dart.expect
@@ -227,7 +227,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'abstract' as a name here., null, {lexeme: abstract}], abstract, abstract)
handleIdentifier(abstract, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, abstract)
+ beginNamedMixinApplication(class, null, null, null, abstract)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -245,7 +245,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'as' as a name here., null, {lexeme: as}], as, as)
handleIdentifier(as, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, as)
+ beginNamedMixinApplication(class, null, null, null, as)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -263,7 +263,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'assert' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: assert}], assert, assert)
handleIdentifier(assert, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, assert)
+ beginNamedMixinApplication(class, null, null, null, assert)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -280,7 +280,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(async, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, async)
+ beginNamedMixinApplication(class, null, null, null, async)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -297,7 +297,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(await, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, await)
+ beginNamedMixinApplication(class, null, null, null, await)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -315,7 +315,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'break' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: break}], break, break)
handleIdentifier(break, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, break)
+ beginNamedMixinApplication(class, null, null, null, break)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -333,7 +333,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'case' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: case}], case, case)
handleIdentifier(case, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, case)
+ beginNamedMixinApplication(class, null, null, null, case)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -351,7 +351,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'catch' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: catch}], catch, catch)
handleIdentifier(catch, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, catch)
+ beginNamedMixinApplication(class, null, null, null, catch)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -369,7 +369,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'class' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: class}], class, class)
handleIdentifier(class, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, class)
+ beginNamedMixinApplication(class, null, null, null, class)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -387,7 +387,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'const' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: const}], const, const)
handleIdentifier(const, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, const)
+ beginNamedMixinApplication(class, null, null, null, const)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -405,7 +405,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'continue' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: continue}], continue, continue)
handleIdentifier(continue, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, continue)
+ beginNamedMixinApplication(class, null, null, null, continue)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -423,7 +423,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'covariant' as a name here., null, {lexeme: covariant}], covariant, covariant)
handleIdentifier(covariant, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, covariant)
+ beginNamedMixinApplication(class, null, null, null, covariant)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -441,7 +441,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'default' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: default}], default, default)
handleIdentifier(default, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, default)
+ beginNamedMixinApplication(class, null, null, null, default)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -459,7 +459,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'deferred' as a name here., null, {lexeme: deferred}], deferred, deferred)
handleIdentifier(deferred, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, deferred)
+ beginNamedMixinApplication(class, null, null, null, deferred)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -477,7 +477,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'do' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: do}], do, do)
handleIdentifier(do, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, do)
+ beginNamedMixinApplication(class, null, null, null, do)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -495,7 +495,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'dynamic' as a name here., null, {lexeme: dynamic}], dynamic, dynamic)
handleIdentifier(dynamic, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, dynamic)
+ beginNamedMixinApplication(class, null, null, null, dynamic)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -513,7 +513,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'else' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: else}], else, else)
handleIdentifier(else, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, else)
+ beginNamedMixinApplication(class, null, null, null, else)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -531,7 +531,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'enum' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: enum}], enum, enum)
handleIdentifier(enum, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, enum)
+ beginNamedMixinApplication(class, null, null, null, enum)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -549,7 +549,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'export' as a name here., null, {lexeme: export}], export, export)
handleIdentifier(export, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, export)
+ beginNamedMixinApplication(class, null, null, null, export)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -567,7 +567,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'extends' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: extends}], extends, extends)
handleIdentifier(extends, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, extends)
+ beginNamedMixinApplication(class, null, null, null, extends)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -585,7 +585,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'extension' as a name here., null, {lexeme: extension}], extension, extension)
handleIdentifier(extension, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, extension)
+ beginNamedMixinApplication(class, null, null, null, extension)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -603,7 +603,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'external' as a name here., null, {lexeme: external}], external, external)
handleIdentifier(external, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, external)
+ beginNamedMixinApplication(class, null, null, null, external)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -621,7 +621,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'factory' as a name here., null, {lexeme: factory}], factory, factory)
handleIdentifier(factory, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, factory)
+ beginNamedMixinApplication(class, null, null, null, factory)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -639,7 +639,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'false' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: false}], false, false)
handleIdentifier(false, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, false)
+ beginNamedMixinApplication(class, null, null, null, false)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -657,7 +657,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'final' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: final}], final, final)
handleIdentifier(final, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, final)
+ beginNamedMixinApplication(class, null, null, null, final)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -675,7 +675,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'finally' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: finally}], finally, finally)
handleIdentifier(finally, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, finally)
+ beginNamedMixinApplication(class, null, null, null, finally)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -693,7 +693,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'for' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: for}], for, for)
handleIdentifier(for, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, for)
+ beginNamedMixinApplication(class, null, null, null, for)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -710,7 +710,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Function, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, Function)
+ beginNamedMixinApplication(class, null, null, null, Function)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -728,7 +728,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'get' as a name here., null, {lexeme: get}], get, get)
handleIdentifier(get, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, get)
+ beginNamedMixinApplication(class, null, null, null, get)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -745,7 +745,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(hide, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, hide)
+ beginNamedMixinApplication(class, null, null, null, hide)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -763,7 +763,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'if' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: if}], if, if)
handleIdentifier(if, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, if)
+ beginNamedMixinApplication(class, null, null, null, if)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -781,7 +781,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'implements' as a name here., null, {lexeme: implements}], implements, implements)
handleIdentifier(implements, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, implements)
+ beginNamedMixinApplication(class, null, null, null, implements)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -799,7 +799,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'import' as a name here., null, {lexeme: import}], import, import)
handleIdentifier(import, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, import)
+ beginNamedMixinApplication(class, null, null, null, import)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -817,7 +817,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'in' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: in}], in, in)
handleIdentifier(in, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, in)
+ beginNamedMixinApplication(class, null, null, null, in)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -834,7 +834,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(inout, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, inout)
+ beginNamedMixinApplication(class, null, null, null, inout)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -852,7 +852,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'interface' as a name here., null, {lexeme: interface}], interface, interface)
handleIdentifier(interface, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, interface)
+ beginNamedMixinApplication(class, null, null, null, interface)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -870,7 +870,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'is' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: is}], is, is)
handleIdentifier(is, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, is)
+ beginNamedMixinApplication(class, null, null, null, is)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -888,7 +888,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'late' as a name here., null, {lexeme: late}], late, late)
handleIdentifier(late, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, late)
+ beginNamedMixinApplication(class, null, null, null, late)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -906,7 +906,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'library' as a name here., null, {lexeme: library}], library, library)
handleIdentifier(library, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, library)
+ beginNamedMixinApplication(class, null, null, null, library)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -924,7 +924,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'mixin' as a name here., null, {lexeme: mixin}], mixin, mixin)
handleIdentifier(mixin, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, mixin)
+ beginNamedMixinApplication(class, null, null, null, mixin)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -941,7 +941,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(native, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, native)
+ beginNamedMixinApplication(class, null, null, null, native)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -959,7 +959,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'new' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: new}], new, new)
handleIdentifier(new, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, new)
+ beginNamedMixinApplication(class, null, null, null, new)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -977,7 +977,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'null' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: null}], null, null)
handleIdentifier(null, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, null)
+ beginNamedMixinApplication(class, null, null, null, null)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -994,7 +994,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(of, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, of)
+ beginNamedMixinApplication(class, null, null, null, of)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1011,7 +1011,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(on, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, on)
+ beginNamedMixinApplication(class, null, null, null, on)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1029,7 +1029,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'operator' as a name here., null, {lexeme: operator}], operator, operator)
handleIdentifier(operator, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, operator)
+ beginNamedMixinApplication(class, null, null, null, operator)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1046,7 +1046,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(out, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, out)
+ beginNamedMixinApplication(class, null, null, null, out)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1064,7 +1064,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'part' as a name here., null, {lexeme: part}], part, part)
handleIdentifier(part, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, part)
+ beginNamedMixinApplication(class, null, null, null, part)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1081,7 +1081,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(patch, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, patch)
+ beginNamedMixinApplication(class, null, null, null, patch)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1099,7 +1099,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'required' as a name here., null, {lexeme: required}], required, required)
handleIdentifier(required, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, required)
+ beginNamedMixinApplication(class, null, null, null, required)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1117,7 +1117,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'rethrow' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: rethrow}], rethrow, rethrow)
handleIdentifier(rethrow, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, rethrow)
+ beginNamedMixinApplication(class, null, null, null, rethrow)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1135,7 +1135,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'return' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: return}], return, return)
handleIdentifier(return, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, return)
+ beginNamedMixinApplication(class, null, null, null, return)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1153,7 +1153,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'set' as a name here., null, {lexeme: set}], set, set)
handleIdentifier(set, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, set)
+ beginNamedMixinApplication(class, null, null, null, set)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1170,7 +1170,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(show, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, show)
+ beginNamedMixinApplication(class, null, null, null, show)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1187,7 +1187,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(source, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, source)
+ beginNamedMixinApplication(class, null, null, null, source)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1205,7 +1205,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'static' as a name here., null, {lexeme: static}], static, static)
handleIdentifier(static, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, static)
+ beginNamedMixinApplication(class, null, null, null, static)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1223,7 +1223,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
handleIdentifier(super, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, super)
+ beginNamedMixinApplication(class, null, null, null, super)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1241,7 +1241,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'switch' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: switch}], switch, switch)
handleIdentifier(switch, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, switch)
+ beginNamedMixinApplication(class, null, null, null, switch)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1258,7 +1258,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(sync, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, sync)
+ beginNamedMixinApplication(class, null, null, null, sync)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1276,7 +1276,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'this' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: this}], this, this)
handleIdentifier(this, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, this)
+ beginNamedMixinApplication(class, null, null, null, this)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1294,7 +1294,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'throw' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: throw}], throw, throw)
handleIdentifier(throw, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, throw)
+ beginNamedMixinApplication(class, null, null, null, throw)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1312,7 +1312,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'true' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: true}], true, true)
handleIdentifier(true, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, true)
+ beginNamedMixinApplication(class, null, null, null, true)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1330,7 +1330,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'try' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: try}], try, try)
handleIdentifier(try, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, try)
+ beginNamedMixinApplication(class, null, null, null, try)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1348,7 +1348,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'typedef' as a name here., null, {lexeme: typedef}], typedef, typedef)
handleIdentifier(typedef, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, typedef)
+ beginNamedMixinApplication(class, null, null, null, typedef)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1366,7 +1366,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'var' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: var}], var, var)
handleIdentifier(var, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, var)
+ beginNamedMixinApplication(class, null, null, null, var)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1384,7 +1384,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'void' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: void}], void, void)
handleIdentifier(void, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, void)
+ beginNamedMixinApplication(class, null, null, null, void)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1402,7 +1402,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'while' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: while}], while, while)
handleIdentifier(while, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, while)
+ beginNamedMixinApplication(class, null, null, null, while)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1420,7 +1420,7 @@
handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'with' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: with}], with, with)
handleIdentifier(with, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, with)
+ beginNamedMixinApplication(class, null, null, null, with)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
@@ -1437,7 +1437,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(yield, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, null, yield)
+ beginNamedMixinApplication(class, null, null, null, yield)
handleIdentifier(A, typeReference)
handleNoTypeArguments(with)
handleType(A, null)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_1.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_1.dart.intertwined.expect
index 732268f..2ae1f5a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_1.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_1.dart.intertwined.expect
@@ -6,16 +6,16 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(abstract, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'abstract' as a name here., null, {lexeme: abstract}], abstract, abstract)
listener: handleIdentifier(abstract, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, abstract)
+ listener: beginNamedMixinApplication(class, null, null, null, abstract)
parseNamedMixinApplication(abstract, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -35,16 +35,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(as, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'as' as a name here., null, {lexeme: as}], as, as)
listener: handleIdentifier(as, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, as)
+ listener: beginNamedMixinApplication(class, null, null, null, as)
parseNamedMixinApplication(as, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -64,16 +64,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(assert, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'assert' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: assert}], assert, assert)
listener: handleIdentifier(assert, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, assert)
+ listener: beginNamedMixinApplication(class, null, null, null, assert)
parseNamedMixinApplication(assert, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -93,14 +93,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(async, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, async)
+ listener: beginNamedMixinApplication(class, null, null, null, async)
parseNamedMixinApplication(async, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -120,14 +120,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(await, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, await)
+ listener: beginNamedMixinApplication(class, null, null, null, await)
parseNamedMixinApplication(await, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -147,16 +147,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(break, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'break' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: break}], break, break)
listener: handleIdentifier(break, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, break)
+ listener: beginNamedMixinApplication(class, null, null, null, break)
parseNamedMixinApplication(break, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -176,16 +176,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(case, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'case' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: case}], case, case)
listener: handleIdentifier(case, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, case)
+ listener: beginNamedMixinApplication(class, null, null, null, case)
parseNamedMixinApplication(case, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -205,16 +205,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(catch, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'catch' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: catch}], catch, catch)
listener: handleIdentifier(catch, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, catch)
+ listener: beginNamedMixinApplication(class, null, null, null, catch)
parseNamedMixinApplication(catch, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -234,16 +234,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(class, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'class' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: class}], class, class)
listener: handleIdentifier(class, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, class)
+ listener: beginNamedMixinApplication(class, null, null, null, class)
parseNamedMixinApplication(class, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -263,16 +263,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(const, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'const' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: const}], const, const)
listener: handleIdentifier(const, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, const)
+ listener: beginNamedMixinApplication(class, null, null, null, const)
parseNamedMixinApplication(const, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -292,16 +292,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(continue, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'continue' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: continue}], continue, continue)
listener: handleIdentifier(continue, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, continue)
+ listener: beginNamedMixinApplication(class, null, null, null, continue)
parseNamedMixinApplication(continue, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -321,16 +321,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(covariant, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'covariant' as a name here., null, {lexeme: covariant}], covariant, covariant)
listener: handleIdentifier(covariant, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, covariant)
+ listener: beginNamedMixinApplication(class, null, null, null, covariant)
parseNamedMixinApplication(covariant, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -350,16 +350,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(default, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'default' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: default}], default, default)
listener: handleIdentifier(default, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, default)
+ listener: beginNamedMixinApplication(class, null, null, null, default)
parseNamedMixinApplication(default, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -379,16 +379,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(deferred, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'deferred' as a name here., null, {lexeme: deferred}], deferred, deferred)
listener: handleIdentifier(deferred, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, deferred)
+ listener: beginNamedMixinApplication(class, null, null, null, deferred)
parseNamedMixinApplication(deferred, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -408,16 +408,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(do, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'do' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: do}], do, do)
listener: handleIdentifier(do, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, do)
+ listener: beginNamedMixinApplication(class, null, null, null, do)
parseNamedMixinApplication(do, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -437,16 +437,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(dynamic, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'dynamic' as a name here., null, {lexeme: dynamic}], dynamic, dynamic)
listener: handleIdentifier(dynamic, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, dynamic)
+ listener: beginNamedMixinApplication(class, null, null, null, dynamic)
parseNamedMixinApplication(dynamic, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -466,16 +466,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(else, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'else' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: else}], else, else)
listener: handleIdentifier(else, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, else)
+ listener: beginNamedMixinApplication(class, null, null, null, else)
parseNamedMixinApplication(else, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -495,16 +495,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(enum, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'enum' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: enum}], enum, enum)
listener: handleIdentifier(enum, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, enum)
+ listener: beginNamedMixinApplication(class, null, null, null, enum)
parseNamedMixinApplication(enum, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -524,16 +524,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(export, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'export' as a name here., null, {lexeme: export}], export, export)
listener: handleIdentifier(export, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, export)
+ listener: beginNamedMixinApplication(class, null, null, null, export)
parseNamedMixinApplication(export, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -553,16 +553,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(extends, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'extends' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: extends}], extends, extends)
listener: handleIdentifier(extends, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, extends)
+ listener: beginNamedMixinApplication(class, null, null, null, extends)
parseNamedMixinApplication(extends, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -582,16 +582,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(extension, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'extension' as a name here., null, {lexeme: extension}], extension, extension)
listener: handleIdentifier(extension, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, extension)
+ listener: beginNamedMixinApplication(class, null, null, null, extension)
parseNamedMixinApplication(extension, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -611,16 +611,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(external, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'external' as a name here., null, {lexeme: external}], external, external)
listener: handleIdentifier(external, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, external)
+ listener: beginNamedMixinApplication(class, null, null, null, external)
parseNamedMixinApplication(external, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -640,16 +640,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(factory, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'factory' as a name here., null, {lexeme: factory}], factory, factory)
listener: handleIdentifier(factory, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, factory)
+ listener: beginNamedMixinApplication(class, null, null, null, factory)
parseNamedMixinApplication(factory, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -669,16 +669,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(false, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'false' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: false}], false, false)
listener: handleIdentifier(false, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, false)
+ listener: beginNamedMixinApplication(class, null, null, null, false)
parseNamedMixinApplication(false, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -698,16 +698,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(final, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'final' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: final}], final, final)
listener: handleIdentifier(final, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, final)
+ listener: beginNamedMixinApplication(class, null, null, null, final)
parseNamedMixinApplication(final, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -727,16 +727,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(finally, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'finally' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: finally}], finally, finally)
listener: handleIdentifier(finally, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, finally)
+ listener: beginNamedMixinApplication(class, null, null, null, finally)
parseNamedMixinApplication(finally, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -756,16 +756,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(for, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'for' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: for}], for, for)
listener: handleIdentifier(for, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, for)
+ listener: beginNamedMixinApplication(class, null, null, null, for)
parseNamedMixinApplication(for, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -785,14 +785,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Function, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, Function)
+ listener: beginNamedMixinApplication(class, null, null, null, Function)
parseNamedMixinApplication(Function, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -812,16 +812,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(get, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'get' as a name here., null, {lexeme: get}], get, get)
listener: handleIdentifier(get, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, get)
+ listener: beginNamedMixinApplication(class, null, null, null, get)
parseNamedMixinApplication(get, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -841,14 +841,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(hide, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, hide)
+ listener: beginNamedMixinApplication(class, null, null, null, hide)
parseNamedMixinApplication(hide, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -868,16 +868,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(if, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'if' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: if}], if, if)
listener: handleIdentifier(if, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, if)
+ listener: beginNamedMixinApplication(class, null, null, null, if)
parseNamedMixinApplication(if, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -897,16 +897,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(implements, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'implements' as a name here., null, {lexeme: implements}], implements, implements)
listener: handleIdentifier(implements, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, implements)
+ listener: beginNamedMixinApplication(class, null, null, null, implements)
parseNamedMixinApplication(implements, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -926,16 +926,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(import, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'import' as a name here., null, {lexeme: import}], import, import)
listener: handleIdentifier(import, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, import)
+ listener: beginNamedMixinApplication(class, null, null, null, import)
parseNamedMixinApplication(import, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -955,16 +955,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(in, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'in' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: in}], in, in)
listener: handleIdentifier(in, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, in)
+ listener: beginNamedMixinApplication(class, null, null, null, in)
parseNamedMixinApplication(in, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -984,14 +984,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(inout, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, inout)
+ listener: beginNamedMixinApplication(class, null, null, null, inout)
parseNamedMixinApplication(inout, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1011,16 +1011,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(interface, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'interface' as a name here., null, {lexeme: interface}], interface, interface)
listener: handleIdentifier(interface, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, interface)
+ listener: beginNamedMixinApplication(class, null, null, null, interface)
parseNamedMixinApplication(interface, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1040,16 +1040,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(is, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'is' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: is}], is, is)
listener: handleIdentifier(is, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, is)
+ listener: beginNamedMixinApplication(class, null, null, null, is)
parseNamedMixinApplication(is, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1069,16 +1069,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(late, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'late' as a name here., null, {lexeme: late}], late, late)
listener: handleIdentifier(late, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, late)
+ listener: beginNamedMixinApplication(class, null, null, null, late)
parseNamedMixinApplication(late, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1098,16 +1098,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(library, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'library' as a name here., null, {lexeme: library}], library, library)
listener: handleIdentifier(library, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, library)
+ listener: beginNamedMixinApplication(class, null, null, null, library)
parseNamedMixinApplication(library, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1127,16 +1127,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(mixin, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'mixin' as a name here., null, {lexeme: mixin}], mixin, mixin)
listener: handleIdentifier(mixin, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, mixin)
+ listener: beginNamedMixinApplication(class, null, null, null, mixin)
parseNamedMixinApplication(mixin, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1156,14 +1156,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(native, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, native)
+ listener: beginNamedMixinApplication(class, null, null, null, native)
parseNamedMixinApplication(native, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1183,16 +1183,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(new, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'new' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: new}], new, new)
listener: handleIdentifier(new, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, new)
+ listener: beginNamedMixinApplication(class, null, null, null, new)
parseNamedMixinApplication(new, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1212,16 +1212,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(null, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'null' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: null}], null, null)
listener: handleIdentifier(null, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, null)
+ listener: beginNamedMixinApplication(class, null, null, null, null)
parseNamedMixinApplication(null, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1241,14 +1241,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(of, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, of)
+ listener: beginNamedMixinApplication(class, null, null, null, of)
parseNamedMixinApplication(of, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1268,14 +1268,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(on, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, on)
+ listener: beginNamedMixinApplication(class, null, null, null, on)
parseNamedMixinApplication(on, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1295,16 +1295,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(operator, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'operator' as a name here., null, {lexeme: operator}], operator, operator)
listener: handleIdentifier(operator, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, operator)
+ listener: beginNamedMixinApplication(class, null, null, null, operator)
parseNamedMixinApplication(operator, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1324,14 +1324,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(out, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, out)
+ listener: beginNamedMixinApplication(class, null, null, null, out)
parseNamedMixinApplication(out, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1351,16 +1351,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(part, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'part' as a name here., null, {lexeme: part}], part, part)
listener: handleIdentifier(part, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, part)
+ listener: beginNamedMixinApplication(class, null, null, null, part)
parseNamedMixinApplication(part, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1380,14 +1380,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(patch, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, patch)
+ listener: beginNamedMixinApplication(class, null, null, null, patch)
parseNamedMixinApplication(patch, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1407,16 +1407,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(required, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'required' as a name here., null, {lexeme: required}], required, required)
listener: handleIdentifier(required, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, required)
+ listener: beginNamedMixinApplication(class, null, null, null, required)
parseNamedMixinApplication(required, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1436,16 +1436,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(rethrow, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'rethrow' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: rethrow}], rethrow, rethrow)
listener: handleIdentifier(rethrow, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, rethrow)
+ listener: beginNamedMixinApplication(class, null, null, null, rethrow)
parseNamedMixinApplication(rethrow, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1465,16 +1465,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(return, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'return' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: return}], return, return)
listener: handleIdentifier(return, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, return)
+ listener: beginNamedMixinApplication(class, null, null, null, return)
parseNamedMixinApplication(return, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1494,16 +1494,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(set, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'set' as a name here., null, {lexeme: set}], set, set)
listener: handleIdentifier(set, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, set)
+ listener: beginNamedMixinApplication(class, null, null, null, set)
parseNamedMixinApplication(set, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1523,14 +1523,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(show, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, show)
+ listener: beginNamedMixinApplication(class, null, null, null, show)
parseNamedMixinApplication(show, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1550,14 +1550,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(source, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, source)
+ listener: beginNamedMixinApplication(class, null, null, null, source)
parseNamedMixinApplication(source, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1577,16 +1577,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(static, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'static' as a name here., null, {lexeme: static}], static, static)
listener: handleIdentifier(static, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, static)
+ listener: beginNamedMixinApplication(class, null, null, null, static)
parseNamedMixinApplication(static, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1606,16 +1606,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(super, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'super' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: super}], super, super)
listener: handleIdentifier(super, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, super)
+ listener: beginNamedMixinApplication(class, null, null, null, super)
parseNamedMixinApplication(super, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1635,16 +1635,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(switch, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'switch' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: switch}], switch, switch)
listener: handleIdentifier(switch, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, switch)
+ listener: beginNamedMixinApplication(class, null, null, null, switch)
parseNamedMixinApplication(switch, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1664,14 +1664,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(sync, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, sync)
+ listener: beginNamedMixinApplication(class, null, null, null, sync)
parseNamedMixinApplication(sync, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1691,16 +1691,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(this, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'this' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: this}], this, this)
listener: handleIdentifier(this, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, this)
+ listener: beginNamedMixinApplication(class, null, null, null, this)
parseNamedMixinApplication(this, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1720,16 +1720,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(throw, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'throw' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: throw}], throw, throw)
listener: handleIdentifier(throw, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, throw)
+ listener: beginNamedMixinApplication(class, null, null, null, throw)
parseNamedMixinApplication(throw, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1749,16 +1749,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(true, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'true' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: true}], true, true)
listener: handleIdentifier(true, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, true)
+ listener: beginNamedMixinApplication(class, null, null, null, true)
parseNamedMixinApplication(true, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1778,16 +1778,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(try, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'try' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: try}], try, try)
listener: handleIdentifier(try, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, try)
+ listener: beginNamedMixinApplication(class, null, null, null, try)
parseNamedMixinApplication(try, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1807,16 +1807,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(typedef, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'typedef' as a name here., null, {lexeme: typedef}], typedef, typedef)
listener: handleIdentifier(typedef, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, typedef)
+ listener: beginNamedMixinApplication(class, null, null, null, typedef)
parseNamedMixinApplication(typedef, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1836,16 +1836,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(var, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'var' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: var}], var, var)
listener: handleIdentifier(var, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, var)
+ listener: beginNamedMixinApplication(class, null, null, null, var)
parseNamedMixinApplication(var, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1865,16 +1865,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(void, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'void' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: void}], void, void)
listener: handleIdentifier(void, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, void)
+ listener: beginNamedMixinApplication(class, null, null, null, void)
parseNamedMixinApplication(void, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1894,16 +1894,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(while, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'while' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: while}], while, while)
listener: handleIdentifier(while, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, while)
+ listener: beginNamedMixinApplication(class, null, null, null, while)
parseNamedMixinApplication(while, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1923,16 +1923,16 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(with, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[ExpectedIdentifierButGotKeyword, 'with' can't be used as an identifier because it's a keyword., Try renaming this to be an identifier that isn't a keyword., {lexeme: with}], with, with)
listener: handleIdentifier(with, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, with)
+ listener: beginNamedMixinApplication(class, null, null, null, with)
parseNamedMixinApplication(with, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
@@ -1952,14 +1952,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(yield, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, null, yield)
+ listener: beginNamedMixinApplication(class, null, null, null, yield)
parseNamedMixinApplication(yield, class, class)
listener: handleIdentifier(A, typeReference)
listener: handleNoTypeArguments(with)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_2.dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_2.dart.expect
index 4d447d1..2e8af5e 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_2.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_2.dart.expect
@@ -20,7 +20,7 @@
// WARNING: Reporting at eof for .
handleIdentifier(, classOrMixinDeclaration)
handleNoTypeVariables()
- beginClassDeclaration(class, null, null, )
+ beginClassDeclaration(class, null, null, null, )
handleNoType()
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_2.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_2.dart.intertwined.expect
index 64a2d2b..d6e9761 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_2.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46346_prime_2.dart.intertwined.expect
@@ -6,9 +6,9 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
insertSyntheticIdentifier(class, classOrMixinDeclaration, message: Message[ExpectedIdentifier, Expected an identifier, but got ''., Try inserting an identifier before ''., {lexeme: }], messageOnToken: null)
@@ -18,7 +18,7 @@
rewriter()
listener: handleIdentifier(, classOrMixinDeclaration)
listener: handleNoTypeVariables()
- listener: beginClassDeclaration(class, null, null, )
+ listener: beginClassDeclaration(class, null, null, null, )
parseClass(, class, class, )
parseClassHeaderOpt(, class, class)
parseClassExtendsOpt()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505.crash_dart.expect
index 63e8b06..b3a0c42 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505.crash_dart.expect
@@ -30,7 +30,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -67,7 +67,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(B, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, B)
+ beginClassDeclaration(class, null, null, null, B)
handleNoType(B)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505.crash_dart.intertwined.expect
index 08cfe6a..de02c36 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
@@ -73,14 +73,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(B, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, B)
+ listener: beginClassDeclaration(class, null, null, null, B)
parseClass(B, class, class, B)
parseClassHeaderOpt(B, class, class)
parseClassExtendsOpt(B)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_1.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_1.crash_dart.expect
index a9ee40d..5833237 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_1.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_1.crash_dart.expect
@@ -10,7 +10,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_1.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_1.crash_dart.intertwined.expect
index 4ee602f..d014071 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_1.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_1.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_2.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_2.crash_dart.expect
index 78cd4a8..bfba3a4 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_2.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_2.crash_dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_2.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_2.crash_dart.intertwined.expect
index f5178bd..7c4babb 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_2.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_2.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_3.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_3.crash_dart.expect
index dad6879..9bd5718 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_3.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_3.crash_dart.expect
@@ -18,7 +18,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_3.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_3.crash_dart.intertwined.expect
index 058793d..7feff58 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_3.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_3.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_4.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_4.crash_dart.expect
index fc06fb1..16793c9 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_4.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_4.crash_dart.expect
@@ -18,7 +18,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_4.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_4.crash_dart.intertwined.expect
index 0f37588..8caa8f6 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_4.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_4.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.expect
index e10973c..5dbe0ee 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.expect
@@ -82,7 +82,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -127,7 +127,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(B, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, B)
+ beginClassDeclaration(class, null, null, null, B)
handleNoType(B)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -199,7 +199,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.intertwined.expect
index fc2c4c6..31dd50e 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_5.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
@@ -83,14 +83,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(B, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, B)
+ listener: beginClassDeclaration(class, null, null, null, B)
parseClass(B, class, class, B)
parseClassHeaderOpt(B, class, class)
parseClassExtendsOpt(B)
@@ -197,14 +197,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_6.crash_dart.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_6.crash_dart.expect
index 151c812..daa104d 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_6.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_6.crash_dart.expect
@@ -10,7 +10,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_6.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_6.crash_dart.intertwined.expect
index 4c286fe..abf0da2 100644
--- a/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_6.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/issue_46505_prime_6.crash_dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.expect
index 673d794..bcdcfab 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.expect
@@ -138,7 +138,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(WrapperClass, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, WrapperClass)
+ beginClassDeclaration(class, null, null, null, WrapperClass)
handleNoType(WrapperClass)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect
index c6060ad..c0bccc3 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_fields.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(WrapperClass, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, WrapperClass)
+ listener: beginClassDeclaration(class, null, null, null, WrapperClass)
parseClass(WrapperClass, class, class, WrapperClass)
parseClassHeaderOpt(WrapperClass, class, class)
parseClassExtendsOpt(WrapperClass)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
index 34b8bbc..748134a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.expect
@@ -478,7 +478,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(WrapperClass, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, WrapperClass)
+ beginClassDeclaration(class, null, null, null, WrapperClass)
handleNoType(WrapperClass)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
index 9e74712..afc8d96 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_class_methods.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(WrapperClass, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, WrapperClass)
+ listener: beginClassDeclaration(class, null, null, null, WrapperClass)
parseClass(WrapperClass, class, class, WrapperClass)
parseClassHeaderOpt(WrapperClass, class, class)
parseClassExtendsOpt(WrapperClass)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_formal_parameter_start_of_next_top_level.dart.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_formal_parameter_start_of_next_top_level.dart.expect
index 5b96bf3..678fa33 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_formal_parameter_start_of_next_top_level.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_formal_parameter_start_of_next_top_level.dart.expect
@@ -35,7 +35,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_formal_parameter_start_of_next_top_level.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_formal_parameter_start_of_next_top_level.dart.intertwined.expect
index 0b284d4..2c4030a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_formal_parameter_start_of_next_top_level.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_formal_parameter_start_of_next_top_level.dart.intertwined.expect
@@ -49,14 +49,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.intertwined.expect
index 68d9dd8..9f13282 100644
--- a/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/keyword_named_typedefs.dart.intertwined.expect
@@ -6,7 +6,7 @@
parseMetadataStar()
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -28,7 +28,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -53,7 +53,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -75,7 +75,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -100,7 +100,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -122,7 +122,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -147,7 +147,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -167,7 +167,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -190,7 +190,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -210,7 +210,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -233,7 +233,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -255,7 +255,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -280,7 +280,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -302,7 +302,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -327,7 +327,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -349,7 +349,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -374,7 +374,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -396,7 +396,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -421,7 +421,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -443,7 +443,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -468,7 +468,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -490,7 +490,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -515,7 +515,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -537,7 +537,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -562,7 +562,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -584,7 +584,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -609,7 +609,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -631,7 +631,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -656,7 +656,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -678,7 +678,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -703,7 +703,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -725,7 +725,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -750,7 +750,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -772,7 +772,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -797,7 +797,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -819,7 +819,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -844,7 +844,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -866,7 +866,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -891,7 +891,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -913,7 +913,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -938,7 +938,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -960,7 +960,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -985,7 +985,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1007,7 +1007,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1032,7 +1032,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1054,7 +1054,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1079,7 +1079,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1101,7 +1101,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1126,7 +1126,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1148,7 +1148,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1173,7 +1173,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1195,7 +1195,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1220,7 +1220,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1242,7 +1242,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1267,7 +1267,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1289,7 +1289,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1314,7 +1314,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1336,7 +1336,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1361,7 +1361,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1381,7 +1381,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1404,7 +1404,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1426,7 +1426,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1451,7 +1451,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1473,7 +1473,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1498,7 +1498,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1520,7 +1520,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1545,7 +1545,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1567,7 +1567,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1592,7 +1592,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1612,7 +1612,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1635,7 +1635,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1657,7 +1657,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1682,7 +1682,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1704,7 +1704,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1729,7 +1729,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1751,7 +1751,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1776,7 +1776,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1798,7 +1798,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1823,7 +1823,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1845,7 +1845,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1870,7 +1870,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1890,7 +1890,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1913,7 +1913,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1935,7 +1935,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1960,7 +1960,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1982,7 +1982,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2007,7 +2007,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2027,7 +2027,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2050,7 +2050,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2070,7 +2070,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2093,7 +2093,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2115,7 +2115,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2140,7 +2140,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2160,7 +2160,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2183,7 +2183,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2205,7 +2205,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2230,7 +2230,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2250,7 +2250,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2273,7 +2273,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2295,7 +2295,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2320,7 +2320,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2342,7 +2342,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2367,7 +2367,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2389,7 +2389,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2414,7 +2414,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2436,7 +2436,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2461,7 +2461,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2481,7 +2481,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2504,7 +2504,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2524,7 +2524,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2547,7 +2547,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2569,7 +2569,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2594,7 +2594,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2616,7 +2616,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2641,7 +2641,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2663,7 +2663,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2688,7 +2688,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2708,7 +2708,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2731,7 +2731,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2753,7 +2753,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2778,7 +2778,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2800,7 +2800,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2825,7 +2825,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2847,7 +2847,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2872,7 +2872,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2894,7 +2894,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2919,7 +2919,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2941,7 +2941,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2966,7 +2966,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -2988,7 +2988,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -3013,7 +3013,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -3035,7 +3035,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -3103,7 +3103,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -3125,7 +3125,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -3150,7 +3150,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -3172,7 +3172,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -3197,7 +3197,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -3217,7 +3217,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.expect
index 38ec0b6..c39b30f 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.expect
@@ -30,7 +30,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.intertwined.expect
index eaf2a2d..b0a3a8c 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.expect
index ce905c8..10aff81 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.intertwined.expect
index 74b3c11..5288b66 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.expect
index fe1e36e..62126ec 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.expect
@@ -26,7 +26,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(B, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, B)
+ beginClassDeclaration(class, null, null, null, B)
handleNoType(B)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -52,7 +52,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(M1, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, M1)
+ beginClassDeclaration(class, null, null, null, M1)
handleNoType(M1)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.intertwined.expect b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.intertwined.expect
index 86fc4d7..abde46a 100644
--- a/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/error_recovery/method_called_with_prime2.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(B, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, B)
+ listener: beginClassDeclaration(class, null, null, null, B)
parseClass(B, class, class, B)
parseClassHeaderOpt(B, class, class)
parseClassExtendsOpt(B)
@@ -57,14 +57,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(M1, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, M1)
+ listener: beginClassDeclaration(class, null, null, null, M1)
parseClass(M1, class, class, M1)
parseClassHeaderOpt(M1, class, class)
parseClassExtendsOpt(M1)
diff --git a/pkg/front_end/parser_testcases/extension_named_type.dart.expect b/pkg/front_end/parser_testcases/extension_named_type.dart.expect
index 3f37bf0..e225c198 100644
--- a/pkg/front_end/parser_testcases/extension_named_type.dart.expect
+++ b/pkg/front_end/parser_testcases/extension_named_type.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/extension_named_type.dart.intertwined.expect b/pkg/front_end/parser_testcases/extension_named_type.dart.intertwined.expect
index 39d1b6c..34a44f1 100644
--- a/pkg/front_end/parser_testcases/extension_named_type.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/extension_named_type.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
@@ -34,7 +34,7 @@
parseMetadataStar(})
listener: beginMetadataStar(extension)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, extension, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, extension, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(}, extension)
parseExtension(extension)
listener: beginExtensionDeclarationPrelude(extension)
diff --git a/pkg/front_end/parser_testcases/extension_type.dart.expect b/pkg/front_end/parser_testcases/extension_type.dart.expect
index 2eb3be8..316dfd7 100644
--- a/pkg/front_end/parser_testcases/extension_type.dart.expect
+++ b/pkg/front_end/parser_testcases/extension_type.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/extension_type.dart.intertwined.expect b/pkg/front_end/parser_testcases/extension_type.dart.intertwined.expect
index e59e494..8b81ba4 100644
--- a/pkg/front_end/parser_testcases/extension_type.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/extension_type.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
@@ -34,7 +34,7 @@
parseMetadataStar(})
listener: beginMetadataStar(extension)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, extension, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, extension, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(}, extension)
parseExtension(extension)
listener: beginExtensionDeclarationPrelude(extension)
diff --git a/pkg/front_end/parser_testcases/extensions/covariant.dart.expect b/pkg/front_end/parser_testcases/extensions/covariant.dart.expect
index 01e24a9..db73130 100644
--- a/pkg/front_end/parser_testcases/extensions/covariant.dart.expect
+++ b/pkg/front_end/parser_testcases/extensions/covariant.dart.expect
@@ -10,7 +10,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -25,7 +25,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables(extends)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleIdentifier(A, typeReference)
handleNoTypeArguments({)
handleType(A, null)
diff --git a/pkg/front_end/parser_testcases/extensions/covariant.dart.intertwined.expect b/pkg/front_end/parser_testcases/extensions/covariant.dart.intertwined.expect
index 1394b80..ae84ff5 100644
--- a/pkg/front_end/parser_testcases/extensions/covariant.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/extensions/covariant.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
@@ -34,14 +34,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables(extends)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
@@ -65,7 +65,7 @@
parseMetadataStar(})
listener: beginMetadataStar(extension)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, extension, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, extension, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(}, extension)
parseExtension(extension)
listener: beginExtensionDeclarationPrelude(extension)
diff --git a/pkg/front_end/parser_testcases/extensions/not_covariant.dart.expect b/pkg/front_end/parser_testcases/extensions/not_covariant.dart.expect
index 9f907a0..acf77e1 100644
--- a/pkg/front_end/parser_testcases/extensions/not_covariant.dart.expect
+++ b/pkg/front_end/parser_testcases/extensions/not_covariant.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -19,7 +19,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables(extends)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleIdentifier(A, typeReference)
handleNoTypeArguments({)
handleType(A, null)
diff --git a/pkg/front_end/parser_testcases/extensions/not_covariant.dart.intertwined.expect b/pkg/front_end/parser_testcases/extensions/not_covariant.dart.intertwined.expect
index fa98447..1632b2d 100644
--- a/pkg/front_end/parser_testcases/extensions/not_covariant.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/extensions/not_covariant.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
@@ -34,14 +34,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables(extends)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
@@ -65,7 +65,7 @@
parseMetadataStar(})
listener: beginMetadataStar(extension)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, extension, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, extension, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(}, extension)
parseExtension(extension)
listener: beginExtensionDeclarationPrelude(extension)
diff --git a/pkg/front_end/parser_testcases/extensions/static.dart.expect b/pkg/front_end/parser_testcases/extensions/static.dart.expect
index cb69c93..e697392 100644
--- a/pkg/front_end/parser_testcases/extensions/static.dart.expect
+++ b/pkg/front_end/parser_testcases/extensions/static.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -19,7 +19,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables(extends)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleIdentifier(A, typeReference)
handleNoTypeArguments({)
handleType(A, null)
diff --git a/pkg/front_end/parser_testcases/extensions/static.dart.intertwined.expect b/pkg/front_end/parser_testcases/extensions/static.dart.intertwined.expect
index ac55bc5..0148f29 100644
--- a/pkg/front_end/parser_testcases/extensions/static.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/extensions/static.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
@@ -34,14 +34,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables(extends)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
@@ -65,7 +65,7 @@
parseMetadataStar(})
listener: beginMetadataStar(extension)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, extension, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, extension, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(}, extension)
parseExtension(extension)
listener: beginExtensionDeclarationPrelude(extension)
diff --git a/pkg/front_end/parser_testcases/extensions/static_covariant.dart.expect b/pkg/front_end/parser_testcases/extensions/static_covariant.dart.expect
index 8efa048..39a6f90 100644
--- a/pkg/front_end/parser_testcases/extensions/static_covariant.dart.expect
+++ b/pkg/front_end/parser_testcases/extensions/static_covariant.dart.expect
@@ -10,7 +10,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -25,7 +25,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables(extends)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleIdentifier(A, typeReference)
handleNoTypeArguments({)
handleType(A, null)
diff --git a/pkg/front_end/parser_testcases/extensions/static_covariant.dart.intertwined.expect b/pkg/front_end/parser_testcases/extensions/static_covariant.dart.intertwined.expect
index ef95892..04b0090f 100644
--- a/pkg/front_end/parser_testcases/extensions/static_covariant.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/extensions/static_covariant.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
@@ -34,14 +34,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables(extends)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
@@ -65,7 +65,7 @@
parseMetadataStar(})
listener: beginMetadataStar(extension)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, extension, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, extension, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(}, extension)
parseExtension(extension)
listener: beginExtensionDeclarationPrelude(extension)
diff --git a/pkg/front_end/parser_testcases/general/built_in_identifier_class_fields.dart.expect b/pkg/front_end/parser_testcases/general/built_in_identifier_class_fields.dart.expect
index c8d6b3b..6d8c4b0 100644
--- a/pkg/front_end/parser_testcases/general/built_in_identifier_class_fields.dart.expect
+++ b/pkg/front_end/parser_testcases/general/built_in_identifier_class_fields.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(WrapperClass, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, WrapperClass)
+ beginClassDeclaration(class, null, null, null, WrapperClass)
handleNoType(WrapperClass)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/general/built_in_identifier_class_fields.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/built_in_identifier_class_fields.dart.intertwined.expect
index 1ec01c0..b1246df 100644
--- a/pkg/front_end/parser_testcases/general/built_in_identifier_class_fields.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/built_in_identifier_class_fields.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(WrapperClass, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, WrapperClass)
+ listener: beginClassDeclaration(class, null, null, null, WrapperClass)
parseClass(WrapperClass, class, class, WrapperClass)
parseClassHeaderOpt(WrapperClass, class, class)
parseClassExtendsOpt(WrapperClass)
diff --git a/pkg/front_end/parser_testcases/general/built_in_identifier_class_methods.dart.expect b/pkg/front_end/parser_testcases/general/built_in_identifier_class_methods.dart.expect
index b89c4ab..3176b23 100644
--- a/pkg/front_end/parser_testcases/general/built_in_identifier_class_methods.dart.expect
+++ b/pkg/front_end/parser_testcases/general/built_in_identifier_class_methods.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(WrapperClass, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, WrapperClass)
+ beginClassDeclaration(class, null, null, null, WrapperClass)
handleNoType(WrapperClass)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/general/built_in_identifier_class_methods.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/built_in_identifier_class_methods.dart.intertwined.expect
index 375106c..d938765 100644
--- a/pkg/front_end/parser_testcases/general/built_in_identifier_class_methods.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/built_in_identifier_class_methods.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(WrapperClass, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, WrapperClass)
+ listener: beginClassDeclaration(class, null, null, null, WrapperClass)
parseClass(WrapperClass, class, class, WrapperClass)
parseClassHeaderOpt(WrapperClass, class, class)
parseClassExtendsOpt(WrapperClass)
diff --git a/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.intertwined.expect
index 1615902..e5525f37 100644
--- a/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/generic_function_typedef.dart.intertwined.expect
@@ -6,7 +6,7 @@
parseMetadataStar()
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -37,7 +37,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -72,7 +72,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -113,7 +113,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -158,7 +158,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -203,7 +203,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -248,7 +248,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -279,7 +279,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -314,7 +314,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -355,7 +355,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -400,7 +400,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -445,7 +445,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -490,7 +490,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -533,7 +533,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -580,7 +580,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -643,7 +643,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -710,7 +710,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -767,7 +767,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -824,7 +824,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -871,7 +871,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -922,7 +922,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -979,7 +979,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1040,7 +1040,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1101,7 +1101,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
diff --git a/pkg/front_end/parser_testcases/general/issue_41121.dart.expect b/pkg/front_end/parser_testcases/general/issue_41121.dart.expect
index 9132fd3..98af14a 100644
--- a/pkg/front_end/parser_testcases/general/issue_41121.dart.expect
+++ b/pkg/front_end/parser_testcases/general/issue_41121.dart.expect
@@ -46,7 +46,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(ConfigurationService, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, ConfigurationService)
+ beginClassDeclaration(class, null, null, null, ConfigurationService)
handleNoType(ConfigurationService)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -275,7 +275,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Configuration, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Configuration)
+ beginClassDeclaration(class, null, null, null, Configuration)
handleNoType(Configuration)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/general/issue_41121.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/issue_41121.dart.intertwined.expect
index d392486..98f1cbf 100644
--- a/pkg/front_end/parser_testcases/general/issue_41121.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/issue_41121.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(ConfigurationService, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, ConfigurationService)
+ listener: beginClassDeclaration(class, null, null, null, ConfigurationService)
parseClass(ConfigurationService, class, class, ConfigurationService)
parseClassHeaderOpt(ConfigurationService, class, class)
parseClassExtendsOpt(ConfigurationService)
@@ -511,14 +511,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Configuration, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Configuration)
+ listener: beginClassDeclaration(class, null, null, null, Configuration)
parseClass(Configuration, class, class, Configuration)
parseClassHeaderOpt(Configuration, class, class)
parseClassExtendsOpt(Configuration)
diff --git a/pkg/front_end/parser_testcases/general/issue_45120.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/issue_45120.dart.intertwined.expect
index 94b8325..ae4e0793 100644
--- a/pkg/front_end/parser_testcases/general/issue_45120.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/issue_45120.dart.intertwined.expect
@@ -28,7 +28,7 @@
listener: endArguments(1, (, ))
listener: endMetadata(@, null, typedef)
listener: endMetadataStar(1)
- parseTopLevelKeywordDeclaration(), typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(), typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(), typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
diff --git a/pkg/front_end/parser_testcases/general/metadata.dart.expect b/pkg/front_end/parser_testcases/general/metadata.dart.expect
index b86186a..6e3fbf8d 100644
--- a/pkg/front_end/parser_testcases/general/metadata.dart.expect
+++ b/pkg/front_end/parser_testcases/general/metadata.dart.expect
@@ -107,7 +107,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(X, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, X)
+ beginClassDeclaration(class, null, null, null, X)
handleNoType(X)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -939,7 +939,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Y, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Y)
+ beginClassDeclaration(class, null, null, null, Y)
handleNoType(Y)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/general/metadata.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/metadata.dart.intertwined.expect
index 3432673..eedd4f5 100644
--- a/pkg/front_end/parser_testcases/general/metadata.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/metadata.dart.intertwined.expect
@@ -228,14 +228,14 @@
listener: endArguments(1, (, ))
listener: endMetadata(@, ., class)
listener: endMetadataStar(10)
- parseTopLevelKeywordDeclaration(), class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(), class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(), class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(X, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, X)
+ listener: beginClassDeclaration(class, null, null, null, X)
parseClass(X, class, class, X)
parseClassHeaderOpt(X, class, class)
parseClassExtendsOpt(X)
@@ -256,7 +256,7 @@
parseMetadataStar(})
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(}, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -343,7 +343,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -442,7 +442,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -547,7 +547,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -664,7 +664,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -796,7 +796,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -934,7 +934,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1063,7 +1063,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1201,7 +1201,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1342,7 +1342,7 @@
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, typedef, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, typedef, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
@@ -1713,14 +1713,14 @@
listener: endArguments(1, (, ))
listener: endMetadata(@, ., class)
listener: endMetadataStar(9)
- parseTopLevelKeywordDeclaration(), class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(), class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(), class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Y, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Y)
+ listener: beginClassDeclaration(class, null, null, null, Y)
parseClass(Y, class, class, Y)
parseClassHeaderOpt(Y, class, class)
parseClassExtendsOpt(Y)
diff --git a/pkg/front_end/parser_testcases/general/new_as_identifier.dart.expect b/pkg/front_end/parser_testcases/general/new_as_identifier.dart.expect
index 419693a..3a2172f 100644
--- a/pkg/front_end/parser_testcases/general/new_as_identifier.dart.expect
+++ b/pkg/front_end/parser_testcases/general/new_as_identifier.dart.expect
@@ -46,7 +46,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -147,7 +147,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(D, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, D)
+ beginClassDeclaration(class, null, null, null, D)
handleNoType(D)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/general/new_as_identifier.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/new_as_identifier.dart.intertwined.expect
index 5976ef9..1ffccf3 100644
--- a/pkg/front_end/parser_testcases/general/new_as_identifier.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/new_as_identifier.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
@@ -233,14 +233,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(D, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, D)
+ listener: beginClassDeclaration(class, null, null, null, D)
parseClass(D, class, class, D)
parseClassHeaderOpt(D, class, class)
parseClassExtendsOpt(D)
diff --git a/pkg/front_end/parser_testcases/general/operator_01.dart.expect b/pkg/front_end/parser_testcases/general/operator_01.dart.expect
index 5c996b6..bc4a1a8 100644
--- a/pkg/front_end/parser_testcases/general/operator_01.dart.expect
+++ b/pkg/front_end/parser_testcases/general/operator_01.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/general/operator_01.dart.intertwined.expect b/pkg/front_end/parser_testcases/general/operator_01.dart.intertwined.expect
index 21ad05a..74b0981 100644
--- a/pkg/front_end/parser_testcases/general/operator_01.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/operator_01.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/general/operator_hat_class.crash_dart.expect b/pkg/front_end/parser_testcases/general/operator_hat_class.crash_dart.expect
index 52352ee..3cbd7e4 100644
--- a/pkg/front_end/parser_testcases/general/operator_hat_class.crash_dart.expect
+++ b/pkg/front_end/parser_testcases/general/operator_hat_class.crash_dart.expect
@@ -11,7 +11,7 @@
handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'operator' as a name here., null, {lexeme: operator}], operator, operator)
handleIdentifier(operator, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, operator)
+ beginClassDeclaration(class, null, null, null, operator)
handleNoType(operator)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/general/operator_hat_class.crash_dart.intertwined.expect b/pkg/front_end/parser_testcases/general/operator_hat_class.crash_dart.intertwined.expect
index 710f8db..bade773 100644
--- a/pkg/front_end/parser_testcases/general/operator_hat_class.crash_dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/general/operator_hat_class.crash_dart.intertwined.expect
@@ -6,16 +6,16 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
reportRecoverableErrorWithToken(operator, Instance of 'Template<(Token) => Message>')
listener: handleRecoverableError(Message[BuiltInIdentifierInDeclaration, Can't use 'operator' as a name here., null, {lexeme: operator}], operator, operator)
listener: handleIdentifier(operator, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, operator)
+ listener: beginClassDeclaration(class, null, null, null, operator)
parseClass(operator, class, class, operator)
parseClassHeaderOpt(operator, class, class)
parseClassExtendsOpt(operator)
diff --git a/pkg/front_end/parser_testcases/macros/augment_class.dart b/pkg/front_end/parser_testcases/macros/augment_class.dart
new file mode 100644
index 0000000..5164686
--- /dev/null
+++ b/pkg/front_end/parser_testcases/macros/augment_class.dart
@@ -0,0 +1,4 @@
+augment class Class {}
+abstract augment class Class {}
+augment class Class = Object with Mixin;
+abstract augment class Class = Object with Mixin;
\ No newline at end of file
diff --git a/pkg/front_end/parser_testcases/macros/augment_class.dart.expect b/pkg/front_end/parser_testcases/macros/augment_class.dart.expect
new file mode 100644
index 0000000..58bcf95
--- /dev/null
+++ b/pkg/front_end/parser_testcases/macros/augment_class.dart.expect
@@ -0,0 +1,66 @@
+beginCompilationUnit(augment)
+ beginMetadataStar(augment)
+ endMetadataStar(0)
+ beginClassOrMixinOrNamedMixinApplicationPrelude(class)
+ handleIdentifier(Class, classOrMixinDeclaration)
+ handleNoTypeVariables({)
+ beginClassDeclaration(class, null, null, augment, Class)
+ handleNoType(Class)
+ handleClassExtends(null, 1)
+ handleClassNoWithClause()
+ handleImplements(null, 0)
+ handleClassHeader(class, class, null)
+ beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
+ endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
+ endClassDeclaration(class, })
+ endTopLevelDeclaration(abstract)
+ beginMetadataStar(abstract)
+ endMetadataStar(0)
+ beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
+ handleIdentifier(Class, classOrMixinDeclaration)
+ handleNoTypeVariables({)
+ beginClassDeclaration(abstract, abstract, null, augment, Class)
+ handleNoType(Class)
+ handleClassExtends(null, 1)
+ handleClassNoWithClause()
+ handleImplements(null, 0)
+ handleClassHeader(abstract, class, null)
+ beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
+ endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
+ endClassDeclaration(abstract, })
+ endTopLevelDeclaration(augment)
+ beginMetadataStar(augment)
+ endMetadataStar(0)
+ beginClassOrMixinOrNamedMixinApplicationPrelude(class)
+ handleIdentifier(Class, classOrMixinDeclaration)
+ handleNoTypeVariables(=)
+ beginNamedMixinApplication(class, null, null, augment, Class)
+ handleIdentifier(Object, typeReference)
+ handleNoTypeArguments(with)
+ handleType(Object, null)
+ beginTypeList(Mixin)
+ handleIdentifier(Mixin, typeReference)
+ handleNoTypeArguments(;)
+ handleType(Mixin, null)
+ endTypeList(1)
+ handleNamedMixinApplicationWithClause(with)
+ endNamedMixinApplication(class, class, =, null, ;)
+ endTopLevelDeclaration(abstract)
+ beginMetadataStar(abstract)
+ endMetadataStar(0)
+ beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
+ handleIdentifier(Class, classOrMixinDeclaration)
+ handleNoTypeVariables(=)
+ beginNamedMixinApplication(abstract, abstract, null, augment, Class)
+ handleIdentifier(Object, typeReference)
+ handleNoTypeArguments(with)
+ handleType(Object, null)
+ beginTypeList(Mixin)
+ handleIdentifier(Mixin, typeReference)
+ handleNoTypeArguments(;)
+ handleType(Mixin, null)
+ endTypeList(1)
+ handleNamedMixinApplicationWithClause(with)
+ endNamedMixinApplication(abstract, class, =, null, ;)
+ endTopLevelDeclaration()
+endCompilationUnit(4, )
diff --git a/pkg/front_end/parser_testcases/macros/augment_class.dart.intertwined.expect b/pkg/front_end/parser_testcases/macros/augment_class.dart.intertwined.expect
new file mode 100644
index 0000000..3fde810
--- /dev/null
+++ b/pkg/front_end/parser_testcases/macros/augment_class.dart.intertwined.expect
@@ -0,0 +1,118 @@
+parseUnit(augment)
+ skipErrorTokens(augment)
+ listener: beginCompilationUnit(augment)
+ syntheticPreviousToken(augment)
+ parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext')
+ parseMetadataStar()
+ listener: beginMetadataStar(augment)
+ listener: endMetadataStar(0)
+ parseTopLevelKeywordDeclaration(, class, null, augment, Instance of 'DirectiveContext')
+ parseClassDeclarationModifiers(, augment)
+ parseClassOrNamedMixinApplication(null, null, augment, class)
+ listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
+ ensureIdentifier(class, classOrMixinDeclaration)
+ listener: handleIdentifier(Class, classOrMixinDeclaration)
+ listener: handleNoTypeVariables({)
+ listener: beginClassDeclaration(class, null, null, augment, Class)
+ parseClass(Class, class, class, Class)
+ parseClassHeaderOpt(Class, class, class)
+ parseClassExtendsOpt(Class)
+ listener: handleNoType(Class)
+ listener: handleClassExtends(null, 1)
+ parseClassWithClauseOpt(Class)
+ listener: handleClassNoWithClause()
+ parseClassOrMixinOrEnumImplementsOpt(Class)
+ listener: handleImplements(null, 0)
+ listener: handleClassHeader(class, class, null)
+ parseClassOrMixinOrExtensionBody(Class, DeclarationKind.Class, Class)
+ listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
+ notEofOrValue(}, })
+ listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
+ listener: endClassDeclaration(class, })
+ listener: endTopLevelDeclaration(abstract)
+ parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
+ parseMetadataStar(})
+ listener: beginMetadataStar(abstract)
+ listener: endMetadataStar(0)
+ parseTopLevelKeywordDeclaration(}, class, null, augment, Instance of 'DirectiveContext')
+ parseClassDeclarationModifiers(}, augment)
+ parseTopLevelKeywordModifiers(abstract, augment)
+ parseClassOrNamedMixinApplication(abstract, null, augment, class)
+ listener: beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
+ ensureIdentifier(class, classOrMixinDeclaration)
+ listener: handleIdentifier(Class, classOrMixinDeclaration)
+ listener: handleNoTypeVariables({)
+ listener: beginClassDeclaration(abstract, abstract, null, augment, Class)
+ parseClass(Class, abstract, class, Class)
+ parseClassHeaderOpt(Class, abstract, class)
+ parseClassExtendsOpt(Class)
+ listener: handleNoType(Class)
+ listener: handleClassExtends(null, 1)
+ parseClassWithClauseOpt(Class)
+ listener: handleClassNoWithClause()
+ parseClassOrMixinOrEnumImplementsOpt(Class)
+ listener: handleImplements(null, 0)
+ listener: handleClassHeader(abstract, class, null)
+ parseClassOrMixinOrExtensionBody(Class, DeclarationKind.Class, Class)
+ listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
+ notEofOrValue(}, })
+ listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, })
+ listener: endClassDeclaration(abstract, })
+ listener: endTopLevelDeclaration(augment)
+ parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
+ parseMetadataStar(})
+ listener: beginMetadataStar(augment)
+ listener: endMetadataStar(0)
+ parseTopLevelKeywordDeclaration(}, class, null, augment, Instance of 'DirectiveContext')
+ parseClassDeclarationModifiers(}, augment)
+ parseClassOrNamedMixinApplication(null, null, augment, class)
+ listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
+ ensureIdentifier(class, classOrMixinDeclaration)
+ listener: handleIdentifier(Class, classOrMixinDeclaration)
+ listener: handleNoTypeVariables(=)
+ listener: beginNamedMixinApplication(class, null, null, augment, Class)
+ parseNamedMixinApplication(Class, class, class)
+ listener: handleIdentifier(Object, typeReference)
+ listener: handleNoTypeArguments(with)
+ listener: handleType(Object, null)
+ parseMixinApplicationRest(Object)
+ parseTypeList(with)
+ listener: beginTypeList(Mixin)
+ listener: handleIdentifier(Mixin, typeReference)
+ listener: handleNoTypeArguments(;)
+ listener: handleType(Mixin, null)
+ listener: endTypeList(1)
+ listener: handleNamedMixinApplicationWithClause(with)
+ ensureSemicolon(Mixin)
+ listener: endNamedMixinApplication(class, class, =, null, ;)
+ listener: endTopLevelDeclaration(abstract)
+ parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
+ parseMetadataStar(;)
+ listener: beginMetadataStar(abstract)
+ listener: endMetadataStar(0)
+ parseTopLevelKeywordDeclaration(;, class, null, augment, Instance of 'DirectiveContext')
+ parseClassDeclarationModifiers(;, augment)
+ parseTopLevelKeywordModifiers(abstract, augment)
+ parseClassOrNamedMixinApplication(abstract, null, augment, class)
+ listener: beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
+ ensureIdentifier(class, classOrMixinDeclaration)
+ listener: handleIdentifier(Class, classOrMixinDeclaration)
+ listener: handleNoTypeVariables(=)
+ listener: beginNamedMixinApplication(abstract, abstract, null, augment, Class)
+ parseNamedMixinApplication(Class, abstract, class)
+ listener: handleIdentifier(Object, typeReference)
+ listener: handleNoTypeArguments(with)
+ listener: handleType(Object, null)
+ parseMixinApplicationRest(Object)
+ parseTypeList(with)
+ listener: beginTypeList(Mixin)
+ listener: handleIdentifier(Mixin, typeReference)
+ listener: handleNoTypeArguments(;)
+ listener: handleType(Mixin, null)
+ listener: endTypeList(1)
+ listener: handleNamedMixinApplicationWithClause(with)
+ ensureSemicolon(Mixin)
+ listener: endNamedMixinApplication(abstract, class, =, null, ;)
+ listener: endTopLevelDeclaration()
+ reportAllErrorTokens(augment)
+ listener: endCompilationUnit(4, )
diff --git a/pkg/front_end/parser_testcases/macros/augment_class.dart.parser.expect b/pkg/front_end/parser_testcases/macros/augment_class.dart.parser.expect
new file mode 100644
index 0000000..7808f04
--- /dev/null
+++ b/pkg/front_end/parser_testcases/macros/augment_class.dart.parser.expect
@@ -0,0 +1,9 @@
+augment class Class {}
+abstract augment class Class {}
+augment class Class = Object with Mixin;
+abstract augment class Class = Object with Mixin;
+
+augment[StringToken] class[KeywordToken] Class[StringToken] {[BeginToken]}[SimpleToken]
+abstract[KeywordToken] augment[StringToken] class[KeywordToken] Class[StringToken] {[BeginToken]}[SimpleToken]
+augment[StringToken] class[KeywordToken] Class[StringToken] =[SimpleToken] Object[StringToken] with[KeywordToken] Mixin[StringToken];[SimpleToken]
+abstract[KeywordToken] augment[StringToken] class[KeywordToken] Class[StringToken] =[SimpleToken] Object[StringToken] with[KeywordToken] Mixin[StringToken];[SimpleToken][SimpleToken]
diff --git a/pkg/front_end/parser_testcases/macros/augment_class.dart.scanner.expect b/pkg/front_end/parser_testcases/macros/augment_class.dart.scanner.expect
new file mode 100644
index 0000000..7808f04
--- /dev/null
+++ b/pkg/front_end/parser_testcases/macros/augment_class.dart.scanner.expect
@@ -0,0 +1,9 @@
+augment class Class {}
+abstract augment class Class {}
+augment class Class = Object with Mixin;
+abstract augment class Class = Object with Mixin;
+
+augment[StringToken] class[KeywordToken] Class[StringToken] {[BeginToken]}[SimpleToken]
+abstract[KeywordToken] augment[StringToken] class[KeywordToken] Class[StringToken] {[BeginToken]}[SimpleToken]
+augment[StringToken] class[KeywordToken] Class[StringToken] =[SimpleToken] Object[StringToken] with[KeywordToken] Mixin[StringToken];[SimpleToken]
+abstract[KeywordToken] augment[StringToken] class[KeywordToken] Class[StringToken] =[SimpleToken] Object[StringToken] with[KeywordToken] Mixin[StringToken];[SimpleToken][SimpleToken]
diff --git a/pkg/front_end/parser_testcases/macros/macro_class.dart.expect b/pkg/front_end/parser_testcases/macros/macro_class.dart.expect
index 3198253..ddf0d81 100644
--- a/pkg/front_end/parser_testcases/macros/macro_class.dart.expect
+++ b/pkg/front_end/parser_testcases/macros/macro_class.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, macro, Class)
+ beginClassDeclaration(class, null, macro, null, Class)
handleNoType(Class)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -19,7 +19,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(abstract, abstract, macro, Class)
+ beginClassDeclaration(abstract, abstract, macro, null, Class)
handleNoType(Class)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -34,7 +34,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(class, null, macro, Class)
+ beginNamedMixinApplication(class, null, macro, null, Class)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
@@ -51,7 +51,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
handleIdentifier(Class, classOrMixinDeclaration)
handleNoTypeVariables(=)
- beginNamedMixinApplication(abstract, abstract, macro, Class)
+ beginNamedMixinApplication(abstract, abstract, macro, null, Class)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(with)
handleType(Object, null)
diff --git a/pkg/front_end/parser_testcases/macros/macro_class.dart.intertwined.expect b/pkg/front_end/parser_testcases/macros/macro_class.dart.intertwined.expect
index 08e38d8..4974091 100644
--- a/pkg/front_end/parser_testcases/macros/macro_class.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/macros/macro_class.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(macro)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, macro, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, macro, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, macro)
- parseClassOrNamedMixinApplication(null, macro, class)
+ parseClassOrNamedMixinApplication(null, macro, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, macro, Class)
+ listener: beginClassDeclaration(class, null, macro, null, Class)
parseClass(Class, class, class, Class)
parseClassHeaderOpt(Class, class, class)
parseClassExtendsOpt(Class)
@@ -34,15 +34,15 @@
parseMetadataStar(})
listener: beginMetadataStar(abstract)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, macro, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, macro, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, macro)
parseTopLevelKeywordModifiers(abstract, macro)
- parseClassOrNamedMixinApplication(abstract, macro, class)
+ parseClassOrNamedMixinApplication(abstract, macro, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(abstract, abstract, macro, Class)
+ listener: beginClassDeclaration(abstract, abstract, macro, null, Class)
parseClass(Class, abstract, class, Class)
parseClassHeaderOpt(Class, abstract, class)
parseClassExtendsOpt(Class)
@@ -63,14 +63,14 @@
parseMetadataStar(})
listener: beginMetadataStar(macro)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, macro, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, macro, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, macro)
- parseClassOrNamedMixinApplication(null, macro, class)
+ parseClassOrNamedMixinApplication(null, macro, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(class, null, macro, Class)
+ listener: beginNamedMixinApplication(class, null, macro, null, Class)
parseNamedMixinApplication(Class, class, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
@@ -90,15 +90,15 @@
parseMetadataStar(;)
listener: beginMetadataStar(abstract)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, macro, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, macro, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, macro)
parseTopLevelKeywordModifiers(abstract, macro)
- parseClassOrNamedMixinApplication(abstract, macro, class)
+ parseClassOrNamedMixinApplication(abstract, macro, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables(=)
- listener: beginNamedMixinApplication(abstract, abstract, macro, Class)
+ listener: beginNamedMixinApplication(abstract, abstract, macro, null, Class)
parseNamedMixinApplication(Class, abstract, class)
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(with)
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.expect
index 048ba71..ba5aea7 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.expect
@@ -58,7 +58,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(abstract, abstract, null, C)
+ beginClassDeclaration(abstract, abstract, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -170,7 +170,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
handleIdentifier(Bar, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(abstract, abstract, null, Bar)
+ beginClassDeclaration(abstract, abstract, null, null, Bar)
handleNoType(Bar)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.intertwined.expect
index 525c27c..2025a5f 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/abstract_placement.dart.intertwined.expect
@@ -6,15 +6,15 @@
parseMetadataStar()
listener: beginMetadataStar(abstract)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
parseTopLevelKeywordModifiers(abstract, class)
- parseClassOrNamedMixinApplication(abstract, null, class)
+ parseClassOrNamedMixinApplication(abstract, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(abstract, abstract, null, C)
+ listener: beginClassDeclaration(abstract, abstract, null, null, C)
parseClass(C, abstract, class, C)
parseClassHeaderOpt(C, abstract, class)
parseClassExtendsOpt(C)
@@ -199,15 +199,15 @@
parseMetadataStar(;)
listener: beginMetadataStar(abstract)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
parseTopLevelKeywordModifiers(abstract, class)
- parseClassOrNamedMixinApplication(abstract, null, class)
+ parseClassOrNamedMixinApplication(abstract, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Bar, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(abstract, abstract, null, Bar)
+ listener: beginClassDeclaration(abstract, abstract, null, null, Bar)
parseClass(Bar, abstract, class, Bar)
parseClassHeaderOpt(Bar, abstract, class)
parseClassExtendsOpt(Bar)
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.expect
index 1542fd5..67ded7a9 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.expect
@@ -64,7 +64,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.intertwined.expect
index 23beab2..b916c91 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/external_placement.dart.intertwined.expect
@@ -42,14 +42,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.expect
index d9f84e6..7652df3 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.expect
@@ -60,7 +60,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.intertwined.expect
index c5b6907..0a7ae0a 100644
--- a/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/error_recovery/late_without_var_etc.dart.intertwined.expect
@@ -73,14 +73,14 @@
parseMetadataStar(;)
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(;, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(;, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(;, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_39723.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_39723.dart.expect
index 9d5ae52..0a76358 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_39723.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_39723.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_39723.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_39723.dart.intertwined.expect
index 4271b3d..5305604 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_39723.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_39723.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_39723_prime.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_39723_prime.dart.expect
index c583b3c..9827a7a 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_39723_prime.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_39723_prime.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(A, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(A)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_39723_prime.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_39723_prime.dart.intertwined.expect
index 4124e8f..6aa9c44 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_39723_prime.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_39723_prime.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(A, class, class, A)
parseClassHeaderOpt(A, class, class)
parseClassExtendsOpt(A)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_39858.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_39858.dart.expect
index 174b591..af79d78 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_39858.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_39858.dart.expect
@@ -30,7 +30,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(X, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, X)
+ beginClassDeclaration(class, null, null, null, X)
handleNoType(X)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_39858.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_39858.dart.intertwined.expect
index 281f0c0..6e787be 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_39858.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_39858.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(X, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, X)
+ listener: beginClassDeclaration(class, null, null, null, X)
parseClass(X, class, class, X)
parseClassHeaderOpt(X, class, class)
parseClassExtendsOpt(X)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_39858_prime1.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_39858_prime1.dart.expect
index 33dcf4a..281368d 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_39858_prime1.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_39858_prime1.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(X, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, X)
+ beginClassDeclaration(class, null, null, null, X)
handleNoType(X)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_39858_prime1.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_39858_prime1.dart.intertwined.expect
index 167db06..cfe6892 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_39858_prime1.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_39858_prime1.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(X, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, X)
+ listener: beginClassDeclaration(class, null, null, null, X)
parseClass(X, class, class, X)
parseClassHeaderOpt(X, class, class)
parseClassExtendsOpt(X)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40805_01.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_40805_01.dart.expect
index 507ba0a..6a6108b 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40805_01.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40805_01.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40805_01.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_40805_01.dart.intertwined.expect
index 2c7dd9e..a97196b 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40805_01.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40805_01.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40805_02.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_40805_02.dart.expect
index dc9c09c..3a21148 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40805_02.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40805_02.dart.expect
@@ -10,7 +10,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40805_02.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_40805_02.dart.intertwined.expect
index b8addec..0ff88f6 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40805_02.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40805_02.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40805_03.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_40805_03.dart.expect
index b3f7815..8b9f461 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40805_03.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40805_03.dart.expect
@@ -10,7 +10,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40805_03.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_40805_03.dart.intertwined.expect
index 884d7c4..0810c19 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40805_03.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40805_03.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40834_01.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_40834_01.dart.expect
index 483e3af..813e919 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40834_01.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40834_01.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40834_01.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_40834_01.dart.intertwined.expect
index 1b44701..eb580a1 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40834_01.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40834_01.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40834_02.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_40834_02.dart.expect
index a5a1d9f..ef765a7 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40834_02.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40834_02.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40834_02.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_40834_02.dart.intertwined.expect
index a2fe16d..7d6fb48 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40834_02.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40834_02.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40834_03.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_40834_03.dart.expect
index 151beb8..7a1ab34 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40834_03.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40834_03.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_40834_03.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_40834_03.dart.intertwined.expect
index ea077fe..5fabee9 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_40834_03.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_40834_03.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.expect
index 3a0663e..19a89b2 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.expect
@@ -72,7 +72,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.intertwined.expect
index 6ade11d..3164440 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_41597.dart.intertwined.expect
@@ -186,14 +186,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_42621.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_42621.dart.expect
index c107cbf..69cb262 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_42621.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_42621.dart.expect
@@ -308,7 +308,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Order, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Order)
+ beginClassDeclaration(class, null, null, null, Order)
handleNoType(Order)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_42621.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_42621.dart.intertwined.expect
index 263bcd9..e24d47e 100644
--- a/pkg/front_end/parser_testcases/nnbd/issue_42621.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/issue_42621.dart.intertwined.expect
@@ -634,14 +634,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Order, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Order)
+ listener: beginClassDeclaration(class, null, null, null, Order)
parseClass(Order, class, class, Order)
parseClassHeaderOpt(Order, class, class)
parseClassExtendsOpt(Order)
diff --git a/pkg/front_end/parser_testcases/nnbd/late_member.dart.expect b/pkg/front_end/parser_testcases/nnbd/late_member.dart.expect
index ec45784..971ab60 100644
--- a/pkg/front_end/parser_testcases/nnbd/late_member.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/late_member.dart.expect
@@ -123,7 +123,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(X, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, X)
+ beginClassDeclaration(class, null, null, null, X)
handleNoType(X)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -161,7 +161,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Y, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Y)
+ beginClassDeclaration(class, null, null, null, Y)
handleNoType(Y)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/late_member.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/late_member.dart.intertwined.expect
index 8fb9358..68fb06e 100644
--- a/pkg/front_end/parser_testcases/nnbd/late_member.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/late_member.dart.intertwined.expect
@@ -325,14 +325,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(X, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, X)
+ listener: beginClassDeclaration(class, null, null, null, X)
parseClass(X, class, class, X)
parseClassHeaderOpt(X, class, class)
parseClassExtendsOpt(X)
@@ -417,14 +417,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Y, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Y)
+ listener: beginClassDeclaration(class, null, null, null, Y)
parseClass(Y, class, class, Y)
parseClassHeaderOpt(Y, class, class)
parseClassExtendsOpt(Y)
diff --git a/pkg/front_end/parser_testcases/nnbd/late_modifier.dart.expect b/pkg/front_end/parser_testcases/nnbd/late_modifier.dart.expect
index 7d1c8bd..6cdeef3d 100644
--- a/pkg/front_end/parser_testcases/nnbd/late_modifier.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/late_modifier.dart.expect
@@ -141,7 +141,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(X, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, X)
+ beginClassDeclaration(class, null, null, null, X)
handleNoType(X)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -179,7 +179,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Y, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Y)
+ beginClassDeclaration(class, null, null, null, Y)
handleNoType(Y)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/late_modifier.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/late_modifier.dart.intertwined.expect
index 7c01aa3..e56b220 100644
--- a/pkg/front_end/parser_testcases/nnbd/late_modifier.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/late_modifier.dart.intertwined.expect
@@ -374,14 +374,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(X, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, X)
+ listener: beginClassDeclaration(class, null, null, null, X)
parseClass(X, class, class, X)
parseClassHeaderOpt(X, class, class)
parseClassExtendsOpt(X)
@@ -466,14 +466,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Y, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Y)
+ listener: beginClassDeclaration(class, null, null, null, Y)
parseClass(Y, class, class, Y)
parseClassHeaderOpt(Y, class, class)
parseClassExtendsOpt(Y)
diff --git a/pkg/front_end/parser_testcases/nnbd/null_shorting_index.dart.expect b/pkg/front_end/parser_testcases/nnbd/null_shorting_index.dart.expect
index 92ef663..0a7ab2c 100644
--- a/pkg/front_end/parser_testcases/nnbd/null_shorting_index.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/null_shorting_index.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Class1, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Class1)
+ beginClassDeclaration(class, null, null, null, Class1)
handleNoType(Class1)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/null_shorting_index.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/null_shorting_index.dart.intertwined.expect
index d9b1e75..6e5e187 100644
--- a/pkg/front_end/parser_testcases/nnbd/null_shorting_index.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/null_shorting_index.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class1, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Class1)
+ listener: beginClassDeclaration(class, null, null, null, Class1)
parseClass(Class1, class, class, Class1)
parseClassHeaderOpt(Class1, class, class)
parseClassExtendsOpt(Class1)
diff --git a/pkg/front_end/parser_testcases/nnbd/required_member.dart.expect b/pkg/front_end/parser_testcases/nnbd/required_member.dart.expect
index 8f3bab8..c6c7235 100644
--- a/pkg/front_end/parser_testcases/nnbd/required_member.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/required_member.dart.expect
@@ -123,7 +123,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(X, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, X)
+ beginClassDeclaration(class, null, null, null, X)
handleNoType(X)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -161,7 +161,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Y, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Y)
+ beginClassDeclaration(class, null, null, null, Y)
handleNoType(Y)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/required_member.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/required_member.dart.intertwined.expect
index 8506b7e..3720001 100644
--- a/pkg/front_end/parser_testcases/nnbd/required_member.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/required_member.dart.intertwined.expect
@@ -325,14 +325,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(X, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, X)
+ listener: beginClassDeclaration(class, null, null, null, X)
parseClass(X, class, class, X)
parseClassHeaderOpt(X, class, class)
parseClassExtendsOpt(X)
@@ -417,14 +417,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Y, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Y)
+ listener: beginClassDeclaration(class, null, null, null, Y)
parseClass(Y, class, class, Y)
parseClassHeaderOpt(Y, class, class)
parseClassExtendsOpt(Y)
diff --git a/pkg/front_end/parser_testcases/nnbd/required_modifier.dart.expect b/pkg/front_end/parser_testcases/nnbd/required_modifier.dart.expect
index 9bd3e32..e5047d9 100644
--- a/pkg/front_end/parser_testcases/nnbd/required_modifier.dart.expect
+++ b/pkg/front_end/parser_testcases/nnbd/required_modifier.dart.expect
@@ -134,7 +134,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(X, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, X)
+ beginClassDeclaration(class, null, null, null, X)
handleNoType(X)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -172,7 +172,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Y, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Y)
+ beginClassDeclaration(class, null, null, null, Y)
handleNoType(Y)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/nnbd/required_modifier.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/required_modifier.dart.intertwined.expect
index 7523c1c..ff4806f 100644
--- a/pkg/front_end/parser_testcases/nnbd/required_modifier.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/nnbd/required_modifier.dart.intertwined.expect
@@ -341,14 +341,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(X, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, X)
+ listener: beginClassDeclaration(class, null, null, null, X)
parseClass(X, class, class, X)
parseClassHeaderOpt(X, class, class)
parseClassExtendsOpt(X)
@@ -433,14 +433,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Y, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Y)
+ listener: beginClassDeclaration(class, null, null, null, Y)
parseClass(Y, class, class, Y)
parseClassHeaderOpt(Y, class, class)
parseClassExtendsOpt(Y)
diff --git a/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.expect b/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.expect
index ded8c58..635226a 100644
--- a/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.expect
+++ b/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.expect
@@ -26,7 +26,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.intertwined.expect b/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.intertwined.expect
index e396b6a..f2bac28 100644
--- a/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method_prime.dart.expect b/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method_prime.dart.expect
index 5f001f3..5120ea6 100644
--- a/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method_prime.dart.expect
+++ b/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method_prime.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method_prime.dart.intertwined.expect b/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method_prime.dart.intertwined.expect
index 6f0f152..8f13eb7 100644
--- a/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method_prime.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/no-triple-shift/define_triple_shift_method_prime.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/no-triple-shift/triple_shift_not_triple_shift.dart.expect b/pkg/front_end/parser_testcases/no-triple-shift/triple_shift_not_triple_shift.dart.expect
index 80b04fe..e3531de 100644
--- a/pkg/front_end/parser_testcases/no-triple-shift/triple_shift_not_triple_shift.dart.expect
+++ b/pkg/front_end/parser_testcases/no-triple-shift/triple_shift_not_triple_shift.dart.expect
@@ -94,7 +94,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables(extends)
- beginClassDeclaration(abstract, abstract, null, Foo)
+ beginClassDeclaration(abstract, abstract, null, null, Foo)
handleIdentifier(List, typeReference)
beginTypeArguments(<)
handleIdentifier(List, typeReference)
diff --git a/pkg/front_end/parser_testcases/no-triple-shift/triple_shift_not_triple_shift.dart.intertwined.expect b/pkg/front_end/parser_testcases/no-triple-shift/triple_shift_not_triple_shift.dart.intertwined.expect
index 3a379e4..24203cf 100644
--- a/pkg/front_end/parser_testcases/no-triple-shift/triple_shift_not_triple_shift.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/no-triple-shift/triple_shift_not_triple_shift.dart.intertwined.expect
@@ -6,7 +6,7 @@
parseMetadataStar()
listener: beginMetadataStar(extension)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, extension, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, extension, null, null, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(, extension)
parseExtension(extension)
listener: beginExtensionDeclarationPrelude(extension)
@@ -206,15 +206,15 @@
parseMetadataStar(})
listener: beginMetadataStar(abstract)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
parseTopLevelKeywordModifiers(abstract, class)
- parseClassOrNamedMixinApplication(abstract, null, class)
+ parseClassOrNamedMixinApplication(abstract, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(abstract)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables(extends)
- listener: beginClassDeclaration(abstract, abstract, null, Foo)
+ listener: beginClassDeclaration(abstract, abstract, null, null, Foo)
parseClass(Foo, abstract, class, Foo)
parseClassHeaderOpt(Foo, abstract, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/non-nnbd/issue_40288.dart.expect b/pkg/front_end/parser_testcases/non-nnbd/issue_40288.dart.expect
index 667962a..ba8b0bb 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/issue_40288.dart.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/issue_40288.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(late, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, late)
+ beginClassDeclaration(class, null, null, null, late)
handleNoType(late)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -35,7 +35,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(required, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, required)
+ beginClassDeclaration(class, null, null, null, required)
handleNoType(required)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -66,7 +66,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/non-nnbd/issue_40288.dart.intertwined.expect b/pkg/front_end/parser_testcases/non-nnbd/issue_40288.dart.intertwined.expect
index c89a6b0..9ddff86 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/issue_40288.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/issue_40288.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(late, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, late)
+ listener: beginClassDeclaration(class, null, null, null, late)
parseClass(late, class, class, late)
parseClassHeaderOpt(late, class, class)
parseClassExtendsOpt(late)
@@ -71,14 +71,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(required, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, required)
+ listener: beginClassDeclaration(class, null, null, null, required)
parseClass(required, class, class, required)
parseClassHeaderOpt(required, class, class)
parseClassExtendsOpt(required)
@@ -136,14 +136,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/non-nnbd/issue_40288_prime.dart.expect b/pkg/front_end/parser_testcases/non-nnbd/issue_40288_prime.dart.expect
index d54d704..369e04b 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/issue_40288_prime.dart.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/issue_40288_prime.dart.expect
@@ -4,7 +4,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Xlate, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Xlate)
+ beginClassDeclaration(class, null, null, null, Xlate)
handleNoType(Xlate)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -35,7 +35,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Xrequired, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Xrequired)
+ beginClassDeclaration(class, null, null, null, Xrequired)
handleNoType(Xrequired)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -66,7 +66,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(C, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, C)
+ beginClassDeclaration(class, null, null, null, C)
handleNoType(C)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/non-nnbd/issue_40288_prime.dart.intertwined.expect b/pkg/front_end/parser_testcases/non-nnbd/issue_40288_prime.dart.intertwined.expect
index b03a234..0b0d21f 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/issue_40288_prime.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/issue_40288_prime.dart.intertwined.expect
@@ -6,14 +6,14 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Xlate, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Xlate)
+ listener: beginClassDeclaration(class, null, null, null, Xlate)
parseClass(Xlate, class, class, Xlate)
parseClassHeaderOpt(Xlate, class, class)
parseClassExtendsOpt(Xlate)
@@ -71,14 +71,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Xrequired, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Xrequired)
+ listener: beginClassDeclaration(class, null, null, null, Xrequired)
parseClass(Xrequired, class, class, Xrequired)
parseClassHeaderOpt(Xrequired, class, class)
parseClassExtendsOpt(Xrequired)
@@ -136,14 +136,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(C, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, C)
+ listener: beginClassDeclaration(class, null, null, null, C)
parseClass(C, class, class, C)
parseClassHeaderOpt(C, class, class)
parseClassExtendsOpt(C)
diff --git a/pkg/front_end/parser_testcases/non-nnbd/nullable_type_argument.dart.expect b/pkg/front_end/parser_testcases/non-nnbd/nullable_type_argument.dart.expect
index 5c1d956..5cee3c6 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/nullable_type_argument.dart.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/nullable_type_argument.dart.expect
@@ -12,7 +12,7 @@
handleNoType(T)
endTypeVariable(>, 0, null, null)
endTypeVariables(<, >)
- beginClassDeclaration(class, null, null, A)
+ beginClassDeclaration(class, null, null, null, A)
handleNoType(>)
handleClassExtends(null, 1)
handleClassNoWithClause()
@@ -27,7 +27,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(B, classOrMixinDeclaration)
handleNoTypeVariables(implements)
- beginClassDeclaration(class, null, null, B)
+ beginClassDeclaration(class, null, null, null, B)
handleNoType(B)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/non-nnbd/nullable_type_argument.dart.intertwined.expect b/pkg/front_end/parser_testcases/non-nnbd/nullable_type_argument.dart.intertwined.expect
index 16f17a7..6930e59 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/nullable_type_argument.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/nullable_type_argument.dart.intertwined.expect
@@ -6,9 +6,9 @@
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(A, classOrMixinDeclaration)
@@ -21,7 +21,7 @@
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
- listener: beginClassDeclaration(class, null, null, A)
+ listener: beginClassDeclaration(class, null, null, null, A)
parseClass(>, class, class, A)
parseClassHeaderOpt(>, class, class)
parseClassExtendsOpt(>)
@@ -42,14 +42,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(B, classOrMixinDeclaration)
listener: handleNoTypeVariables(implements)
- listener: beginClassDeclaration(class, null, null, B)
+ listener: beginClassDeclaration(class, null, null, null, B)
parseClass(B, class, class, B)
parseClassHeaderOpt(B, class, class)
parseClassExtendsOpt(B)
diff --git a/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.expect b/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.expect
index 285a104..0b8fbe1 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.expect
@@ -246,7 +246,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.intertwined.expect b/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.intertwined.expect
index 3841fa7..80ccd4a 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/use_late_in_non_nnbd.dart.intertwined.expect
@@ -335,14 +335,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/parser_testcases/non-nnbd/use_required_in_non_nnbd.dart.expect b/pkg/front_end/parser_testcases/non-nnbd/use_required_in_non_nnbd.dart.expect
index fb681d6..11a0ddd 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/use_required_in_non_nnbd.dart.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/use_required_in_non_nnbd.dart.expect
@@ -125,7 +125,7 @@
beginClassOrMixinOrNamedMixinApplicationPrelude(class)
handleIdentifier(Foo, classOrMixinDeclaration)
handleNoTypeVariables({)
- beginClassDeclaration(class, null, null, Foo)
+ beginClassDeclaration(class, null, null, null, Foo)
handleNoType(Foo)
handleClassExtends(null, 1)
handleClassNoWithClause()
diff --git a/pkg/front_end/parser_testcases/non-nnbd/use_required_in_non_nnbd.dart.intertwined.expect b/pkg/front_end/parser_testcases/non-nnbd/use_required_in_non_nnbd.dart.intertwined.expect
index f214652..bfc0623 100644
--- a/pkg/front_end/parser_testcases/non-nnbd/use_required_in_non_nnbd.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/non-nnbd/use_required_in_non_nnbd.dart.intertwined.expect
@@ -253,14 +253,14 @@
parseMetadataStar(})
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
- parseTopLevelKeywordDeclaration(}, class, null, Instance of 'DirectiveContext')
+ parseTopLevelKeywordDeclaration(}, class, null, null, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(}, class)
- parseClassOrNamedMixinApplication(null, null, class)
+ parseClassOrNamedMixinApplication(null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Foo, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
- listener: beginClassDeclaration(class, null, null, Foo)
+ listener: beginClassDeclaration(class, null, null, null, Foo)
parseClass(Foo, class, class, Foo)
parseClassHeaderOpt(Foo, class, class)
parseClassExtendsOpt(Foo)
diff --git a/pkg/front_end/test/fasta/generator_to_string_test.dart b/pkg/front_end/test/fasta/generator_to_string_test.dart
index 787ad86..9db87a4 100644
--- a/pkg/front_end/test/fasta/generator_to_string_test.dart
+++ b/pkg/front_end/test/fasta/generator_to_string_test.dart
@@ -95,7 +95,8 @@
new NoneTarget(new TargetFlags())),
uriTranslator)
.loader,
- isUnsupported: false);
+ isUnsupported: false,
+ isAugmentation: false);
libraryBuilder.markLanguageVersionFinal();
LoadLibraryBuilder loadLibraryBuilder =
new LoadLibraryBuilder(libraryBuilder, dummyLibraryDependency, -1);
diff --git a/pkg/front_end/test/macro_application/data/pkgs/macro/lib/macro.dart b/pkg/front_end/test/macro_application/data/pkgs/macro/lib/macro.dart
index 5f4db94..d1a5810 100644
--- a/pkg/front_end/test/macro_application/data/pkgs/macro/lib/macro.dart
+++ b/pkg/front_end/test/macro_application/data/pkgs/macro/lib/macro.dart
@@ -51,7 +51,8 @@
name, new DeclarationCode.fromParts(['''
class $name {
external ''', function.returnType.code, ''' method();
-}''']));
+}'''
+ ]));
}
}
@@ -129,8 +130,14 @@
if (method.isSetter) {
sb.write('s');
}
+ String name;
+ if (method.isOperator) {
+ name = 'operator';
+ } else {
+ name = method.identifier.name;
+ }
builder.declareInLibrary(new DeclarationCode.fromString('''
-void ${method.definingClass.name}_${method.identifier.name}GeneratedMethod_${sb}() {}
+void ${method.definingClass.name}_${name}GeneratedMethod_${sb}() {}
'''));
}
}
@@ -288,3 +295,49 @@
'''));
}
}
+
+macro
+
+class ToStringMacro implements ClassDeclarationsMacro {
+ const ToStringMacro();
+
+ FutureOr<void> buildDeclarationsForClass(ClassDeclaration clazz,
+ ClassMemberDeclarationBuilder builder) async {
+ Iterable<MethodDeclaration> methods = await builder.methodsOf(clazz);
+ if (!methods.any((m) => m.identifier.name == 'toString')) {
+ Iterable<FieldDeclaration> fields = await builder.fieldsOf(clazz);
+ List<Object> parts = ['''
+ toString() {
+ return "${clazz.identifier.name}('''];
+ String comma = '';
+ for (FieldDeclaration field in fields) {
+ parts.add(comma);
+ parts.add('${field.identifier.name}=\${');
+ parts.add(field.identifier.name);
+ parts.add('}');
+ comma = ',';
+ }
+ parts.add(''')";
+ }''');
+ builder.declareInClass(new DeclarationCode.fromParts(parts));
+ }
+ }
+}
+
+macro
+class SequenceMacro implements ClassDeclarationsMacro {
+ const SequenceMacro();
+
+ FutureOr<void> buildDeclarationsForClass(
+ ClassDeclaration clazz, ClassMemberDeclarationBuilder builder) async {
+ Iterable<MethodDeclaration> methods = await builder.methodsOf(clazz);
+ int index = 0;
+ String suffix = '';
+ while (methods.any((m) => m.identifier.name == 'method$suffix')) {
+ index++;
+ suffix = '$index';
+ }
+ builder.declareInClass(new DeclarationCode.fromString('''
+ method$suffix() {}'''));
+ }
+}
\ No newline at end of file
diff --git a/pkg/front_end/test/macro_application/data/tests/declarations.dart b/pkg/front_end/test/macro_application/data/tests/declarations.dart
index dfed26d..7a69a25 100644
--- a/pkg/front_end/test/macro_application/data/tests/declarations.dart
+++ b/pkg/front_end/test/macro_application/data/tests/declarations.dart
@@ -112,7 +112,7 @@
void set instanceSetter1(int? value) {}
/*member: Class1.[]:
-void Class1_[]GeneratedMethod_o() {}
+void Class1_operatorGeneratedMethod_o() {}
*/
@MethodDeclarationsMacro1()
int operator [](int i) => i;
diff --git a/pkg/front_end/test/macro_application/data/tests/declarations.dart.expect b/pkg/front_end/test/macro_application/data/tests/declarations.dart.expect
index 786028f..dfe99d0 100644
--- a/pkg/front_end/test/macro_application/data/tests/declarations.dart.expect
+++ b/pkg/front_end/test/macro_application/data/tests/declarations.dart.expect
@@ -19,6 +19,9 @@
constructor •() → self::Class1
: super core::Object::•()
;
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-18 */ Class1_GeneratedMethod_() → void {}
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-19 */ Class1_redirectGeneratedMethod_f() → void {}
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-20 */ Class1_factGeneratedMethod_f() → void {}
@#C5
static factory redirect() → self::Class1
return new self::Class1::•();
@@ -68,6 +71,35 @@
return null;
@#C8
static set topLevelSetter1(core::int? value) → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-1 */ topLevelFunction1GeneratedMethod_() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-2 */ topLevelFunction2GeneratedMethod_e() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-3 */ topLevelField1GeneratedMethod_() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-4 */ topLevelField2GeneratedMethod_e() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-5 */ topLevelField3GeneratedMethod_f() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-6 */ topLevelField4GeneratedMethod_l() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-7 */ topLevelGetter1GeneratedMethod_g() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-8 */ topLevelSetter1GeneratedMethod_s() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-9 */ Class1GeneratedMethod_() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-10 */ Class1Introspection() → void {
+ core::print("constructors=''");
+ core::print("fields='instanceField1','instanceField2','instanceField3'");
+ core::print("methods='instanceMethod1','instanceGetter1','[]','instanceSetter1'");
+}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-11 */ Class1_instanceMethod1GeneratedMethod_() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-12 */ Class1_instanceGetter1GeneratedMethod_g() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-13 */ Class1_operatorGeneratedMethod_o() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-14 */ Class1_instanceField1GeneratedMethod_() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-15 */ Class1_instanceField2GeneratedMethod_f() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-16 */ Class1_instanceField3GeneratedMethod_fl() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-17 */ Class1_instanceSetter1GeneratedMethod_s() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-21 */ Class2GeneratedMethod_a() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-22 */ Class2Introspection() → void {
+ core::print("constructors=");
+ core::print("fields='instanceField1'");
+ core::print("methods='instanceMethod1'");
+}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-23 */ Class2_instanceMethod1GeneratedMethod_a() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-24 */ Class2_instanceField1GeneratedMethod_() → void {}
constants {
#C1 = mac::ClassDeclarationsMacro1 {}
diff --git a/pkg/front_end/test/macro_application/data/tests/sequence.dart b/pkg/front_end/test/macro_application/data/tests/sequence.dart
new file mode 100644
index 0000000..785b423
--- /dev/null
+++ b/pkg/front_end/test/macro_application/data/tests/sequence.dart
@@ -0,0 +1,55 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/*library:
+
+
+*/
+
+import 'package:macro/macro.dart';
+
+@SequenceMacro()
+/*class: Class1:
+augment class Class1 {
+ method() {}
+}*/
+class Class1 {}
+
+@SequenceMacro()
+@SequenceMacro()
+/*class: Class2:
+augment class Class2 {
+ method() {}
+}
+augment class Class2 {
+ method1() {}
+}*/
+class Class2 {}
+
+@SequenceMacro()
+/*class: Class3:
+augment class Class3 {
+ method1() {}
+}*/
+class Class3 {
+ method() {}
+}
+
+@SequenceMacro()
+@SequenceMacro()
+@SequenceMacro()
+/*class: Class4:
+augment class Class4 {
+ method1() {}
+}
+augment class Class4 {
+ method3() {}
+}
+augment class Class4 {
+ method4() {}
+}*/
+class Class4 {
+ method() {}
+ method2() {}
+}
diff --git a/pkg/front_end/test/macro_application/data/tests/sequence.dart.expect b/pkg/front_end/test/macro_application/data/tests/sequence.dart.expect
new file mode 100644
index 0000000..263cee0
--- /dev/null
+++ b/pkg/front_end/test/macro_application/data/tests/sequence.dart.expect
@@ -0,0 +1,48 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "package:macro/macro.dart" as mac;
+import "dart:core" as core;
+
+import "package:macro/macro.dart";
+
+@#C1
+class Class1 extends core::Object {
+ synthetic constructor •() → self::Class1
+ : super core::Object::•()
+ ;
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-1 */ method() → dynamic {}
+}
+@#C1
+@#C1
+class Class2 extends core::Object {
+ synthetic constructor •() → self::Class2
+ : super core::Object::•()
+ ;
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-2 */ method() → dynamic {}
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-3 */ method1() → dynamic {}
+}
+@#C1
+class Class3 extends core::Object {
+ synthetic constructor •() → self::Class3
+ : super core::Object::•()
+ ;
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-4 */ method1() → dynamic {}
+ method method() → dynamic {}
+}
+@#C1
+@#C1
+@#C1
+class Class4 extends core::Object {
+ synthetic constructor •() → self::Class4
+ : super core::Object::•()
+ ;
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-5 */ method1() → dynamic {}
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-6 */ method3() → dynamic {}
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-7 */ method4() → dynamic {}
+ method method() → dynamic {}
+ method method2() → dynamic {}
+}
+
+constants {
+ #C1 = mac::SequenceMacro {}
+}
diff --git a/pkg/front_end/test/macro_application/data/tests/subtypes.dart.expect b/pkg/front_end/test/macro_application/data/tests/subtypes.dart.expect
index d428183..07374b2 100644
--- a/pkg/front_end/test/macro_application/data/tests/subtypes.dart.expect
+++ b/pkg/front_end/test/macro_application/data/tests/subtypes.dart.expect
@@ -52,6 +52,10 @@
@#C1
@#C2
external static method topLevelFunction4(self::D1 a) → self::D2;
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-1 */ topLevelFunction1GeneratedMethod_es() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-2 */ topLevelFunction2GeneratedMethod_s() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-3 */ topLevelFunction3GeneratedMethod_() → void {}
+static method /* from org-dartlang-augmentation:/a/b/c/main.dart-4 */ topLevelFunction4GeneratedMethod_() → void {}
constants {
#C1 = mac::FunctionDeclarationsMacro2 {}
diff --git a/pkg/front_end/test/macro_application/data/tests/to_string.dart b/pkg/front_end/test/macro_application/data/tests/to_string.dart
new file mode 100644
index 0000000..b5327e5
--- /dev/null
+++ b/pkg/front_end/test/macro_application/data/tests/to_string.dart
@@ -0,0 +1,47 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/*library:
+
+
+*/
+
+import 'package:macro/macro.dart';
+
+@ToStringMacro()
+/*class: A:
+augment class A {
+ toString() {
+ return "A(a=${a},b=${b})";
+ }
+}*/
+class A {
+ var a;
+ var b;
+}
+
+@ToStringMacro()
+/*class: B:
+augment class B {
+ toString() {
+ return "B(c=${c},d=${d},e=${e})";
+ }
+}*/
+class B {
+ var c, d;
+ var e;
+}
+
+@ToStringMacro()
+class C {
+ var f;
+
+ @override
+ String toString() => 'C()';
+}
+
+class D {
+ var g;
+ var h;
+}
diff --git a/pkg/front_end/test/macro_application/data/tests/to_string.dart.expect b/pkg/front_end/test/macro_application/data/tests/to_string.dart.expect
new file mode 100644
index 0000000..431c8a2
--- /dev/null
+++ b/pkg/front_end/test/macro_application/data/tests/to_string.dart.expect
@@ -0,0 +1,52 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "package:macro/macro.dart" as mac;
+import "dart:core" as core;
+
+import "package:macro/macro.dart";
+
+@#C1
+class A extends core::Object {
+ field dynamic a = null;
+ field dynamic b = null;
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-1 */ toString() → dynamic {
+ return "A(a=${this.{self::A::a}{dynamic}},b=${this.{self::A::b}{dynamic}})";
+ }
+}
+@#C1
+class B extends core::Object {
+ field dynamic c = null;
+ field dynamic d = null;
+ field dynamic e = null;
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ method /* from org-dartlang-augmentation:/a/b/c/main.dart-2 */ toString() → dynamic {
+ return "B(c=${this.{self::B::c}{dynamic}},d=${this.{self::B::d}{dynamic}},e=${this.{self::B::e}{dynamic}})";
+ }
+}
+@#C1
+class C extends core::Object {
+ field dynamic f = null;
+ synthetic constructor •() → self::C
+ : super core::Object::•()
+ ;
+ @#C2
+ method toString() → core::String
+ return "C()";
+}
+class D extends core::Object {
+ field dynamic g = null;
+ field dynamic h = null;
+ synthetic constructor •() → self::D
+ : super core::Object::•()
+ ;
+}
+
+constants {
+ #C1 = mac::ToStringMacro {}
+ #C2 = core::_Override {}
+}
diff --git a/pkg/front_end/test/macro_application/macro_application_test.dart b/pkg/front_end/test/macro_application/macro_application_test.dart
index fd317c7..647c544 100644
--- a/pkg/front_end/test/macro_application/macro_application_test.dart
+++ b/pkg/front_end/test/macro_application/macro_application_test.dart
@@ -184,7 +184,9 @@
in macroApplicationData.classTypesResults.entries) {
if (entry.key.cls == cls) {
for (MacroExecutionResult result in entry.value) {
- sb.write('\n${codeToString(result.augmentations.first)}');
+ if (result.augmentations.isNotEmpty) {
+ sb.write('\n${codeToString(result.augmentations.first)}');
+ }
}
}
}
@@ -192,7 +194,9 @@
in macroApplicationData.classDeclarationsResults.entries) {
if (entry.key.cls == cls) {
for (MacroExecutionResult result in entry.value) {
- sb.write('\n${codeToString(result.augmentations.first)}');
+ if (result.augmentations.isNotEmpty) {
+ sb.write('\n${codeToString(result.augmentations.first)}');
+ }
}
}
}
@@ -200,7 +204,9 @@
in macroApplicationData.classDefinitionsResults.entries) {
if (entry.key.cls == cls) {
for (MacroExecutionResult result in entry.value) {
- sb.write('\n${codeToString(result.augmentations.first)}');
+ if (result.augmentations.isNotEmpty) {
+ sb.write('\n${codeToString(result.augmentations.first)}');
+ }
}
}
}
diff --git a/pkg/front_end/test/macros/data/tests/macro_declarations.dart b/pkg/front_end/test/macros/data/tests/macro_declarations.dart
index c780d61..1ddcfd5 100644
--- a/pkg/front_end/test/macros/data/tests/macro_declarations.dart
+++ b/pkg/front_end/test/macros/data/tests/macro_declarations.dart
@@ -38,20 +38,20 @@
macro class MixinAlias with Alias {}
-class ExtendsNoKeyword extends Macro {}
+class /*error: error=MacroClassNotDeclaredMacro*/ExtendsNoKeyword extends Macro {}
-class ImplementsNoKeyword implements Macro {}
+class /*error: error=MacroClassNotDeclaredMacro*/ImplementsNoKeyword implements Macro {}
-class MixinNoKeyword with Macro {}
+class /*error: error=MacroClassNotDeclaredMacro*/MixinNoKeyword with Macro {}
-class ExtendsAliasNoKeyword extends Alias {}
+class /*error: error=MacroClassNotDeclaredMacro*/ExtendsAliasNoKeyword extends Alias {}
-class ImplementsAliasNoKeyword implements Alias {}
+class /*error: error=MacroClassNotDeclaredMacro*/ImplementsAliasNoKeyword implements Alias {}
-class MixinAliasNoKeyword with Alias {}
+class /*error: error=MacroClassNotDeclaredMacro*/MixinAliasNoKeyword with Alias {}
-class NamedMixin1NoKeyword = Macro with _Mixin;
+class /*error: error=MacroClassNotDeclaredMacro*/NamedMixin1NoKeyword = Macro with _Mixin;
-class NamedMixin2NoKeyword = Object with Macro;
+class /*error: error=MacroClassNotDeclaredMacro*/NamedMixin2NoKeyword = Object with Macro;
void main() {}
diff --git a/pkg/front_end/test/macros/macro_test.dart b/pkg/front_end/test/macros/macro_test.dart
index e583b6b..a20eaf2 100644
--- a/pkg/front_end/test/macros/macro_test.dart
+++ b/pkg/front_end/test/macros/macro_test.dart
@@ -17,6 +17,7 @@
import 'package:front_end/src/fasta/builder/member_builder.dart';
import 'package:front_end/src/fasta/kernel/macro.dart';
import 'package:front_end/src/testing/id_testing_helper.dart';
+import 'package:front_end/src/testing/id_testing_utils.dart';
import 'package:kernel/ast.dart' hide Arguments;
Future<void> main(List<String> args) async {
@@ -78,6 +79,17 @@
}
@override
+ bool get supportsErrors => true;
+
+ @override
+ Features? computeErrorData(
+ TestResultData testResultData, Id id, List<FormattedMessage> errors) {
+ Features features = new Features();
+ features[Tags.error] = errorsToText(errors, useCodes: true);
+ return features;
+ }
+
+ @override
DataInterpreter<Features> get dataValidator =>
const FeaturesDataInterpreter();
}
@@ -91,6 +103,7 @@
static const String appliedMacros = 'appliedMacros';
static const String macroClassIds = 'macroClassIds';
static const String macroInstanceIds = 'macroInstanceIds';
+ static const String error = 'error';
}
String constructorNameToString(String constructorName) {
diff --git a/pkg/front_end/test/parser_test_listener.dart b/pkg/front_end/test/parser_test_listener.dart
index 65979d9..15419a6 100644
--- a/pkg/front_end/test/parser_test_listener.dart
+++ b/pkg/front_end/test/parser_test_listener.dart
@@ -199,16 +199,18 @@
}
@override
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
seen(begin);
seen(abstractToken);
seen(macroToken);
+ seen(augmentToken);
seen(name);
doPrint('beginClassDeclaration('
'$begin, '
'$abstractToken, '
'$macroToken, '
+ '$augmentToken, '
'$name)');
indent++;
}
@@ -1022,16 +1024,18 @@
}
@override
- void beginNamedMixinApplication(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginNamedMixinApplication(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
seen(begin);
seen(abstractToken);
seen(macroToken);
+ seen(augmentToken);
seen(name);
doPrint('beginNamedMixinApplication('
'$begin, '
'$abstractToken, '
'$macroToken, '
+ '$augmentToken, '
'$name)');
indent++;
}
diff --git a/pkg/front_end/test/parser_test_listener_creator.dart b/pkg/front_end/test/parser_test_listener_creator.dart
index 61ba320..4fbb032 100644
--- a/pkg/front_end/test/parser_test_listener_creator.dart
+++ b/pkg/front_end/test/parser_test_listener_creator.dart
@@ -126,8 +126,8 @@
ParserCreatorListener(this.out);
@override
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
if (name.lexeme == "Listener") insideListenerClass = true;
}
diff --git a/pkg/front_end/test/parser_test_parser.dart b/pkg/front_end/test/parser_test_parser.dart
index 9a545e4..633d008 100644
--- a/pkg/front_end/test/parser_test_parser.dart
+++ b/pkg/front_end/test/parser_test_parser.dart
@@ -189,16 +189,21 @@
}
@override
- Token parseTopLevelKeywordDeclaration(Token start, Token keyword,
- Token? macroToken, DirectiveContext? directiveState) {
+ Token parseTopLevelKeywordDeclaration(
+ Token start,
+ Token keyword,
+ Token? macroToken,
+ Token? augmentToken,
+ DirectiveContext? directiveState) {
doPrint('parseTopLevelKeywordDeclaration('
'$start, '
'$keyword, '
'$macroToken, '
+ '$augmentToken, '
'$directiveState)');
indent++;
var result = super.parseTopLevelKeywordDeclaration(
- start, keyword, macroToken, directiveState);
+ start, keyword, macroToken, augmentToken, directiveState);
indent--;
return result;
}
@@ -583,15 +588,16 @@
}
@override
- Token parseClassOrNamedMixinApplication(
- Token? abstractToken, Token? macroToken, Token classKeyword) {
+ Token parseClassOrNamedMixinApplication(Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token classKeyword) {
doPrint('parseClassOrNamedMixinApplication('
'$abstractToken, '
'$macroToken, '
+ '$augmentToken, '
'$classKeyword)');
indent++;
var result = super.parseClassOrNamedMixinApplication(
- abstractToken, macroToken, classKeyword);
+ abstractToken, macroToken, augmentToken, classKeyword);
indent--;
return result;
}
diff --git a/pkg/front_end/test/parser_test_parser_creator.dart b/pkg/front_end/test/parser_test_parser_creator.dart
index 37c6c0c..856d485 100644
--- a/pkg/front_end/test/parser_test_parser_creator.dart
+++ b/pkg/front_end/test/parser_test_parser_creator.dart
@@ -111,8 +111,8 @@
ParserCreatorListener(this.out);
@override
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
if (name.lexeme == "Parser") insideParserClass = true;
}
diff --git a/pkg/front_end/test/patching/patching_test.dart b/pkg/front_end/test/patching/patching_test.dart
index 9828fd4..e49039c 100644
--- a/pkg/front_end/test/patching/patching_test.dart
+++ b/pkg/front_end/test/patching/patching_test.dart
@@ -12,7 +12,10 @@
import 'package:front_end/src/fasta/builder/builder.dart';
import 'package:front_end/src/fasta/builder/member_builder.dart';
import 'package:front_end/src/fasta/source/source_class_builder.dart';
+import 'package:front_end/src/fasta/source/source_constructor_builder.dart';
+import 'package:front_end/src/fasta/source/source_factory_builder.dart';
import 'package:front_end/src/fasta/source/source_member_builder.dart';
+import 'package:front_end/src/fasta/source/source_procedure_builder.dart';
import 'package:front_end/src/testing/id_testing_helper.dart';
import 'package:front_end/src/testing/id_testing_utils.dart';
import 'package:kernel/ast.dart';
@@ -171,8 +174,17 @@
SourceMemberBuilder? memberBuilder =
lookupMemberBuilder(compilerResult, member, required: false)
as SourceMemberBuilder?;
- MemberBuilder? patchMember = memberBuilder?.dataForTesting?.patchForTesting;
- if (patchMember != null) {
+ List<MemberBuilder>? patchMembers;
+ if (memberBuilder is SourceProcedureBuilder) {
+ patchMembers = memberBuilder.patchesForTesting;
+ }
+ if (memberBuilder is DeclaredSourceConstructorBuilder) {
+ patchMembers = memberBuilder.patchesForTesting;
+ }
+ if (memberBuilder is SourceFactoryBuilder) {
+ patchMembers = memberBuilder.patchesForTesting;
+ }
+ if (patchMembers != null) {
features.add(Tags.patch);
}
diff --git a/pkg/front_end/test/spell_checking_list_messages.txt b/pkg/front_end/test/spell_checking_list_messages.txt
index 3230d25..e6964cd 100644
--- a/pkg/front_end/test/spell_checking_list_messages.txt
+++ b/pkg/front_end/test/spell_checking_list_messages.txt
@@ -45,6 +45,7 @@
libraries.json
list.filled
loadlibrary
+macro
migrate
name.#name
name.stack
diff --git a/pkg/front_end/testcases/extensions/async_extensions.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/async_extensions.dart.weak.transformed.expect
index aaa0017..739da7f 100644
--- a/pkg/front_end/testcases/extensions/async_extensions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/async_extensions.dart.weak.transformed.expect
@@ -33,7 +33,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{}
@@ -45,7 +45,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -58,7 +58,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L2:
diff --git a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.transformed.expect
index cda03dd..2aa57c8 100644
--- a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.transformed.expect
@@ -23,12 +23,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(LoadLibrary(prefix), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t1 = asy::_awaitHelper(LoadLibrary(prefix), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
self::expect(0, let final core::Object* #t2 = CheckLibraryIsLoaded(prefix) in def::Extension|staticField);
self::expect(0, let final core::Object* #t3 = CheckLibraryIsLoaded(prefix) in def::Extension|get#property(0));
self::expect(42, let final core::Object* #t4 = CheckLibraryIsLoaded(prefix) in let final core::int* #t5 = 0 in let final core::int* #t6 = 42 in let final void #t7 = def::Extension|set#property(#t5, #t6) in #t6);
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -100,4 +100,4 @@
Evaluated: VariableGet @ org-dartlang-testcase:///deferred_explicit_access.dart:12:31 -> IntConstant(0)
Evaluated: VariableGet @ org-dartlang-testcase:///deferred_explicit_access.dart:12:45 -> IntConstant(42)
Evaluated: VariableGet @ org-dartlang-testcase:///deferred_explicit_access.dart:12:45 -> IntConstant(42)
-Extra constant evaluation: evaluated: 92, effectively constant: 3
+Extra constant evaluation: evaluated: 91, effectively constant: 3
diff --git a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.transformed.expect
index 52535cd..f4d6fd7 100644
--- a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.transformed.expect
@@ -15,12 +15,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(LoadLibrary(prefix), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t1 = asy::_awaitHelper(LoadLibrary(prefix), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
self::expect(0, let final core::Object* #t2 = CheckLibraryIsLoaded(prefix) in def::topLevelField);
self::expect(42, let final core::Object* #t3 = CheckLibraryIsLoaded(prefix) in def::topLevelField = 42);
self::expect(42, let final core::Object* #t4 = CheckLibraryIsLoaded(prefix) in def::topLevelField);
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/async_function.dart.weak.transformed.expect b/pkg/front_end/testcases/general/async_function.dart.weak.transformed.expect
index 4b96489..bba287b 100644
--- a/pkg/front_end/testcases/general/async_function.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/async_function.dart.weak.transformed.expect
@@ -15,7 +15,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -30,7 +30,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -42,7 +42,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -57,7 +57,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -112,7 +112,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L3:
@@ -125,8 +125,8 @@
return null;
else
[yield] null;
- [yield] let dynamic #t1 = asy::_awaitHelper(self::asyncString(), :async_op_then, :async_op_error, :async_op) in null;
- if(:controller.{asy::_AsyncStarStreamController::add}(_in::unsafeCast<core::String*>(:result)){(core::String*) → core::bool})
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::asyncString(), :async_op_then, :async_op_error) in null;
+ if(:controller.{asy::_AsyncStarStreamController::add}(_in::unsafeCast<core::String*>(:result_or_exception)){(core::String*) → core::bool})
return null;
else
[yield] null;
@@ -154,7 +154,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L4:
@@ -187,12 +187,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(self::asyncString(), :async_op_then, :async_op_error, :async_op) in null;
- core::String* str = _in::unsafeCast<core::String*>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::asyncString(), :async_op_then, :async_op_error) in null;
+ core::String* str = _in::unsafeCast<core::String*>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -202,7 +202,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/async_function_returns_future_or.dart.weak.transformed.expect b/pkg/front_end/testcases/general/async_function_returns_future_or.dart.weak.transformed.expect
index 3100e06..2ccc693 100644
--- a/pkg/front_end/testcases/general/async_function_returns_future_or.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/async_function_returns_future_or.dart.weak.transformed.expect
@@ -15,30 +15,30 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::returnsString(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::String>(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(self::returnsFutureOrString(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::String>(:result);
- [yield] let dynamic #t3 = asy::_awaitHelper(self::returnsAwaitFutureOrString(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::String>(:result);
- [yield] let dynamic #t4 = asy::_awaitHelper(self::returnsFutureString(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::String>(:result);
- [yield] let dynamic #t5 = asy::_awaitHelper(self::returnsAwaitFutureString(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::String>(:result);
- [yield] let dynamic #t6 = asy::_awaitHelper(self::returnsObject(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::Object>(:result);
- [yield] let dynamic #t7 = asy::_awaitHelper(self::returnsFutureOrObject(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::Object>(:result);
- [yield] let dynamic #t8 = asy::_awaitHelper(self::returnsAwaitFutureOrObject(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::Object>(:result);
- [yield] let dynamic #t9 = asy::_awaitHelper(self::returnsFutureObject(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::Object>(:result);
- [yield] let dynamic #t10 = asy::_awaitHelper(self::returnsAwaitFutureObject(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::Object>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::returnsString(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::String>(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::returnsFutureOrString(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::String>(:result_or_exception);
+ [yield] let dynamic #t3 = asy::_awaitHelper(self::returnsAwaitFutureOrString(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::String>(:result_or_exception);
+ [yield] let dynamic #t4 = asy::_awaitHelper(self::returnsFutureString(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::String>(:result_or_exception);
+ [yield] let dynamic #t5 = asy::_awaitHelper(self::returnsAwaitFutureString(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::String>(:result_or_exception);
+ [yield] let dynamic #t6 = asy::_awaitHelper(self::returnsObject(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::Object>(:result_or_exception);
+ [yield] let dynamic #t7 = asy::_awaitHelper(self::returnsFutureOrObject(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::Object>(:result_or_exception);
+ [yield] let dynamic #t8 = asy::_awaitHelper(self::returnsAwaitFutureOrObject(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::Object>(:result_or_exception);
+ [yield] let dynamic #t9 = asy::_awaitHelper(self::returnsFutureObject(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::Object>(:result_or_exception);
+ [yield] let dynamic #t10 = asy::_awaitHelper(self::returnsAwaitFutureObject(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::Object>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -48,7 +48,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -60,7 +60,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -75,7 +75,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -87,7 +87,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -102,7 +102,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -115,12 +115,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
- [yield] let dynamic #t11 = asy::_awaitHelper(self::getFutureOr<core::String>("a"), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::String>(:result);
+ [yield] let dynamic #t11 = asy::_awaitHelper(self::getFutureOr<core::String>("a"), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::String>(:result_or_exception);
break #L4;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -131,7 +131,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -143,7 +143,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -158,7 +158,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -171,12 +171,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
- [yield] let dynamic #t12 = asy::_awaitHelper(self::getFuture<core::String>("a"), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::String>(:result);
+ [yield] let dynamic #t12 = asy::_awaitHelper(self::getFuture<core::String>("a"), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::String>(:result_or_exception);
break #L6;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -187,7 +187,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -199,7 +199,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{
@@ -214,7 +214,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -226,7 +226,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L8:
{
@@ -241,7 +241,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -254,12 +254,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L9:
{
- [yield] let dynamic #t13 = asy::_awaitHelper(self::getFutureOr<core::Object>(new core::Object::•()), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::Object>(:result);
+ [yield] let dynamic #t13 = asy::_awaitHelper(self::getFutureOr<core::Object>(new core::Object::•()), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::Object>(:result_or_exception);
break #L9;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -270,7 +270,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -282,7 +282,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L10:
{
@@ -297,7 +297,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -310,12 +310,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L11:
{
- [yield] let dynamic #t14 = asy::_awaitHelper(self::getFuture<core::Object>(new core::Object::•()), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::Object>(:result);
+ [yield] let dynamic #t14 = asy::_awaitHelper(self::getFuture<core::Object>(new core::Object::•()), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::Object>(:result_or_exception);
break #L11;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -326,7 +326,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -338,7 +338,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L12:
{
@@ -353,7 +353,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -365,7 +365,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L13:
{
@@ -380,7 +380,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.transformed.expect b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.transformed.expect
index 7e77550..ae5f661 100644
--- a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.transformed.expect
@@ -18,7 +18,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -32,7 +32,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/async_nested.dart.weak.transformed.expect b/pkg/front_end/testcases/general/async_nested.dart.weak.transformed.expect
index ef502e2..3a4b166 100644
--- a/pkg/front_end/testcases/general/async_nested.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/async_nested.dart.weak.transformed.expect
@@ -39,23 +39,23 @@
self::Node* :async_temporary_0;
self::Node* :async_temporary_1;
self::Node* :async_temporary_2;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
core::String* expected = "1 2 3 4 5 6 7 8 9 10";
:async_temporary_2 = new self::Node::•("2", core::_GrowableList::•<self::Node*>(0));
- [yield] let dynamic #t4 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("7", core::_GrowableList::•<self::Node*>(0))), :async_op_then, :async_op_error, :async_op) in null;
- [yield] let dynamic #t5 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("6", core::_GrowableList::_literal1<self::Node*>(_in::unsafeCast<self::Node*>(:result)))), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_1 = _in::unsafeCast<self::Node*>(:result);
- [yield] let dynamic #t6 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("8", core::_GrowableList::•<self::Node*>(0))), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = _in::unsafeCast<self::Node*>(:result);
- [yield] let dynamic #t7 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("9", core::_GrowableList::•<self::Node*>(0))), :async_op_then, :async_op_error, :async_op) in null;
- [yield] let dynamic #t8 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("4", core::_GrowableList::_literal1<self::Node*>(new self::Node::•("5", core::_GrowableList::_literal3<self::Node*>(_in::unsafeCast<self::Node*>(:async_temporary_1), _in::unsafeCast<self::Node*>(:async_temporary_0), _in::unsafeCast<self::Node*>(:result)))))), :async_op_then, :async_op_error, :async_op) in null;
- [yield] let dynamic #t9 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("3", core::_GrowableList::_literal1<self::Node*>(_in::unsafeCast<self::Node*>(:result)))), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = _in::unsafeCast<self::Node*>(:result);
- [yield] let dynamic #t10 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("10", core::_GrowableList::•<self::Node*>(0))), :async_op_then, :async_op_error, :async_op) in null;
- self::Node* node = new self::Node::•("1", core::_GrowableList::_literal3<self::Node*>(_in::unsafeCast<self::Node*>(:async_temporary_2), _in::unsafeCast<self::Node*>(:async_temporary_0), _in::unsafeCast<self::Node*>(:result)));
+ [yield] let dynamic #t4 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("7", core::_GrowableList::•<self::Node*>(0))), :async_op_then, :async_op_error) in null;
+ [yield] let dynamic #t5 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("6", core::_GrowableList::_literal1<self::Node*>(_in::unsafeCast<self::Node*>(:result_or_exception)))), :async_op_then, :async_op_error) in null;
+ :async_temporary_1 = _in::unsafeCast<self::Node*>(:result_or_exception);
+ [yield] let dynamic #t6 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("8", core::_GrowableList::•<self::Node*>(0))), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = _in::unsafeCast<self::Node*>(:result_or_exception);
+ [yield] let dynamic #t7 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("9", core::_GrowableList::•<self::Node*>(0))), :async_op_then, :async_op_error) in null;
+ [yield] let dynamic #t8 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("4", core::_GrowableList::_literal1<self::Node*>(new self::Node::•("5", core::_GrowableList::_literal3<self::Node*>(_in::unsafeCast<self::Node*>(:async_temporary_1), _in::unsafeCast<self::Node*>(:async_temporary_0), _in::unsafeCast<self::Node*>(:result_or_exception)))))), :async_op_then, :async_op_error) in null;
+ [yield] let dynamic #t9 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("3", core::_GrowableList::_literal1<self::Node*>(_in::unsafeCast<self::Node*>(:result_or_exception)))), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = _in::unsafeCast<self::Node*>(:result_or_exception);
+ [yield] let dynamic #t10 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("10", core::_GrowableList::•<self::Node*>(0))), :async_op_then, :async_op_error) in null;
+ self::Node* node = new self::Node::•("1", core::_GrowableList::_literal3<self::Node*>(_in::unsafeCast<self::Node*>(:async_temporary_2), _in::unsafeCast<self::Node*>(:async_temporary_0), _in::unsafeCast<self::Node*>(:result_or_exception)));
core::String* actual = node.{self::Node::toSimpleString}(){() →* dynamic} as{TypeError,ForDynamic} core::String*;
core::print(actual);
if(!(actual =={core::String::==}{(core::Object*) →* core::bool*} expected)) {
@@ -70,7 +70,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/await.dart.weak.transformed.expect b/pkg/front_end/testcases/general/await.dart.weak.transformed.expect
index 7fd936b..e7bee2f 100644
--- a/pkg/front_end/testcases/general/await.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/await.dart.weak.transformed.expect
@@ -13,12 +13,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper("Hello, World!", :async_op_then, :async_op_error, :async_op) in null;
- core::print(_in::unsafeCast<core::String*>(:result));
+ [yield] let dynamic #t1 = asy::_awaitHelper("Hello, World!", :async_op_then, :async_op_error) in null;
+ core::print(_in::unsafeCast<core::String*>(:result_or_exception));
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -28,7 +28,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/await_complex.dart.weak.transformed.expect b/pkg/front_end/testcases/general/await_complex.dart.weak.transformed.expect
index 22900f0..a29ca5f 100644
--- a/pkg/front_end/testcases/general/await_complex.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/await_complex.dart.weak.transformed.expect
@@ -71,33 +71,33 @@
core::int* :async_temporary_3;
core::int* :async_temporary_4;
core::int* :async_temporary_5;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
:async_temporary_0 = self::C::staticField;
- [yield] let dynamic #t1 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, a);
:async_temporary_1 = self::C::staticField = 1;
- [yield] let dynamic #t2 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* f = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* f = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, f);
:async_temporary_2 = self::C::staticGetter;
- [yield] let dynamic #t3 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* b = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t3 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* b = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, b);
:async_temporary_3 = self::C::staticSetter = 1;
- [yield] let dynamic #t4 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* c = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t4 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* c = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, c);
:async_temporary_4 = self::C::staticFoo(2);
- [yield] let dynamic #t5 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* d = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t5 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* d = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(3, d);
:async_temporary_5 = self::C::staticField.{core::num::+}(self::C::staticGetter){(core::num*) →* core::int*}.{core::num::+}(self::C::staticSetter = 1){(core::num*) →* core::int*}.{core::num::+}(self::C::staticFoo(1)){(core::num*) →* core::int*};
- [yield] let dynamic #t6 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* e = _in::unsafeCast<core::int*>(:async_temporary_5).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t6 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* e = _in::unsafeCast<core::int*>(:async_temporary_5).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(5, e);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -108,7 +108,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -126,29 +126,29 @@
core::int* :async_temporary_2;
core::int* :async_temporary_3;
core::int* :async_temporary_4;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
:async_temporary_0 = self::globalVariable;
- [yield] let dynamic #t7 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t7 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, a);
:async_temporary_1 = self::topLevelGetter;
- [yield] let dynamic #t8 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* b = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t8 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* b = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, b);
:async_temporary_2 = self::topLevelSetter = 1;
- [yield] let dynamic #t9 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* c = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t9 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* c = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, c);
:async_temporary_3 = self::topLevelFoo(1);
- [yield] let dynamic #t10 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* d = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t10 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* d = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, d);
:async_temporary_4 = self::globalVariable.{core::num::+}(self::topLevelGetter){(core::num*) →* core::int*}.{core::num::+}(self::topLevelSetter = 1){(core::num*) →* core::int*}.{core::num::+}(self::topLevelFoo(1)){(core::num*) →* core::int*};
- [yield] let dynamic #t11 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t11 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(5, e);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -159,7 +159,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -177,30 +177,30 @@
core::int* :async_temporary_2;
core::int* :async_temporary_3;
core::int* :async_temporary_4;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
self::C* inst = new self::C::•();
:async_temporary_0 = inst.{self::C::field}{core::int*};
- [yield] let dynamic #t12 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t12 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, a);
:async_temporary_1 = inst.{self::C::getter}{core::int*};
- [yield] let dynamic #t13 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* b = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t13 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* b = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, b);
:async_temporary_2 = inst.{self::C::setter} = 1;
- [yield] let dynamic #t14 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* c = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t14 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* c = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, c);
:async_temporary_3 = inst.{self::C::foo}(1){(core::int*) →* core::int*};
- [yield] let dynamic #t15 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* d = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t15 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* d = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, d);
:async_temporary_4 = inst.{self::C::field}{core::int*}.{core::num::+}(inst.{self::C::getter}{core::int*}){(core::num*) →* core::int*}.{core::num::+}(inst.{self::C::setter} = 1){(core::num*) →* core::int*}.{core::num::+}(inst.{self::C::foo}(1){(core::int*) →* core::int*}){(core::num*) →* core::int*};
- [yield] let dynamic #t16 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t16 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(5, e);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -211,7 +211,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -229,30 +229,30 @@
core::int* :async_temporary_2;
core::List<core::int*>* :async_temporary_3;
core::int* :async_temporary_4;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
:async_temporary_0 = self::globalVariable;
- [yield] let dynamic #t17 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = "${_in::unsafeCast<core::int*>(:async_temporary_0)} ${:result} ";
- [yield] let dynamic #t18 = asy::_awaitHelper("someString", :async_op_then, :async_op_error, :async_op) in null;
- core::String* a = _in::unsafeCast<core::String*>(:async_temporary_0).{core::String::+}(_in::unsafeCast<core::String*>(:result)){(core::String*) →* core::String*};
+ [yield] let dynamic #t17 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = "${_in::unsafeCast<core::int*>(:async_temporary_0)} ${:result_or_exception} ";
+ [yield] let dynamic #t18 = asy::_awaitHelper("someString", :async_op_then, :async_op_error) in null;
+ core::String* a = _in::unsafeCast<core::String*>(:async_temporary_0).{core::String::+}(_in::unsafeCast<core::String*>(:result_or_exception)){(core::String*) →* core::String*};
self::expect("1 1 someString", a);
self::C* c = new self::C::•();
:async_temporary_1 = c.{self::C::field}{core::int*};
- [yield] let dynamic #t19 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* d = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t19 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* d = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
core::int* cnt = 2;
core::List<core::int*>* b = core::_GrowableList::_literal3<core::int*>(1, 2, 3);
:async_temporary_3 = b;
:async_temporary_2 = cnt;
- [yield] let dynamic #t20 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::List<core::int*>*>(:async_temporary_3).{core::List::[]=}(_in::unsafeCast<core::int*>(:async_temporary_2), :result as{TypeError,ForDynamic} core::int*){(core::int*, core::int*) →* void};
+ [yield] let dynamic #t20 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::List<core::int*>*>(:async_temporary_3).{core::List::[]=}(_in::unsafeCast<core::int*>(:async_temporary_2), :result_or_exception as{TypeError,ForDynamic} core::int*){(core::int*, core::int*) →* void};
self::expect(1, b.{core::List::[]}(cnt){(core::int*) →* core::int*});
:async_temporary_4 = b.{core::List::[]}(0){(core::int*) →* core::int*};
- [yield] let dynamic #t21 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+ [yield] let dynamic #t21 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result_or_exception as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, e);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -263,7 +263,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -281,7 +281,7 @@
dynamic :async_temporary_1;
dynamic :async_temporary_2;
dynamic :async_temporary_3;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -291,8 +291,8 @@
if(_in::unsafeCast<core::bool*>(:async_temporary_0))
;
else {
- [yield] let dynamic #t22 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = :result as{TypeError,ForDynamic} core::bool* =={core::Object::==}{(core::Object) → core::bool} true;
+ [yield] let dynamic #t22 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = :result_or_exception as{TypeError,ForDynamic} core::bool* =={core::Object::==}{(core::Object) → core::bool} true;
}
core::bool* c = _in::unsafeCast<core::bool*>(:async_temporary_0);
self::expect(true, c);
@@ -300,14 +300,14 @@
:async_temporary_1 = a;
}
else {
- [yield] let dynamic #t23 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_1 = :result;
+ [yield] let dynamic #t23 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ :async_temporary_1 = :result_or_exception;
}
dynamic d = :async_temporary_1;
self::expect(false, d);
if(a is core::int*) {
- [yield] let dynamic #t24 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_2 = :result;
+ [yield] let dynamic #t24 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ :async_temporary_2 = :result_or_exception;
}
else {
:async_temporary_2 = 2;
@@ -316,8 +316,8 @@
self::expect(2, e);
try {
if(a is core::int*) {
- [yield] let dynamic #t25 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_3 = :result;
+ [yield] let dynamic #t25 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error) in null;
+ :async_temporary_3 = :result_or_exception;
}
else {
:async_temporary_3 = 2;
@@ -335,7 +335,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -349,7 +349,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -360,34 +360,34 @@
{
final <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>* func = #t26 as{TypeError} <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>*;
assert {
- [yield] let dynamic #t27 = asy::_awaitHelper(func<core::bool*>(true){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
- assert(_in::unsafeCast<core::bool*>(:result));
+ [yield] let dynamic #t27 = asy::_awaitHelper(func<core::bool*>(true){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error) in null;
+ assert(_in::unsafeCast<core::bool*>(:result_or_exception));
}
assert {
if(self::id<core::bool*>(true) as{TypeError} core::bool*)
;
else {
- [yield] let dynamic #t28 = asy::_awaitHelper(func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error, :async_op) in null;
- assert(false, _in::unsafeCast<core::String*>(:result));
+ [yield] let dynamic #t28 = asy::_awaitHelper(func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error) in null;
+ assert(false, _in::unsafeCast<core::String*>(:result_or_exception));
}
}
assert {
- [yield] let dynamic #t29 = asy::_awaitHelper(func<core::bool*>(true){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool*>(:result))
+ [yield] let dynamic #t29 = asy::_awaitHelper(func<core::bool*>(true){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool*>(:result_or_exception))
;
else {
- [yield] let dynamic #t30 = asy::_awaitHelper(func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error, :async_op) in null;
- assert(false, _in::unsafeCast<core::String*>(:result));
+ [yield] let dynamic #t30 = asy::_awaitHelper(func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error) in null;
+ assert(false, _in::unsafeCast<core::String*>(:result_or_exception));
}
}
try {
assert {
- [yield] let dynamic #t31 = asy::_awaitHelper(func<core::bool*>(false){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool*>(:result))
+ [yield] let dynamic #t31 = asy::_awaitHelper(func<core::bool*>(false){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool*>(:result_or_exception))
;
else {
- [yield] let dynamic #t32 = asy::_awaitHelper(func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error, :async_op) in null;
- assert(false, _in::unsafeCast<core::String*>(:result));
+ [yield] let dynamic #t32 = asy::_awaitHelper(func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error) in null;
+ assert(false, _in::unsafeCast<core::String*>(:result_or_exception));
}
}
if(self::assertStatementsEnabled)
@@ -408,7 +408,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -428,7 +428,7 @@
dynamic :stack_trace0;
core::List<dynamic>* :async_temporary_0;
core::List<dynamic>* :async_temporary_1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{
@@ -447,16 +447,16 @@
core::int* i;
if(#t34) {
#t34 = false;
- [yield] let dynamic #t36 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
- i = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t36 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error) in null;
+ i = _in::unsafeCast<core::int*>(:result_or_exception);
}
else {
i = #t35;
- [yield] let dynamic #t37 = asy::_awaitHelper(func<core::int*>(let final core::int* #t38 = i in let final core::int* #t39 = i = #t38.{core::num::+}(1){(core::num*) →* core::int*} in #t38){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t37 = asy::_awaitHelper(func<core::int*>(let final core::int* #t38 = i in let final core::int* #t39 = i = #t38.{core::num::+}(1){(core::num*) →* core::int*} in #t38){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int*>(:result_or_exception);
}
- [yield] let dynamic #t40 = asy::_awaitHelper(func<core::bool*>(i.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool*>(:result)) {
+ [yield] let dynamic #t40 = asy::_awaitHelper(func<core::bool*>(i.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool*>(:result_or_exception)) {
{
c = c.{core::num::+}(1){(core::num*) →* core::int*};
}
@@ -470,8 +470,8 @@
c = 0;
#L9:
while (true) {
- [yield] let dynamic #t41 = asy::_awaitHelper(func<core::bool*>(c.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool*>(:result))
+ [yield] let dynamic #t41 = asy::_awaitHelper(func<core::bool*>(c.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool*>(:result_or_exception))
c = c.{core::num::+}(1){(core::num*) →* core::int*};
else
break #L9;
@@ -480,26 +480,26 @@
c = 0;
do {
c = c.{core::num::+}(1){(core::num*) →* core::int*};
- [yield] let dynamic #t42 = asy::_awaitHelper(func<core::bool*>(c.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t42 = asy::_awaitHelper(func<core::bool*>(c.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error) in null;
}
- while (_in::unsafeCast<core::bool*>(:result))
+ while (_in::unsafeCast<core::bool*>(:result_or_exception))
self::expect(5, c);
- [yield] let dynamic #t43 = asy::_awaitHelper(func<core::bool*>(c =={core::num::==}{(core::Object*) →* core::bool*} 5){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool*>(:result)) {
+ [yield] let dynamic #t43 = asy::_awaitHelper(func<core::bool*>(c =={core::num::==}{(core::Object*) →* core::bool*} 5){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool*>(:result_or_exception)) {
self::expect(5, c);
}
else {
throw "unreachable";
}
try {
- [yield] let dynamic #t44 = asy::_awaitHelper(func<core::String*>("string"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error, :async_op) in null;
- throw _in::unsafeCast<core::String*>(:result);
+ [yield] let dynamic #t44 = asy::_awaitHelper(func<core::String*>("string"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error) in null;
+ throw _in::unsafeCast<core::String*>(:result_or_exception);
}
on core::String* catch(no-exception-var) {
}
try {
- [yield] let dynamic #t45 = asy::_awaitHelper(throw "string", :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<Never*>(:result);
+ [yield] let dynamic #t45 = asy::_awaitHelper(throw "string", :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<Never*>(:result_or_exception);
}
on core::String* catch(no-exception-var) {
}
@@ -511,28 +511,28 @@
}
on dynamic catch(final dynamic e) {
self::expect("string", e);
- [yield] let dynamic #t46 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
- self::expect(0, _in::unsafeCast<core::int*>(:result));
+ [yield] let dynamic #t46 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error) in null;
+ self::expect(0, _in::unsafeCast<core::int*>(:result_or_exception));
rethrow;
}
finally {
- [yield] let dynamic #t47 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
- self::expect(0, _in::unsafeCast<core::int*>(:result));
+ [yield] let dynamic #t47 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error) in null;
+ self::expect(0, _in::unsafeCast<core::int*>(:result_or_exception));
}
}
on dynamic catch(final dynamic e) {
- [yield] let dynamic #t48 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
- self::expect(0, _in::unsafeCast<core::int*>(:result));
+ [yield] let dynamic #t48 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error) in null;
+ self::expect(0, _in::unsafeCast<core::int*>(:result_or_exception));
self::expect("string", e);
}
finally {
- [yield] let dynamic #t49 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
- self::expect(0, _in::unsafeCast<core::int*>(:result));
+ [yield] let dynamic #t49 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error) in null;
+ self::expect(0, _in::unsafeCast<core::int*>(:result_or_exception));
}
#L10:
{
- [yield] let dynamic #t50 = asy::_awaitHelper(func<core::int*>(2){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
- switch(_in::unsafeCast<core::int*>(:result)) {
+ [yield] let dynamic #t50 = asy::_awaitHelper(func<core::int*>(2){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error) in null;
+ switch(_in::unsafeCast<core::int*>(:result_or_exception)) {
#L11:
case #C3:
{
@@ -554,12 +554,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L13:
{
- [yield] let dynamic #t52 = asy::_awaitHelper(func<dynamic>(42){(dynamic) →* FutureOr<dynamic>*}, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t52 = asy::_awaitHelper(func<dynamic>(42){(dynamic) →* FutureOr<dynamic>*}, :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L13;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -570,11 +570,11 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
- })(){() →* asy::Future<dynamic>*}, :async_op_then, :async_op_error, :async_op) in null;
- self::expect(42, :result);
+ })(){() →* asy::Future<dynamic>*}, :async_op_then, :async_op_error) in null;
+ self::expect(42, :result_or_exception);
[yield] let dynamic #t53 = asy::_awaitHelper((() → asy::Future<dynamic>* /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
@@ -583,7 +583,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L14:
{
@@ -598,11 +598,11 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
- })(){() →* asy::Future<dynamic>*}, :async_op_then, :async_op_error, :async_op) in null;
- self::expect(42, :result);
+ })(){() →* asy::Future<dynamic>*}, :async_op_then, :async_op_error) in null;
+ self::expect(42, :result_or_exception);
function testStream1() → asy::Stream<core::int*>* /* originally async* */ {
asy::_AsyncStarStreamController<core::int*>* :controller;
dynamic :controller_stream;
@@ -612,13 +612,13 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L15:
{
- [yield] let dynamic #t54 = asy::_awaitHelper(func<core::int*>(42){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
- if(:controller.{asy::_AsyncStarStreamController::add}(_in::unsafeCast<core::int*>(:result)){(core::int*) → core::bool})
+ [yield] let dynamic #t54 = asy::_awaitHelper(func<core::int*>(42){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error) in null;
+ if(:controller.{asy::_AsyncStarStreamController::add}(_in::unsafeCast<core::int*>(:result_or_exception)){(core::int*) → core::bool})
return null;
else
[yield] null;
@@ -638,8 +638,8 @@
return :controller_stream;
}
:async_temporary_0 = core::_GrowableList::_literal1<dynamic>(42);
- [yield] let dynamic #t55 = asy::_awaitHelper(testStream1(){() →* asy::Stream<core::int*>*}.{asy::Stream::toList}(){() →* asy::Future<core::List<core::int*>*>*}, :async_op_then, :async_op_error, :async_op) in null;
- self::expectList(_in::unsafeCast<core::List<dynamic>*>(:async_temporary_0), _in::unsafeCast<core::List<core::int*>*>(:result));
+ [yield] let dynamic #t55 = asy::_awaitHelper(testStream1(){() →* asy::Stream<core::int*>*}.{asy::Stream::toList}(){() →* asy::Future<core::List<core::int*>*>*}, :async_op_then, :async_op_error) in null;
+ self::expectList(_in::unsafeCast<core::List<dynamic>*>(:async_temporary_0), _in::unsafeCast<core::List<core::int*>*>(:result_or_exception));
function testStream2() → asy::Stream<core::int*>* /* originally async* */ {
asy::_AsyncStarStreamController<core::int*>* :controller;
dynamic :controller_stream;
@@ -649,13 +649,13 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L16:
{
- [yield] let dynamic #t56 = asy::_awaitHelper(func<asy::Stream<core::int*>*>(self::intStream()){(asy::Stream<core::int*>*) →* FutureOr<asy::Stream<core::int*>*>*}, :async_op_then, :async_op_error, :async_op) in null;
- if(:controller.{asy::_AsyncStarStreamController::addStream}(_in::unsafeCast<asy::Stream<core::int*>*>(:result)){(asy::Stream<core::int*>) → core::bool})
+ [yield] let dynamic #t56 = asy::_awaitHelper(func<asy::Stream<core::int*>*>(self::intStream()){(asy::Stream<core::int*>*) →* FutureOr<asy::Stream<core::int*>*>*}, :async_op_then, :async_op_error) in null;
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(_in::unsafeCast<asy::Stream<core::int*>*>(:result_or_exception)){(asy::Stream<core::int*>) → core::bool})
return null;
else
[yield] null;
@@ -675,8 +675,8 @@
return :controller_stream;
}
:async_temporary_1 = core::_GrowableList::_literal1<dynamic>(42);
- [yield] let dynamic #t57 = asy::_awaitHelper(testStream2(){() →* asy::Stream<core::int*>*}.{asy::Stream::toList}(){() →* asy::Future<core::List<core::int*>*>*}, :async_op_then, :async_op_error, :async_op) in null;
- self::expectList(_in::unsafeCast<core::List<dynamic>*>(:async_temporary_1), _in::unsafeCast<core::List<core::int*>*>(:result));
+ [yield] let dynamic #t57 = asy::_awaitHelper(testStream2(){() →* asy::Stream<core::int*>*}.{asy::Stream::toList}(){() →* asy::Future<core::List<core::int*>*>*}, :async_op_then, :async_op_error) in null;
+ self::expectList(_in::unsafeCast<core::List<dynamic>*>(:async_temporary_1), _in::unsafeCast<core::List<core::int*>*>(:result_or_exception));
}
}
}
@@ -689,7 +689,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -701,7 +701,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L17:
{
@@ -716,7 +716,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -731,7 +731,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L18:
@@ -764,25 +764,25 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L19:
{
for (core::int* i = 0; i.{core::num::<}(11){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
- [yield] let dynamic #t58 = asy::_awaitHelper(self::staticMembers(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
- [yield] let dynamic #t59 = asy::_awaitHelper(self::topLevelMembers(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
- [yield] let dynamic #t60 = asy::_awaitHelper(self::instanceMembers(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
- [yield] let dynamic #t61 = asy::_awaitHelper(self::conditionals(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
- [yield] let dynamic #t62 = asy::_awaitHelper(self::others(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
- [yield] let dynamic #t63 = asy::_awaitHelper(self::asserts(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
- [yield] let dynamic #t64 = asy::_awaitHelper(self::controlFlow(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t58 = asy::_awaitHelper(self::staticMembers(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
+ [yield] let dynamic #t59 = asy::_awaitHelper(self::topLevelMembers(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
+ [yield] let dynamic #t60 = asy::_awaitHelper(self::instanceMembers(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
+ [yield] let dynamic #t61 = asy::_awaitHelper(self::conditionals(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
+ [yield] let dynamic #t62 = asy::_awaitHelper(self::others(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
+ [yield] let dynamic #t63 = asy::_awaitHelper(self::asserts(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
+ [yield] let dynamic #t64 = asy::_awaitHelper(self::controlFlow(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -793,7 +793,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/await_in_cascade.dart.weak.transformed.expect b/pkg/front_end/testcases/general/await_in_cascade.dart.weak.transformed.expect
index 3dce525..3587ac9 100644
--- a/pkg/front_end/testcases/general/await_in_cascade.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/await_in_cascade.dart.weak.transformed.expect
@@ -19,13 +19,13 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
final core::List<core::int*>* #t1 = core::_GrowableList::•<core::int*>(0);
- [yield] let dynamic #t2 = asy::_awaitHelper(this.{self::C::_m}(){() →* asy::Future<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
- #t1.{core::List::add}(_in::unsafeCast<core::int*>(:result)){(core::int*) →* void};
+ [yield] let dynamic #t2 = asy::_awaitHelper(this.{self::C::_m}(){() →* asy::Future<core::int*>*}, :async_op_then, :async_op_error) in null;
+ #t1.{core::List::add}(_in::unsafeCast<core::int*>(:result_or_exception)){(core::int*) →* void};
:return_value = block {} =>#t1;
break #L1;
}
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -49,7 +49,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -64,7 +64,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -88,12 +88,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(new self::C::•().{self::C::m}(){() →* asy::Future<core::List<core::int*>*>*}, :async_op_then, :async_op_error, :async_op) in null;
- self::expect(42, _in::unsafeCast<core::List<core::int*>*>(:result).{core::Iterable::first}{core::int*});
+ [yield] let dynamic #t3 = asy::_awaitHelper(new self::C::•().{self::C::m}(){() →* asy::Future<core::List<core::int*>*>*}, :async_op_then, :async_op_error) in null;
+ self::expect(42, _in::unsafeCast<core::List<core::int*>*>(:result_or_exception).{core::Iterable::first}{core::int*});
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -103,7 +103,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect
index 1345153..a10da8b 100644
--- a/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect
@@ -17,7 +17,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -32,7 +32,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect
index 8f45939..1ea3b37 100644
--- a/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect
@@ -48,7 +48,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -63,7 +63,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -77,7 +77,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -92,7 +92,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -106,18 +106,18 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
self::Y* :async_temporary_0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
final self::Y* #t1 = new self::Y::•();
- [yield] let dynamic #t2 = asy::_awaitHelper(self::f1(), :async_op_then, :async_op_error, :async_op) in null;
- #t1.{self::Y::f}(_in::unsafeCast<core::List<core::Object*>*>(:result)){(dynamic) →* dynamic};
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::f1(), :async_op_then, :async_op_error) in null;
+ #t1.{self::Y::f}(_in::unsafeCast<core::List<core::Object*>*>(:result_or_exception)){(dynamic) →* dynamic};
:async_temporary_0 = block {
#t1.{self::Y::f}(self::f2()){(dynamic) →* dynamic};
} =>#t1;
- [yield] let dynamic #t3 = asy::_awaitHelper(self::f3(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = new self::X::•(_in::unsafeCast<self::Y*>(:async_temporary_0), _in::unsafeCast<core::Object*>(:result));
+ [yield] let dynamic #t3 = asy::_awaitHelper(self::f3(), :async_op_then, :async_op_error) in null;
+ :return_value = new self::X::•(_in::unsafeCast<self::Y*>(:async_temporary_0), _in::unsafeCast<core::Object*>(:result_or_exception));
break #L3;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -128,7 +128,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -141,12 +141,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
- [yield] let dynamic #t4 = asy::_awaitHelper(self::foo(), :async_op_then, :async_op_error, :async_op) in null;
- core::print(_in::unsafeCast<self::X*>(:result));
+ [yield] let dynamic #t4 = asy::_awaitHelper(self::foo(), :async_op_then, :async_op_error) in null;
+ core::print(_in::unsafeCast<self::X*>(:result_or_exception));
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -156,7 +156,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.transformed.expect
index 5c69330..7779f8c 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.transformed.expect
@@ -16,13 +16,13 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
final core::Object* #t1 = CheckLibraryIsLoaded(lib);
- [yield] let dynamic #t2 = asy::_awaitHelper(LoadLibrary(lib), :async_op_then, :async_op_error, :async_op) in null;
- def::m(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(LoadLibrary(lib), :async_op_then, :async_op_error) in null;
+ def::m(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -32,7 +32,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
index e74ebe2..dfc514d 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
@@ -1955,7 +1955,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -2284,8 +2284,8 @@
#L2:
while (true) {
dynamic #t265 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t266 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t266 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
#t264.{core::List::add}{Invariant}(i){(dynamic) →* void};
}
@@ -2294,8 +2294,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t267 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t267 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
core::List<dynamic>* list30 = block {} =>#t264;
@@ -2310,8 +2310,8 @@
#L3:
while (true) {
dynamic #t269 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t270 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t270 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
#t268.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
}
@@ -2320,8 +2320,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t271 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t271 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
core::Set<dynamic>* set30 = block {
@@ -2338,8 +2338,8 @@
#L4:
while (true) {
dynamic #t273 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t274 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t274 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
#t272.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
}
@@ -2348,8 +2348,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t275 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t275 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
core::Map<core::String*, dynamic>* map30 = block {
@@ -2367,8 +2367,8 @@
#L5:
while (true) {
dynamic #t277 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t278 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t278 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current}{core::int*};
#t276.{core::List::add}{Invariant}(i){(core::int*) →* void};
}
@@ -2377,8 +2377,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null)) {
- [yield] let dynamic #t279 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t279 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
core::List<core::int*>* list40 = block {} =>#t276;
@@ -2394,8 +2394,8 @@
#L6:
while (true) {
dynamic #t281 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t282 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t282 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current}{core::int*};
#t280.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
}
@@ -2404,8 +2404,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null)) {
- [yield] let dynamic #t283 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t283 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
core::Set<core::int*>* set40 = block {
@@ -2423,8 +2423,8 @@
#L7:
while (true) {
dynamic #t285 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t286 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t286 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current}{core::int*};
#t284.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
}
@@ -2433,8 +2433,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null)) {
- [yield] let dynamic #t287 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t287 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
core::Map<core::String*, core::int*>* map40 = block {
@@ -2489,7 +2489,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
index cd22de9..e4e75cc 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
@@ -28,7 +28,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -41,8 +41,8 @@
#L2:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final dynamic #t3 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
@@ -55,8 +55,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -68,7 +68,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.transformed.expect b/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.transformed.expect
index 946e531..0dcf16e 100644
--- a/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.transformed.expect
@@ -14,12 +14,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error, :async_op) in null;
- final self::TestMixin::R* response = _in::unsafeCast<self::TestMixin::R*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error) in null;
+ final self::TestMixin::R* response = _in::unsafeCast<self::TestMixin::R*>(:result_or_exception);
self::TestMixin::T* result;
if(response is self::Response<dynamic>*) {
result = response{self::TestMixin::R* & self::Response<dynamic>* /* '*' & '*' = '*' */}.{self::Response::data}{dynamic} as{TypeError,ForDynamic} self::TestMixin::T*;
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -122,12 +122,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error, :async_op) in null;
- final self::Response<core::String*>* response = _in::unsafeCast<self::Response<core::String*>*>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error) in null;
+ final self::Response<core::String*>* response = _in::unsafeCast<self::Response<core::String*>*>(:result_or_exception);
core::String* result;
if(response is self::Response<dynamic>*) {
result = response{self::Response<core::String*>*}.{self::Response::data}{dynamic} as{TypeError,ForDynamic} core::String*;
@@ -154,7 +154,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -191,12 +191,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error, :async_op) in null;
- final self::PagingResponse<core::String*>* response = _in::unsafeCast<self::PagingResponse<core::String*>*>(:result);
+ [yield] let dynamic #t3 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error) in null;
+ final self::PagingResponse<core::String*>* response = _in::unsafeCast<self::PagingResponse<core::String*>*>(:result_or_exception);
core::String* result;
if(response is self::Response<dynamic>*) {
result = response{self::PagingResponse<core::String*>*}.{self::Response::data}{dynamic} as{TypeError,ForDynamic} core::String*;
@@ -223,7 +223,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.weak.transformed.expect b/pkg/front_end/testcases/general/future_or_test.dart.weak.transformed.expect
index e61e567..f83341f 100644
--- a/pkg/front_end/testcases/general/future_or_test.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/future_or_test.dart.weak.transformed.expect
@@ -35,7 +35,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -50,7 +50,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -78,7 +78,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -93,7 +93,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/future_return.dart.weak.transformed.expect b/pkg/front_end/testcases/general/future_return.dart.weak.transformed.expect
index f0fb90b..33f08d6 100644
--- a/pkg/front_end/testcases/general/future_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/future_return.dart.weak.transformed.expect
@@ -50,7 +50,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -65,7 +65,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -77,7 +77,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -92,7 +92,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -104,7 +104,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -119,7 +119,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -131,7 +131,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -146,7 +146,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -158,7 +158,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -173,7 +173,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -185,7 +185,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -200,7 +200,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -212,7 +212,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{
@@ -227,7 +227,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -239,7 +239,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L8:
{
@@ -254,7 +254,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -266,7 +266,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L9:
{
@@ -281,7 +281,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -293,7 +293,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L10:
{
@@ -308,7 +308,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -320,7 +320,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L11:
{
@@ -335,7 +335,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -347,7 +347,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L12:
{
@@ -362,7 +362,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -375,34 +375,34 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L13:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::returnClass(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(self::returnFutureClass(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t3 = asy::_awaitHelper(self::returnFutureOrClass(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t4 = asy::_awaitHelper(self::returnClassFromDynamic(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t5 = asy::_awaitHelper(self::returnFutureClassDynamic(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t6 = asy::_awaitHelper(self::returnFutureOrClassDynamic(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t7 = asy::_awaitHelper(self::returnClassFromFutureClass(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t8 = asy::_awaitHelper(self::returnFutureClassFromFutureClass(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t9 = asy::_awaitHelper(self::returnFutureOrClassFromFutureClass(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t10 = asy::_awaitHelper(self::returnClassFromFutureOrClass(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t11 = asy::_awaitHelper(self::returnFutureClassFromFutureOrClass(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
- [yield] let dynamic #t12 = asy::_awaitHelper(self::returnFutureOrClassFromFutureOrClass(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<self::Class*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::returnClass(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::returnFutureClass(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t3 = asy::_awaitHelper(self::returnFutureOrClass(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t4 = asy::_awaitHelper(self::returnClassFromDynamic(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t5 = asy::_awaitHelper(self::returnFutureClassDynamic(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t6 = asy::_awaitHelper(self::returnFutureOrClassDynamic(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t7 = asy::_awaitHelper(self::returnClassFromFutureClass(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t8 = asy::_awaitHelper(self::returnFutureClassFromFutureClass(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t9 = asy::_awaitHelper(self::returnFutureOrClassFromFutureClass(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t10 = asy::_awaitHelper(self::returnClassFromFutureOrClass(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t11 = asy::_awaitHelper(self::returnFutureClassFromFutureOrClass(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
+ [yield] let dynamic #t12 = asy::_awaitHelper(self::returnFutureOrClassFromFutureOrClass(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<self::Class*>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -412,7 +412,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/inferred_void.dart.weak.transformed.expect b/pkg/front_end/testcases/general/inferred_void.dart.weak.transformed.expect
index 6528bab..dc58e3d 100644
--- a/pkg/front_end/testcases/general/inferred_void.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/inferred_void.dart.weak.transformed.expect
@@ -21,7 +21,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -48,8 +48,8 @@
#L2:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
void v5 = :for-iterator.{asy::_StreamIterator::current}{void};
{}
}
@@ -58,8 +58,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<void>?} == null)) {
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -69,8 +69,8 @@
#L3:
while (true) {
dynamic #t4 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
void v6 = :for-iterator.{asy::_StreamIterator::current}{void};
{}
}
@@ -79,8 +79,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<void>?} == null)) {
- [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
core::List<void> l1 = core::_GrowableList::_literal1<void>(self::method());
@@ -94,7 +94,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/issue38253b.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue38253b.dart.weak.transformed.expect
index 9bfa6ab6..5073c13 100644
--- a/pkg/front_end/testcases/general/issue38253b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue38253b.dart.weak.transformed.expect
@@ -36,7 +36,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -53,7 +53,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/issue38253c.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue38253c.dart.weak.transformed.expect
index ae34a36..d67c665 100644
--- a/pkg/front_end/testcases/general/issue38253c.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue38253c.dart.weak.transformed.expect
@@ -32,7 +32,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{}
@@ -44,7 +44,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -61,7 +61,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -78,7 +78,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -92,12 +92,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(f, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t1 = asy::_awaitHelper(f, :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L3;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -108,7 +108,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect
index 90be483..4fef8f9 100644
--- a/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect
@@ -21,7 +21,7 @@
core::int* :async_temporary_1;
core::List<core::int*>* :async_temporary_2;
core::int* :async_temporary_3;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -29,8 +29,8 @@
if(!(x == null)) {
:async_temporary_1 = x.{core::num::+}(1){(core::num*) →* core::int*};
:async_temporary_0 = x.{core::num::+}(2){(core::num*) →* core::int*};
- [yield] let dynamic #t1 = asy::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_2 = core::_GrowableList::_literal3<core::int*>(_in::unsafeCast<core::int*>(:async_temporary_1), _in::unsafeCast<core::int*>(:async_temporary_0), _in::unsafeCast<Null>(:result));
+ [yield] let dynamic #t1 = asy::_awaitHelper(null, :async_op_then, :async_op_error) in null;
+ :async_temporary_2 = core::_GrowableList::_literal3<core::int*>(_in::unsafeCast<core::int*>(:async_temporary_1), _in::unsafeCast<core::int*>(:async_temporary_0), _in::unsafeCast<Null>(:result_or_exception));
}
else {
:async_temporary_2 = null;
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -59,12 +59,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(self::foo(0), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::foo(0), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -75,7 +75,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -88,4 +88,4 @@
Extra constant evaluation status:
Evaluated: InstanceInvocation @ org-dartlang-testcase:///issue40662.dart:10:10 -> IntConstant(-1)
Evaluated: InstanceInvocation @ org-dartlang-testcase:///issue40662.dart:11:10 -> IntConstant(-1)
-Extra constant evaluation: evaluated: 94, effectively constant: 2
+Extra constant evaluation: evaluated: 92, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/issue42615.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue42615.dart.weak.transformed.expect
index b0ac024..3d98e0c 100644
--- a/pkg/front_end/testcases/general/issue42615.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue42615.dart.weak.transformed.expect
@@ -31,7 +31,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
});
diff --git a/pkg/front_end/testcases/general/issue46956.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue46956.dart.weak.transformed.expect
index be46445..184f658 100644
--- a/pkg/front_end/testcases/general/issue46956.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue46956.dart.weak.transformed.expect
@@ -23,7 +23,7 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -35,7 +35,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -50,11 +50,11 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
- })(){() → asy::Future<core::String?>}, :async_op_then, :async_op_error, :async_op) in null;
- final core::String? x = _in::unsafeCast<core::String?>(:result);
+ })(){() → asy::Future<core::String?>}, :async_op_then, :async_op_error) in null;
+ final core::String? x = _in::unsafeCast<core::String?>(:result_or_exception);
self::bar(x);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -65,7 +65,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -77,7 +77,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -92,7 +92,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/issue47057.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue47057.dart.weak.transformed.expect
index e2413bc..1e3ff27 100644
--- a/pkg/front_end/testcases/general/issue47057.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue47057.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -33,7 +33,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/issue48347.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue48347.dart.weak.transformed.expect
index b10bc16..80b72a9 100644
--- a/pkg/front_end/testcases/general/issue48347.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue48347.dart.weak.transformed.expect
@@ -18,7 +18,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -29,8 +29,8 @@
#L2:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final void _ = :for-iterator.{asy::_StreamIterator::current}{void};
{}
}
@@ -39,8 +39,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<void>?} == null)) {
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -52,7 +52,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.transformed.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.transformed.expect
index 983f3d4..ad020a3 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.transformed.expect
@@ -17,12 +17,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<Null>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(null, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<Null>(:result_or_exception);
core::print("hello");
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -33,7 +33,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect
index 3c53c2b..a6a1585 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{}
@@ -28,7 +28,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -55,7 +55,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{}
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -93,16 +93,16 @@
dynamic :saved_try_context_var0;
self::B* :async_temporary_0;
dynamic :async_temporary_1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
:async_temporary_1 = new self::A::•();
- [yield] let dynamic #t1 = asy::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_1 = _in::unsafeCast<self::A*>(:async_temporary_1).{self::A::foo}(_in::unsafeCast<Null>(:result)){(dynamic) →* asy::Future<void>*};
+ [yield] let dynamic #t1 = asy::_awaitHelper(null, :async_op_then, :async_op_error) in null;
+ :async_temporary_1 = _in::unsafeCast<self::A*>(:async_temporary_1).{self::A::foo}(_in::unsafeCast<Null>(:result_or_exception)){(dynamic) →* asy::Future<void>*};
:async_temporary_0 = new self::B::•();
- [yield] let dynamic #t2 = asy::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = core::_GrowableList::_literal2<asy::Future<void>*>(_in::unsafeCast<asy::Future<void>*>(:async_temporary_1), _in::unsafeCast<self::B*>(:async_temporary_0).{self::B::bar}(_in::unsafeCast<Null>(:result)){(dynamic) →* asy::Future<void>*});
+ [yield] let dynamic #t2 = asy::_awaitHelper(null, :async_op_then, :async_op_error) in null;
+ :return_value = core::_GrowableList::_literal2<asy::Future<void>*>(_in::unsafeCast<asy::Future<void>*>(:async_temporary_1), _in::unsafeCast<self::B*>(:async_temporary_0).{self::B::bar}(_in::unsafeCast<Null>(:result_or_exception)){(dynamic) →* asy::Future<void>*});
break #L3;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -113,7 +113,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect b/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
index df43e6d..522ac94 100644
--- a/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
@@ -24,7 +24,7 @@
dynamic :saved_try_context_var2;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L1:
@@ -36,8 +36,8 @@
#L2:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
if(:controller.{asy::_AsyncStarStreamController::add}(x){(dynamic) → core::bool})
@@ -55,8 +55,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
diff --git a/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect b/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
index 99d4140..7730f84 100644
--- a/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
@@ -42,7 +42,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -57,7 +57,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -69,7 +69,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -84,7 +84,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -97,7 +97,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L3:
@@ -134,7 +134,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L4:
@@ -178,7 +178,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -189,8 +189,8 @@
#L6:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
FutureOr<self::Class*>* cls = :for-iterator.{asy::_StreamIterator::current}{FutureOr<self::Class*>*};
{
core::print(cls);
@@ -201,8 +201,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<FutureOr<self::Class*>*>?} == null)) {
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -214,7 +214,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.1.expect
index 1bb3512..8967db1 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.1.expect
@@ -10,12 +10,12 @@
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
- dart._internal::unsafeCast<Null>(:result);
+ [yield] let dynamic #t1 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error) in null;
+ dart._internal::unsafeCast<Null>(:result_or_exception);
:return_value = "hello";
break #L1;
}
@@ -27,7 +27,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -62,12 +62,12 @@
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = dart.async::_awaitHelper(libA::whatever(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t2 = dart.async::_awaitHelper(libA::whatever(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
dart.core::print(#C2);
}
dart.async::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -78,7 +78,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.2.expect
index 6a2982c..0cfec60 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.2.expect
@@ -10,12 +10,12 @@
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
- dart._internal::unsafeCast<Null>(:result);
+ [yield] let dynamic #t1 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error) in null;
+ dart._internal::unsafeCast<Null>(:result_or_exception);
:return_value = "hello";
break #L1;
}
@@ -27,7 +27,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -62,12 +62,12 @@
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = dart.async::_awaitHelper(libA::whatever(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t2 = dart.async::_awaitHelper(libA::whatever(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
dart.core::print(#C2);
dart.core::print("Done");
}
@@ -79,7 +79,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.1.expect
index 9d83b08..da879b3 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.1.expect
@@ -28,12 +28,12 @@
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = dart.async::_awaitHelper(main::whatever(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t1 = dart.async::_awaitHelper(main::whatever(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
dart.core::print(#C2);
}
dart.async::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -44,7 +44,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -57,12 +57,12 @@
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
- dart._internal::unsafeCast<Null>(:result);
+ [yield] let dynamic #t2 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error) in null;
+ dart._internal::unsafeCast<Null>(:result_or_exception);
:return_value = "hello";
break #L2;
}
@@ -74,7 +74,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.2.expect
index d0bec69..44e9e46 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.2.expect
@@ -28,12 +28,12 @@
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = dart.async::_awaitHelper(main::whatever(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t1 = dart.async::_awaitHelper(main::whatever(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
dart.core::print(#C2);
}
dart.async::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -44,7 +44,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -57,12 +57,12 @@
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
- dart._internal::unsafeCast<Null>(:result);
+ [yield] let dynamic #t2 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error) in null;
+ dart._internal::unsafeCast<Null>(:result_or_exception);
:return_value = "hello!!!";
break #L2;
}
@@ -74,7 +74,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.3.expect b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.3.expect
index d9b9b9f..ca8efcb 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.3.expect
@@ -28,12 +28,12 @@
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = dart.async::_awaitHelper(main::whatever(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t1 = dart.async::_awaitHelper(main::whatever(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
dart.core::print(#C2);
dart.core::print("Done!");
}
@@ -45,7 +45,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -58,12 +58,12 @@
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
- dart._internal::unsafeCast<Null>(:result);
+ [yield] let dynamic #t2 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error) in null;
+ dart._internal::unsafeCast<Null>(:result_or_exception);
:return_value = "hello!!!";
break #L2;
}
@@ -75,7 +75,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/async_await.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/async_await.dart.weak.transformed.expect
index 7072277..1e14f9c 100644
--- a/pkg/front_end/testcases/inference/async_await.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/async_await.dart.weak.transformed.expect
@@ -35,7 +35,7 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -57,7 +57,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -72,7 +72,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -84,7 +84,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -99,7 +99,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -111,7 +111,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -126,7 +126,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -138,7 +138,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -153,7 +153,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -165,7 +165,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -180,7 +180,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -192,7 +192,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{
@@ -207,7 +207,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -219,7 +219,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L8:
{
@@ -234,7 +234,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -246,7 +246,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L9:
{
@@ -261,7 +261,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -273,7 +273,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L10:
{
@@ -288,7 +288,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -300,7 +300,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L11:
{
@@ -315,30 +315,30 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
- [yield] let dynamic #t1 = asy::_awaitHelper(x0, :async_op_then, :async_op_error, :async_op) in null;
- core::int* y0 = _in::unsafeCast<core::int*>(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(x1, :async_op_then, :async_op_error, :async_op) in null;
- core::int* y1 = _in::unsafeCast<core::int*>(:result);
- [yield] let dynamic #t3 = asy::_awaitHelper(x2, :async_op_then, :async_op_error, :async_op) in null;
- asy::Future<core::int*>* y2 = _in::unsafeCast<asy::Future<core::int*>*>(:result);
- [yield] let dynamic #t4 = asy::_awaitHelper(x3, :async_op_then, :async_op_error, :async_op) in null;
- FutureOr<core::int*>* y3 = _in::unsafeCast<FutureOr<core::int*>*>(:result);
- [yield] let dynamic #t5 = asy::_awaitHelper(x4, :async_op_then, :async_op_error, :async_op) in null;
- self::MyFuture* y4 = _in::unsafeCast<self::MyFuture*>(:result);
- [yield] let dynamic #t6 = asy::_awaitHelper(x5, :async_op_then, :async_op_error, :async_op) in null;
- core::int* y5 = _in::unsafeCast<core::int*>(:result);
- [yield] let dynamic #t7 = asy::_awaitHelper(x6, :async_op_then, :async_op_error, :async_op) in null;
- asy::Future<core::int*>* y6 = _in::unsafeCast<asy::Future<core::int*>*>(:result);
- [yield] let dynamic #t8 = asy::_awaitHelper(x7, :async_op_then, :async_op_error, :async_op) in null;
- FutureOr<core::int*>* y7 = _in::unsafeCast<FutureOr<core::int*>*>(:result);
- [yield] let dynamic #t9 = asy::_awaitHelper(x8, :async_op_then, :async_op_error, :async_op) in null;
- self::MyFuture* y8 = _in::unsafeCast<self::MyFuture*>(:result);
- [yield] let dynamic #t10 = asy::_awaitHelper(x9, :async_op_then, :async_op_error, :async_op) in null;
- core::int* y9 = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(x0, :async_op_then, :async_op_error) in null;
+ core::int* y0 = _in::unsafeCast<core::int*>(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(x1, :async_op_then, :async_op_error) in null;
+ core::int* y1 = _in::unsafeCast<core::int*>(:result_or_exception);
+ [yield] let dynamic #t3 = asy::_awaitHelper(x2, :async_op_then, :async_op_error) in null;
+ asy::Future<core::int*>* y2 = _in::unsafeCast<asy::Future<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t4 = asy::_awaitHelper(x3, :async_op_then, :async_op_error) in null;
+ FutureOr<core::int*>* y3 = _in::unsafeCast<FutureOr<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t5 = asy::_awaitHelper(x4, :async_op_then, :async_op_error) in null;
+ self::MyFuture* y4 = _in::unsafeCast<self::MyFuture*>(:result_or_exception);
+ [yield] let dynamic #t6 = asy::_awaitHelper(x5, :async_op_then, :async_op_error) in null;
+ core::int* y5 = _in::unsafeCast<core::int*>(:result_or_exception);
+ [yield] let dynamic #t7 = asy::_awaitHelper(x6, :async_op_then, :async_op_error) in null;
+ asy::Future<core::int*>* y6 = _in::unsafeCast<asy::Future<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t8 = asy::_awaitHelper(x7, :async_op_then, :async_op_error) in null;
+ FutureOr<core::int*>* y7 = _in::unsafeCast<FutureOr<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t9 = asy::_awaitHelper(x8, :async_op_then, :async_op_error) in null;
+ self::MyFuture* y8 = _in::unsafeCast<self::MyFuture*>(:result_or_exception);
+ [yield] let dynamic #t10 = asy::_awaitHelper(x9, :async_op_then, :async_op_error) in null;
+ core::int* y9 = _in::unsafeCast<core::int*>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -348,7 +348,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.transformed.expect
index faa27c6..15fb18d 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.transformed.expect
@@ -15,7 +15,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -30,7 +30,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.transformed.expect
index d131af3..7e432e9 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.transformed.expect
@@ -11,7 +11,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -26,7 +26,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.transformed.expect
index 516b135..de99cb2 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.transformed.expect
@@ -15,7 +15,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -30,7 +30,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.transformed.expect
index ab84cab..c321e3e 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.transformed.expect
index 33452c2..81cc3b1 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.transformed.expect
index 35febb4..e5f6a32 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.transformed.expect
index 6e67dc6..2e127fbc 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.transformed.expect
@@ -15,7 +15,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L1:
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.transformed.expect
index 1ca076e..2f60494 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.transformed.expect
@@ -15,7 +15,7 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -27,7 +27,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -42,14 +42,14 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
asy::Future<dynamic>* y = f(){() →* asy::Future<Null>*};
asy::Future<core::String*>* z = f(){() →* asy::Future<Null>*};
- [yield] let dynamic #t1 = asy::_awaitHelper(f(){() →* asy::Future<Null>*}, :async_op_then, :async_op_error, :async_op) in null;
- core::String* s = _in::unsafeCast<Null>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(f(){() →* asy::Future<Null>*}, :async_op_then, :async_op_error) in null;
+ core::String* s = _in::unsafeCast<Null>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -59,7 +59,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.transformed.expect
index 0b66184..6f20ea7 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.transformed.expect
@@ -15,7 +15,7 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -28,7 +28,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L2:
@@ -54,8 +54,8 @@
};
asy::Stream<dynamic>* y = f(){() →* asy::Stream<Null>*};
asy::Stream<core::String*>* z = f(){() →* asy::Stream<Null>*};
- [yield] let dynamic #t1 = asy::_awaitHelper(f(){() →* asy::Stream<Null>*}.{asy::Stream::first}{asy::Future<Null>*}, :async_op_then, :async_op_error, :async_op) in null;
- core::String* s = _in::unsafeCast<Null>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(f(){() →* asy::Stream<Null>*}.{asy::Stream::first}{asy::Future<Null>*}, :async_op_then, :async_op_error) in null;
+ core::String* s = _in::unsafeCast<Null>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -65,7 +65,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.transformed.expect
index ef028bb..9b64f1c 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.transformed.expect
@@ -15,15 +15,15 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
dynamic d;
- [yield] let dynamic #t1 = asy::_awaitHelper(core::_GrowableList::_literal1<core::int*>(d as{TypeError,ForDynamic} core::int*), :async_op_then, :async_op_error, :async_op) in null;
- core::List<core::int*>* l0 = _in::unsafeCast<core::List<core::int*>*>(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(d as{TypeError,ForDynamic} core::int*)), :async_op_then, :async_op_error, :async_op) in null;
- core::List<core::int*>* l1 = _in::unsafeCast<core::List<core::int*>*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(core::_GrowableList::_literal1<core::int*>(d as{TypeError,ForDynamic} core::int*), :async_op_then, :async_op_error) in null;
+ core::List<core::int*>* l0 = _in::unsafeCast<core::List<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(d as{TypeError,ForDynamic} core::int*)), :async_op_then, :async_op_error) in null;
+ core::List<core::int*>* l1 = _in::unsafeCast<core::List<core::int*>*>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -33,7 +33,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.transformed.expect
index f7624fe..70f5a69 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.transformed.expect
@@ -71,7 +71,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -123,8 +123,8 @@
#L2:
while (true) {
dynamic #t3 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{}
}
@@ -133,8 +133,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -144,8 +144,8 @@
#L3:
while (true) {
dynamic #t6 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{}
}
@@ -154,8 +154,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -165,8 +165,8 @@
#L4:
while (true) {
dynamic #t9 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::Object* x = :for-iterator.{asy::_StreamIterator::current}{core::Object*};
{}
}
@@ -175,8 +175,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::Object*>?} == null)) {
- [yield] let dynamic #t11 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t11 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -186,8 +186,8 @@
#L5:
while (true) {
dynamic #t12 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t13 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t13 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final dynamic #t14 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
d = #t14;
@@ -198,8 +198,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t15 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t15 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -209,8 +209,8 @@
#L6:
while (true) {
dynamic #t16 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t17 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t17 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final core::Object* #t18 = :for-iterator.{asy::_StreamIterator::current}{core::Object*};
{
o = #t18;
@@ -221,8 +221,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::Object*>?} == null)) {
- [yield] let dynamic #t19 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t19 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -234,7 +234,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -250,7 +250,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{
@@ -282,8 +282,8 @@
#L8:
while (true) {
dynamic #t20 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t21 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t21 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::int* x = :for-iterator.{asy::_StreamIterator::current}{core::int*};
{}
}
@@ -292,8 +292,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null)) {
- [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -303,8 +303,8 @@
#L9:
while (true) {
dynamic #t23 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t24 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t24 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::int* x = :for-iterator.{asy::_StreamIterator::current}{core::int*};
{}
}
@@ -313,8 +313,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null)) {
- [yield] let dynamic #t25 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t25 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -326,7 +326,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.transformed.expect
index 2c8befb..7f9840f 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.transformed.expect
@@ -92,7 +92,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L1:
diff --git a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.transformed.expect
index b47ff66..d8e4b15 100644
--- a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -35,8 +35,8 @@
#L2:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{}
}
@@ -45,8 +45,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
core::int* y;
@@ -66,8 +66,8 @@
#L3:
while (true) {
dynamic #t5 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final dynamic #t7 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
y = #t7 as{TypeError,ForDynamic} core::int*;
@@ -78,8 +78,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -91,7 +91,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_then.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then.dart.weak.transformed.expect
index 6786a24..1b0b3a6 100644
--- a/pkg/front_end/testcases/inference/future_then.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then.dart.weak.transformed.expect
@@ -44,12 +44,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L1;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -73,12 +73,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L2;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -101,7 +101,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -128,7 +128,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -159,7 +159,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -186,7 +186,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_2.dart.weak.transformed.expect
index 2f74e115..2945796 100644
--- a/pkg/front_end/testcases/inference/future_then_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_2.dart.weak.transformed.expect
@@ -44,12 +44,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L1;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -73,12 +73,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L2;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -101,7 +101,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -128,7 +128,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -159,7 +159,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -186,7 +186,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_3.dart.weak.transformed.expect
index 7decc2d..d075aa1 100644
--- a/pkg/front_end/testcases/inference/future_then_3.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_3.dart.weak.transformed.expect
@@ -44,12 +44,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L1;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -73,12 +73,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L2;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -101,7 +101,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -128,7 +128,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -159,7 +159,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -186,7 +186,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_4.dart.weak.transformed.expect
index 6bc3b03..ecea355 100644
--- a/pkg/front_end/testcases/inference/future_then_4.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_4.dart.weak.transformed.expect
@@ -44,12 +44,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L1;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -73,12 +73,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L2;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -101,7 +101,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -128,7 +128,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -159,7 +159,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -186,7 +186,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_5.dart.weak.transformed.expect
index 4971cd6..4c59d38 100644
--- a/pkg/front_end/testcases/inference/future_then_5.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_5.dart.weak.transformed.expect
@@ -44,12 +44,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L1;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -73,12 +73,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L2;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -101,7 +101,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -128,7 +128,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -159,7 +159,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -186,7 +186,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_6.dart.weak.transformed.expect
index 7cffed8..fdde079 100644
--- a/pkg/front_end/testcases/inference/future_then_6.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_6.dart.weak.transformed.expect
@@ -44,12 +44,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L1;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -73,12 +73,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::int*>(:result_or_exception);
break #L2;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -101,7 +101,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -128,7 +128,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -159,7 +159,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -186,7 +186,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.transformed.expect
index be1084c..ca269fc 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
core::int* :async_temporary_0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -53,8 +53,8 @@
:async_temporary_0 = 2;
}
else {
- [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = _in::unsafeCast<core::int*>(:result_or_exception);
}
:return_value = _in::unsafeCast<core::int*>(:async_temporary_0);
break #L1;
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -80,12 +80,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = (_in::unsafeCast<core::bool*>(:result) ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
+ [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error) in null;
+ :return_value = (_in::unsafeCast<core::bool*>(:result_or_exception) ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.transformed.expect
index 4327ac5..d41c46d 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
core::int* :async_temporary_0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -53,8 +53,8 @@
:async_temporary_0 = 2;
}
else {
- [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = _in::unsafeCast<core::int*>(:result_or_exception);
}
:return_value = _in::unsafeCast<core::int*>(:async_temporary_0);
break #L1;
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -80,12 +80,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = (_in::unsafeCast<core::bool*>(:result) ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
+ [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error) in null;
+ :return_value = (_in::unsafeCast<core::bool*>(:result_or_exception) ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.transformed.expect
index 477a406..353cbcc 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
core::int* :async_temporary_0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -53,8 +53,8 @@
:async_temporary_0 = 2;
}
else {
- [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = _in::unsafeCast<core::int*>(:result_or_exception);
}
:return_value = _in::unsafeCast<core::int*>(:async_temporary_0);
break #L1;
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -80,12 +80,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = (_in::unsafeCast<core::bool*>(:result) ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
+ [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error) in null;
+ :return_value = (_in::unsafeCast<core::bool*>(:result_or_exception) ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.transformed.expect
index 0211604..fa9b07f 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
core::int* :async_temporary_0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -53,8 +53,8 @@
:async_temporary_0 = 2;
}
else {
- [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = _in::unsafeCast<core::int*>(:result_or_exception);
}
:return_value = _in::unsafeCast<core::int*>(:async_temporary_0);
break #L1;
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -80,12 +80,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = (_in::unsafeCast<core::bool*>(:result) ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
+ [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error) in null;
+ :return_value = (_in::unsafeCast<core::bool*>(:result_or_exception) ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.transformed.expect
index 6759525..862a146 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
core::int* :async_temporary_0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -53,8 +53,8 @@
:async_temporary_0 = 2;
}
else {
- [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(new self::MyFuture::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = _in::unsafeCast<core::int*>(:result_or_exception);
}
:return_value = _in::unsafeCast<core::int*>(:async_temporary_0);
break #L1;
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -80,12 +80,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = (_in::unsafeCast<core::bool*>(:result) ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
+ [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error) in null;
+ :return_value = (_in::unsafeCast<core::bool*>(:result_or_exception) ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.transformed.expect
index 877ea634..51cd23d 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
core::int* :async_temporary_0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -53,8 +53,8 @@
:async_temporary_0 = 2;
}
else {
- [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = _in::unsafeCast<core::int*>(:result_or_exception);
}
:return_value = _in::unsafeCast<core::int*>(:async_temporary_0);
break #L1;
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -80,12 +80,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = (_in::unsafeCast<core::bool*>(:result) ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
+ [yield] let dynamic #t2 = asy::_awaitHelper(x, :async_op_then, :async_op_error) in null;
+ :return_value = (_in::unsafeCast<core::bool*>(:result_or_exception) ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.transformed.expect
index 2716550..59febc8 100644
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.transformed.expect
@@ -45,14 +45,14 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
core::int* :async_temporary_0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
final core::int* #t1 = x;
if(#t1 == null) {
- [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = _in::unsafeCast<core::int*>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error) in null;
+ :async_temporary_0 = _in::unsafeCast<core::int*>(:result_or_exception);
}
else {
:async_temporary_0 = #t1;
@@ -68,7 +68,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -81,12 +81,12 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = (let final core::int* #t4 = _in::unsafeCast<core::int*>(:result) in #t4 == null ?{core::Object*} asy::Future::value<core::int*>(3) : #t4) as{TypeError} FutureOr<core::int*>*;
+ [yield] let dynamic #t3 = asy::_awaitHelper(x, :async_op_then, :async_op_error) in null;
+ :return_value = (let final core::int* #t4 = _in::unsafeCast<core::int*>(:result_or_exception) in #t4 == null ?{core::Object*} asy::Future::value<core::int*>(3) : #t4) as{TypeError} FutureOr<core::int*>*;
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -97,7 +97,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.transformed.expect
index 2dc93c6..ea1b07f 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.transformed.expect
@@ -40,7 +40,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -55,7 +55,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -67,7 +67,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -82,7 +82,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -94,7 +94,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -110,7 +110,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.transformed.expect
index e56689e..110e697 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.transformed.expect
@@ -40,7 +40,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -55,7 +55,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -67,7 +67,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -82,7 +82,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -94,7 +94,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -110,7 +110,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.transformed.expect
index 955a495..8d75a91 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.transformed.expect
@@ -52,7 +52,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -79,7 +79,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -94,7 +94,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.transformed.expect
index 9c426f7..c18f5d9 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.transformed.expect
@@ -43,7 +43,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -58,7 +58,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -70,7 +70,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -85,7 +85,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.transformed.expect
index 09a8df9..e17a236 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.transformed.expect
@@ -52,7 +52,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -79,7 +79,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -94,7 +94,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.transformed.expect
index 35a7372..87fe01a 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.transformed.expect
@@ -43,7 +43,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -58,7 +58,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -70,7 +70,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -85,7 +85,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.transformed.expect
index e617289..719fe87 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.transformed.expect
@@ -30,14 +30,14 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
asy::Future<core::List<self::A*>*>* f1 = null;
asy::Future<core::List<self::A*>*>* f2 = null;
- [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::wait<core::List<self::A*>*>(core::_GrowableList::_literal2<asy::Future<core::List<self::A*>*>*>(f1, f2)), :async_op_then, :async_op_error, :async_op) in null;
- core::List<core::List<self::A*>*>* merged = _in::unsafeCast<core::List<core::List<self::A*>*>>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::wait<core::List<self::A*>*>(core::_GrowableList::_literal2<asy::Future<core::List<self::A*>*>*>(f1, f2)), :async_op_then, :async_op_error) in null;
+ core::List<core::List<self::A*>*>* merged = _in::unsafeCast<core::List<core::List<self::A*>*>>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -47,7 +47,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.transformed.expect
index 241a603..289f3bf 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.transformed.expect
@@ -17,13 +17,13 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
asy::Future<core::String*>* f;
- [yield] let dynamic #t1 = asy::_awaitHelper(self::id<FutureOr<core::String*>*>(f), :async_op_then, :async_op_error, :async_op) in null;
- core::String* s = _in::unsafeCast<core::String*>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::id<FutureOr<core::String*>*>(f), :async_op_then, :async_op_error) in null;
+ core::String* s = _in::unsafeCast<core::String*>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -33,7 +33,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.transformed.expect
index 3e7e7b1..0045a57 100644
--- a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.transformed.expect
@@ -40,17 +40,17 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
asy::Future<self::B*>* b = asy::Future::value<self::B*>(new self::B::•());
asy::Future<self::C*>* c = asy::Future::value<self::C*>(new self::C::•());
core::List<asy::Future<self::A*>*>* lll = core::_GrowableList::_literal2<asy::Future<self::A*>*>(b, c);
- [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::wait<self::A*>(lll), :async_op_then, :async_op_error, :async_op) in null;
- core::List<self::A*>* result = _in::unsafeCast<core::List<self::A*>>(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::wait<self::A*>(core::_GrowableList::_literal2<asy::Future<self::A*>*>(b, c)), :async_op_then, :async_op_error, :async_op) in null;
- core::List<self::A*>* result2 = _in::unsafeCast<core::List<self::A*>>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(asy::Future::wait<self::A*>(lll), :async_op_then, :async_op_error) in null;
+ core::List<self::A*>* result = _in::unsafeCast<core::List<self::A*>>(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::wait<self::A*>(core::_GrowableList::_literal2<asy::Future<self::A*>*>(b, c)), :async_op_then, :async_op_error) in null;
+ core::List<self::A*>* result2 = _in::unsafeCast<core::List<self::A*>>(:result_or_exception);
core::List<self::A*>* list = result;
list = result2;
}
@@ -62,7 +62,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/generator_closure.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/generator_closure.dart.weak.transformed.expect
index 304c78c..add860f 100644
--- a/pkg/front_end/testcases/inference/generator_closure.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/generator_closure.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L1:
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.transformed.expect
index 9c54557..afb8f44 100644
--- a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.transformed.expect
@@ -14,7 +14,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -29,7 +29,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -44,7 +44,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -59,7 +59,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -89,7 +89,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L3:
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.transformed.expect
index 8eee676..f060c75 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.transformed.expect
@@ -67,7 +67,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -78,8 +78,8 @@
#L2:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::String* i = :for-iterator.{asy::_StreamIterator::current}{core::String*};
{
core::int* x = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart:17:44: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
@@ -92,8 +92,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String*>?} == null)) {
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -105,7 +105,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -136,7 +136,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -147,8 +147,8 @@
#L4:
while (true) {
dynamic #t4 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
self::Baz::T* i = :for-iterator.{asy::_StreamIterator::current}{self::Baz::T*};
{
core::int* x = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart:25:44: Error: A value of type 'T' can't be assigned to a variable of type 'int'.
@@ -162,8 +162,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::Baz::T*>?} == null)) {
- [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -175,7 +175,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -253,7 +253,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -265,8 +265,8 @@
#L6:
while (true) {
dynamic #t7 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
self::Foo* x = :for-iterator.{asy::_StreamIterator::current}{self::Foo*};
{
core::String* y = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart:38:45: Error: A value of type 'Foo' can't be assigned to a variable of type 'String'.
@@ -280,8 +280,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::Foo*>?} == null)) {
- [yield] let dynamic #t9 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t9 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -291,8 +291,8 @@
#L7:
while (true) {
dynamic #t10 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t11 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t11 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
core::String* y = x as{TypeError,ForDynamic} core::String*;
@@ -303,8 +303,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t12 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t12 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -314,8 +314,8 @@
#L8:
while (true) {
dynamic #t13 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t14 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t14 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final self::Foo* #t15 = :for-iterator.{asy::_StreamIterator::current}{self::Foo*};
{
core::String* x = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart:45:21: Error: A value of type 'Foo' can't be assigned to a variable of type 'String'.
@@ -331,8 +331,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::Foo*>?} == null)) {
- [yield] let dynamic #t16 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t16 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
dynamic z;
@@ -343,8 +343,8 @@
#L9:
while (true) {
dynamic #t17 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t18 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t18 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final self::Foo* #t19 = :for-iterator.{asy::_StreamIterator::current}{self::Foo*};
{
z = #t19;
@@ -356,8 +356,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::Foo*>?} == null)) {
- [yield] let dynamic #t20 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t20 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
asy::Stream<dynamic>* stream = myStream;
@@ -368,8 +368,8 @@
#L10:
while (true) {
dynamic #t21 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final dynamic #t23 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
self::Foo* x = #t23 as{TypeError,ForDynamic} self::Foo*;
@@ -381,8 +381,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t24 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t24 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
dynamic stream2 = myStream;
@@ -393,8 +393,8 @@
#L11:
while (true) {
dynamic #t25 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t26 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t26 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final dynamic #t27 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
self::Foo* x = #t27 as{TypeError,ForDynamic} self::Foo*;
@@ -406,8 +406,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t28 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t28 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
core::Map<core::String*, self::Foo*>* map = <core::String*, self::Foo*>{};
@@ -423,8 +423,8 @@
#L12:
while (true) {
dynamic #t29 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t30 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t30 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
core::String* y = x as{TypeError,ForDynamic} core::String*;
@@ -435,8 +435,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t31 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t31 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -448,7 +448,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.transformed.expect
index 1b77665..285cb47 100644
--- a/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.transformed.expect
@@ -26,7 +26,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -44,7 +44,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -91,7 +91,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L2:
@@ -124,7 +124,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L3:
diff --git a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.transformed.expect
index 9f7346a..d7f66be 100644
--- a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.transformed.expect
@@ -25,7 +25,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -43,7 +43,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -90,7 +90,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L2:
@@ -123,7 +123,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L3:
diff --git a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.transformed.expect
index dfc471b..2eaaf2a 100644
--- a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.transformed.expect
@@ -39,7 +39,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -66,8 +66,8 @@
#L2:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final dynamic #t4 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
core::int* x = #t4 as{TypeError,ForDynamic} core::int*;
@@ -78,8 +78,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
core::int* y;
@@ -105,8 +105,8 @@
#L3:
while (true) {
dynamic #t7 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final dynamic #t9 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
y = #t9 as{TypeError,ForDynamic} core::int*;
@@ -117,8 +117,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -130,7 +130,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.transformed.expect
index 356e2de..703f7d8 100644
--- a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.transformed.expect
@@ -55,7 +55,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -80,8 +80,8 @@
#L2:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final self::A* #t4 = :for-iterator.{asy::_StreamIterator::current}{self::A*};
{
a = #t4;
@@ -92,8 +92,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) {
- [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -112,8 +112,8 @@
#L3:
while (true) {
dynamic #t7 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final self::A* #t9 = :for-iterator.{asy::_StreamIterator::current}{self::A*};
{
b = #t9 as{TypeError} self::B*;
@@ -124,8 +124,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) {
- [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -148,8 +148,8 @@
#L4:
while (true) {
dynamic #t12 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t13 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t13 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final self::A* #t14 = :for-iterator.{asy::_StreamIterator::current}{self::A*};
{
i = invalid-expression "pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart:27:16: Error: A value of type 'A' can't be assigned to a variable of type 'int'.
@@ -164,8 +164,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) {
- [yield] let dynamic #t15 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t15 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
{
@@ -184,8 +184,8 @@
#L5:
while (true) {
dynamic #t17 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t18 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t18 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final self::A* #t19 = :for-iterator.{asy::_StreamIterator::current}{self::A*};
{
a = #t19;
@@ -196,8 +196,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) {
- [yield] let dynamic #t20 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t20 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
}
@@ -209,7 +209,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
index 5b963bf..5595103 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
@@ -148,7 +148,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -159,8 +159,8 @@
#L2:
while (true) {
dynamic #t6 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::String s = :for-iterator.{asy::_StreamIterator::current}{core::String};
{
core::print(s);
@@ -171,8 +171,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String>?} == null)) {
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
:return_value = "hest";
@@ -186,7 +186,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -198,7 +198,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -227,12 +227,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
- [yield] let dynamic #t12 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t12 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L4;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -243,7 +243,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
} : #t11{core::Function};
@@ -258,7 +258,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -270,4 +270,4 @@
Extra constant evaluation status:
Evaluated: VariableGet @ org-dartlang-testcase:///later.dart:46:18 -> IntConstant(42)
-Extra constant evaluation: evaluated: 204, effectively constant: 1
+Extra constant evaluation: evaluated: 201, effectively constant: 1
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
index c376454..7d0a057 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
@@ -168,7 +168,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -179,8 +179,8 @@
#L2:
while (true) {
dynamic #t6 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::String s = :for-iterator.{asy::_StreamIterator::current}{core::String};
{
core::print(s);
@@ -191,8 +191,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String>?} == null)) {
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
:return_value = "hest";
@@ -206,7 +206,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -218,7 +218,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -265,12 +265,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
- [yield] let dynamic #t9 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t9 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L4;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -281,7 +281,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -302,7 +302,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/macros/augment_class.dart b/pkg/front_end/testcases/macros/augment_class.dart
new file mode 100644
index 0000000..f347f88
--- /dev/null
+++ b/pkg/front_end/testcases/macros/augment_class.dart
@@ -0,0 +1,13 @@
+// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+class Super {}
+mixin Mixin {}
+
+augment class Class1 {}
+abstract augment class Class2 {}
+augment class Class3 = Super with Mixin;
+abstract augment class Class4 = Super with Mixin;
+
+main() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/macros/augment_class.dart.strong.expect b/pkg/front_end/testcases/macros/augment_class.dart.strong.expect
new file mode 100644
index 0000000..31fac3d
--- /dev/null
+++ b/pkg/front_end/testcases/macros/augment_class.dart.strong.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+ synthetic constructor •() → self::Super
+ : super core::Object::•()
+ ;
+}
+abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
+}
+class Class1 extends core::Object {
+ synthetic constructor •() → self::Class1
+ : super core::Object::•()
+ ;
+}
+abstract class Class2 extends core::Object {
+ synthetic constructor •() → self::Class2
+ : super core::Object::•()
+ ;
+}
+class Class3 = self::Super with self::Mixin {
+ synthetic constructor •() → self::Class3
+ : super self::Super::•()
+ ;
+}
+abstract class Class4 = self::Super with self::Mixin {
+ synthetic constructor •() → self::Class4
+ : super self::Super::•()
+ ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/macros/augment_class.dart.strong.transformed.expect b/pkg/front_end/testcases/macros/augment_class.dart.strong.transformed.expect
new file mode 100644
index 0000000..1213172
--- /dev/null
+++ b/pkg/front_end/testcases/macros/augment_class.dart.strong.transformed.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+ synthetic constructor •() → self::Super
+ : super core::Object::•()
+ ;
+}
+abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
+}
+class Class1 extends core::Object {
+ synthetic constructor •() → self::Class1
+ : super core::Object::•()
+ ;
+}
+abstract class Class2 extends core::Object {
+ synthetic constructor •() → self::Class2
+ : super core::Object::•()
+ ;
+}
+class Class3 extends self::Super implements self::Mixin /*isEliminatedMixin*/ {
+ synthetic constructor •() → self::Class3
+ : super self::Super::•()
+ ;
+}
+abstract class Class4 extends self::Super implements self::Mixin /*isEliminatedMixin*/ {
+ synthetic constructor •() → self::Class4
+ : super self::Super::•()
+ ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/macros/augment_class.dart.textual_outline.expect b/pkg/front_end/testcases/macros/augment_class.dart.textual_outline.expect
new file mode 100644
index 0000000..99323fe
--- /dev/null
+++ b/pkg/front_end/testcases/macros/augment_class.dart.textual_outline.expect
@@ -0,0 +1,9 @@
+class Super {}
+mixin Mixin {}
+augment
+class Class1 {}
+abstract augment class Class2 {}
+augment
+class Class3 = Super with Mixin;
+abstract augment class Class4 = Super with Mixin;
+main() {}
diff --git a/pkg/front_end/testcases/macros/augment_class.dart.weak.expect b/pkg/front_end/testcases/macros/augment_class.dart.weak.expect
new file mode 100644
index 0000000..31fac3d
--- /dev/null
+++ b/pkg/front_end/testcases/macros/augment_class.dart.weak.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+ synthetic constructor •() → self::Super
+ : super core::Object::•()
+ ;
+}
+abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
+}
+class Class1 extends core::Object {
+ synthetic constructor •() → self::Class1
+ : super core::Object::•()
+ ;
+}
+abstract class Class2 extends core::Object {
+ synthetic constructor •() → self::Class2
+ : super core::Object::•()
+ ;
+}
+class Class3 = self::Super with self::Mixin {
+ synthetic constructor •() → self::Class3
+ : super self::Super::•()
+ ;
+}
+abstract class Class4 = self::Super with self::Mixin {
+ synthetic constructor •() → self::Class4
+ : super self::Super::•()
+ ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/macros/augment_class.dart.weak.modular.expect b/pkg/front_end/testcases/macros/augment_class.dart.weak.modular.expect
new file mode 100644
index 0000000..31fac3d
--- /dev/null
+++ b/pkg/front_end/testcases/macros/augment_class.dart.weak.modular.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+ synthetic constructor •() → self::Super
+ : super core::Object::•()
+ ;
+}
+abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
+}
+class Class1 extends core::Object {
+ synthetic constructor •() → self::Class1
+ : super core::Object::•()
+ ;
+}
+abstract class Class2 extends core::Object {
+ synthetic constructor •() → self::Class2
+ : super core::Object::•()
+ ;
+}
+class Class3 = self::Super with self::Mixin {
+ synthetic constructor •() → self::Class3
+ : super self::Super::•()
+ ;
+}
+abstract class Class4 = self::Super with self::Mixin {
+ synthetic constructor •() → self::Class4
+ : super self::Super::•()
+ ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/macros/augment_class.dart.weak.outline.expect b/pkg/front_end/testcases/macros/augment_class.dart.weak.outline.expect
new file mode 100644
index 0000000..982b26e
--- /dev/null
+++ b/pkg/front_end/testcases/macros/augment_class.dart.weak.outline.expect
@@ -0,0 +1,30 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+ synthetic constructor •() → self::Super
+ ;
+}
+abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
+}
+class Class1 extends core::Object {
+ synthetic constructor •() → self::Class1
+ ;
+}
+abstract class Class2 extends core::Object {
+ synthetic constructor •() → self::Class2
+ ;
+}
+class Class3 = self::Super with self::Mixin {
+ synthetic constructor •() → self::Class3
+ : super self::Super::•()
+ ;
+}
+abstract class Class4 = self::Super with self::Mixin {
+ synthetic constructor •() → self::Class4
+ : super self::Super::•()
+ ;
+}
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/macros/augment_class.dart.weak.transformed.expect b/pkg/front_end/testcases/macros/augment_class.dart.weak.transformed.expect
new file mode 100644
index 0000000..1213172
--- /dev/null
+++ b/pkg/front_end/testcases/macros/augment_class.dart.weak.transformed.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+ synthetic constructor •() → self::Super
+ : super core::Object::•()
+ ;
+}
+abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
+}
+class Class1 extends core::Object {
+ synthetic constructor •() → self::Class1
+ : super core::Object::•()
+ ;
+}
+abstract class Class2 extends core::Object {
+ synthetic constructor •() → self::Class2
+ : super core::Object::•()
+ ;
+}
+class Class3 extends self::Super implements self::Mixin /*isEliminatedMixin*/ {
+ synthetic constructor •() → self::Class3
+ : super self::Super::•()
+ ;
+}
+abstract class Class4 extends self::Super implements self::Mixin /*isEliminatedMixin*/ {
+ synthetic constructor •() → self::Class4
+ : super self::Super::•()
+ ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect
index 663f7f7..2b23c4c 100644
--- a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect
@@ -280,7 +280,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -310,7 +310,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -414,7 +414,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -442,7 +442,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.transformed.expect
index 374fc977..90f48aa 100644
--- a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.transformed.expect
@@ -280,7 +280,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -310,7 +310,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -414,7 +414,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -442,7 +442,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.transformed.expect
index 64a9400..2c07b45 100644
--- a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.transformed.expect
@@ -14,12 +14,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error, :async_op) in null;
- final self::TestMixin::R% response = _in::unsafeCast<self::TestMixin::R%>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error) in null;
+ final self::TestMixin::R% response = _in::unsafeCast<self::TestMixin::R%>(:result_or_exception);
self::TestMixin::T% result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
result = response{self::TestMixin::R% & self::Response<dynamic> /* '%' & '!' = '!' */}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::TestMixin::T%;
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -82,12 +82,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error, :async_op) in null;
- final self::Response<core::String> response = _in::unsafeCast<self::Response<core::String>>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error) in null;
+ final self::Response<core::String> response = _in::unsafeCast<self::Response<core::String>>(:result_or_exception);
core::String result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
result = response{self::Response<core::String>}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::String;
@@ -114,7 +114,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -141,12 +141,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error, :async_op) in null;
- final self::PagingResponse<core::String> response = _in::unsafeCast<self::PagingResponse<core::String>>(:result);
+ [yield] let dynamic #t3 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error) in null;
+ final self::PagingResponse<core::String> response = _in::unsafeCast<self::PagingResponse<core::String>>(:result_or_exception);
core::String result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
result = response{self::PagingResponse<core::String>}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::String;
@@ -173,7 +173,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.transformed.expect
index 64a9400..2c07b45 100644
--- a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.transformed.expect
@@ -14,12 +14,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error, :async_op) in null;
- final self::TestMixin::R% response = _in::unsafeCast<self::TestMixin::R%>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error) in null;
+ final self::TestMixin::R% response = _in::unsafeCast<self::TestMixin::R%>(:result_or_exception);
self::TestMixin::T% result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
result = response{self::TestMixin::R% & self::Response<dynamic> /* '%' & '!' = '!' */}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::TestMixin::T%;
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -82,12 +82,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error, :async_op) in null;
- final self::Response<core::String> response = _in::unsafeCast<self::Response<core::String>>(:result);
+ [yield] let dynamic #t2 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error) in null;
+ final self::Response<core::String> response = _in::unsafeCast<self::Response<core::String>>(:result_or_exception);
core::String result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
result = response{self::Response<core::String>}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::String;
@@ -114,7 +114,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -141,12 +141,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error, :async_op) in null;
- final self::PagingResponse<core::String> response = _in::unsafeCast<self::PagingResponse<core::String>>(:result);
+ [yield] let dynamic #t3 = asy::_awaitHelper(fetch, :async_op_then, :async_op_error) in null;
+ final self::PagingResponse<core::String> response = _in::unsafeCast<self::PagingResponse<core::String>>(:result_or_exception);
core::String result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
result = response{self::PagingResponse<core::String>}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::String;
@@ -173,7 +173,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41108.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41108.dart.strong.transformed.expect
index 1ecce4a..3911f56 100644
--- a/pkg/front_end/testcases/nnbd/issue41108.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41108.dart.strong.transformed.expect
@@ -21,15 +21,15 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::l(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::l(), :async_op_then, :async_op_error) in null;
core::List<dynamic> y = invalid-expression "pkg/front_end/testcases/nnbd/issue41108.dart:6:12: Error: A value of type 'List<dynamic>?' can't be assigned to a variable of type 'List<dynamic>' because 'List<dynamic>?' is nullable and 'List<dynamic>' isn't.
- 'List' is from 'dart:core'.
List y = await l(); // should be a List?
- ^" in let core::List<dynamic>? #t2 = _in::unsafeCast<core::List<dynamic>?>(:result) in #t2 == null ?{core::List<dynamic>} #t2 as{TypeError,ForNonNullableByDefault} core::List<dynamic> : #t2{core::List<dynamic>};
+ ^" in let core::List<dynamic>? #t2 = _in::unsafeCast<core::List<dynamic>?>(:result_or_exception) in #t2 == null ?{core::List<dynamic>} #t2 as{TypeError,ForNonNullableByDefault} core::List<dynamic> : #t2{core::List<dynamic>};
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -39,7 +39,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41108.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41108.dart.weak.transformed.expect
index 1a6d93f..c8d68d4 100644
--- a/pkg/front_end/testcases/nnbd/issue41108.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41108.dart.weak.transformed.expect
@@ -21,15 +21,15 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::l(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::l(), :async_op_then, :async_op_error) in null;
core::List<dynamic> y = invalid-expression "pkg/front_end/testcases/nnbd/issue41108.dart:6:12: Error: A value of type 'List<dynamic>?' can't be assigned to a variable of type 'List<dynamic>' because 'List<dynamic>?' is nullable and 'List<dynamic>' isn't.
- 'List' is from 'dart:core'.
List y = await l(); // should be a List?
- ^" in _in::unsafeCast<core::List<dynamic>?>(:result);
+ ^" in _in::unsafeCast<core::List<dynamic>?>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -39,7 +39,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41114.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41114.dart.strong.transformed.expect
index ec795d3..5a8290a 100644
--- a/pkg/front_end/testcases/nnbd/issue41114.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41114.dart.strong.transformed.expect
@@ -11,7 +11,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -28,7 +28,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41114.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41114.dart.weak.transformed.expect
index ec795d3..5a8290a 100644
--- a/pkg/front_end/testcases/nnbd/issue41114.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41114.dart.weak.transformed.expect
@@ -11,7 +11,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -28,7 +28,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41156.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41156.dart.strong.transformed.expect
index d45e990..8190be5 100644
--- a/pkg/front_end/testcases/nnbd/issue41156.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41156.dart.strong.transformed.expect
@@ -63,7 +63,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -78,7 +78,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -90,7 +90,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -104,7 +104,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -116,7 +116,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -131,7 +131,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -143,7 +143,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -158,7 +158,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -170,7 +170,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -184,7 +184,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -196,7 +196,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -211,7 +211,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -224,7 +224,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{
@@ -276,7 +276,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L8:
{
@@ -298,7 +298,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -310,7 +310,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L9:
{
@@ -333,7 +333,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -345,7 +345,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L10:
{
@@ -367,7 +367,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -379,7 +379,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L11:
{
@@ -402,7 +402,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -415,7 +415,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41156.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41156.dart.weak.transformed.expect
index 90dabf3..69eb4d9 100644
--- a/pkg/front_end/testcases/nnbd/issue41156.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41156.dart.weak.transformed.expect
@@ -64,7 +64,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -79,7 +79,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -91,7 +91,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -105,7 +105,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -117,7 +117,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -132,7 +132,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -144,7 +144,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -159,7 +159,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -171,7 +171,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -185,7 +185,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -197,7 +197,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -212,7 +212,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -225,7 +225,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{
@@ -277,7 +277,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L8:
{
@@ -299,7 +299,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -311,7 +311,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L9:
{
@@ -334,7 +334,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -346,7 +346,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L10:
{
@@ -368,7 +368,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -380,7 +380,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L11:
{
@@ -403,7 +403,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -416,7 +416,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.transformed.expect
index ed3a3ca..6e2c362 100644
--- a/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.transformed.expect
@@ -41,7 +41,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -56,7 +56,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -68,7 +68,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -83,7 +83,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -96,12 +96,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
break #L3;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -112,7 +112,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -129,12 +129,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
break #L4;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -145,7 +145,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -164,7 +164,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -179,7 +179,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -191,7 +191,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -204,12 +204,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
+ [yield] let dynamic #t3 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
break #L7;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -220,7 +220,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -237,12 +237,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L8:
{
- [yield] let dynamic #t4 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
+ [yield] let dynamic #t4 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
break #L8;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -253,7 +253,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -272,7 +272,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L9:
{
@@ -287,7 +287,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -303,12 +303,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L10:
{
- [yield] let dynamic #t5 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t5 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L10;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -319,7 +319,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
@@ -337,12 +337,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L11:
{
- [yield] let dynamic #t6 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t6 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L11;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -353,7 +353,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
@@ -370,7 +370,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L12:
{
@@ -385,7 +385,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<core::bool>};
@@ -398,7 +398,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.transformed.expect
index ed3a3ca..6e2c362 100644
--- a/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.transformed.expect
@@ -41,7 +41,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -56,7 +56,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -68,7 +68,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -83,7 +83,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -96,12 +96,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
break #L3;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -112,7 +112,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -129,12 +129,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
break #L4;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -145,7 +145,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -164,7 +164,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -179,7 +179,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -191,7 +191,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -204,12 +204,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
+ [yield] let dynamic #t3 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
break #L7;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -220,7 +220,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -237,12 +237,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L8:
{
- [yield] let dynamic #t4 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
+ [yield] let dynamic #t4 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::bool>;
break #L8;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -253,7 +253,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -272,7 +272,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L9:
{
@@ -287,7 +287,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -303,12 +303,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L10:
{
- [yield] let dynamic #t5 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t5 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L10;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -319,7 +319,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
@@ -337,12 +337,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L11:
{
- [yield] let dynamic #t6 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t6 = asy::_awaitHelper(self::getFutureNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L11;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -353,7 +353,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
@@ -370,7 +370,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L12:
{
@@ -385,7 +385,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<core::bool>};
@@ -398,7 +398,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.transformed.expect
index 8b27a53..06df3f0 100644
--- a/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.transformed.expect
@@ -150,7 +150,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -292,7 +292,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.transformed.expect
index 8b27a53..06df3f0 100644
--- a/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.transformed.expect
@@ -150,7 +150,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -292,7 +292,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.transformed.expect
index 995ecac..ce8b32e 100644
--- a/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.transformed.expect
@@ -52,7 +52,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L1:
@@ -85,7 +85,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L2:
@@ -118,7 +118,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L3:
@@ -155,7 +155,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L4:
@@ -198,7 +198,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L5:
@@ -230,7 +230,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -243,7 +243,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L7:
@@ -280,7 +280,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L8:
@@ -323,7 +323,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L9:
@@ -359,7 +359,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L10:
@@ -397,7 +397,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L11:
@@ -435,7 +435,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L12:
@@ -468,7 +468,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.transformed.expect
index 995ecac..ce8b32e 100644
--- a/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.transformed.expect
@@ -52,7 +52,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L1:
@@ -85,7 +85,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L2:
@@ -118,7 +118,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L3:
@@ -155,7 +155,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L4:
@@ -198,7 +198,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L5:
@@ -230,7 +230,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -243,7 +243,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L7:
@@ -280,7 +280,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L8:
@@ -323,7 +323,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L9:
@@ -359,7 +359,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L10:
@@ -397,7 +397,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L11:
@@ -435,7 +435,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L12:
@@ -468,7 +468,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41602.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41602.dart.strong.transformed.expect
index ec6e4be..675b14d 100644
--- a/pkg/front_end/testcases/nnbd/issue41602.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41602.dart.strong.transformed.expect
@@ -23,7 +23,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{}
@@ -35,7 +35,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -48,7 +48,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{}
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -73,14 +73,14 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::returnVoid(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(self::returnVoidAsync(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::returnVoid(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::returnVoidAsync(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -90,7 +90,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -103,12 +103,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(self::returnFutureOfVoid(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t3 = asy::_awaitHelper(self::returnFutureOfVoid(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -118,7 +118,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41602.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41602.dart.weak.transformed.expect
index ec6e4be..675b14d 100644
--- a/pkg/front_end/testcases/nnbd/issue41602.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41602.dart.weak.transformed.expect
@@ -23,7 +23,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{}
@@ -35,7 +35,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -48,7 +48,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{}
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -73,14 +73,14 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::returnVoid(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(self::returnVoidAsync(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::returnVoid(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::returnVoidAsync(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -90,7 +90,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -103,12 +103,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(self::returnFutureOfVoid(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t3 = asy::_awaitHelper(self::returnFutureOfVoid(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -118,7 +118,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41697.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41697.dart.strong.transformed.expect
index b845eb9..1c73ad9 100644
--- a/pkg/front_end/testcases/nnbd/issue41697.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697.dart.strong.transformed.expect
@@ -43,12 +43,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(t, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::num>(:result).{core::num::+}(1){(core::num) → core::num};
+ [yield] let dynamic #t1 = asy::_awaitHelper(t, :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::num>(:result_or_exception).{core::num::+}(1){(core::num) → core::num};
break #L1;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -59,7 +59,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -79,14 +79,14 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(t, :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t2 = asy::_awaitHelper(t, :async_op_then, :async_op_error) in null;
:return_value = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:36:22: Error: Operator '+' cannot be called on 'num?' because it is potentially null.
return (await t) + 1; // error
- ^" in _in::unsafeCast<core::num?>(:result).{core::num::+}(1){(core::num) → core::num};
+ ^" in _in::unsafeCast<core::num?>(:result_or_exception).{core::num::+}(1){(core::num) → core::num};
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -97,7 +97,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/nnbd/issue41697.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41697.dart.weak.transformed.expect
index b845eb9..1c73ad9 100644
--- a/pkg/front_end/testcases/nnbd/issue41697.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697.dart.weak.transformed.expect
@@ -43,12 +43,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(t, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::num>(:result).{core::num::+}(1){(core::num) → core::num};
+ [yield] let dynamic #t1 = asy::_awaitHelper(t, :async_op_then, :async_op_error) in null;
+ :return_value = _in::unsafeCast<core::num>(:result_or_exception).{core::num::+}(1){(core::num) → core::num};
break #L1;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -59,7 +59,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -79,14 +79,14 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t2 = asy::_awaitHelper(t, :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t2 = asy::_awaitHelper(t, :async_op_then, :async_op_error) in null;
:return_value = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:36:22: Error: Operator '+' cannot be called on 'num?' because it is potentially null.
return (await t) + 1; // error
- ^" in _in::unsafeCast<core::num?>(:result).{core::num::+}(1){(core::num) → core::num};
+ ^" in _in::unsafeCast<core::num?>(:result_or_exception).{core::num::+}(1){(core::num) → core::num};
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -97,7 +97,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/nnbd/issue42540.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42540.dart.strong.transformed.expect
index 2bb4719..2b136de 100644
--- a/pkg/front_end/testcases/nnbd/issue42540.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42540.dart.strong.transformed.expect
@@ -14,14 +14,14 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error, :async_op) in null;
- core::Object o = let dynamic #t2 = :result in #t2 == null ?{core::Object} #t2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Object : #t2{core::Object};
- [yield] let dynamic #t3 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = let dynamic #t4 = :result in #t4 == null ?{FutureOr<core::Object>} #t4 as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::Object> : #t4{FutureOr<core::Object>};
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error) in null;
+ core::Object o = let dynamic #t2 = :result_or_exception in #t2 == null ?{core::Object} #t2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Object : #t2{core::Object};
+ [yield] let dynamic #t3 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error) in null;
+ :return_value = let dynamic #t4 = :result_or_exception in #t4 == null ?{FutureOr<core::Object>} #t4 as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<core::Object> : #t4{FutureOr<core::Object>};
break #L1;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -32,7 +32,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue42540.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42540.dart.weak.transformed.expect
index 4d5ecd6..74c0365 100644
--- a/pkg/front_end/testcases/nnbd/issue42540.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42540.dart.weak.transformed.expect
@@ -14,14 +14,14 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error, :async_op) in null;
- core::Object o = :result;
- [yield] let dynamic #t2 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error) in null;
+ core::Object o = :result_or_exception;
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::getNull(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L1;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -32,7 +32,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue42546.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42546.dart.strong.transformed.expect
index fe3f074..e5489e1 100644
--- a/pkg/front_end/testcases/nnbd/issue42546.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42546.dart.strong.transformed.expect
@@ -45,7 +45,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -61,7 +61,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -80,7 +80,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<self::Divergent<self::Divergent<self::Divergent<core::int>>>>} as{TypeError,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<core::int>>>;
@@ -93,7 +93,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue42546.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42546.dart.weak.transformed.expect
index fe3f074..e5489e1 100644
--- a/pkg/front_end/testcases/nnbd/issue42546.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42546.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -61,7 +61,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -80,7 +80,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<self::Divergent<self::Divergent<self::Divergent<core::int>>>>} as{TypeError,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<core::int>>>;
@@ -93,7 +93,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue42743.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42743.dart.strong.transformed.expect
index ce05381..199ae9b 100644
--- a/pkg/front_end/testcases/nnbd/issue42743.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42743.dart.strong.transformed.expect
@@ -11,7 +11,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -28,7 +28,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -45,7 +45,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -58,7 +58,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue42743.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42743.dart.weak.transformed.expect
index ce05381..199ae9b 100644
--- a/pkg/front_end/testcases/nnbd/issue42743.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42743.dart.weak.transformed.expect
@@ -11,7 +11,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -28,7 +28,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -45,7 +45,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -58,7 +58,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue44595.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue44595.dart.strong.transformed.expect
index 83b083c..0bf212b 100644
--- a/pkg/front_end/testcases/nnbd/issue44595.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue44595.dart.strong.transformed.expect
@@ -20,7 +20,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -40,7 +40,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue44595.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue44595.dart.weak.transformed.expect
index 83b083c..0bf212b 100644
--- a/pkg/front_end/testcases/nnbd/issue44595.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue44595.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -40,7 +40,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
index 5d5407b..c26058b 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
@@ -135,7 +135,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -146,8 +146,8 @@
#L2:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::String s = :for-iterator.{asy::_StreamIterator::current}{core::String};
{
core::print(s);
@@ -158,8 +158,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String>?} == null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
:return_value = "hest";
@@ -173,7 +173,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -185,7 +185,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -209,12 +209,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
- [yield] let dynamic #t5 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t5 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L4;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -225,7 +225,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -239,7 +239,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
index 5d5407b..c26058b 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
@@ -135,7 +135,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -146,8 +146,8 @@
#L2:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
core::String s = :for-iterator.{asy::_StreamIterator::current}{core::String};
{
core::print(s);
@@ -158,8 +158,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String>?} == null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
:return_value = "hest";
@@ -173,7 +173,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -185,7 +185,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -209,12 +209,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
- [yield] let dynamic #t5 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error, :async_op) in null;
- :return_value = :result;
+ [yield] let dynamic #t5 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error) in null;
+ :return_value = :result_or_exception;
break #L4;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -225,7 +225,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -239,7 +239,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.strong.expect b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.strong.expect
index 2d71c44..9aa345d 100644
--- a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.strong.expect
@@ -12,6 +12,11 @@
//
// Problems in library:
//
+// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
+// Try adding either an explicit non-'null' default value or the 'required' modifier.
+// void method([int i]) {}
+// ^
+//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/patch_lib.dart:11:27: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void patchedMethod([int i]) {}
@@ -32,11 +37,6 @@
// void _injectedMethod([int i]) {}
// ^
//
-// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
-// Try adding either an explicit non-'null' default value or the 'required' modifier.
-// void method([int i]) {}
-// ^
-//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:11:18: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void method([int i]) {}
diff --git a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.strong.transformed.expect
index 2d71c44..9aa345d 100644
--- a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.strong.transformed.expect
@@ -12,6 +12,11 @@
//
// Problems in library:
//
+// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
+// Try adding either an explicit non-'null' default value or the 'required' modifier.
+// void method([int i]) {}
+// ^
+//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/patch_lib.dart:11:27: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void patchedMethod([int i]) {}
@@ -32,11 +37,6 @@
// void _injectedMethod([int i]) {}
// ^
//
-// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
-// Try adding either an explicit non-'null' default value or the 'required' modifier.
-// void method([int i]) {}
-// ^
-//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:11:18: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void method([int i]) {}
diff --git a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.expect b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.expect
index 2d71c44..9aa345d 100644
--- a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.expect
@@ -12,6 +12,11 @@
//
// Problems in library:
//
+// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
+// Try adding either an explicit non-'null' default value or the 'required' modifier.
+// void method([int i]) {}
+// ^
+//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/patch_lib.dart:11:27: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void patchedMethod([int i]) {}
@@ -32,11 +37,6 @@
// void _injectedMethod([int i]) {}
// ^
//
-// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
-// Try adding either an explicit non-'null' default value or the 'required' modifier.
-// void method([int i]) {}
-// ^
-//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:11:18: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void method([int i]) {}
diff --git a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.modular.expect
index 2d71c44..9aa345d 100644
--- a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.modular.expect
@@ -12,6 +12,11 @@
//
// Problems in library:
//
+// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
+// Try adding either an explicit non-'null' default value or the 'required' modifier.
+// void method([int i]) {}
+// ^
+//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/patch_lib.dart:11:27: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void patchedMethod([int i]) {}
@@ -32,11 +37,6 @@
// void _injectedMethod([int i]) {}
// ^
//
-// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
-// Try adding either an explicit non-'null' default value or the 'required' modifier.
-// void method([int i]) {}
-// ^
-//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:11:18: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void method([int i]) {}
diff --git a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.outline.expect
index 49eec30..1a1e26d 100644
--- a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.outline.expect
@@ -10,6 +10,11 @@
//
// Problems in library:
//
+// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
+// Try adding either an explicit non-'null' default value or the 'required' modifier.
+// void method([int i]) {}
+// ^
+//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/patch_lib.dart:11:27: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void patchedMethod([int i]) {}
@@ -30,11 +35,6 @@
// void _injectedMethod([int i]) {}
// ^
//
-// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
-// Try adding either an explicit non-'null' default value or the 'required' modifier.
-// void method([int i]) {}
-// ^
-//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:11:18: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void method([int i]) {}
diff --git a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.transformed.expect
index 2d71c44..9aa345d 100644
--- a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.transformed.expect
@@ -12,6 +12,11 @@
//
// Problems in library:
//
+// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
+// Try adding either an explicit non-'null' default value or the 'required' modifier.
+// void method([int i]) {}
+// ^
+//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/patch_lib.dart:11:27: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void patchedMethod([int i]) {}
@@ -32,11 +37,6 @@
// void _injectedMethod([int i]) {}
// ^
//
-// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:6:20: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
-// Try adding either an explicit non-'null' default value or the 'required' modifier.
-// void method([int i]) {}
-// ^
-//
// pkg/front_end/testcases/nnbd/platform_optional_parameters/origin_lib.dart:11:18: Error: The parameter 'i' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
// Try adding either an explicit non-'null' default value or the 'required' modifier.
// void method([int i]) {}
diff --git a/pkg/front_end/testcases/nnbd/return_async.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/return_async.dart.strong.transformed.expect
index 765a694..8e3b2c1 100644
--- a/pkg/front_end/testcases/nnbd/return_async.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_async.dart.strong.transformed.expect
@@ -18,14 +18,14 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(0, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int>(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(self::allYield2(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(0, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int>(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::allYield2(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -35,7 +35,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -48,14 +48,14 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(0, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int>(:result);
- [yield] let dynamic #t4 = asy::_awaitHelper(self::allYield3(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t3 = asy::_awaitHelper(0, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int>(:result_or_exception);
+ [yield] let dynamic #t4 = asy::_awaitHelper(self::allYield3(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -65,7 +65,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -78,12 +78,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t5 = asy::_awaitHelper(0, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int>(:result);
+ [yield] let dynamic #t5 = asy::_awaitHelper(0, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int>(:result_or_exception);
self::throwSync();
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -94,7 +94,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -106,7 +106,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -120,12 +120,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
- [yield] let dynamic #t6 = asy::_awaitHelper(self::allYield(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t6 = asy::_awaitHelper(self::allYield(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
completer.{asy::Completer::complete}(null){([FutureOr<void>?]) → void};
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -136,7 +136,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}, (core::Object e, core::StackTrace s) → void {
@@ -153,7 +153,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/return_async.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/return_async.dart.weak.transformed.expect
index 765a694..8e3b2c1 100644
--- a/pkg/front_end/testcases/nnbd/return_async.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_async.dart.weak.transformed.expect
@@ -18,14 +18,14 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(0, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int>(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(self::allYield2(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(0, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int>(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::allYield2(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -35,7 +35,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -48,14 +48,14 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(0, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int>(:result);
- [yield] let dynamic #t4 = asy::_awaitHelper(self::allYield3(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t3 = asy::_awaitHelper(0, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int>(:result_or_exception);
+ [yield] let dynamic #t4 = asy::_awaitHelper(self::allYield3(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -65,7 +65,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -78,12 +78,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t5 = asy::_awaitHelper(0, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int>(:result);
+ [yield] let dynamic #t5 = asy::_awaitHelper(0, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int>(:result_or_exception);
self::throwSync();
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -94,7 +94,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -106,7 +106,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -120,12 +120,12 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
- [yield] let dynamic #t6 = asy::_awaitHelper(self::allYield(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t6 = asy::_awaitHelper(self::allYield(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
completer.{asy::Completer::complete}(null){([FutureOr<void>?]) → void};
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -136,7 +136,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}, (core::Object e, core::StackTrace s) → void {
@@ -153,7 +153,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect
index 2bde6d6..f464a2f 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect
@@ -99,7 +99,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{}
@@ -111,7 +111,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -123,7 +123,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{}
@@ -135,7 +135,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -147,7 +147,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -164,7 +164,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -176,7 +176,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{}
@@ -188,7 +188,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -200,7 +200,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{}
@@ -212,7 +212,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -224,7 +224,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -239,7 +239,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -251,7 +251,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{}
@@ -263,7 +263,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -286,7 +286,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L8:
@@ -367,7 +367,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L13:
{}
@@ -379,7 +379,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -391,7 +391,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L14:
{}
@@ -403,7 +403,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -415,7 +415,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L15:
{
@@ -432,7 +432,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -444,7 +444,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L16:
{}
@@ -456,7 +456,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -468,7 +468,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L17:
{}
@@ -480,7 +480,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -492,7 +492,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L18:
{
@@ -507,7 +507,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -519,7 +519,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L19:
{}
@@ -531,7 +531,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -554,7 +554,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L20:
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect
index 16befe0..09a90f2 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect
@@ -100,7 +100,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{}
@@ -112,7 +112,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -124,7 +124,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{}
@@ -136,7 +136,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -148,7 +148,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -165,7 +165,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -177,7 +177,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{}
@@ -189,7 +189,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -201,7 +201,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{}
@@ -213,7 +213,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -225,7 +225,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -240,7 +240,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -252,7 +252,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{}
@@ -264,7 +264,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -287,7 +287,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L8:
@@ -371,7 +371,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L14:
{}
@@ -383,7 +383,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -395,7 +395,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L15:
{}
@@ -407,7 +407,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -419,7 +419,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L16:
{
@@ -436,7 +436,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -448,7 +448,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L17:
{}
@@ -460,7 +460,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -472,7 +472,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L18:
{}
@@ -484,7 +484,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -496,7 +496,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L19:
{
@@ -511,7 +511,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -523,7 +523,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L20:
{}
@@ -535,7 +535,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -558,7 +558,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L21:
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.transformed.expect
index 160716b..19c9552 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.transformed.expect
@@ -12,7 +12,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{}
@@ -24,7 +24,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -37,7 +37,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{}
@@ -49,7 +49,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -62,16 +62,16 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
- [yield] let dynamic #t1 = asy::_awaitHelper(self::returnVoid(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(self::returnFutureOfVoid(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
- [yield] let dynamic #t3 = asy::_awaitHelper(self::returnVoidAsync(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<void>(:result);
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::returnVoid(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::returnFutureOfVoid(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
+ [yield] let dynamic #t3 = asy::_awaitHelper(self::returnVoidAsync(), :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<void>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -81,7 +81,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.transformed.expect
index 1f53e96..055f5af 100644
--- a/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.transformed.expect
@@ -15,7 +15,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -30,7 +30,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
index b4b664d..4463725 100644
--- a/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
@@ -67,7 +67,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -82,7 +82,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -94,7 +94,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -109,7 +109,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -122,15 +122,15 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
core::print(self::f1());
- [yield] let dynamic #t1 = asy::_awaitHelper(self::f2(), :async_op_then, :async_op_error, :async_op) in null;
- core::print(:result);
- [yield] let dynamic #t2 = asy::_awaitHelper(self::f3(), :async_op_then, :async_op_error, :async_op) in null;
- core::print(_in::unsafeCast<invalid-type>(:result));
+ [yield] let dynamic #t1 = asy::_awaitHelper(self::f2(), :async_op_then, :async_op_error) in null;
+ core::print(:result_or_exception);
+ [yield] let dynamic #t2 = asy::_awaitHelper(self::f3(), :async_op_then, :async_op_error) in null;
+ core::print(_in::unsafeCast<invalid-type>(:result_or_exception));
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -140,7 +140,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
index 63a99de..2048398 100644
--- a/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
@@ -31,7 +31,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -43,7 +43,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -58,12 +58,12 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
- [yield] let dynamic #t1 = asy::_awaitHelper(f_async(){() →* core::int*}, :async_op_then, :async_op_error, :async_op) in null;
- core::print(_in::unsafeCast<core::int*>(:result));
+ [yield] let dynamic #t1 = asy::_awaitHelper(f_async(){() →* core::int*}, :async_op_then, :async_op_error) in null;
+ core::print(_in::unsafeCast<core::int*>(:result_or_exception));
function f_async_star() → core::int* /* originally async* */ {
asy::_AsyncStarStreamController<dynamic>* :controller;
dynamic :controller_stream;
@@ -73,7 +73,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L3:
@@ -104,8 +104,8 @@
#L4:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
core::print(x);
@@ -116,8 +116,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
function f_sync_star() → core::int* /* originally sync* */ {
@@ -155,7 +155,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
index 9262980..1578723 100644
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
@@ -62,7 +62,7 @@
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -87,26 +87,26 @@
Change the type of the map literal or the context in which it is used.
LinkedHashMap<int, bool> lhm = {};
^" in <dynamic, dynamic>{};
- [yield] let dynamic #t4 = asy::_awaitHelper(self::mapfun(), :async_op_then, :async_op_error, :async_op) in null;
- core::Map<core::int*, core::bool*>* fm = _in::unsafeCast<core::Map<core::int*, core::bool*>*>(:result);
- [yield] let dynamic #t5 = asy::_awaitHelper(self::setfun(), :async_op_then, :async_op_error, :async_op) in null;
- core::Set<core::int*>* fs = _in::unsafeCast<core::Set<core::int*>*>(:result);
- [yield] let dynamic #t6 = asy::_awaitHelper(self::iterablefun(), :async_op_then, :async_op_error, :async_op) in null;
- core::Iterable<core::int*>* fi = _in::unsafeCast<core::Iterable<core::int*>*>(:result);
- [yield] let dynamic #t7 = asy::_awaitHelper(self::lhsfun(), :async_op_then, :async_op_error, :async_op) in null;
- col::LinkedHashSet<core::int*>* flhs = _in::unsafeCast<col::LinkedHashSet<core::int*>*>(:result);
- [yield] let dynamic #t8 = asy::_awaitHelper(self::lhmfun(), :async_op_then, :async_op_error, :async_op) in null;
- col::LinkedHashMap<core::int*, core::bool*>* flhm = _in::unsafeCast<col::LinkedHashMap<core::int*, core::bool*>*>(:result);
- [yield] let dynamic #t9 = asy::_awaitHelper(self::mapfun2(), :async_op_then, :async_op_error, :async_op) in null;
- core::Map<core::int*, core::bool*>* fm2 = _in::unsafeCast<core::Map<core::int*, core::bool*>*>(:result);
- [yield] let dynamic #t10 = asy::_awaitHelper(self::setfun2(), :async_op_then, :async_op_error, :async_op) in null;
- core::Set<core::int*>* fs2 = _in::unsafeCast<core::Set<core::int*>*>(:result);
- [yield] let dynamic #t11 = asy::_awaitHelper(self::iterablefun2(), :async_op_then, :async_op_error, :async_op) in null;
- core::Iterable<core::int*>* fi2 = _in::unsafeCast<core::Iterable<core::int*>*>(:result);
- [yield] let dynamic #t12 = asy::_awaitHelper(self::lhsfun2(), :async_op_then, :async_op_error, :async_op) in null;
- col::LinkedHashSet<core::int*>* flhs2 = _in::unsafeCast<col::LinkedHashSet<core::int*>*>(:result);
- [yield] let dynamic #t13 = asy::_awaitHelper(self::lhmfun2(), :async_op_then, :async_op_error, :async_op) in null;
- col::LinkedHashMap<core::int*, core::bool*>* flhm2 = _in::unsafeCast<col::LinkedHashMap<core::int*, core::bool*>*>(:result);
+ [yield] let dynamic #t4 = asy::_awaitHelper(self::mapfun(), :async_op_then, :async_op_error) in null;
+ core::Map<core::int*, core::bool*>* fm = _in::unsafeCast<core::Map<core::int*, core::bool*>*>(:result_or_exception);
+ [yield] let dynamic #t5 = asy::_awaitHelper(self::setfun(), :async_op_then, :async_op_error) in null;
+ core::Set<core::int*>* fs = _in::unsafeCast<core::Set<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t6 = asy::_awaitHelper(self::iterablefun(), :async_op_then, :async_op_error) in null;
+ core::Iterable<core::int*>* fi = _in::unsafeCast<core::Iterable<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t7 = asy::_awaitHelper(self::lhsfun(), :async_op_then, :async_op_error) in null;
+ col::LinkedHashSet<core::int*>* flhs = _in::unsafeCast<col::LinkedHashSet<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t8 = asy::_awaitHelper(self::lhmfun(), :async_op_then, :async_op_error) in null;
+ col::LinkedHashMap<core::int*, core::bool*>* flhm = _in::unsafeCast<col::LinkedHashMap<core::int*, core::bool*>*>(:result_or_exception);
+ [yield] let dynamic #t9 = asy::_awaitHelper(self::mapfun2(), :async_op_then, :async_op_error) in null;
+ core::Map<core::int*, core::bool*>* fm2 = _in::unsafeCast<core::Map<core::int*, core::bool*>*>(:result_or_exception);
+ [yield] let dynamic #t10 = asy::_awaitHelper(self::setfun2(), :async_op_then, :async_op_error) in null;
+ core::Set<core::int*>* fs2 = _in::unsafeCast<core::Set<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t11 = asy::_awaitHelper(self::iterablefun2(), :async_op_then, :async_op_error) in null;
+ core::Iterable<core::int*>* fi2 = _in::unsafeCast<core::Iterable<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t12 = asy::_awaitHelper(self::lhsfun2(), :async_op_then, :async_op_error) in null;
+ col::LinkedHashSet<core::int*>* flhs2 = _in::unsafeCast<col::LinkedHashSet<core::int*>*>(:result_or_exception);
+ [yield] let dynamic #t13 = asy::_awaitHelper(self::lhmfun2(), :async_op_then, :async_op_error) in null;
+ col::LinkedHashMap<core::int*, core::bool*>* flhm2 = _in::unsafeCast<col::LinkedHashMap<core::int*, core::bool*>*>(:result_or_exception);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -128,7 +128,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -155,7 +155,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -172,7 +172,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -184,7 +184,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -213,7 +213,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -236,7 +236,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -248,7 +248,7 @@
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
@@ -269,7 +269,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() →* dynamic};
+ :async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/textual_outline.status b/pkg/front_end/testcases/textual_outline.status
index 9bd8949..ee2d5b8 100644
--- a/pkg/front_end/testcases/textual_outline.status
+++ b/pkg/front_end/testcases/textual_outline.status
@@ -159,6 +159,7 @@
late_lowering/override_getter_setter: FormatterCrash
late_lowering/skip_late_final_uninitialized_instance_fields/main: FormatterCrash
late_lowering/uninitialized_non_nullable_late_fields: FormatterCrash
+macros/augment_class: FormatterCrash
macros/macro_class: FormatterCrash
nnbd/abstract_field_errors: FormatterCrash
nnbd/covariant_late_field: FormatterCrash
diff --git a/pkg/front_end/tool/_fasta/parser_ast_helper_creator.dart b/pkg/front_end/tool/_fasta/parser_ast_helper_creator.dart
index ff1f22e..ce27c8a 100644
--- a/pkg/front_end/tool/_fasta/parser_ast_helper_creator.dart
+++ b/pkg/front_end/tool/_fasta/parser_ast_helper_creator.dart
@@ -103,8 +103,8 @@
ParserCreatorListener(this.out);
@override
- void beginClassDeclaration(
- Token begin, Token? abstractToken, Token? macroToken, Token name) {
+ void beginClassDeclaration(Token begin, Token? abstractToken,
+ Token? macroToken, Token? augmentToken, Token name) {
if (name.lexeme == "Listener") insideListenerClass = true;
}
diff --git a/pkg/front_end/tool/dart_doctest_impl.dart b/pkg/front_end/tool/dart_doctest_impl.dart
index 6481a4c..09a9e7f 100644
--- a/pkg/front_end/tool/dart_doctest_impl.dart
+++ b/pkg/front_end/tool/dart_doctest_impl.dart
@@ -834,6 +834,7 @@
scope: libraryBuilder.scope.createNestedScope("dartdoctest"),
nameOrigin: libraryBuilder,
isUnsupported: false,
+ isAugmentation: false,
);
if (libraryBuilder is DillLibraryBuilder) {
diff --git a/pkg/kernel/lib/transformations/async.dart b/pkg/kernel/lib/transformations/async.dart
index acca81a..a9d5f6a 100644
--- a/pkg/kernel/lib/transformations/async.dart
+++ b/pkg/kernel/lib/transformations/async.dart
@@ -76,7 +76,8 @@
/// [nameIndex] may still account for names of subexpressions.
int nameIndex = 0;
- final VariableDeclaration asyncResult = new VariableDeclaration(':result');
+ final VariableDeclaration asyncResult =
+ new VariableDeclaration(':result_or_exception');
final List<VariableDeclaration> variables = <VariableDeclaration>[];
ExpressionLifter(this.continuationRewriter);
@@ -538,7 +539,6 @@
expr.operand,
new VariableGet(R.thenContinuationVariable),
new VariableGet(R.catchErrorContinuationVariable),
- new VariableGet(R.nestedClosureVariable),
]);
// We are building
diff --git a/pkg/kernel/lib/transformations/continuation.dart b/pkg/kernel/lib/transformations/continuation.dart
index c0375c2..3fb6474 100644
--- a/pkg/kernel/lib/transformations/continuation.dart
+++ b/pkg/kernel/lib/transformations/continuation.dart
@@ -536,7 +536,7 @@
}
abstract class AsyncRewriterBase extends ContinuationRewriterBase {
- // :async_op has type ([dynamic result, dynamic e, StackTrace? s]) -> dynamic
+ // :async_op has type (dynamic result_or_exception, StackTrace? s) -> dynamic
final VariableDeclaration nestedClosureVariable;
// :async_op_then has type (dynamic result) -> dynamic
@@ -551,14 +551,13 @@
AsyncRewriterBase(HelperNodes helper, FunctionNode enclosingFunction,
StatefulStaticTypeContext staticTypeContext)
- : nestedClosureVariable = VariableDeclaration(
- ContinuationVariables.asyncOp,
- type: FunctionType([
- const DynamicType(),
- const DynamicType(),
- helper.coreTypes.stackTraceRawType(staticTypeContext.nullable),
- ], const DynamicType(), staticTypeContext.nonNullable,
- requiredParameterCount: 0)),
+ : nestedClosureVariable =
+ VariableDeclaration(ContinuationVariables.asyncOp,
+ type: FunctionType([
+ const DynamicType(),
+ helper.coreTypes
+ .stackTraceRawType(staticTypeContext.nullable),
+ ], const DynamicType(), staticTypeContext.nonNullable)),
thenContinuationVariable = VariableDeclaration(
ContinuationVariables.asyncOpThen,
type: FunctionType(const [const DynamicType()], const DynamicType(),
@@ -581,12 +580,11 @@
// var :async_op_error;
statements.add(catchErrorContinuationVariable);
- // :async_op([:result, :exception, :stack_trace]) {
+ // :async_op(:result_or_exception, :stack_trace) {
// modified <node.body>;
// }
final parameters = <VariableDeclaration>[
expressionRewriter!.asyncResult,
- new VariableDeclaration(ContinuationVariables.exceptionParam),
new VariableDeclaration(ContinuationVariables.stackTraceParam),
];
@@ -595,7 +593,6 @@
// Dart async marker to decide if functions are debuggable.)
final function = new FunctionNode(buildWrappedBody(),
positionalParameters: parameters,
- requiredParameterCount: 0,
asyncMarker: AsyncMarker.SyncYielding,
dartAsyncMarker: AsyncMarker.Sync)
..fileOffset = enclosingFunction.fileOffset
@@ -1413,9 +1410,9 @@
valueType.withDeclaredNullability(Nullability.nullable);
}
- // :async_op();
+ // :async_op(null, null);
final startStatement = ExpressionStatement(LocalFunctionInvocation(
- nestedClosureVariable, Arguments([]),
+ nestedClosureVariable, Arguments([NullLiteral(), NullLiteral()]),
functionType: FunctionType(
[], const DynamicType(), staticTypeContext.nonNullable))
..fileOffset = enclosingFunction.fileOffset);
diff --git a/pkg/vm/testcases/transformations/deferred_loading/main.dart.expect b/pkg/vm/testcases/transformations/deferred_loading/main.dart.expect
index e063504..a881185 100644
--- a/pkg/vm/testcases/transformations/deferred_loading/main.dart.expect
+++ b/pkg/vm/testcases/transformations/deferred_loading/main.dart.expect
@@ -53,7 +53,7 @@
(dart.core::Object, dart.core::StackTrace) → dynamic :async_op_error;
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -67,7 +67,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -84,7 +84,7 @@
(dart.core::Object, dart.core::StackTrace) → dynamic :async_op_error;
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -98,7 +98,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -117,13 +117,13 @@
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
dart.core::print("I");
- [yield] let dynamic #t1 = dart.async::_awaitHelper(LoadLibrary(j), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t1 = dart.async::_awaitHelper(LoadLibrary(j), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
:return_value = let final dynamic #t2 = CheckLibraryIsLoaded(j) in j::j();
break #L3;
}
@@ -135,7 +135,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -152,7 +152,7 @@
(dart.core::Object, dart.core::StackTrace) → dynamic :async_op_error;
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
@@ -166,7 +166,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -185,17 +185,17 @@
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
dart.core::print("F");
- [yield] let dynamic #t3 = dart.async::_awaitHelper(LoadLibrary(g), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t3 = dart.async::_awaitHelper(LoadLibrary(g), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
:return_value = let final dynamic #t4 = CheckLibraryIsLoaded(g) in g::g();
break #L5;
- [yield] let dynamic #t5 = dart.async::_awaitHelper(LoadLibrary(i), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t5 = dart.async::_awaitHelper(LoadLibrary(i), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
:return_value = let final dynamic #t6 = CheckLibraryIsLoaded(i) in i::i();
break #L5;
}
@@ -207,7 +207,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -225,13 +225,13 @@
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L6:
{
dart.core::print("E");
- [yield] let dynamic #t7 = dart.async::_awaitHelper(LoadLibrary(g), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t7 = dart.async::_awaitHelper(LoadLibrary(g), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
:return_value = let final dynamic #t8 = CheckLibraryIsLoaded(g) in g::g();
break #L6;
}
@@ -243,7 +243,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -262,13 +262,13 @@
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L7:
{
dart.core::print("C");
- [yield] let dynamic #t9 = dart.async::_awaitHelper(LoadLibrary(f), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t9 = dart.async::_awaitHelper(LoadLibrary(f), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
:return_value = let final dynamic #t10 = CheckLibraryIsLoaded(f) in f::f();
break #L7;
}
@@ -280,7 +280,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -297,7 +297,7 @@
(dart.core::Object, dart.core::StackTrace) → dynamic :async_op_error;
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L8:
{
@@ -313,7 +313,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -330,7 +330,7 @@
(dart.core::Object, dart.core::StackTrace) → dynamic :async_op_error;
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L9:
{
@@ -346,7 +346,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -364,13 +364,13 @@
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L10:
{
dart.core::print("A");
- [yield] let dynamic #t11 = dart.async::_awaitHelper(LoadLibrary(d), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t11 = dart.async::_awaitHelper(LoadLibrary(d), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
:return_value = let final dynamic #t12 = CheckLibraryIsLoaded(d) in d::d();
break #L10;
}
@@ -382,7 +382,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -401,14 +401,14 @@
dart.core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L11:
{
- [yield] let dynamic #t13 = dart.async::_awaitHelper(a::a(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
- [yield] let dynamic #t14 = dart.async::_awaitHelper(b::b(), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t13 = dart.async::_awaitHelper(a::a(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
+ [yield] let dynamic #t14 = dart.async::_awaitHelper(b::b(), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
dart.async::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -418,7 +418,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/vm/testcases/transformations/ffi/finalizable_async.dart.expect b/pkg/vm/testcases/transformations/ffi/finalizable_async.dart.expect
index f72ce42..e098162 100644
--- a/pkg/vm/testcases/transformations/ffi/finalizable_async.dart.expect
+++ b/pkg/vm/testcases/transformations/ffi/finalizable_async.dart.expect
@@ -19,7 +19,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -50,15 +50,15 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
[yield] let dynamic #t1 = asy::_awaitHelper( block {
final asy::Future<core::int> :expressionValueWrappedFinalizable = self::doSomething();
_in::reachabilityFence(this);
- } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error, :async_op) in null;
- final core::int :expressionValueWrappedFinalizable = _in::unsafeCast<core::int>(:result);
+ } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error) in null;
+ final core::int :expressionValueWrappedFinalizable = _in::unsafeCast<core::int>(:result_or_exception);
:return_value = block {
_in::reachabilityFence(this);
} =>:expressionValueWrappedFinalizable;
@@ -72,7 +72,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -91,7 +91,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
@@ -106,7 +106,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -119,30 +119,30 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
[yield] let dynamic #t2 = asy::_awaitHelper( block {
final asy::Future<core::int> :expressionValueWrappedFinalizable = asy::Future::sync<core::int>(() → core::int => 6);
_in::reachabilityFence(finalizable);
- } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int>(:result);
+ } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int>(:result_or_exception);
final self::MyFinalizable finalizable2 = new self::MyFinalizable::•();
[yield] let dynamic #t3 = asy::_awaitHelper( block {
final asy::Future<core::int> :expressionValueWrappedFinalizable = asy::Future::sync<core::int>(() → core::int => 5);
_in::reachabilityFence(finalizable);
_in::reachabilityFence(finalizable2);
- } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int>(:result);
+ } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int>(:result_or_exception);
final self::MyFinalizable finalizable3 = new self::MyFinalizable::•();
[yield] let dynamic #t4 = asy::_awaitHelper( block {
final asy::Future<core::int> :expressionValueWrappedFinalizable = asy::Future::sync<core::int>(() → core::int => 4);
_in::reachabilityFence(finalizable);
_in::reachabilityFence(finalizable2);
_in::reachabilityFence(finalizable3);
- } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int>(:result);
+ } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int>(:result_or_exception);
:return_value = block {
final asy::Future<core::int> :expressionValueWrappedFinalizable = self::doSomething();
_in::reachabilityFence(finalizable);
@@ -159,7 +159,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -172,7 +172,7 @@
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
@@ -181,8 +181,8 @@
[yield] let dynamic #t5 = asy::_awaitHelper( block {
final asy::Future<core::int> :expressionValueWrappedFinalizable = asyncResult;
_in::reachabilityFence(finalizable);
- } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error, :async_op) in null;
- core::print(_in::unsafeCast<core::int>(:result));
+ } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error) in null;
+ core::print(_in::unsafeCast<core::int>(:result_or_exception));
_in::reachabilityFence(finalizable);
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -193,7 +193,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/vm/testcases/transformations/ffi/finalizable_async_star.dart.expect b/pkg/vm/testcases/transformations/ffi/finalizable_async_star.dart.expect
index 01a6c61..18fae35 100644
--- a/pkg/vm/testcases/transformations/ffi/finalizable_async_star.dart.expect
+++ b/pkg/vm/testcases/transformations/ffi/finalizable_async_star.dart.expect
@@ -23,7 +23,7 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try
try {
#L1:
@@ -43,8 +43,8 @@
_in::reachabilityFence(finalizable);
_in::reachabilityFence(finalizable2);
_in::reachabilityFence(finalizable3);
- } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::int>(:result);
+ } =>:expressionValueWrappedFinalizable, :async_op_then, :async_op_error) in null;
+ _in::unsafeCast<core::int>(:result_or_exception);
final self::MyFinalizable finalizable4 = new self::MyFinalizable::•();
if(new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) → core::bool} 4) {
{
@@ -96,7 +96,7 @@
dynamic :saved_try_context_var1;
dynamic :exception0;
dynamic :stack_trace0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -109,8 +109,8 @@
#L3:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
- if(_in::unsafeCast<core::bool>(:result)) {
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error) in null;
+ if(_in::unsafeCast<core::bool>(:result_or_exception)) {
final core::int element = :for-iterator.{asy::_StreamIterator::current}{core::int};
{
core::print(element);
@@ -121,8 +121,8 @@
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int>?} == null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
}
_in::reachabilityFence(finalizable);
@@ -135,7 +135,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/async_await.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/async_await.dart.expect
index 0f8f453..da5be5f 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/async_await.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/async_await.dart.expect
@@ -15,7 +15,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
@@ -30,7 +30,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -50,7 +50,7 @@
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
@@ -65,7 +65,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -79,14 +79,14 @@
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :async_temporary_0;
- function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding
+ function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
:async_temporary_0 = [@vm.inferred-type.metadata=#lib::A] self::foo();
- [yield] let dynamic #t1 = asy::_awaitHelper([@vm.inferred-type.metadata=dart.async::_Future<dynamic>] self::baz(), :async_op_then, :async_op_error, :async_op) in null;
- [yield] let dynamic #t2 = asy::_awaitHelper([@vm.direct-call.metadata=#lib::A.bar??] [@vm.inferred-type.metadata=dart.async::_Future<dynamic> (receiver not int)] :async_temporary_0{dynamic}.bar(:result), :async_op_then, :async_op_error, :async_op) in null;
- :result;
+ [yield] let dynamic #t1 = asy::_awaitHelper([@vm.inferred-type.metadata=dart.async::_Future<dynamic>] self::baz(), :async_op_then, :async_op_error) in null;
+ [yield] let dynamic #t2 = asy::_awaitHelper([@vm.direct-call.metadata=#lib::A.bar??] [@vm.inferred-type.metadata=dart.async::_Future<dynamic> (receiver not int)] :async_temporary_0{dynamic}.bar(:result_or_exception), :async_op_then, :async_op_error) in null;
+ :result_or_exception;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(){() → dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/runtime/docs/pragmas.md b/runtime/docs/pragmas.md
index 77d6d8e..90eb126 100644
--- a/runtime/docs/pragmas.md
+++ b/runtime/docs/pragmas.md
@@ -11,6 +11,7 @@
| `vm:prefer-inline` | [Inline a function or method when possible](compiler/pragmas_recognized_by_compiler.md#requesting-a-function-be-inlined) |
| `vm:notify-debugger-on-exception` | Marks a function that catches exceptions, making the VM treat any caught exception as if they were uncaught. This can be used to notify an attached debugger during debugging, without pausing the app during regular execution. |
| `vm:external-name` | Allows to specify an external (native) name for an `external` function. This name is used to lookup native implementation via native resolver associated with the current library through embedding APIs. This is a replacement for legacy VM specific `native "name"` syntax. |
+| `vm:invisible` | Allows to mark a function as invisible so it will not appear on stack traces. |
## Unsafe pragmas for general use
diff --git a/runtime/tests/vm/dart/invisible_function_pragma_test.dart b/runtime/tests/vm/dart/invisible_function_pragma_test.dart
new file mode 100644
index 0000000..dff913a
--- /dev/null
+++ b/runtime/tests/vm/dart/invisible_function_pragma_test.dart
@@ -0,0 +1,89 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'causal_stacks/utils.dart';
+
+main() async {
+ StackTrace trace = StackTrace.empty;
+
+ A.visible(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 new A.visible',
+ r'^#2 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+
+ A.invisible(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+
+ visible(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 visible',
+ r'^#2 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+
+ invisible(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+
+ visibleClosure(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 visibleClosure.visibleInner',
+ r'^#2 visibleClosure',
+ r'^#3 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+
+ invisibleClosure(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 invisibleClosure',
+ r'^#2 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+}
+
+class A {
+ A.visible(void Function() fun) {
+ fun();
+ }
+
+ @pragma('vm:invisible')
+ A.invisible(void Function() fun) {
+ fun();
+ }
+}
+
+void visible(void Function() fun) => fun();
+
+@pragma('vm:invisible')
+void invisible(void Function() fun) => fun();
+
+void visibleClosure(void Function() fun) {
+ visibleInner() {
+ fun();
+ }
+
+ visibleInner();
+}
+
+void invisibleClosure(void Function() fun) {
+ @pragma('vm:invisible')
+ invisibleInner() {
+ fun();
+ }
+
+ invisibleInner();
+}
diff --git a/runtime/tests/vm/dart_2/invisible_function_pragma_test.dart b/runtime/tests/vm/dart_2/invisible_function_pragma_test.dart
new file mode 100644
index 0000000..6e0d7cf
--- /dev/null
+++ b/runtime/tests/vm/dart_2/invisible_function_pragma_test.dart
@@ -0,0 +1,91 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// @dart = 2.9
+
+import 'causal_stacks/utils.dart';
+
+main() async {
+ StackTrace trace = StackTrace.empty;
+
+ A.visible(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 new A.visible',
+ r'^#2 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+
+ A.invisible(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+
+ visible(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 visible',
+ r'^#2 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+
+ invisible(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+
+ visibleClosure(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 visibleClosure.visibleInner',
+ r'^#2 visibleClosure',
+ r'^#3 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+
+ invisibleClosure(() => trace = StackTrace.current);
+ await assertStack([
+ r'^#0 main.<anonymous closure>',
+ r'^#1 invisibleClosure',
+ r'^#2 main',
+ IGNORE_REMAINING_STACK,
+ ], trace);
+}
+
+class A {
+ A.visible(void Function() fun) {
+ fun();
+ }
+
+ @pragma('vm:invisible')
+ A.invisible(void Function() fun) {
+ fun();
+ }
+}
+
+void visible(void Function() fun) => fun();
+
+@pragma('vm:invisible')
+void invisible(void Function() fun) => fun();
+
+void visibleClosure(void Function() fun) {
+ visibleInner() {
+ fun();
+ }
+
+ visibleInner();
+}
+
+void invisibleClosure(void Function() fun) {
+ @pragma('vm:invisible')
+ invisibleInner() {
+ fun();
+ }
+
+ invisibleInner();
+}
diff --git a/runtime/vm/compiler/backend/il_test_helper.cc b/runtime/vm/compiler/backend/il_test_helper.cc
index caa35ac..9523ad8 100644
--- a/runtime/vm/compiler/backend/il_test_helper.cc
+++ b/runtime/vm/compiler/backend/il_test_helper.cc
@@ -156,15 +156,15 @@
SpeculativeInliningPolicy speculative_policy(/*enable_suppression=*/false);
#if defined(TARGET_ARCH_X64) || defined(TARGET_ARCH_IA32)
- const bool use_far_branches = false;
+ const intptr_t far_branch_level = 0;
#else
- const bool use_far_branches = true;
+ const intptr_t far_branch_level = 1;
#endif
ASSERT(pass_state_->inline_id_to_function.length() ==
pass_state_->caller_inline_id.length());
compiler::ObjectPoolBuilder object_pool_builder;
- compiler::Assembler assembler(&object_pool_builder, use_far_branches);
+ compiler::Assembler assembler(&object_pool_builder, far_branch_level);
FlowGraphCompiler graph_compiler(
&assembler, flow_graph_, *parsed_function_, optimized,
&speculative_policy, pass_state_->inline_id_to_function,
diff --git a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
index 00c2160..b20723b 100644
--- a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
+++ b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
@@ -5210,36 +5210,35 @@
yield_continuations().Add(YieldContinuation(anchor, CurrentTryIndex()));
Fragment continuation(instructions.entry, anchor);
-
RELEASE_ASSERT(parsed_function()->function().IsAsyncClosure() ||
parsed_function()->function().IsAsyncGenClosure() ||
parsed_function()->function().IsSyncGenClosure());
// TODO(43900): Only emit this when needed.
{
- // If function is {async, async gen, sync yielding} closure it takes three
- // parameters where the second and the third are exception and stack_trace.
- // Check if exception is non-null and rethrow it.
+ // Our sync-yielding functions can be invoked with either a yield result or
+ // with an non-null exception & stacktrace.
//
- // :sync_op(:iterator, [:exception, :stack_trace]) {
+ // We detect the case we're in based on the nullability of stacktrace in
+ //
+ // :sync_op(:iterator, [:exception, :stack_trace]) { }
+ //
// or:
- // :async_op(:result, [:exception, :stack_trace]) {
- // ...
- // Continuation<index>:
- // if (:exception != null) rethrow(:exception, :stack_trace);
- // ...
- // }
//
- LocalVariable* exception_var = parsed_function()->ParameterVariable(2);
- LocalVariable* stack_trace_var = parsed_function()->ParameterVariable(3);
- ASSERT(exception_var->name().ptr() == Symbols::ExceptionParameter().ptr());
+ // :async_op(:result_or_exception, :stack_trace) { }
+ //
+ const auto& fun = parsed_function()->function();
+ LocalVariable* exception_var =
+ parsed_function()->ParameterVariable(fun.IsSyncGenClosure() ? 2 : 1);
+ LocalVariable* stack_trace_var =
+ parsed_function()->ParameterVariable(fun.IsSyncGenClosure() ? 3 : 2);
ASSERT(stack_trace_var->name().ptr() ==
Symbols::StackTraceParameter().ptr());
TargetEntryInstr* no_error;
TargetEntryInstr* error;
- continuation += LoadLocal(exception_var);
+ continuation += LoadLocal(stack_trace_var);
continuation += BranchIfNull(&no_error, &error);
Fragment rethrow(/*instruction=*/error);
@@ -5471,6 +5470,13 @@
signature ^= ClassFinalizer::FinalizeType(signature);
function.SetSignature(signature);
+ if (has_pragma) {
+ if (Library::FindPragma(thread(), /*only_core=*/false, function,
+ Symbols::vm_invisible())) {
+ function.set_is_visible(false);
+ }
+ }
+
ClosureFunctionsCache::AddClosureFunctionLocked(function);
break;
}
diff --git a/runtime/vm/compiler/recognized_methods_list.h b/runtime/vm/compiler/recognized_methods_list.h
index 778673b..6c67e4c 100644
--- a/runtime/vm/compiler/recognized_methods_list.h
+++ b/runtime/vm/compiler/recognized_methods_list.h
@@ -237,6 +237,7 @@
V(::, _asExternalTypedDataDouble, FfiAsExternalTypedDataDouble, 0x40cdd9e1) \
V(::, _getNativeField, GetNativeField, 0xa0139b85) \
V(::, reachabilityFence, ReachabilityFence, 0x730f2b7f) \
+ V(::, _asyncThenWrapperHelper, AsyncThenWrapperHelper, 0xd9974c34) \
V(_Utf8Decoder, _scan, Utf8DecoderScan, 0x1dcaf73d) \
V(_Future, timeout, FutureTimeout, 0x73041520) \
V(Future, wait, FutureWait, 0x495c83cd) \
diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc
index 0e97fbb..4e4f9a1 100644
--- a/runtime/vm/debugger.cc
+++ b/runtime/vm/debugger.cc
@@ -1956,11 +1956,15 @@
const intptr_t length = code_array.Length();
bool async_frames = false;
+ bool skip_next_gap_marker = false;
for (intptr_t i = 0; i < length; ++i) {
code ^= code_array.At(i);
-
if (code.ptr() == StubCode::AsynchronousGapMarker().ptr()) {
- stack_trace->AddMarker(ActivationFrame::kAsyncSuspensionMarker);
+ if (!skip_next_gap_marker) {
+ stack_trace->AddMarker(ActivationFrame::kAsyncSuspensionMarker);
+ }
+ skip_next_gap_marker = false;
+
// Once we reach a gap, the rest is async.
async_frames = true;
continue;
@@ -1978,6 +1982,7 @@
// Skip invisible function frames.
function ^= code.function();
if (!function.is_visible()) {
+ skip_next_gap_marker = true;
continue;
}
diff --git a/runtime/vm/kernel_loader.cc b/runtime/vm/kernel_loader.cc
index 0507227..0b1eb10 100644
--- a/runtime/vm/kernel_loader.cc
+++ b/runtime/vm/kernel_loader.cc
@@ -211,7 +211,7 @@
inferred_type_metadata_helper_(&helper_, &constant_reader_),
external_name_class_(Class::Handle(Z)),
external_name_field_(Field::Handle(Z)),
- potential_natives_(GrowableObjectArray::Handle(Z)),
+ annotation_list_(GrowableObjectArray::Handle(Z)),
potential_pragma_functions_(GrowableObjectArray::Handle(Z)),
static_field_value_(Object::Handle(Z)),
pragma_class_(Class::Handle(Z)),
@@ -483,7 +483,7 @@
inferred_type_metadata_helper_(&helper_, &constant_reader_),
external_name_class_(Class::Handle(Z)),
external_name_field_(Field::Handle(Z)),
- potential_natives_(GrowableObjectArray::Handle(Z)),
+ annotation_list_(GrowableObjectArray::Handle(Z)),
potential_pragma_functions_(GrowableObjectArray::Handle(Z)),
static_field_value_(Object::Handle(Z)),
pragma_class_(Class::Handle(Z)),
@@ -517,10 +517,10 @@
GrowableObjectArray::Handle(Z));
}
-void KernelLoader::AnnotateNativeProcedures() {
- potential_natives_ = kernel_program_info_.potential_natives();
+void KernelLoader::AnnotateProcedures() {
+ annotation_list_ = kernel_program_info_.potential_natives();
const intptr_t length =
- !potential_natives_.IsNull() ? potential_natives_.Length() : 0;
+ !annotation_list_.IsNull() ? annotation_list_.Length() : 0;
if (length == 0) return;
// Prepare lazy constant reading.
@@ -540,11 +540,14 @@
// attach the native name to it.
Function& function = Function::Handle(Z);
for (intptr_t i = 0; i < length; ++i) {
- function ^= potential_natives_.At(i);
+ function ^= annotation_list_.At(i);
helper_.SetOffset(function.KernelDataProgramOffset() +
function.kernel_offset());
- {
+ if (function.IsGenerativeConstructor()) {
+ ConstructorHelper constructor_helper(&helper_);
+ constructor_helper.ReadUntilExcluding(ConstructorHelper::kAnnotations);
+ } else {
ProcedureHelper procedure_helper(&helper_);
procedure_helper.ReadUntilExcluding(ProcedureHelper::kAnnotations);
}
@@ -570,21 +573,25 @@
function.set_is_native(true);
function.set_native_name(native_name);
function.set_is_external(false);
- break;
} else if (constant_reader.IsInstanceConstant(constant_table_index,
pragma_class_)) {
constant = constant_reader.ReadConstant(constant_table_index);
ASSERT(constant.clazz() == pragma_class_.ptr());
+
+ pragma_name ^= constant.GetField(pragma_name_field_);
+
+ if (pragma_name.ptr() == Symbols::vm_invisible().ptr()) {
+ function.set_is_visible(false);
+ }
+
// We found the annotation, let's flag the function as native and
// set the native name!
- pragma_name ^= constant.GetField(pragma_name_field_);
if (pragma_name.ptr() == Symbols::vm_external_name().ptr()) {
pragma_options = constant.GetField(pragma_options_field_);
if (pragma_options.IsString()) {
function.set_is_native(true);
function.set_native_name(String::Cast(pragma_options));
function.set_is_external(false);
- break;
}
}
}
@@ -596,8 +603,8 @@
// Clear out the list of [Function] objects which might need their native
// name to be set after reading the constant table from the kernel blob.
- potential_natives_ = GrowableObjectArray::null();
- kernel_program_info_.set_potential_natives(potential_natives_);
+ annotation_list_ = GrowableObjectArray::null();
+ kernel_program_info_.set_potential_natives(annotation_list_);
}
bool KernelLoader::IsClassName(NameIndex name,
@@ -653,7 +660,7 @@
}
kernel_program_info_.set_constants(array);
H.SetConstants(array); // for caching
- AnnotateNativeProcedures();
+ AnnotateProcedures();
EvaluateDelayedPragmas();
NameIndex main = program_->main_method();
@@ -1132,7 +1139,9 @@
intptr_t annotation_count = helper_.ReadListLength();
bool has_pragma_annotation;
ReadVMAnnotations(library, annotation_count, /*native_name=*/nullptr,
- /*is_potential_native=*/nullptr, &has_pragma_annotation);
+ /*scan_annotations_lazy=*/nullptr,
+ /*is_invisible_function=*/nullptr,
+ &has_pragma_annotation);
field_helper.SetJustRead(FieldHelper::kAnnotations);
field_helper.ReadUntilExcluding(FieldHelper::kType);
@@ -1424,7 +1433,8 @@
intptr_t annotation_count = helper_.ReadListLength();
bool has_pragma_annotation = false;
ReadVMAnnotations(library, annotation_count, /*native_name=*/nullptr,
- /*is_potential_native=*/nullptr, &has_pragma_annotation);
+ /*scan_annotations_lazy=*/nullptr,
+ /*is_invisible_function=*/nullptr, &has_pragma_annotation);
if (has_pragma_annotation) {
out_class->set_has_pragma(true);
}
@@ -1503,7 +1513,8 @@
intptr_t annotation_count = helper_.ReadListLength();
bool has_pragma_annotation;
ReadVMAnnotations(library, annotation_count, /*native_name=*/nullptr,
- /*is_potential_native=*/nullptr,
+ /*scan_annotations_lazy=*/nullptr,
+ /*is_invisible_function=*/nullptr,
&has_pragma_annotation);
field_helper.SetJustRead(FieldHelper::kAnnotations);
@@ -1628,9 +1639,12 @@
ConstructorHelper constructor_helper(&helper_);
constructor_helper.ReadUntilExcluding(ConstructorHelper::kAnnotations);
intptr_t annotation_count = helper_.ReadListLength();
+ bool scan_annotations_lazy;
bool has_pragma_annotation;
+ bool is_invisible_function;
ReadVMAnnotations(library, annotation_count, /*native_name=*/nullptr,
- /*is_potential_native=*/nullptr, &has_pragma_annotation);
+ &scan_annotations_lazy, &is_invisible_function,
+ &has_pragma_annotation);
constructor_helper.SetJustRead(ConstructorHelper::kAnnotations);
constructor_helper.ReadUntilExcluding(ConstructorHelper::kFunction);
@@ -1659,6 +1673,13 @@
function.set_kernel_offset(constructor_offset);
signature.set_result_type(T.ReceiverType(klass));
function.set_has_pragma(has_pragma_annotation);
+ function.set_is_visible(!is_invisible_function);
+
+ if (scan_annotations_lazy) {
+ // Cannot be processed right now, so put on "pending" list.
+ EnsureAnnotationList();
+ annotation_list_.Add(function);
+ }
FunctionNodeHelper function_node_helper(&helper_);
function_node_helper.ReadUntilExcluding(
@@ -1778,21 +1799,28 @@
//
// Output parameters:
//
-// `native_name`: non-null if `@ExternalName(...)` was identified.
+// `has_annotations_of_interest`: true if there may be annotations of
+// interest and we need to re-try after reading the constants table.
//
-// `is_potential_native`: non-null if there may be an `@ExternalName(...)`
-// annotation and we need to re-try after reading the constants table.
+// `is_invisible_function`: if `@pragma('vm:invisible)` was found.
//
-// `has_pragma_annotation`: non-null if @pragma(...) was found (no information
+// `native_name`: set if `@ExternalName(...)` / @pragma('vm:external-name)`
+// was identified.
+//
+// `has_pragma_annotation`: if `@pragma(...)` was found (no information
// is given on the kind of pragma directive).
//
void KernelLoader::ReadVMAnnotations(const Library& library,
intptr_t annotation_count,
String* native_name,
- bool* is_potential_native,
+ bool* has_annotations_of_interest,
+ bool* is_invisible_function,
bool* has_pragma_annotation) {
- if (is_potential_native != nullptr) {
- *is_potential_native = false;
+ if (has_annotations_of_interest != nullptr) {
+ *has_annotations_of_interest = false;
+ }
+ if (is_invisible_function != nullptr) {
+ *is_invisible_function = false;
}
*has_pragma_annotation = false;
if (annotation_count == 0) {
@@ -1815,8 +1843,8 @@
//
// We therefore delay the scanning for `ExternalName {name: ... }`
// constants in the annotation list to later.
- if (is_potential_native != nullptr) {
- *is_potential_native = true;
+ if (has_annotations_of_interest != nullptr) {
+ *has_annotations_of_interest = true;
}
ASSERT(kernel_program_info_.constants_table() !=
@@ -1892,11 +1920,18 @@
} else if (constant_reader.IsInstanceConstant(constant_table_index,
pragma_class_)) {
*has_pragma_annotation = true;
- if (native_name != nullptr) {
+ if (native_name != nullptr || is_invisible_function != nullptr) {
constant = constant_reader.ReadConstant(constant_table_index);
ASSERT(constant.clazz() == pragma_class_.ptr());
pragma_name ^= constant.GetField(pragma_name_field_);
- if (pragma_name.ptr() == Symbols::vm_external_name().ptr()) {
+
+ if (is_invisible_function != nullptr &&
+ pragma_name.ptr() == Symbols::vm_invisible().ptr()) {
+ *is_invisible_function = true;
+ }
+
+ if (native_name != nullptr &&
+ pragma_name.ptr() == Symbols::vm_external_name().ptr()) {
pragma_options = constant.GetField(pragma_options_field_);
if (pragma_options.IsString()) {
*native_name ^= pragma_options.ptr();
@@ -1938,13 +1973,15 @@
bool is_external = procedure_helper.IsExternal();
bool is_extension_member = procedure_helper.IsExtensionMember();
String& native_name = String::Handle(Z);
- bool is_potential_native;
+ bool scan_annotations_lazy;
bool has_pragma_annotation;
+ bool is_invisible_function;
const intptr_t annotation_count = helper_.ReadListLength();
ReadVMAnnotations(library, annotation_count, &native_name,
- &is_potential_native, &has_pragma_annotation);
+ &scan_annotations_lazy, &is_invisible_function,
+ &has_pragma_annotation);
// If this is a potential native, we'll unset is_external in
- // AnnotateNativeProcedures instead.
+ // AnnotateProcedures instead.
is_external = is_external && native_name.IsNull();
procedure_helper.SetJustRead(ProcedureHelper::kAnnotations);
const Object& script_class =
@@ -1968,6 +2005,7 @@
function.set_end_token_pos(procedure_helper.end_position_);
function.set_is_synthetic(procedure_helper.IsNoSuchMethodForwarder() ||
procedure_helper.IsMemberSignature());
+ function.set_is_visible(!is_invisible_function);
if (register_function) {
functions_.Add(&function);
} else {
@@ -2017,10 +2055,10 @@
if (!native_name.IsNull()) {
function.set_native_name(native_name);
}
- if (is_potential_native) {
+ if (scan_annotations_lazy) {
// Cannot be processed right now, so put on "pending" list.
- EnsurePotentialNatives();
- potential_natives_.Add(function);
+ EnsureAnnotationList();
+ annotation_list_.Add(function);
}
function_node_helper.ReadUntilExcluding(FunctionNodeHelper::kTypeParameters);
diff --git a/runtime/vm/kernel_loader.h b/runtime/vm/kernel_loader.h
index 68cd64b..5654ca9 100644
--- a/runtime/vm/kernel_loader.h
+++ b/runtime/vm/kernel_loader.h
@@ -226,13 +226,14 @@
bool IsClassName(NameIndex name, const String& library, const String& klass);
- void AnnotateNativeProcedures();
+ void AnnotateProcedures();
void EvaluateDelayedPragmas();
void ReadVMAnnotations(const Library& library,
intptr_t annotation_count,
String* native_name,
- bool* is_potential_native,
+ bool* has_annotations_of_interest,
+ bool* is_invisible_function,
bool* has_pragma_annotation);
KernelLoader(const Script& script,
@@ -360,13 +361,13 @@
ASSERT(pragma_class_.is_declaration_loaded());
}
- void EnsurePotentialNatives() {
- potential_natives_ = kernel_program_info_.potential_natives();
- if (potential_natives_.IsNull()) {
+ void EnsureAnnotationList() {
+ annotation_list_ = kernel_program_info_.potential_natives();
+ if (annotation_list_.IsNull()) {
// To avoid too many grows in this array, we'll set it's initial size to
// something close to the actual number of potential native functions.
- potential_natives_ = GrowableObjectArray::New(100, Heap::kNew);
- kernel_program_info_.set_potential_natives(potential_natives_);
+ annotation_list_ = GrowableObjectArray::New(100, Heap::kNew);
+ kernel_program_info_.set_potential_natives(annotation_list_);
}
}
@@ -403,7 +404,7 @@
Class& external_name_class_;
Field& external_name_field_;
- GrowableObjectArray& potential_natives_;
+ GrowableObjectArray& annotation_list_;
GrowableObjectArray& potential_pragma_functions_;
Object& static_field_value_;
diff --git a/runtime/vm/stack_trace.cc b/runtime/vm/stack_trace.cc
index 583e055..0ef8b4d 100644
--- a/runtime/vm/stack_trace.cc
+++ b/runtime/vm/stack_trace.cc
@@ -55,7 +55,8 @@
// Instance caches library and field references.
// This way we don't have to do the look-ups for every frame in the stack.
CallerClosureFinder::CallerClosureFinder(Zone* zone)
- : receiver_context_(Context::Handle(zone)),
+ : closure_(Closure::Handle(zone)),
+ receiver_context_(Context::Handle(zone)),
receiver_function_(Function::Handle(zone)),
parent_function_(Function::Handle(zone)),
context_entry_(Object::Handle(zone)),
@@ -74,6 +75,7 @@
controller_subscription_class(Class::Handle(zone)),
buffering_stream_subscription_class(Class::Handle(zone)),
stream_iterator_class(Class::Handle(zone)),
+ async_then_wrapper_(Function::Handle(zone)),
future_result_or_listeners_field(Field::Handle(zone)),
callback_field(Field::Handle(zone)),
future_listener_state_field(Field::Handle(zone)),
@@ -110,6 +112,9 @@
stream_iterator_class =
async_lib.LookupClassAllowPrivate(Symbols::_StreamIterator());
ASSERT(!stream_iterator_class.IsNull());
+ async_then_wrapper_ =
+ async_lib.LookupFunctionAllowPrivate(Symbols::AsyncThenWrapperHelper());
+ ASSERT(!async_then_wrapper_.IsNull());
// Look up fields:
// - async:
@@ -210,6 +215,12 @@
ClosurePtr CallerClosureFinder::GetCallerInFutureListener(
const Object& future_listener) {
+ closure_ = GetCallerInFutureListenerInternal(future_listener);
+ return UnwrapAsyncThen(closure_);
+}
+
+ClosurePtr CallerClosureFinder::GetCallerInFutureListenerInternal(
+ const Object& future_listener) {
auto value = GetFutureListenerState(future_listener);
// If the _FutureListener is a `then`, `catchError`, or `whenComplete`
@@ -227,6 +238,26 @@
}
ClosurePtr CallerClosureFinder::FindCaller(const Closure& receiver_closure) {
+ closure_ = FindCallerInternal(receiver_closure);
+ return UnwrapAsyncThen(closure_);
+}
+
+ClosurePtr CallerClosureFinder::UnwrapAsyncThen(const Closure& closure) {
+ if (closure.IsNull()) return closure.ptr();
+
+ receiver_function_ = closure.function();
+ receiver_function_ = receiver_function_.parent_function();
+ if (receiver_function_.recognized_kind() ==
+ MethodRecognizer::kAsyncThenWrapperHelper) {
+ receiver_context_ = closure.context();
+ RELEASE_ASSERT(receiver_context_.num_variables() == 1);
+ return Closure::RawCast(receiver_context_.At(0));
+ }
+ return closure.ptr();
+}
+
+ClosurePtr CallerClosureFinder::FindCallerInternal(
+ const Closure& receiver_closure) {
receiver_function_ = receiver_closure.function();
receiver_context_ = receiver_closure.context();
@@ -358,23 +389,18 @@
ASSERT(function.IsAsyncClosure() || function.IsAsyncGenClosure());
// The callee has function signature
- // :async_op([result, exception, stack])
- // So we are guaranteed to
- // a) have only tagged arguments on the stack until we find the :async_op
- // closure, and
- // b) find the async closure.
- const intptr_t kNumClosureAndArgs = 4;
- auto& closure = Closure::Handle();
- for (intptr_t i = 0; i < kNumClosureAndArgs; i++) {
- ObjectPtr arg = last_object_in_caller[i];
- if (arg->IsHeapObject() && arg->GetClassId() == kClosureCid) {
- closure = Closure::RawCast(arg);
- if (closure.function() == function.ptr()) {
- return closure.ptr();
- }
+ // :async_op(result_or_exception, stack)
+ // so the "this" closure is the 3rd argument.
+ ObjectPtr arg = last_object_in_caller[2];
+ if (arg->IsHeapObject() && arg->GetClassId() == kClosureCid) {
+ auto& closure = Closure::Handle();
+ closure = Closure::RawCast(arg);
+ if (closure.function() == function.ptr()) {
+ return closure.ptr();
}
}
- UNREACHABLE();
+ ASSERT(arg == Symbols::OptimizedOut().ptr());
+ return Closure::null();
}
ClosurePtr StackTraceUtils::ClosureFromFrameFunction(
@@ -395,13 +421,10 @@
if (function.IsAsyncClosure() || function.IsAsyncGenClosure()) {
// Next, look up caller's closure on the stack and walk backwards
// through the yields.
- //
- // Due the async/async* closures having optional parameters, the
- // caller-frame's pushed arguments includes the closure and should never be
- // modified (even in the event of deopts).
ObjectPtr* last_caller_obj =
reinterpret_cast<ObjectPtr*>(frame->GetCallerSp());
closure = FindClosureInFrame(last_caller_obj, function);
+ if (closure.IsNull()) return Closure::null();
// If this async function hasn't yielded yet, we're still dealing with a
// normal stack. Continue to next frame as usual.
@@ -589,13 +612,11 @@
function.parent_function() != Function::null()) {
if (async_function.ptr() == function.parent_function()) {
if (function.IsAsyncClosure() || function.IsAsyncGenClosure()) {
- // Due the async/async* closures having optional parameters, the
- // caller-frame's pushed arguments includes the closure and should
- // never be modified (even in the event of deopts).
ObjectPtr* last_caller_obj =
reinterpret_cast<ObjectPtr*>(frame->GetCallerSp());
closure = FindClosureInFrame(last_caller_obj, function);
- if (CallerClosureFinder::IsRunningAsync(closure)) {
+ if (!closure.IsNull() &&
+ CallerClosureFinder::IsRunningAsync(closure)) {
*sync_async_end = false;
return frame_count;
}
diff --git a/runtime/vm/stack_trace.h b/runtime/vm/stack_trace.h
index c2eb02a..6893a7f 100644
--- a/runtime/vm/stack_trace.h
+++ b/runtime/vm/stack_trace.h
@@ -56,6 +56,11 @@
static bool IsRunningAsync(const Closure& receiver_closure);
private:
+ ClosurePtr FindCallerInternal(const Closure& receiver_closure);
+ ClosurePtr GetCallerInFutureListenerInternal(const Object& future_listener);
+ ClosurePtr UnwrapAsyncThen(const Closure& closure);
+
+ Closure& closure_;
Context& receiver_context_;
Function& receiver_function_;
Function& parent_function_;
@@ -77,6 +82,7 @@
Class& controller_subscription_class;
Class& buffering_stream_subscription_class;
Class& stream_iterator_class;
+ Function& async_then_wrapper_;
Field& future_result_or_listeners_field;
Field& callback_field;
diff --git a/runtime/vm/symbols.h b/runtime/vm/symbols.h
index 6099df7..707df3d 100644
--- a/runtime/vm/symbols.h
+++ b/runtime/vm/symbols.h
@@ -31,6 +31,7 @@
V(AsyncStarMoveNextHelper, "_asyncStarMoveNextHelper") \
V(AwaitContextVar, ":await_ctx_var") \
V(AwaitJumpVar, ":await_jump_var") \
+ V(AsyncThenWrapperHelper, "_asyncThenWrapperHelper") \
V(Bool, "bool") \
V(BooleanExpression, "boolean expression") \
V(BoundsCheckForPartialInstantiation, "_boundsCheckForPartialInstantiation") \
@@ -102,7 +103,6 @@
V(EvalSourceUri, "evaluate:source") \
V(EvaluateAssertion, "_evaluateAssertion") \
V(ExceptionHandlers, "ExceptionHandlers") \
- V(ExceptionParameter, ":exception") \
V(ExceptionVar, ":exception_var") \
V(Expando, "Expando") \
V(ExprTemp, ":expr_temp") \
@@ -477,6 +477,7 @@
V(vm_ffi_struct_fields, "vm:ffi:struct-fields") \
V(vm_unsafe_no_interrupts, "vm:unsafe:no-interrupts") \
V(vm_external_name, "vm:external-name") \
+ V(vm_invisible, "vm:invisible") \
V(vm_testing_print_flow_graph, "vm:testing:print-flow-graph")
// Contains a list of frequently used strings in a canonicalized form. This
diff --git a/sdk/lib/_internal/vm/lib/async_patch.dart b/sdk/lib/_internal/vm/lib/async_patch.dart
index 0e4dcd1..2e322f1 100644
--- a/sdk/lib/_internal/vm/lib/async_patch.dart
+++ b/sdk/lib/_internal/vm/lib/async_patch.dart
@@ -20,8 +20,12 @@
// We need to pass the value as first argument and leave the second and third
// arguments empty (used for error handling).
+@pragma("vm:recognized", "other")
dynamic Function(dynamic) _asyncThenWrapperHelper(
- dynamic Function(dynamic) continuation) {
+ dynamic Function(dynamic, dynamic) continuation) {
+ @pragma("vm:invisible")
+ dynamic thenWrapper(dynamic arg) => continuation(arg, /*stack_trace=*/ null);
+
// Any function that is used as an asynchronous callback must be registered
// in the current Zone. Normally, this is done by the future when a
// callback is registered (for example with `.then` or `.catchError`). In our
@@ -41,17 +45,15 @@
if (identical(currentZone, _rootZone) ||
identical(currentZone._registerUnaryCallback,
_rootZone._registerUnaryCallback)) {
- return continuation;
+ return thenWrapper;
}
- return currentZone.registerUnaryCallback<dynamic, dynamic>(continuation);
+ return currentZone.registerUnaryCallback<dynamic, dynamic>(thenWrapper);
}
// We need to pass the exception and stack trace objects as second and third
// parameter to the continuation.
dynamic Function(Object, StackTrace) _asyncErrorWrapperHelper(
- dynamic Function(dynamic, dynamic, StackTrace) continuation) {
- // See comments of `_asyncThenWrapperHelper`.
- dynamic errorCallback(Object e, StackTrace s) => continuation(null, e, s);
+ dynamic Function(dynamic, StackTrace) errorCallback) {
final currentZone = Zone._current;
if (identical(currentZone, _rootZone) ||
identical(currentZone._registerBinaryCallback,
@@ -68,7 +70,7 @@
///
/// Returns the result of registering with `.then`.
Future _awaitHelper(var object, dynamic Function(dynamic) thenCallback,
- dynamic Function(dynamic, StackTrace) errorCallback, Function awaiter) {
+ dynamic Function(dynamic, StackTrace) errorCallback) {
late _Future future;
if (object is _Future) {
future = object;
@@ -126,7 +128,7 @@
void runBody() {
isScheduled = false;
isSuspendedAtYield = false;
- asyncStarBody();
+ asyncStarBody(null, null);
}
void scheduleGenerator() {
diff --git a/sdk/lib/_internal/vm/lib/core_patch.dart b/sdk/lib/_internal/vm/lib/core_patch.dart
index 0d1d4a8..9beb4dd 100644
--- a/sdk/lib/_internal/vm/lib/core_patch.dart
+++ b/sdk/lib/_internal/vm/lib/core_patch.dart
@@ -66,6 +66,7 @@
// part "double_patch.dart";
// part "errors_patch.dart";
// part "expando_patch.dart";
+// part "finalizer_patch.dart";
// part "function.dart";
// part "function_patch.dart";
// part "growable_array.dart";
diff --git a/sdk/lib/_internal/vm/lib/ffi_native_finalizer_patch.dart b/sdk/lib/_internal/vm/lib/ffi_native_finalizer_patch.dart
new file mode 100644
index 0000000..e697230
--- /dev/null
+++ b/sdk/lib/_internal/vm/lib/ffi_native_finalizer_patch.dart
@@ -0,0 +1,12 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// All imports must be in all FFI patch files to not depend on the order
+// the patches are applied.
+import 'dart:_internal';
+import 'dart:isolate';
+import 'dart:typed_data';
+
+// This is a placeholder file which will shortly contain a NativeFinalizer
+// implementation.
diff --git a/sdk/lib/_internal/vm/lib/finalizer_patch.dart b/sdk/lib/_internal/vm/lib/finalizer_patch.dart
new file mode 100644
index 0000000..aec537b
--- /dev/null
+++ b/sdk/lib/_internal/vm/lib/finalizer_patch.dart
@@ -0,0 +1,8 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// part of "core_patch.dart";
+
+// This is a placeholder file which will shortly contain a Finalizer
+// implementation.
diff --git a/sdk/lib/libraries.json b/sdk/lib/libraries.json
index 12aee71..4db66c7 100644
--- a/sdk/lib/libraries.json
+++ b/sdk/lib/libraries.json
@@ -53,6 +53,7 @@
"_internal/vm/lib/double_patch.dart",
"_internal/vm/lib/errors_patch.dart",
"_internal/vm/lib/expando_patch.dart",
+ "_internal/vm/lib/finalizer_patch.dart",
"_internal/vm/lib/function.dart",
"_internal/vm/lib/function_patch.dart",
"_internal/vm/lib/growable_array.dart",
@@ -88,6 +89,7 @@
"_internal/vm/lib/ffi_patch.dart",
"_internal/vm/lib/ffi_allocation_patch.dart",
"_internal/vm/lib/ffi_dynamic_library_patch.dart",
+ "_internal/vm/lib/ffi_native_finalizer_patch.dart",
"_internal/vm/lib/ffi_native_type_patch.dart",
"_internal/vm/lib/ffi_struct_patch.dart"
]
diff --git a/sdk/lib/libraries.yaml b/sdk/lib/libraries.yaml
index a67349c..1730d5d 100644
--- a/sdk/lib/libraries.yaml
+++ b/sdk/lib/libraries.yaml
@@ -60,6 +60,7 @@
- "_internal/vm/lib/double_patch.dart"
- "_internal/vm/lib/errors_patch.dart"
- "_internal/vm/lib/expando_patch.dart"
+ - "_internal/vm/lib/finalizer_patch.dart"
- "_internal/vm/lib/function.dart"
- "_internal/vm/lib/function_patch.dart"
- "_internal/vm/lib/growable_array.dart"
@@ -93,6 +94,7 @@
- "_internal/vm/lib/ffi_patch.dart"
- "_internal/vm/lib/ffi_allocation_patch.dart"
- "_internal/vm/lib/ffi_dynamic_library_patch.dart"
+ - "_internal/vm/lib/ffi_native_finalizer_patch.dart"
- "_internal/vm/lib/ffi_native_type_patch.dart"
- "_internal/vm/lib/ffi_struct_patch.dart"
diff --git a/tests/language_2/async/await_test.dart b/tests/language_2/async/await_test.dart
index 6b6443d..f8b79d2 100644
--- a/tests/language_2/async/await_test.dart
+++ b/tests/language_2/async/await_test.dart
@@ -2261,15 +2261,15 @@
Future<S> then<S>(callback(value), {Function onError}) {
if (onError != null) {
if (onError is OnErrorCallback2) {
- return new Future<S>.microtask(() => onError(_error, null));
+ return new Future<S>.microtask(() => onError(_error, StackTrace.empty));
} else if (onError is OnErrorCallback1) {
return new Future<S>.microtask(() => onError(_error));
} else {
throw new ArgumentError.value(
- onError,
- "onError",
- "Error handler must accept one Object or one Object and a StackTrace"
- " as arguments, and return a valid result");
+ onError,
+ "onError",
+ "Error handler must accept one Object or one Object and a StackTrace"
+ " as arguments, and return a valid result");
}
}
return new Future<S>.error(_error);
diff --git a/tools/VERSION b/tools/VERSION
index 949b79b..9105ba2 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 17
PATCH 0
-PRERELEASE 122
+PRERELEASE 123
PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/addlatexhash.dart b/tools/addlatexhash.dart
index d1cc30f..de161ed 100755
--- a/tools/addlatexhash.dart
+++ b/tools/addlatexhash.dart
@@ -22,8 +22,6 @@
// NB: This utility assumes UN*X style line endings, \n, in the LaTeX
// source file received as input; it will not work with other styles.
-// @dart = 2.9
-
// ignore_for_file: constant_identifier_names
import 'dart:convert';
@@ -269,7 +267,7 @@
/// the preceding \LMHash{} block should stop before the line of
/// this \LMHash{} command. Note that hash blocks may stop earlier,
/// because they cannot contain sectioning commands.
- int getStartLineNumber() => null;
+ int? getStartLineNumber() => null;
}
class HashMarkerEvent extends HashEvent {
@@ -282,7 +280,7 @@
// reached), so [endLineNumber] will be initialized in a separate
// scan. Also note that the block may end earlier, because a block
// ends if it would otherwise include a sectioning command.
- int endLineNumber;
+ int? endLineNumber;
HashMarkerEvent(this.startLineNumber);