| Index: compiler/javatests/com/google/dart/compiler/parser/NegativeParserTest.java
|
| diff --git a/compiler/javatests/com/google/dart/compiler/parser/NegativeParserTest.java b/compiler/javatests/com/google/dart/compiler/parser/NegativeParserTest.java
|
| index 66518253982275eacbd6b499a7fcaad016b2addc..a5ff8c4af248580843b684ff4edc06a9982a7847 100644
|
| --- a/compiler/javatests/com/google/dart/compiler/parser/NegativeParserTest.java
|
| +++ b/compiler/javatests/com/google/dart/compiler/parser/NegativeParserTest.java
|
| @@ -200,7 +200,6 @@ public class NegativeParserTest extends CompilerTestCase {
|
| errEx(ParserErrorCode.EXPECTED_EXTENDS, 3, 11, 2),
|
| errEx(ParserErrorCode.EXPECTED_EXTENDS, 5, 11, 7),
|
| errEx(ParserErrorCode.EXPECTED_EXTENDS, 7, 11, 7));
|
| -
|
| // check structure of AST
|
| DartUnit dartUnit = parserRunner.getDartUnit();
|
| String expected =
|
| @@ -299,12 +298,13 @@ public class NegativeParserTest extends CompilerTestCase {
|
| }
|
|
|
| public void testReservedWordClass() {
|
| - parseExpectErrors(Joiner.on("\n").join(
|
| - "class foo {}",
|
| - "main() {",
|
| - " int class = 10;",
|
| - " print(\"class = $class\");",
|
| - "}"),
|
| + parseExpectErrors(
|
| + Joiner.on("\n").join(
|
| + "class foo {}",
|
| + "main() {",
|
| + " int class = 10;",
|
| + " print(\"class = $class\");",
|
| + "}"),
|
| errEx(ParserErrorCode.EXPECTED_TOKEN, 3, 7, 5),
|
| errEx(ParserErrorCode.UNEXPECTED_TOKEN, 4, 19, 5));
|
| }
|
| @@ -338,7 +338,46 @@ public class NegativeParserTest extends CompilerTestCase {
|
|
|
| public void tstDeprecatedFactoryInInterface() {
|
| parseExpectErrors(
|
| - "interface foo factory bar {}",
|
| - errEx(ParserErrorCode.DEPRECATED_USE_OF_FACTORY_KEYWORD, 1, 15, 8));
|
| + "interface foo factory bar {}",
|
| + errEx(ParserErrorCode.DEPRECATED_USE_OF_FACTORY_KEYWORD, 1, 15, 8));
|
| + }
|
| +
|
| + public void test_abstractTopLevel_class() {
|
| + parseExpectErrors(Joiner.on("\n").join(
|
| + "// filler filler filler filler filler filler filler filler filler filler",
|
| + "abstract class A {",
|
| + "}"));
|
| + }
|
| +
|
| + public void test_abstractTopLevel_interface() {
|
| + parseExpectErrors(
|
| + Joiner.on("\n").join(
|
| + "// filler filler filler filler filler filler filler filler filler filler",
|
| + "abstract interface A {",
|
| + "}"),
|
| + errEx(ParserErrorCode.ABSTRACT_TOP_LEVEL_ELEMENT, 2, 1, 8));
|
| + }
|
| +
|
| + public void test_abstractTopLevel_typedef() {
|
| + parseExpectErrors(
|
| + "abstract typedef void f();",
|
| + errEx(ParserErrorCode.ABSTRACT_TOP_LEVEL_ELEMENT, 1, 1, 8));
|
| + }
|
| +
|
| + public void test_abstractTopLevel_method() {
|
| + parseExpectErrors(
|
| + "abstract void foo() {}",
|
| + errEx(ParserErrorCode.ABSTRACT_TOP_LEVEL_ELEMENT, 1, 1, 8));
|
| + }
|
| +
|
| + public void test_abstractMethodWithBody() {
|
| + parseExpectErrors(
|
| + Joiner.on("\n").join(
|
| + "// filler filler filler filler filler filler filler filler filler filler",
|
| + "class A {",
|
| + " abstract foo() {",
|
| + " }",
|
| + "}"),
|
| + errEx(ParserErrorCode.ABSTRACT_METHOD_WITH_BODY, 3, 3, 8));
|
| }
|
| }
|
|
|