Improve parsing of async and generator methods.

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2759663002 .
This commit is contained in:
Peter von der Ahé
2017-03-17 18:03:42 +01:00
parent eb01590af4
commit 8979b040ec
7 changed files with 168 additions and 133 deletions
@@ -741,6 +741,78 @@ class ElementListener extends Listener {
errorCode = MessageKind.GENERIC;
arguments = {"text": "Can't use '${token.lexeme}' as a name here."};
break;
case ErrorKind.AbstractNotSync:
errorCode = MessageKind.GENERIC;
arguments = {
"text": "Abstract methods can't use 'async', 'async*', or 'sync*'."
};
return; // Ignored. This error is already implemented elsewhere.
case ErrorKind.SetterNotSync:
errorCode = MessageKind.GENERIC;
arguments = {
"text": "Setters can't use 'async', 'async*', or 'sync*'."
};
return; // Ignored. This error is already implemented elsewhere.
case ErrorKind.FactoryNotSync:
errorCode = MessageKind.GENERIC;
arguments = {
"text": "Factories can't use 'async', 'async*', or 'sync*'."
};
return; // Ignored. This error is already implemented elsewhere.
case ErrorKind.AwaitForNotAsync:
errorCode = MessageKind.GENERIC;
arguments = {
"text": "Asynchronous for-loop can only be used "
"in 'async' or 'async*' methods."
};
return; // Ignored. This error is already implemented elsewhere.
case ErrorKind.AsyncAsIdentifier:
errorCode = MessageKind.GENERIC;
arguments = {
"text": "'async' can't be used as an identifier in "
"'async', 'async*', or 'sync*' methods."
};
break;
case ErrorKind.YieldNotGenerator:
errorCode = MessageKind.GENERIC;
arguments = {
"text": "'yield' can only be used in 'sync*' or 'async*' methods."
};
return; // Ignored. This error is already implemented elsewhere.
case ErrorKind.YieldAsIdentifier:
errorCode = MessageKind.GENERIC;
arguments = {
"text": "'yield' can't be used as an identifier in "
"'async', 'async*', or 'sync*' methods."
};
return; // Ignored. This error is already implemented elsewhere.
case ErrorKind.GeneratorReturnsValue:
errorCode = MessageKind.GENERIC;
arguments = {"text": "'sync*' and 'async*' can't return a value."};
return; // Ignored. This error is already implemented elsewhere.
case ErrorKind.AwaitNotAsync:
errorCode = MessageKind.GENERIC;
arguments = {
"text": "'await' can only be used in 'async' or 'async*' methods."
};
return; // Ignored. This error is already implemented elsewhere.
case ErrorKind.AwaitAsIdentifier:
errorCode = MessageKind.GENERIC;
arguments = {
"text": "'await' can't be used as an identifier in "
"'async', 'async*', or 'sync*' methods."
};
return; // Ignored. This error is already implemented elsewhere.
}
SourceSpan span = reporter.spanFromToken(token);
reportError(span, errorCode, arguments);
@@ -6,7 +6,11 @@ library fasta.parser.error_kind;
/// Kinds of error codes.
enum ErrorKind {
AbstractNotSync,
AsciiControlCharacter,
AsyncAsIdentifier,
AwaitAsIdentifier,
AwaitNotAsync,
BuiltInIdentifierAsType,
BuiltInIdentifierInDeclaration,
EmptyNamedParameterList,
@@ -21,6 +25,7 @@ enum ErrorKind {
/// Dart Language Specification) Dart VM native clauses. See
/// [dart_vm_native.dart].
ExpectedClassBodyToSkip,
AwaitForNotAsync,
ExpectedDeclaration,
ExpectedExpression,
ExpectedFunctionBody,
@@ -31,8 +36,10 @@ enum ErrorKind {
ExpectedType,
ExtraneousModifier,
ExtraneousModifierReplace,
InvalidInlineFunctionType,
FactoryNotSync,
GeneratorReturnsValue,
InvalidAwaitFor,
InvalidInlineFunctionType,
InvalidSyncModifier,
InvalidVoid,
MissingExponent,
@@ -40,6 +47,7 @@ enum ErrorKind {
NonAsciiWhitespace,
PositionalParameterWithEquals,
RequiredParameterWithDefault,
SetterNotSync,
StackOverflow,
UnexpectedDollarInString,
UnexpectedToken,
@@ -48,5 +56,7 @@ enum ErrorKind {
UnterminatedComment,
UnterminatedString,
UnterminatedToken,
YieldAsIdentifier,
YieldNotGenerator,
Unspecified,
}
+64 -12
View File
@@ -135,6 +135,8 @@ class Parser {
asyncState == AsyncModifier.AsyncStar;
}
bool get inPlainSync => asyncState == AsyncModifier.Sync;
Token parseUnit(Token token) {
listener.beginCompilationUnit(token);
int count = 0;
@@ -909,6 +911,14 @@ class Parser {
} else if (!optional("dynamic", token)) {
reportRecoverableError(token, ErrorKind.BuiltInIdentifierAsType);
}
} else if (!inPlainSync && token.isPseudo) {
if (optional('await', token)) {
reportRecoverableError(token, ErrorKind.AwaitAsIdentifier);
} else if (optional('yield', token)) {
reportRecoverableError(token, ErrorKind.YieldAsIdentifier);
} else if (optional('async', token)) {
reportRecoverableError(token, ErrorKind.AsyncAsIdentifier);
}
}
listener.handleIdentifier(token, context);
return token.next;
@@ -1315,7 +1325,11 @@ class Parser {
}
token = parseFormalParametersOpt(token);
AsyncModifier savedAsyncModifier = asyncState;
Token asyncToken = token;
token = parseAsyncModifier(token);
if (getOrSet != null && !inPlainSync && optional("set", getOrSet)) {
reportRecoverableError(asyncToken, ErrorKind.SetterNotSync);
}
token = parseFunctionBody(token, false, externalModifier != null);
asyncState = savedAsyncModifier;
Token endToken = token;
@@ -1873,7 +1887,11 @@ class Parser {
token = parseFormalParametersOpt(token);
token = parseInitializersOpt(token);
AsyncModifier savedAsyncModifier = asyncState;
Token asyncToken = token;
token = parseAsyncModifier(token);
if (getOrSet != null && !inPlainSync && optional("set", getOrSet)) {
reportRecoverableError(asyncToken, ErrorKind.SetterNotSync);
}
if (optional('=', token)) {
token = parseRedirectingFactoryBody(token);
} else {
@@ -1903,7 +1921,11 @@ class Parser {
token = expect('factory', token);
token = parseConstructorReference(token);
token = parseFormalParameters(token);
Token asyncToken = token;
token = parseAsyncModifier(token);
if (!inPlainSync) {
reportRecoverableError(asyncToken, ErrorKind.FactoryNotSync);
}
if (optional('=', token)) {
token = parseRedirectingFactoryBody(token);
} else {
@@ -2168,6 +2190,11 @@ class Parser {
}
}
listener.handleAsyncModifier(async, star);
if (inGenerator && optional('=>', token)) {
reportRecoverableError(token, ErrorKind.GeneratorReturnsValue);
} else if (!inPlainSync && optional(';', token)) {
reportRecoverableError(token, ErrorKind.AbstractNotSync);
}
return token;
}
@@ -2196,12 +2223,11 @@ class Parser {
return parseVariablesDeclaration(token);
} else if (identical(value, 'if')) {
return parseIfStatement(token);
} else if (asyncState != AsyncModifier.Sync && identical(value, 'await')) {
if (identical(token.next.stringValue, 'for')) {
return parseForStatement(token, token.next);
} else {
return parseExpressionStatement(token);
} else if (identical(value, 'await') && optional('for', token.next)) {
if (!inAsync) {
reportRecoverableError(token, ErrorKind.AwaitForNotAsync);
}
return parseForStatement(token, token.next);
} else if (identical(value, 'for')) {
return parseForStatement(null, token);
} else if (identical(value, 'rethrow')) {
@@ -2227,8 +2253,20 @@ class Parser {
return parseAssertStatement(token);
} else if (identical(value, ';')) {
return parseEmptyStatement(token);
} else if (asyncState != AsyncModifier.Sync && identical(value, 'yield')) {
return parseYieldStatement(token);
} else if (identical(value, 'yield')) {
switch (asyncState) {
case AsyncModifier.Sync:
return parseExpressionStatementOrDeclaration(token);
case AsyncModifier.SyncStar:
case AsyncModifier.AsyncStar:
return parseYieldStatement(token);
case AsyncModifier.Async:
reportRecoverableError(token, ErrorKind.YieldNotGenerator);
return parseYieldStatement(token);
}
throw "Internal error: Unknown asyncState: '$asyncState'.";
} else if (identical(value, 'const')) {
return parseExpressionStatementOrConstDeclaration(token);
} else if (token.isIdentifier()) {
@@ -2262,6 +2300,9 @@ class Parser {
listener.endReturnStatement(false, begin, token);
} else {
token = parseExpression(token);
if (inGenerator) {
reportRecoverableError(begin.next, ErrorKind.GeneratorReturnsValue);
}
listener.endReturnStatement(true, begin, token);
}
return expectSemicolon(token);
@@ -2291,6 +2332,9 @@ class Parser {
}
Token parseExpressionStatementOrDeclaration(Token token) {
if (!inPlainSync && optional("await", token)) {
return parseExpressionStatement(token);
}
assert(token.isIdentifier() || identical(token.stringValue, 'void'));
Token identifier = peekIdentifierAfterType(token);
if (identifier != null) {
@@ -2630,8 +2674,12 @@ class Parser {
Token parseUnaryExpression(Token token, bool allowCascades) {
String value = token.stringValue;
// Prefix:
if (asyncState != AsyncModifier.Sync && optional('await', token)) {
return parseAwaitExpression(token, allowCascades);
if (optional('await', token)) {
if (inPlainSync) {
return parsePrimary(token);
} else {
return parseAwaitExpression(token, allowCascades);
}
} else if (identical(value, '+')) {
// Dart no longer allows prefix-plus.
reportRecoverableError(token, ErrorKind.UnsupportedPrefixPlus);
@@ -2645,6 +2693,7 @@ class Parser {
token = parsePrecedenceExpression(
token.next, POSTFIX_PRECEDENCE, allowCascades);
listener.handleUnaryPrefixExpression(operator);
return token;
} else if ((identical(value, '++')) || identical(value, '--')) {
// TODO(ahe): Validate this is used correctly.
Token operator = token;
@@ -2653,10 +2702,10 @@ class Parser {
token = parsePrecedenceExpression(
token.next, POSTFIX_PRECEDENCE, allowCascades);
listener.handleUnaryPrefixAssignmentExpression(operator);
return token;
} else {
token = parsePrimary(token);
return parsePrimary(token);
}
return token;
}
Token parseArgumentOrIndexStar(Token token) {
@@ -2709,7 +2758,7 @@ class Parser {
return parseConstExpression(token);
} else if (identical(value, "void")) {
return parseFunctionExpression(token);
} else if (asyncState != AsyncModifier.Sync &&
} else if (!inPlainSync &&
(identical(value, "yield") || identical(value, "async"))) {
return expressionExpected(token);
} else if (token.isIdentifier()) {
@@ -3362,6 +3411,9 @@ class Parser {
Token awaitToken = token;
listener.beginAwaitExpression(awaitToken);
token = expect('await', token);
if (!inAsync) {
reportRecoverableError(awaitToken, ErrorKind.AwaitNotAsync);
}
token = parsePrecedenceExpression(token, POSTFIX_PRECEDENCE, allowCascades);
listener.endAwaitExpression(awaitToken, token);
return token;
@@ -96,6 +96,8 @@ abstract class Token {
*/
bool isIdentifier();
bool get isPseudo => false;
/**
* Returns a textual representation of this token to be used for debugging
* purposes. The resulting string might contain information about the
@@ -178,6 +180,8 @@ class KeywordToken extends Token {
bool isIdentifier() => keyword.isPseudo || keyword.isBuiltIn;
bool get isPseudo => keyword.isPseudo;
bool get isBuiltInIdentifier {
// TODO(ahe): Remove special case for "deferred" once dartbug.com/29069 is
// fixed.
-59
View File
@@ -52,8 +52,6 @@ Language/Classes/Getters/syntax_t03: MissingCompileTimeError
Language/Classes/Getters/syntax_t04: MissingCompileTimeError
Language/Classes/Getters/syntax_t05: MissingCompileTimeError
Language/Classes/Getters/syntax_t07: MissingCompileTimeError
Language/Classes/Getters/type_object_t01: RuntimeError # Issue 23721
Language/Classes/Getters/type_object_t02: RuntimeError # Issue 23721
Language/Classes/Instance_Methods/Operators/arity_0_or_1_t02: MissingCompileTimeError
Language/Classes/Instance_Methods/Operators/arity_0_t02: MissingCompileTimeError
Language/Classes/Instance_Methods/Operators/arity_1_t01: MissingCompileTimeError
@@ -100,12 +98,8 @@ Language/Classes/Setters/static_setter_t05: RuntimeError
Language/Classes/Setters/syntax_t01: RuntimeError
Language/Classes/Setters/syntax_t03: MissingCompileTimeError
Language/Classes/Setters/syntax_t04: RuntimeError
Language/Classes/Setters/type_object_t01: RuntimeError # Issue 23721
Language/Classes/Setters/type_object_t02: RuntimeError # Issue 23721
Language/Classes/Static_Methods/declaration_t01: MissingCompileTimeError
Language/Classes/Static_Methods/same_name_method_and_setter_t01: CompileTimeError
Language/Classes/Static_Methods/type_object_t01: RuntimeError # Issue 23721
Language/Classes/Static_Methods/type_object_t02: RuntimeError # Issue 23721
Language/Classes/Superclasses/Inheritance_and_Overriding/inheritance_t03: RuntimeError
Language/Classes/Superclasses/superclass_of_itself_t01: MissingCompileTimeError
Language/Classes/Superclasses/superclass_of_itself_t02: MissingCompileTimeError
@@ -155,7 +149,6 @@ Language/Expressions/Assignment/static_type_t06: CompileTimeError
Language/Expressions/Assignment/static_warning_t03/none: RuntimeError
Language/Expressions/Assignment/super_assignment_failed_t01: RuntimeError
Language/Expressions/Assignment/super_assignment_failed_t02: RuntimeError
Language/Expressions/Assignment/super_assignment_failed_t05: RuntimeError # Issue 25671
Language/Expressions/Assignment/super_assignment_value_t02: RuntimeError
Language/Expressions/Await_Expressions/syntax_t06: Crash
Language/Expressions/Constants/bitwise_operators_t02: Crash
@@ -219,17 +212,6 @@ Language/Expressions/Constants/top_level_function_t05: MissingCompileTimeError
Language/Expressions/Function_Invocation/Binding_Actuals_to_Formals/same_name_arguments_t01: MissingCompileTimeError
Language/Expressions/Function_Invocation/Unqualified_Invocation/instance_context_invocation_t03: MissingCompileTimeError
Language/Expressions/Function_Invocation/Unqualified_Invocation/instance_context_invocation_t04: MissingCompileTimeError
Language/Expressions/Function_Invocation/async_generator_invokation_t08: Fail # Issue 25967
Language/Expressions/Function_Invocation/async_generator_invokation_t10: Fail # Issue 25967
Language/Expressions/Identifier_Reference/async_and_generator_t02: MissingCompileTimeError
Language/Expressions/Identifier_Reference/async_and_generator_t03: MissingCompileTimeError
Language/Expressions/Identifier_Reference/async_and_generator_t04: MissingCompileTimeError
Language/Expressions/Identifier_Reference/async_and_generator_t05: MissingCompileTimeError
Language/Expressions/Identifier_Reference/async_and_generator_t06: MissingCompileTimeError
Language/Expressions/Identifier_Reference/async_and_generator_t07: MissingCompileTimeError
Language/Expressions/Identifier_Reference/async_and_generator_t08: MissingCompileTimeError
Language/Expressions/Identifier_Reference/async_and_generator_t09: MissingCompileTimeError
Language/Expressions/Identifier_Reference/async_and_generator_t10: MissingCompileTimeError
Language/Expressions/Identifier_Reference/built_in_not_dynamic_t01: MissingCompileTimeError
Language/Expressions/Identifier_Reference/built_in_not_dynamic_t12: MissingCompileTimeError
Language/Expressions/Identifier_Reference/built_in_not_dynamic_t15: MissingCompileTimeError
@@ -330,22 +312,8 @@ Language/Functions/Formal_Parameters/declare_as_constant_t05: MissingCompileTime
Language/Functions/Formal_Parameters/declare_as_constant_t06: MissingCompileTimeError
Language/Functions/Function_Declarations/external_function_t01: MissingCompileTimeError
Language/Functions/Function_Declarations/external_function_t02: MissingCompileTimeError
Language/Functions/ctor_modifier_t03: MissingCompileTimeError
Language/Functions/ctor_modifier_t04: MissingCompileTimeError
Language/Functions/ctor_modifier_t09: MissingCompileTimeError
Language/Functions/ctor_modifier_t10: MissingCompileTimeError
Language/Functions/ctor_modifier_t15: MissingCompileTimeError
Language/Functions/ctor_modifier_t16: MissingCompileTimeError
Language/Functions/setter_modifier_t01: MissingCompileTimeError
Language/Functions/setter_modifier_t02: MissingCompileTimeError
Language/Functions/setter_modifier_t03: MissingCompileTimeError
Language/Functions/setter_modifier_t04: MissingCompileTimeError
Language/Functions/setter_modifier_t05: MissingCompileTimeError
Language/Functions/setter_modifier_t06: MissingCompileTimeError
Language/Functions/syntax_t05: MissingCompileTimeError
Language/Functions/syntax_t31: MissingCompileTimeError
Language/Functions/syntax_t39: MissingCompileTimeError
Language/Functions/syntax_t40: MissingCompileTimeError
Language/Generics/malformed_t01: RuntimeError
Language/Interfaces/Superinterfaces/definition_t03: MissingCompileTimeError
Language/Interfaces/Superinterfaces/definition_t04: MissingCompileTimeError
@@ -468,7 +436,6 @@ Language/Statements/Continue/label_t09: MissingCompileTimeError
Language/Statements/Continue/label_t10: MissingCompileTimeError
Language/Statements/Continue/label_t11: MissingCompileTimeError
Language/Statements/Do/execution_t04: Crash
Language/Statements/For/Asynchronous_For_in/syntax_t02: MissingCompileTimeError
Language/Statements/For/syntax_t07: CompileTimeError
Language/Statements/For/syntax_t12: MissingCompileTimeError
Language/Statements/For/syntax_t13: MissingCompileTimeError
@@ -481,8 +448,6 @@ Language/Statements/Labels/scope_t07: CompileTimeError
Language/Statements/Labels/syntax_t03: Pass # OK
Language/Statements/Local_Function_Declaration/reference_before_declaration_t01: MissingCompileTimeError
Language/Statements/Local_Function_Declaration/reference_before_declaration_t03: MissingCompileTimeError
Language/Statements/Local_Function_Declaration/syntax_t05: MissingCompileTimeError
Language/Statements/Local_Function_Declaration/syntax_t06: MissingCompileTimeError
Language/Statements/Local_Variable_Declaration/syntax_t05: CompileTimeError
Language/Statements/Local_Variable_Declaration/syntax_t06: CompileTimeError
Language/Statements/Local_Variable_Declaration/syntax_t11: MissingCompileTimeError
@@ -491,14 +456,6 @@ Language/Statements/Local_Variable_Declaration/syntax_t19: CompileTimeError
Language/Statements/Local_Variable_Declaration/syntax_t20: MissingCompileTimeError
Language/Statements/Rethrow/on_catch_clause_t01: Crash
Language/Statements/Rethrow/on_catch_clause_t02: Crash
Language/Statements/Return/generator_function_t01: MissingCompileTimeError
Language/Statements/Return/generator_function_t02: MissingCompileTimeError
Language/Statements/Return/generator_function_t03: MissingCompileTimeError
Language/Statements/Return/generator_function_t04: MissingCompileTimeError
Language/Statements/Return/generator_function_t05: MissingCompileTimeError
Language/Statements/Return/generator_function_t06: MissingCompileTimeError
Language/Statements/Return/generator_function_t07: MissingCompileTimeError
Language/Statements/Return/generator_function_t08: MissingCompileTimeError
Language/Statements/Switch/equal_operator_t01: MissingCompileTimeError
Language/Statements/Switch/equal_operator_t02: MissingCompileTimeError
Language/Statements/Switch/expressions_t01: MissingCompileTimeError
@@ -515,19 +472,9 @@ Language/Statements/Try/syntax_t06: MissingCompileTimeError
Language/Statements/Try/syntax_t13: MissingCompileTimeError
Language/Statements/Try/syntax_t15: Crash
Language/Statements/While/execution_t03: Crash
Language/Statements/Yield_and_Yield_Each/Yield/location_t02: MissingCompileTimeError
Language/Statements/Yield_and_Yield_Each/Yield/location_t04: MissingCompileTimeError
Language/Statements/Yield_and_Yield_Each/Yield/location_t06: MissingCompileTimeError
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t08: RuntimeError # Issue 25748
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t09: RuntimeError # Issue 25748
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t10: RuntimeError # Issue 25748
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_sync_t05: RuntimeError # Issue 25662,25634
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t01: MissingCompileTimeError # Issue 25495
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t02: MissingCompileTimeError
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t03: MissingCompileTimeError # Issue 25495
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t04: MissingCompileTimeError
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t05: MissingCompileTimeError # Issue 25495
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t06: MissingCompileTimeError
Language/Types/Static_Types/deferred_type_t01: RuntimeError # Kernel Issue 28335 (deferred libraries)
Language/Types/Static_Types/malformed_type_t01: RuntimeError
Language/Types/Type_Declarations/Typedef/param_default_value_t02: MissingCompileTimeError
@@ -595,12 +542,6 @@ Language/Expressions/Lists/constant_list_t01: Crash
Language/Libraries_and_Scripts/Scripts/top_level_main_t05: Crash
Language/Statements/Switch/syntax_t16: Crash
Language/Statements/Switch/syntax_t17: Crash
Language/Statements/Yield_and_Yield_Each/Yield/location_t02: Crash
Language/Statements/Yield_and_Yield_Each/Yield/location_t04: Crash
Language/Statements/Yield_and_Yield_Each/Yield/location_t06: Crash
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t02: Crash
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t04: Crash
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t06: Crash
# dartk: JIT failures
[ $compiler == dartk ]
+13 -13
View File
@@ -87,18 +87,25 @@ LibTest/isolate/Isolate/spawn_A02_t01: Skip # co19 issue 667
LibTest/html/*: SkipByDesign # dart:html not supported on VM.
LayoutTests/fast/*: SkipByDesign # DOM not supported on VM.
WebPlatformTest/*: SkipByDesign # dart:html not supported on VM.
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug && $builder_tag == asan ]
Language/Types/Interface_Types/subtype_t27: Skip # Issue 21174.
[ ($runtime == vm || $runtime == dart_precompiled) && $compiler != dartk && $compiler != dartkp ]
# co19 update Sep 29, 2015 (3ed795ea02e022ef19c77cf1b6095b7c8f5584d0)
Language/Expressions/Function_Invocation/async_generator_invokation_t08: Fail # Issue 25967
Language/Expressions/Function_Invocation/async_generator_invokation_t10: Fail # Issue 25967
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t08: RuntimeError # Issue 25748
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t09: RuntimeError # Issue 25748
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t10: RuntimeError # Issue 25748
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_sync_t05: RuntimeError # Issue 25662,25634
Language/Classes/Getters/type_object_t01: RuntimeError # Issue 23721
Language/Classes/Getters/type_object_t02: RuntimeError # Issue 23721
Language/Classes/Setters/type_object_t01: RuntimeError # Issue 23721
Language/Classes/Setters/type_object_t02: RuntimeError # Issue 23721
Language/Classes/Static_Methods/type_object_t01: RuntimeError # Issue 23721
Language/Classes/Static_Methods/type_object_t02: RuntimeError # Issue 23721
Language/Expressions/Assignment/super_assignment_failed_t05: RuntimeError # Issue 25671
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug && $builder_tag == asan ]
Language/Types/Interface_Types/subtype_t27: Skip # Issue 21174.
[ ($runtime == vm || $runtime == dart_precompiled) && $compiler != dartk && $compiler != dartkp ]
# co19 update Sep 29, 2015 (3ed795ea02e022ef19c77cf1b6095b7c8f5584d0)
Language/Expressions/Identifier_Reference/built_in_identifier_t35: MissingCompileTimeError # Issue 25732
Language/Expressions/Identifier_Reference/built_in_identifier_t36: MissingCompileTimeError # Issue 25732
Language/Expressions/Identifier_Reference/built_in_identifier_t37: MissingCompileTimeError # Issue 25732
@@ -122,9 +129,6 @@ Language/Expressions/Identifier_Reference/built_in_not_dynamic_t14: MissingCompi
Language/Expressions/Identifier_Reference/built_in_not_dynamic_t19: MissingCompileTimeError # Issue 25772
Language/Expressions/Method_Invocation/Ordinary_Invocation/object_method_invocation_t01: MissingCompileTimeError # Issue 25496
Language/Expressions/Method_Invocation/Ordinary_Invocation/object_method_invocation_t02: MissingCompileTimeError # Issue 25496
Language/Expressions/Assignment/super_assignment_failed_t05: RuntimeError # Issue 25671
Language/Expressions/Function_Invocation/async_generator_invokation_t08: Fail # Issue 25967
Language/Expressions/Function_Invocation/async_generator_invokation_t10: Fail # Issue 25967
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t01: MissingCompileTimeError # Issue 24332
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t02: MissingCompileTimeError # Issue 24332
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t03: MissingCompileTimeError # Issue 24332
@@ -136,10 +140,6 @@ Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/cla
Language/Mixins/Mixin_Application/syntax_t16: CompileTimeError # Issue 25765
Language/Mixins/declaring_constructor_t05: MissingCompileTimeError # Issue 24767
Language/Mixins/declaring_constructor_t06: MissingCompileTimeError # Issue 24767
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t08: RuntimeError # Issue 25748
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t09: RuntimeError # Issue 25748
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t10: RuntimeError # Issue 25748
Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_sync_t05: RuntimeError # Issue 25662,25634
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t01: MissingCompileTimeError # Issue 25495
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t03: MissingCompileTimeError # Issue 25495
Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t05: MissingCompileTimeError # Issue 25495
+4 -48
View File
@@ -22,34 +22,7 @@ assignable_expression_test/32: MissingCompileTimeError
assignable_expression_test/33: MissingCompileTimeError
assignable_expression_test/42: MissingCompileTimeError
assignable_expression_test/43: MissingCompileTimeError
async_await_syntax_test/a01b: MissingCompileTimeError
async_await_syntax_test/a01c: MissingCompileTimeError
async_await_syntax_test/a05f: MissingCompileTimeError
async_await_syntax_test/a05g: MissingCompileTimeError
async_await_syntax_test/a05h: MissingCompileTimeError
async_await_syntax_test/a06b: MissingCompileTimeError
async_await_syntax_test/a12e: MissingCompileTimeError
async_await_syntax_test/a12f: MissingCompileTimeError
async_await_syntax_test/b01b: MissingCompileTimeError
async_await_syntax_test/b01c: MissingCompileTimeError
async_await_syntax_test/b10b: MissingCompileTimeError
async_await_syntax_test/b12e: MissingCompileTimeError
async_await_syntax_test/b12f: MissingCompileTimeError
async_await_syntax_test/c01b: MissingCompileTimeError
async_await_syntax_test/c01c: MissingCompileTimeError
async_await_syntax_test/c11a: MissingCompileTimeError
async_await_syntax_test/c11b: MissingCompileTimeError
async_await_syntax_test/d01b: MissingCompileTimeError
async_await_syntax_test/d01c: MissingCompileTimeError
async_await_syntax_test/e1: MissingCompileTimeError
async_await_syntax_test/e2: MissingCompileTimeError
async_await_syntax_test/e3: MissingCompileTimeError
async_return_types_test/return_value_sync_star: MissingCompileTimeError
async_star_pause_test: Crash
async_test/constructor3: MissingCompileTimeError
async_test/setter1: MissingCompileTimeError
await_backwards_compatibility_test/await1: MissingCompileTimeError
await_for_test: Crash, Fail
await_for_test: RuntimeError
await_test: RuntimeError
bad_constructor_test/05: CompileTimeError
bad_initializer1_negative_test: Crash
@@ -569,20 +542,6 @@ switch_bad_case_test/02: MissingCompileTimeError
switch_case_test/00: MissingCompileTimeError
switch_case_test/01: MissingCompileTimeError
switch_case_test/02: MissingCompileTimeError
sync_generator2_test/01: MissingCompileTimeError
sync_generator2_test/02: MissingCompileTimeError
sync_generator2_test/03: MissingCompileTimeError
sync_generator2_test/04: MissingCompileTimeError
sync_generator2_test/05: MissingCompileTimeError
sync_generator2_test/06: MissingCompileTimeError
sync_generator2_test/09: Crash
sync_generator2_test/11: MissingCompileTimeError
sync_generator2_test/20: MissingCompileTimeError
sync_generator2_test/30: MissingCompileTimeError
sync_generator2_test/40: MissingCompileTimeError
sync_generator2_test/41: MissingCompileTimeError
sync_generator2_test/51: MissingCompileTimeError
sync_generator2_test/52: MissingCompileTimeError
syntax_test/02: MissingCompileTimeError
syntax_test/03: MissingCompileTimeError
syntax_test/27: MissingCompileTimeError
@@ -615,11 +574,6 @@ vm/type_vm_test: RuntimeError
# dartk: JIT & AOT failures (debug)
[ ($compiler == dartk || $compiler == dartkp) && $mode == debug ]
async_await_syntax_test/a05g: Crash
async_await_syntax_test/a05h: Crash
async_await_syntax_test/b10b: Crash
async_await_syntax_test/c11a: Crash
async_await_syntax_test/c11b: Crash
const_instance_field_test/01: Crash
list_literal2_negative_test: Crash
switch1_negative_test: Crash
@@ -694,7 +648,9 @@ vm/closure_memory_retention_test: Skip # Hits OOM
# dartk: precompilation failures (debug)
[ $compiler == dartkp && $mode == debug ]
constructor_named_arguments_test/01: Crash # Dartk Issue 28301
external_test/13: Crash
final_syntax_test/09: Crash
constructor_named_arguments_test/01: Crash # Dartk Issue 28301
not_enough_positional_arguments_test/05: Crash # Dartk Issue 28301
regress_22445_test: Crash
regress_23498_test: Crash