Improve parsing of async and generator methods.
R=johnniwinther@google.com Review-Url: https://codereview.chromium.org/2759663002 .
This commit is contained in:
@@ -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,
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 ]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user