/*******************************************************************************
* Copyright (c) 2011, 2014 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.core.tests.compiler.parser;
import java.util.Locale;
import java.util.Map;
import junit.framework.Test;
import org.eclipse.jdt.core.tests.util.AbstractCompilerTest;
import org.eclipse.jdt.core.tests.util.Util;
import org.eclipse.jdt.internal.compiler.CompilationResult;
import org.eclipse.jdt.internal.compiler.DefaultErrorHandlingPolicies;
import org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration;
import org.eclipse.jdt.internal.compiler.batch.CompilationUnit;
import org.eclipse.jdt.internal.compiler.env.ICompilationUnit;
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
import org.eclipse.jdt.internal.compiler.parser.Parser;
import org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory;
import org.eclipse.jdt.internal.compiler.problem.ProblemReporter;
@SuppressWarnings({ "unchecked", "rawtypes" })
public class ParserTest1_7 extends AbstractCompilerTest {
public static final boolean ONLY_DIET_PLUS_BODY_WITH_STATEMENT_RECOVERY = false;
static {
// TESTS_NAMES = new String[] { "test0037"};
// TESTS_RANGE = new int[] {10, 20};
// TESTS_NUMBERS = new int[] { 10 };
}
public static Class testClass() {
return ParserTest1_7.class;
}
public static Test suite() {
return buildMinimalComplianceTestSuite(testClass(), F_1_7);
}
public ParserTest1_7(String testName){
super(testName);
}
public void checkParse(
char[] source,
String expectedDietUnitToString,
String expectedDietWithStatementRecoveryUnitToString,
String expectedDietPlusBodyUnitToString,
String expectedDietPlusBodyWithStatementRecoveryUnitToString,
String expectedFullUnitToString,
String expectedFullWithStatementRecoveryUnitToString,
String testName) {
/* using regular parser in DIET mode */
if(!ONLY_DIET_PLUS_BODY_WITH_STATEMENT_RECOVERY){
Parser parser =
new Parser(
new ProblemReporter(
DefaultErrorHandlingPolicies.proceedWithAllProblems(),
new CompilerOptions(getCompilerOptions()),
new DefaultProblemFactory(Locale.getDefault())),
true);
parser.setStatementsRecovery(false);
ICompilationUnit sourceUnit = new CompilationUnit(source, testName, null);
CompilationResult compilationResult = new CompilationResult(sourceUnit, 0, 0, 0);
CompilationUnitDeclaration computedUnit = parser.dietParse(sourceUnit, compilationResult);
String computedUnitToString = computedUnit.toString();
if (!expectedDietUnitToString.equals(computedUnitToString)){
System.out.println(Util.displayString(computedUnitToString));
}
assertEquals(
"Invalid unit diet structure" + testName,
expectedDietUnitToString,
computedUnitToString);
}
/* using regular parser in DIET mode and statementRecoveryEnabled */
if(!ONLY_DIET_PLUS_BODY_WITH_STATEMENT_RECOVERY){
Parser parser =
new Parser(
new ProblemReporter(
DefaultErrorHandlingPolicies.proceedWithAllProblems(),
new CompilerOptions(getCompilerOptions()),
new DefaultProblemFactory(Locale.getDefault())),
true);
ICompilationUnit sourceUnit = new CompilationUnit(source, testName, null);
CompilationResult compilationResult = new CompilationResult(sourceUnit, 0, 0, 0);
CompilationUnitDeclaration computedUnit = parser.dietParse(sourceUnit, compilationResult);
String computedUnitToString = computedUnit.toString();
if (!expectedDietWithStatementRecoveryUnitToString.equals(computedUnitToString)){
System.out.println(Util.displayString(computedUnitToString));
}
assertEquals(
"Invalid unit diet structure with statement recovery enabled" + testName,
expectedDietWithStatementRecoveryUnitToString,
computedUnitToString);
}
/* using regular parser in DIET mode + getMethodBodies */
if(!ONLY_DIET_PLUS_BODY_WITH_STATEMENT_RECOVERY){
Parser parser =
new Parser(
new ProblemReporter(
DefaultErrorHandlingPolicies.proceedWithAllProblems(),
new CompilerOptions(getCompilerOptions()),
new DefaultProblemFactory(Locale.getDefault())),
true);
parser.setStatementsRecovery(false);
ICompilationUnit sourceUnit = new CompilationUnit(source, testName, null);
CompilationResult compilationResult = new CompilationResult(sourceUnit, 0, 0, 0);
CompilationUnitDeclaration computedUnit = parser.dietParse(sourceUnit, compilationResult);
String computedUnitToString = computedUnit.toString();
if (!expectedDietUnitToString.equals(computedUnitToString)){
System.out.println(Util.displayString(computedUnitToString));
}
assertEquals(
"Invalid unit diet structure" + testName,
expectedDietUnitToString,
computedUnitToString);
if (computedUnit.types != null) {
for (int i = 0, length = computedUnit.types.length; i < length; i++){
computedUnit.types[i].parseMethods(parser, computedUnit);
}
}
computedUnitToString = computedUnit.toString();
if (!expectedDietPlusBodyUnitToString.equals(computedUnitToString)){
System.out.println(Util.displayString(computedUnitToString));
}
assertEquals(
"Invalid unit diet+body structure" + testName,
expectedDietPlusBodyUnitToString,
computedUnitToString);
}
/* using regular parser in DIET mode + getMethodBodies and statementRecoveryEnabled */
{
Parser parser =
new Parser(
new ProblemReporter(
DefaultErrorHandlingPolicies.proceedWithAllProblems(),
new CompilerOptions(getCompilerOptions()),
new DefaultProblemFactory(Locale.getDefault())),
true);
ICompilationUnit sourceUnit = new CompilationUnit(source, testName, null);
CompilationResult compilationResult = new CompilationResult(sourceUnit, 0, 0, 0);
CompilationUnitDeclaration computedUnit = parser.dietParse(sourceUnit, compilationResult);
String computedUnitToString = computedUnit.toString();
if (!expectedDietWithStatementRecoveryUnitToString.equals(computedUnitToString)){
System.out.println(Util.displayString(computedUnitToString));
}
assertEquals(
"Invalid unit diet structure" + testName,
expectedDietWithStatementRecoveryUnitToString,
computedUnitToString);
if (computedUnit.types != null) {
for (int i = 0, length = computedUnit.types.length; i < length; i++){
computedUnit.types[i].parseMethods(parser, computedUnit);
}
}
computedUnitToString = computedUnit.toString();
if (!expectedDietPlusBodyWithStatementRecoveryUnitToString.equals(computedUnitToString)){
System.out.println(Util.displayString(computedUnitToString));
}
assertEquals(
"Invalid unit diet+body structure with statement recovery enabled" + testName,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
computedUnitToString);
}
{
/* using regular parser in FULL mode */
if(!ONLY_DIET_PLUS_BODY_WITH_STATEMENT_RECOVERY){
Parser parser =
new Parser(
new ProblemReporter(
DefaultErrorHandlingPolicies.proceedWithAllProblems(),
new CompilerOptions(getCompilerOptions()),
new DefaultProblemFactory(Locale.getDefault())),
true);
parser.setStatementsRecovery(false);
ICompilationUnit sourceUnit = new CompilationUnit(source, testName, null);
CompilationResult compilationResult = new CompilationResult(sourceUnit, 0, 0, 0);
CompilationUnitDeclaration computedUnit = parser.parse(sourceUnit, compilationResult);
String computedUnitToString = computedUnit.toString();
if (!expectedFullUnitToString.equals(computedUnitToString)){
System.out.println(Util.displayString(computedUnitToString));
}
assertEquals(
"Invalid unit full structure" + testName,
expectedFullUnitToString,
computedUnitToString);
}
}
/* using regular parser in FULL mode and statementRecoveryEnabled */
if(!ONLY_DIET_PLUS_BODY_WITH_STATEMENT_RECOVERY){
Parser parser =
new Parser(
new ProblemReporter(
DefaultErrorHandlingPolicies.proceedWithAllProblems(),
new CompilerOptions(getCompilerOptions()),
new DefaultProblemFactory(Locale.getDefault())),
true);
ICompilationUnit sourceUnit = new CompilationUnit(source, testName, null);
CompilationResult compilationResult = new CompilationResult(sourceUnit, 0, 0, 0);
CompilationUnitDeclaration computedUnit = parser.parse(sourceUnit, compilationResult);
String computedUnitToString = computedUnit.toString();
if (!expectedFullWithStatementRecoveryUnitToString.equals(computedUnitToString)){
System.out.println(Util.displayString(computedUnitToString));
}
assertEquals(
"Invalid unit full structure with statement recovery enabled" + testName,
expectedFullWithStatementRecoveryUnitToString,
computedUnitToString);
}
}
protected Map getCompilerOptions() {
Map options = super.getCompilerOptions();
options.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_1_7);
options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_7);
options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_7);
return options;
}
public void test0001() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\")) {\n" +
" System.out.println(reader.read());\n" +
" } catch(FileNotFoundException | IOException | Exception e) {\n" +
" e.printStackTrace();\n" +
" } finally {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException | IOException | Exception e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException | IOException | Exception e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException | IOException | Exception e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0002() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\")) {\n" +
" System.out.println(reader.read());\n" +
" } catch(FileNotFoundException e) {\n" +
" e.printStackTrace();\n" +
" } finally {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0003() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\")) {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0004() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\")) {\n" +
" System.out.println(reader.read());\n" +
" } finally {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0005() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\")) {\n" +
" System.out.println(reader.read());\n" +
" } catch(FileNotFoundException e) {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0006() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" try {\n" +
" System.out.println(reader.read());\n" +
" } catch(FileNotFoundException | IOException | Exception e) {\n" +
" e.printStackTrace();\n" +
" } finally {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException | IOException | Exception e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException | IOException | Exception e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException | IOException | Exception e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" finally\n" +
" {\n" +
" System.out.println(\"Finishing try-with-resources\");\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0007() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" List<String> l = new ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" List<String> l = new ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" List<String> l = new ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" List<String> l = new ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0008() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" List<> l = new ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" List<> l = new ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" List<> l = new ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" List<> l = new ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0009() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" List<String> l = new java.util.ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" List<String> l = new java.util.ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" List<String> l = new java.util.ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" List<String> l = new java.util.ArrayList<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0010() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" B<String>.C<Integer> o = new B<>.C<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" B<String>.C<Integer> o = new B<>.C<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" B<String>.C<Integer> o = new B<>.C<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" B<String>.C<Integer> o = new B<>.C<>();\n" +
" System.out.println(l);\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0011() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\");) {\n" +
" System.out.println(reader.read());\n" +
" } catch(FileNotFoundException e) {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
public void test0012() {
String s =
"public class A {\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\");\n" +
" Reader reader2 = new FileReader(\"fileName\");) {\n" +
" System.out.println(reader.read());\n" +
" } catch(FileNotFoundException e) {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}";
String expectedDietUnitToString =
"public class A {\n" +
" public A() {\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" }\n" +
"}\n";
String expectedDietWithStatementRecoveryUnitToString =
expectedDietUnitToString;
String expectedDietPlusBodyUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\");\n" +
" Reader reader2 = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}\n";
String expectedDietPlusBodyWithStatementRecoveryUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\");\n" +
" Reader reader2 = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullUnitToString =
"public class A {\n" +
" public A() {\n" +
" super();\n" +
" }\n" +
" public void foo(String fileName) {\n" +
" try (Reader reader = new FileReader(\"fileName\");\n" +
" Reader reader2 = new FileReader(\"fileName\"))\n" +
" {\n" +
" System.out.println(reader.read());\n" +
" }\n" +
" catch (FileNotFoundException e)\n" +
" {\n" +
" e.printStackTrace();\n" +
" }\n" +
" }\n" +
"}\n";
String expectedFullWithStatementRecoveryUnitToString =
expectedFullUnitToString;
String testName = "<test>";
checkParse(
s.toCharArray(),
expectedDietUnitToString,
expectedDietWithStatementRecoveryUnitToString,
expectedDietPlusBodyUnitToString,
expectedDietPlusBodyWithStatementRecoveryUnitToString,
expectedFullUnitToString,
expectedFullWithStatementRecoveryUnitToString,
testName);
}
}