| Index: compiler/javatests/com/google/dart/compiler/parser/ParserRecoveryTest.java
|
| diff --git a/compiler/javatests/com/google/dart/compiler/parser/ParserRecoveryTest.java b/compiler/javatests/com/google/dart/compiler/parser/ParserRecoveryTest.java
|
| index c5f660da2b7724899c163d316e28f875997922bd..73fc7771cfe9cf41eb5067a00210c2d3d943d047 100644
|
| --- a/compiler/javatests/com/google/dart/compiler/parser/ParserRecoveryTest.java
|
| +++ b/compiler/javatests/com/google/dart/compiler/parser/ParserRecoveryTest.java
|
| @@ -244,41 +244,6 @@ public class ParserRecoveryTest extends AbstractParserTest {
|
| assertEquals("b", B_b.getFields().get(0).getName().getName());
|
| }
|
|
|
| - public void testRecoverToTopLevel9() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recover_to_toplevel9.dart",
|
| - Joiner.on("\n").join(
|
| - "class A ", // missing braces
|
| - "class B { ", // error recovery should pick up class B
|
| - " var b;",
|
| - "}"));
|
| - // Make sure class B is still around
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(0);
|
| - assertEquals("A", A.getName().getName());
|
| - DartClass B = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("B", B.getName().getName());
|
| - DartFieldDefinition B_b = (DartFieldDefinition)B.getMembers().get(0);
|
| - assertEquals("b", B_b.getFields().get(0).getName().getName());
|
| - }
|
| -
|
| - public void testRecoverToTopLevel10() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recover_to_toplevel10.dart",
|
| - Joiner.on("\n").join(
|
| - "class A ", // missing opening brace
|
| - " var a;",
|
| - "}",
|
| - "class B { ", // error recovery should pick up class B
|
| - " var b;",
|
| - "}"));
|
| - // Make sure class B is still around
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(0);
|
| - assertEquals("A", A.getName().getName());
|
| - // In this case, the parser chooses to promote 'var a' to a top level element
|
| - DartClass B = (DartClass)unit.getTopLevelNodes().get(2);
|
| - assertEquals("B", B.getName().getName());
|
| - DartFieldDefinition B_b = (DartFieldDefinition)B.getMembers().get(0);
|
| - assertEquals("b", B_b.getFields().get(0).getName().getName());
|
| - }
|
| -
|
| public void testReservedWordClass() {
|
| DartUnit unit = parseUnitUnspecifiedErrors("phony_reserved_word_class",
|
| Joiner.on("\n").join(
|
| @@ -736,226 +701,4 @@ assertEquals("foo", ((DartIdentifier)prop.getQualifier()).getName());
|
| DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| assertEquals("after", after.getFields().get(0).getName().getName());
|
| }
|
| -
|
| - public void testRecoveryClassRbrace1() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace1.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " int bad =,", // incomplete field definition
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartFieldDefinition bad = (DartFieldDefinition)A.getMembers().get(0);
|
| - assertEquals("bad", bad.getFields().get(0).getName().getName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace2() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace2.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " int bad( arg a,", // incomplete method definition
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartMethodDefinition bad = (DartMethodDefinition)A.getMembers().get(0);
|
| - assertEquals("bad", ((DartIdentifier)bad.getName()).getName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace3() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace3.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " int bad( arg a, ; complete garbage follows", // incomplete method definition
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartMethodDefinition bad = (DartMethodDefinition)A.getMembers().get(0);
|
| - assertEquals("bad", ((DartIdentifier)bad.getName()).getName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace4() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace4.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " int bad(arg a) { junk }; ", // trailing semicolon
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartMethodDefinition bad = (DartMethodDefinition)A.getMembers().get(0);
|
| - assertEquals("bad", ((DartIdentifier)bad.getName()).getName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace5() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace5.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " var bad = int foo(arg a) { = junk }; ", // jibberish value with trailing semicolon
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartFieldDefinition bad = (DartFieldDefinition)A.getMembers().get(0);
|
| - assertEquals("bad", bad.getFields().get(0).getName().getName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace6() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace6.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " bad() ", // incomplete method
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartMethodDefinition bad = (DartMethodDefinition)A.getMembers().get(0);
|
| - assertEquals("bad", ((DartIdentifier)bad.getName()).getName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace7() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace7.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " bad() }", // incomplete method
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartMethodDefinition bad = (DartMethodDefinition)A.getMembers().get(0);
|
| - assertEquals("bad", ((DartIdentifier)bad.getName()).getName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace8() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace8.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " bad( }", // incomplete method
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartMethodDefinition bad = (DartMethodDefinition)A.getMembers().get(0);
|
| - assertEquals("bad", ((DartIdentifier)bad.getName()).getName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace9() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace9.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " bad", // incomplete declaration
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartMethodDefinition bad = (DartMethodDefinition)A.getMembers().get(0);
|
| - assertEquals("bad", ((DartIdentifier)bad.getName()).getName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace10() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace10.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " void", // incomplete declaration
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace11() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace11.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " const", // incomplete declaration
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| -
|
| - public void testRecoveryClassRbrace12() {
|
| - DartUnit unit = parseUnitUnspecifiedErrors("phony_recovery_class_rbrace12.dart",
|
| - Joiner.on("\n").join(
|
| - "var before;",
|
| - "class A {",
|
| - " ;;;;", // stray semicolons
|
| - "}",
|
| - "int after;")); // use 'int' instead of 'var' because it is harder to recover to
|
| - DartFieldDefinition before = (DartFieldDefinition)unit.getTopLevelNodes().get(0);
|
| - assertEquals("before", before.getFields().get(0).getName().getName());
|
| - DartClass A = (DartClass)unit.getTopLevelNodes().get(1);
|
| - assertEquals("A", A.getClassName());
|
| - DartFieldDefinition after = (DartFieldDefinition)unit.getTopLevelNodes().get(2);
|
| - assertEquals("after", after.getFields().get(0).getName().getName());
|
| - assertEquals("int", ((DartIdentifier)after.getTypeNode().getIdentifier()).getName());
|
| - }
|
| }
|
|
|