public JavaSource( VarargsMethod m1, VarargsMethod m2, TypeKind actual, ArgumentsArity argsArity) { super(URI.create("myfo:/Test.java"), JavaFileObject.Kind.SOURCE); source = source_template .replaceAll("#V1", m1.toString()) .replaceAll("#V2", m2.toString()) .replaceAll("#E", argsArity.asExpressionList(actual)); }
void test() throws Exception { for (TypeKind formal1 : TypeKind.values()) { VarargsMethod m1 = new VarargsMethod(formal1); for (TypeKind formal2 : TypeKind.values()) { VarargsMethod m2 = new VarargsMethod(formal2); for (TypeKind actual : TypeKind.values()) { for (ArgumentsArity argsArity : ArgumentsArity.values()) { compileAndCheck(m1, m2, actual, argsArity); } } } } System.out.println("Total checks made: " + checkCount); System.out.println("Bytecode checks made: " + bytecodeCheckCount); }