Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Unified Diff: compiler/javatests/com/google/dart/compiler/parser/ParserRecoveryTest.java

Issue 10020022: Revert "Adds parser recovery to the class right brace and handles stray semicolons in a class" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « compiler/java/com/google/dart/compiler/parser/DartParser.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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());
- }
}
« no previous file with comments | « compiler/java/com/google/dart/compiler/parser/DartParser.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698