Community
Participate
Working Groups
From bug 142793 public class X { void bar(Collection<String> c) { for(String s: c) { try { bar(); } } } } This test case has a syntax error: "Syntax error, insert "Finally" to complete BlockStatements" In this case the statement recovery fail because it is not able to rebuild a fake "Finally".
Created attachment 42162 [details] Proposed fix This fix must be applied and the files parser22.rsc and parser23.rsc must regenerate.
Created attachment 42163 [details] Regression test
With this fix, the recovered ast look like public class X { void bar(Collection<String> c) { for(String s: c) { try { bar(); } finally { } } } } A fake 'finally {}' is added.
Created attachment 50790 [details] Updated fix
Released for 3.3 M3. Test added StatementRecoveryTest_1_5#test0001() Test updated ASTConverter15Test#test0220()
Verified for 3.3 M3 using warm-up build I20061030-0800