/******************************************************************************* * Copyright (c) 2002, 2015 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.debug.tests.eval.generator; import java.io.File; import java.io.FileWriter; import java.io.Writer; import org.eclipse.debug.internal.core.IInternalDebugCoreConstants; public class NestedTypeTestGenerator extends TestGenerator { static final int T_T = 0; static final int T_T_A= 1; static final int T_A= 2; static final int T_T_A_AA= 3; static final int T_A_AA= 4; static final int T_AA= 5; static final int T_T_A_AB= 44; static final int T_A_AB= 45; static final int T_AB= 46; static final int T_T_B= 39; static final int T_B= 40; static final int T_T_B_BB= 41; static final int T_B_BB= 42; static final int T_BB= 43; static final int T_C= -1; static final int T_E= -1; static final int T_T_this= 6; static final int T_T_A_this= 7; static final int T_A_this= 8; static final int T_B_this= 9; static final int T_C_this= 10; static final int T_E_this= 11; static final int I_A= 12; static final int I_AA= 13; static final int I_AB= 14; static final int I_AC= 15; static final int I_AD= 16; static final int I_AE= 17; static final int I_AF= 18; static final int I_B= 19; static final int I_BB= 20; static final int I_BC= 21; static final int I_BD= 22; static final int I_C= 23; static final int I_CB= 24; static final int I_CC= 25; static final int I_CD= 26; static final int I_D= 27; static final int I_DB= 28; static final int I_DC= 29; static final int I_DD= 30; static final int I_E= 31; static final int I_EB= 32; static final int I_EC= 33; static final int I_ED= 34; static final int I_F= 35; static final int I_FB= 36; static final int I_FC= 37; static final int I_FD= 38; static final String[] qualifiers= {"T_T", "T_T_A", "T_A", "T_T_A_AA", "T_A_AA", "T_AA", "T_T_this", "T_T_Athis", "T_A_this", "T_B_this", "T_C_this", "T_E_this", "I_A", "I_AA", "I_AB", "I_AC", "I_AD", "I_AE", "I_AF", "I_B", "I_BB", "I_BC", "I_BD", "I_C", "I_CB", "I_CC", "I_CD", "I_D", "I_DB", "I_DC", "I_DD", "I_E", "I_EB", "I_EC", "I_ED", "I_F", "I_FB", "I_FC", "I_FD", "T_T_B", "T_B", "T_T_B_BB", "T_B_BB", "T_BB", "T_T_A_AB", "T_A_AB", "T_AB"}; static final int [] qualifiersLevel= {0, 1, 1, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2}; public static void main(String[] args) throws Exception { gen_AA_aa(); gen_AA_aaStatic(); gen_AB_ab(); gen_AC_ac(); gen_AD_ad(); gen_A_a(); gen_AE_ae(); gen_AF_af(); gen_A_aStatic(); gen_BB_bb(); gen_BC_bc(); gen_BD_bd(); gen_B_b(); gen_CB_cb(); gen_CC_cc(); gen_CD_cd(); gen_C_c(); gen_DB_db(); gen_DC_dc(); gen_DD_dd(); gen_D_d(); gen_EB_eb(); gen_EC_ec(); gen_ED_ed(); gen_E_e(); gen_FB_fb(); gen_FC_fc(); gen_FD_fd(); gen_F_f(); gen_evalNestedTypeTest(); gen_evalNestedTypeTestStatic(); System.out.println("done"); } public static void gen_AA_aa() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTest('c', 2, code); createTest('d', 2, code); createTest('e', 2, code); createTest('f', 2, code); createTest('h', 2, code); createTest('i', 2, code); createTest('j', 2, code); createTestThis('c', 2, code); createTestThis('d', 2, code); createTestThis('e', 2, code); createTestThis('f', 2, code); createTestThis('i', 2, code); createTestThis('j', 2, code); createTestsStaticFields_A(code); createJavaFile(code, 65, 4); } public static void gen_AA_aaStatic() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTest('d', 2, code); createTest('f', 2, code); createTest('h', 2, code); createTest('j', 2, code); createTestsStaticFields_A(code); createJavaFile(code, 69, 4); } public static void gen_AB_ab() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTest('c', 2, code); createTest('d', 2, code); createTest('e', 2, code); createTest('f', 2, code); createTest('g', 2, code); createTest('h', 2, code); createTest('i', 2, code); createTest('j', 2, code); createTestThis('c', 2, code); createTestThis('d', 2, code); createTestThis('e', 2, code); createTestThis('f', 2, code); createTestThis('i', 2, code); createTestThis('j', 2, code); createTestsStaticFields_A(code); createTestQualifier(T_A_this, 'c', code); createTestQualifier(T_A_this, 'd', code); createTestQualifier(T_A_this, 'g', code); createTestQualifier(T_A_this, 'h', code); createJavaFile(code, 94, 4); } public static void gen_AC_ac() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTest('g', 2, code); createTest('h', 2, code); createTestsStaticFields_A(code); createTestQualifier(T_A_this, 'c', code); createTestQualifier(T_A_this, 'd', code); createTestQualifier(T_A_this, 'g', code); createTestQualifier(T_A_this, 'h', code); createJavaFile(code, 120, 4); } public static void gen_AD_ad() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTest('g', 2, code); createTest('h', 2, code); createTestsStaticFields_A(code); createTestQualifier(T_A_this, 'c', code); createTestQualifier(T_A_this, 'd', code); createTestQualifier(T_A_this, 'g', code); createTestQualifier(T_A_this, 'h', code); createJavaFile(code, 145, 4); } public static void gen_A_a() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 1, code); createTest('c', 1, code); createTest('d', 1, code); createTest('f', 1, code); createTest('g', 1, code); createTest('h', 1, code); createTestThis('c', 1, code); createTestThis('d', 1, code); createTestThis('g', 1, code); createTestThis('h', 1, code); createTestsStaticFields_A(code); createTestQualifier(I_AB, 'c', code); createTestQualifier(I_AB, 'd', code); createTestQualifier(I_AB, 'e', code); createTestQualifier(I_AB, 'f', code); createTestQualifier(I_AB, 'i', code); createTestQualifier(I_AB, 'j', code); createJavaFile(code, 155, 3); } public static void gen_AE_ae() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTest('h', 2, code); createTestsStaticFields_A(code); createJavaFile(code, 179, 4); } public static void gen_AF_af() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTest('h', 2, code); createTestsStaticFields_A(code); createJavaFile(code, 203, 4); } public static void gen_A_aStatic() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 1, code); createTest('d', 1, code); createTest('f', 1, code); createTest('h', 1, code); createTestsStaticFields_A(code); createTestQualifier(I_AA, 'c', code); createTestQualifier(I_AA, 'd', code); createTestQualifier(I_AA, 'e', code); createTestQualifier(I_AA, 'f', code); createTestQualifier(I_AA, 'i', code); createTestQualifier(I_AA, 'j', code); createJavaFile(code, 214, 3); } public static void gen_BB_bb() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 2, code); createTest('b', 2, code); createTest('c', 2, code); createTest('d', 2, code); createTest('e', 2, code); createTest('f', 2, code); createTest('g', 2, code); createTest('h', 2, code); createTest('i', 2, code); createTest('j', 2, code); createTestThis('c', 2, code); createTestThis('d', 2, code); createTestThis('e', 2, code); createTestThis('f', 2, code); createTestThis('i', 2, code); createTestThis('j', 2, code); createTestsStaticFields_B(code); createTestQualifier(T_B_this, 'c', code); createTestQualifier(T_B_this, 'd', code); createTestQualifier(T_B_this, 'g', code); createTestQualifier(T_B_this, 'h', code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 252, 4); } public static void gen_BC_bc() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 2, code); createTest('b', 2, code); createTest('g', 2, code); createTest('h', 2, code); createTestsStaticFields_B(code); createTestQualifier(T_B_this, 'c', code); createTestQualifier(T_B_this, 'd', code); createTestQualifier(T_B_this, 'g', code); createTestQualifier(T_B_this, 'h', code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 279, 4); } public static void gen_BD_bd() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 2, code); createTest('b', 2, code); createTest('g', 2, code); createTest('h', 2, code); createTestsStaticFields_B(code); createTestQualifier(T_B_this, 'c', code); createTestQualifier(T_B_this, 'd', code); createTestQualifier(T_B_this, 'g', code); createTestQualifier(T_B_this, 'h', code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 304, 4); } public static void gen_B_b() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 1, code); createTest('b', 1, code); createTest('c', 1, code); createTest('d', 1, code); createTest('e', 1, code); createTest('f', 1, code); createTest('g', 1, code); createTest('h', 1, code); createTestThis('c', 1, code); createTestThis('d', 1, code); createTestThis('g', 1, code); createTestThis('h', 1, code); createTestsStaticFields_B(code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createTestQualifier(I_BB, 'c', code); createTestQualifier(I_BB, 'd', code); createTestQualifier(I_BB, 'e', code); createTestQualifier(I_BB, 'f', code); createTestQualifier(I_BB, 'i', code); createTestQualifier(I_BB, 'j', code); createJavaFile(code, 315, 3); } public static void gen_CB_cb() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 2, code); createTest('b', 2, code); createTestsStaticFields(code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 354, 4); } public static void gen_CC_cc() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 2, code); createTest('b', 2, code); createTestsStaticFields(code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 381, 4); } public static void gen_CD_cd() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 2, code); createTest('b', 2, code); createTestsStaticFields(code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 406, 4); } public static void gen_C_c() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 1, code); createTest('b', 1, code); createTest('e', 1, code); createTest('f', 1, code); createTestsStaticFields(code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 417, 3); } public static void gen_DB_db() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 2, code); createTest('b', 2, code); createTestsStaticFields(code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 455, 4); } public static void gen_DC_dc() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 2, code); createTest('b', 2, code); createTestsStaticFields(code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 481, 4); } public static void gen_DD_dd() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 2, code); createTest('b', 2, code); createTestsStaticFields(code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 506, 4); } public static void gen_D_d() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 1, code); createTest('b', 1, code); createTest('e', 1, code); createTest('f', 1, code); createTestsStaticFields(code); createTestQualifier(T_T_this, 'a', code); createTestQualifier(T_T_this, 'b', code); createTestQualifier(T_T_this, 'c', code); createTestQualifier(T_T_this, 'd', code); createTestQualifier(T_T_this, 'e', code); createTestQualifier(T_T_this, 'f', code); createJavaFile(code, 517, 3); } public static void gen_evalNestedTypeTest() throws Exception { StringBuffer code= new StringBuffer(); createTest('a', 0, code); createTest('b', 0, code); createTest('c', 0, code); createTest('d', 0, code); createTest('e', 0, code); createTest('f', 0, code); createTestThis('a', 0, code); createTestThis('b', 0, code); createTestThis('c', 0, code); createTestThis('d', 0, code); createTestThis('e', 0, code); createTestThis('f', 0, code); createTestsStaticFields(code); createTestQualifier(I_B, 'c', code); createTestQualifier(I_B, 'd', code); createTestQualifier(I_B, 'g', code); createTestQualifier(I_B, 'h', code); createTestQualifier(I_BB, 'c', code); createTestQualifier(I_BB, 'd', code); createTestQualifier(I_BB, 'e', code); createTestQualifier(I_BB, 'f', code); createTestQualifier(I_BB, 'i', code); createTestQualifier(I_BB, 'j', code); createJavaFile(code, 529, 2); } public static void gen_EB_eb() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTestsStaticFields(code); createJavaFile(code, 566, 4); } public static void gen_EC_ec() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTestsStaticFields(code); createJavaFile(code, 592, 4); } public static void gen_ED_ed() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTestsStaticFields(code); createJavaFile(code, 616, 4); } public static void gen_E_e() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 1, code); createTest('f', 1, code); createTestsStaticFields(code); createJavaFile(code, 626, 3); } public static void gen_FB_fb() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTestsStaticFields(code); createJavaFile(code, 664, 4); } public static void gen_FC_fc() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTestsStaticFields(code); createJavaFile(code, 690, 4); } public static void gen_FD_fd() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 2, code); createTestsStaticFields(code); createJavaFile(code, 714, 4); } public static void gen_F_f() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 1, code); createTest('f', 1, code); createTestsStaticFields(code); createJavaFile(code, 724, 3); } public static void gen_evalNestedTypeTestStatic() throws Exception { StringBuffer code= new StringBuffer(); createTest('b', 0, code); createTest('d', 0, code); createTest('f', 0, code); createTestsStaticFields(code); createTestQualifier(I_A, 'c', code); createTestQualifier(I_A, 'd', code); createTestQualifier(I_A, 'g', code); createTestQualifier(I_A, 'h', code); createTestQualifier(I_AA, 'c', code); createTestQualifier(I_AA, 'd', code); createTestQualifier(I_AA, 'e', code); createTestQualifier(I_AA, 'f', code); createTestQualifier(I_AA, 'i', code); createTestQualifier(I_AA, 'j', code); createTestQualifier(I_AB, 'c', code); createTestQualifier(I_AB, 'd', code); createTestQualifier(I_AB, 'e', code); createTestQualifier(I_AB, 'f', code); createTestQualifier(I_AB, 'i', code); createTestQualifier(I_AB, 'j', code); createJavaFile(code, 739, 2); } public static void gen_main() throws Exception { StringBuffer code= new StringBuffer(); createTestsStaticFields(code); createJavaFile(code, 745, 1); } // ------------------------------ public static void createTestsStaticFields(StringBuffer code) { createTestQualifier(T_T, 'b', code); createTestQualifier(T_T, 'd', code); createTestQualifier(T_T, 'f', code); createTestQualifier(T_T_A, 'd', code); createTestQualifier(T_T_A, 'h', code); createTestQualifier(T_A, 'd', code); createTestQualifier(T_A, 'h', code); createTestQualifier(T_T_A_AA, 'd', code); createTestQualifier(T_T_A_AA, 'f', code); createTestQualifier(T_T_A_AA, 'j', code); createTestQualifier(T_T_A_AB, 'd', code); createTestQualifier(T_T_A_AB, 'f', code); createTestQualifier(T_T_A_AB, 'j', code); createTestQualifier(T_A_AA, 'd', code); createTestQualifier(T_A_AA, 'f', code); createTestQualifier(T_A_AA, 'j', code); createTestQualifier(T_A_AB, 'd', code); createTestQualifier(T_A_AB, 'f', code); createTestQualifier(T_A_AB, 'j', code); createTestQualifier(T_T_B, 'd', code); createTestQualifier(T_T_B, 'h', code); createTestQualifier(T_B, 'd', code); createTestQualifier(T_B, 'h', code); createTestQualifier(T_T_B_BB, 'd', code); createTestQualifier(T_T_B_BB, 'f', code); createTestQualifier(T_T_B_BB, 'j', code); createTestQualifier(T_B_BB, 'd', code); createTestQualifier(T_B_BB, 'f', code); createTestQualifier(T_B_BB, 'j', code); } public static void createTestsStaticFields_A(StringBuffer code) { createTestsStaticFields(code); createTestQualifier(T_AA, 'd', code); createTestQualifier(T_AA, 'f', code); createTestQualifier(T_AA, 'j', code); createTestQualifier(T_AB, 'd', code); createTestQualifier(T_AB, 'f', code); createTestQualifier(T_AB, 'j', code); } public static void createTestsStaticFields_B(StringBuffer code) { createTestsStaticFields(code); createTestQualifier(T_BB, 'd', code); createTestQualifier(T_BB, 'f', code); createTestQualifier(T_BB, 'j', code); } // ------------------------------ public static void createTest(char variable, int level, StringBuffer code) { code.append("\tpublic void testEvalNestedTypeTest_" + variable + "() throws Throwable {\n"); tryBlockBegin(code); genCodeEval(IInternalDebugCoreConstants.EMPTY_STRING + variable + "Int", true, code); genCodeReturnTypeCheck(IInternalDebugCoreConstants.EMPTY_STRING + variable, "int", true, code); genCodeReturnValueCheckPrimitiveType(IInternalDebugCoreConstants.EMPTY_STRING + variable, "int", "Int", variable + "IntValue_" + level, true, code); code.append("\n"); genCodeEval(IInternalDebugCoreConstants.EMPTY_STRING + variable + "String", false, code); genCodeReturnTypeCheck(IInternalDebugCoreConstants.EMPTY_STRING + variable, "java.lang.String", false, code); genCodeReturnValueCheckStringType(IInternalDebugCoreConstants.EMPTY_STRING + variable, variable + "StringValue_" + level, true, code); tryBlockEnd(code); code.append("\t}\n\n"); } public static void createTestThis(char variable, int level, StringBuffer code) { code.append("\tpublic void testEvalNestedTypeTest_this_" + variable + "() throws Throwable {\n"); tryBlockBegin(code); genCodeEval("THIS + " + variable + "Int", true, code); genCodeReturnTypeCheck(IInternalDebugCoreConstants.EMPTY_STRING + variable, "int", true, code); genCodeReturnValueCheckPrimitiveType(IInternalDebugCoreConstants.EMPTY_STRING + variable, "int", "Int", variable + "IntValue_" + level, true, code); code.append("\n"); genCodeEval("THIS + " + variable + "String", false, code); genCodeReturnTypeCheck(IInternalDebugCoreConstants.EMPTY_STRING + variable, "java.lang.String", false, code); genCodeReturnValueCheckStringType(IInternalDebugCoreConstants.EMPTY_STRING + variable, variable + "StringValue_" + level, true, code); tryBlockEnd(code); code.append("\t}\n\n"); } public static void createTestQualifier(int qualifier, char variable, StringBuffer code) { String strQualifier= qualifiers[qualifier]; code.append("\tpublic void testEvalNestedTypeTest_" + strQualifier + "_" + variable + "() throws Throwable {\n"); tryBlockBegin(code); genCodeEval(strQualifier + " + " + variable + "Int", true, code); genCodeReturnTypeCheck(IInternalDebugCoreConstants.EMPTY_STRING + strQualifier + "_" + variable, "int", true, code); genCodeReturnValueCheckPrimitiveType(IInternalDebugCoreConstants.EMPTY_STRING + strQualifier + "_" + variable, "int", "Int", variable + "IntValue_" + qualifiersLevel[qualifier], true, code); code.append("\n"); genCodeEval(strQualifier + " + " + variable + "String", false, code); genCodeReturnTypeCheck(IInternalDebugCoreConstants.EMPTY_STRING + strQualifier + "_" + variable, "java.lang.String", false, code); genCodeReturnValueCheckStringType(IInternalDebugCoreConstants.EMPTY_STRING + strQualifier + "_" + variable, variable + "StringValue_" + qualifiersLevel[qualifier], true, code); tryBlockEnd(code); code.append("\t}\n\n"); } //--------------------- public static void createJavaFile(StringBuffer tests, int lineNumber, int numberFrames) throws Exception { StringBuffer code= new StringBuffer(); code.append("/*******************************************************************************\n"); code.append(" * Copyright (c) 2002, 2003 IBM Corporation and others.\n"); code.append(" * All rights reserved. This program and the accompanying materials \n"); code.append(" * are made available under the terms of the Eclipse Public License v1.0\n"); code.append(" * which accompanies this distribution, and is available at\n"); code.append(" * http://www.eclipse.org/legal/epl-v10.html\n"); code.append(" * \n"); code.append(" * Contributors:\n"); code.append(" * IBM Corporation - initial API and implementation\n"); code.append(" *******************************************************************************/\n"); code.append("package org.eclipse.jdt.debug.tests.eval;\n\n"); code.append("import org.eclipse.jdt.debug.core.IJavaPrimitiveValue;\n\n"); code.append("import org.eclipse.debug.core.model.IValue;\n"); code.append("import org.eclipse.jdt.internal.debug.core.model.JDIObjectValue;\n\n"); code.append("public class NestedTypeFieldValue_" + lineNumber + " extends Tests {\n"); code.append("\t/**\n"); code.append("\t * Constructor for NestedTypeFieldValue.\n"); code.append("\t * @param name\n"); code.append("\t */\n"); code.append("\tpublic NestedTypeFieldValue_" + lineNumber + "(String name) {\n"); code.append("\t\tsuper(name);\n"); code.append("\t}\n\n"); code.append("\tpublic void init() throws Exception {\n"); code.append("\t\tinitializeFrame(\"EvalNestedTypeTests\", " + lineNumber + ", " + numberFrames + ");\n"); code.append("\t}\n\n"); code.append("\tprotected void end() throws Exception {\n"); code.append("\t\tdestroyFrame();\n"); code.append("\t}\n\n"); code.append(tests.toString()); code.append("}\n"); try (Writer file = new FileWriter(new File("NestedTypeFieldValue_" + lineNumber + ".java").getAbsoluteFile())) { file.write(code.toString()); } } }