test/tools/javac/varargs/6199075/T6199075.java

changeset 892
3e30c95da3c6
parent 787
b1c98bfd4709
child 962
0ff2bbd38f10
equal deleted inserted replaced
891:4b0491db73af 892:3e30c95da3c6
35 import com.sun.tools.classfile.Attribute; 35 import com.sun.tools.classfile.Attribute;
36 import com.sun.tools.classfile.ClassFile; 36 import com.sun.tools.classfile.ClassFile;
37 import com.sun.tools.classfile.Code_attribute; 37 import com.sun.tools.classfile.Code_attribute;
38 import com.sun.tools.classfile.ConstantPool.*; 38 import com.sun.tools.classfile.ConstantPool.*;
39 import com.sun.tools.classfile.Method; 39 import com.sun.tools.classfile.Method;
40 import com.sun.tools.javac.api.JavacTool;
40 import com.sun.tools.javac.util.List; 41 import com.sun.tools.javac.util.List;
41 42
42 import java.io.File; 43 import java.io.File;
43 import java.net.URI; 44 import java.net.URI;
44 import java.util.Arrays; 45 import java.util.Arrays;
45 import java.util.Locale; 46 import java.util.Locale;
46 import javax.tools.Diagnostic; 47 import javax.tools.Diagnostic;
47 import javax.tools.JavaCompiler; 48 import javax.tools.JavaCompiler;
48 import javax.tools.JavaFileObject; 49 import javax.tools.JavaFileObject;
49 import javax.tools.SimpleJavaFileObject; 50 import javax.tools.SimpleJavaFileObject;
51 import javax.tools.StandardJavaFileManager;
50 import javax.tools.ToolProvider; 52 import javax.tools.ToolProvider;
51 53
52 public class T6199075 { 54 public class T6199075 {
53 55
54 int checkCount = 0; 56 int checkCount = 0;
155 157
156 System.out.println("Total checks made: " + checkCount); 158 System.out.println("Total checks made: " + checkCount);
157 System.out.println("Bytecode checks made: " + bytecodeCheckCount); 159 System.out.println("Bytecode checks made: " + bytecodeCheckCount);
158 } 160 }
159 161
162 // Create a single file manager and reuse it for each compile to save time.
163 StandardJavaFileManager fm = JavacTool.create().getStandardFileManager(null, null, null);
164
160 void compileAndCheck(VarargsMethod m1, VarargsMethod m2, TypeKind actual, ArgumentsArity argsArity) throws Exception { 165 void compileAndCheck(VarargsMethod m1, VarargsMethod m2, TypeKind actual, ArgumentsArity argsArity) throws Exception {
161 final JavaCompiler tool = ToolProvider.getSystemJavaCompiler(); 166 final JavaCompiler tool = ToolProvider.getSystemJavaCompiler();
162 JavaSource source = new JavaSource(m1, m2, actual, argsArity); 167 JavaSource source = new JavaSource(m1, m2, actual, argsArity);
163 ErrorChecker ec = new ErrorChecker(); 168 ErrorChecker ec = new ErrorChecker();
164 JavacTask ct = (JavacTask)tool.getTask(null, null, ec, 169 JavacTask ct = (JavacTask)tool.getTask(null, fm, ec,
165 null, null, Arrays.asList(source)); 170 null, null, Arrays.asList(source));
166 ct.generate(); 171 ct.generate();
167 check(source, ec, m1, m2, actual, argsArity); 172 check(source, ec, m1, m2, actual, argsArity);
168 } 173 }
169 174

mercurial