public boolean compile(List sources, List options, StringWriter log) { if (IJ.debugMode) IJ.log("Compiler: using com.sun.tools.javac"); try { final String[] args = new String[sources.size() + options.size()]; int argsIndex = 0; for (int optionsIndex = 0; optionsIndex < options.size(); optionsIndex++) args[argsIndex++] = (String) options.get(optionsIndex); for (int sourcesIndex = 0; sourcesIndex < sources.size(); sourcesIndex++) args[argsIndex++] = (String) sources.get(sourcesIndex); PrintWriter printer = new PrintWriter(log); Object javac = getJavac(); Class[] compileTypes = new Class[] { String[].class, PrintWriter.class }; Method compile = javacC.getMethod("compile", compileTypes); Object result = compile.invoke(javac, new Object[] { args, printer }); printer.flush(); return Integer.valueOf(0).equals(result); } catch (Exception e) { e.printStackTrace(new PrintWriter(log)); } return false; }
public boolean compile(List sources, List options, StringWriter log) { if (IJ.debugMode) IJ.log("Compiler: using com.sun.tools.javac"); try { final String[] args = new String[sources.size() + options.size()]; int argsIndex = 0; for (int optionsIndex = 0; optionsIndex < options.size(); optionsIndex++) args[argsIndex++] = (String) options.get(optionsIndex); for (int sourcesIndex = 0; sourcesIndex < sources.size(); sourcesIndex++) args[argsIndex++] = (String) sources.get(sourcesIndex); PrintWriter printer = new PrintWriter(log); Object javac = getJavac(); Class[] compileTypes = new Class[] { String[].class, PrintWriter.class }; Method compile = javacC.getMethod("compile", compileTypes); Object result = compile.invoke(javac, new Object[] { args, printer }); printer.flush(); return Integer.valueOf(0).equals(result); } catch (Exception e) { e.printStackTrace(new PrintWriter(log)); } return false; }
public static CompilerTool getDefault() { CompilerTool javax = new JavaxCompilerTool(); if (javax.isSupported()) return javax; CompilerTool legacy = new LegacyCompilerTool(); if (legacy.isSupported()) return legacy; return null; }
public static CompilerTool getDefault() { CompilerTool javax = new JavaxCompilerTool(); if (javax.isSupported()) return javax; CompilerTool legacy = new LegacyCompilerTool(); if (legacy.isSupported()) return legacy; return null; }