public JavaOutputProcessor createOutputWriter() { /* * create without printer, because Launcher is not initialized yet * so we cannot setup correct printer validators at this time * The printer is created lazily using Environment */ JavaOutputProcessor outputProcessor = new JavaOutputProcessor(); outputProcessor.setFactory(this.getFactory()); return outputProcessor; }
/** * Creates a source file for each processed top-level type and pretty prints * its contents. */ @Override public void process(CtNamedElement nameElement) { if (nameElement instanceof CtType && ((CtType) nameElement).isTopLevel()) { createJavaFile((CtType<?>) nameElement); } else if (nameElement instanceof CtPackage) { createPackageFile((CtPackage) nameElement); } else if (nameElement instanceof CtModule) { createModuleFile((CtModule) nameElement); } }
private void createModuleFile(CtModule module) { if (getEnvironment().getComplianceLevel() > 8 && module != getFactory().getModel().getUnnamedModule()) { File moduleFile = getElementPath(module).toFile(); if (!printedFiles.contains(moduleFile)) { printedFiles.add(moduleFile); } try (PrintStream stream = new PrintStream(moduleFile)) { stream.println(getPrinter().printModuleInfo(module)); } catch (FileNotFoundException e) { Launcher.LOGGER.error(e.getMessage(), e); } } }
private Path getElementPath(CtModule type) { return createFolders(getEnvironment().getOutputDestinationHandler() .getOutputPath(type, null, null)); }
private int printUntilGoalIsReached(File currentOutput, int indexTestClass, int numberOfTestMethodGoal, List<CtType<?>> testClasses, Factory factory) { for (; indexTestClass < testClasses.size(); indexTestClass++) { Environment env = factory.getEnvironment(); env.setAutoImports(true); env.setNoClasspath(true); env.setCommentEnabled(true); JavaOutputProcessor processor = new JavaOutputProcessor(new DefaultJavaPrettyPrinter(env)); processor.setFactory(factory); processor.getEnvironment().setSourceOutputDirectory(currentOutput); processor.createJavaFile(testClasses.get(indexTestClass)); env.setAutoImports(false); numberOfTestMethodGoal -= testClasses.get(indexTestClass).getMethods().size(); if (numberOfTestMethodGoal <= 0) { return indexTestClass; } } return -1; }
public JavaOutputProcessor createOutputWriter(File sourceOutputDir, Environment environment) { return new JavaOutputProcessor(sourceOutputDir, createPrettyPrinter()); }
@Override public File getOutputDirectory() { return this.getEnvironment().getSourceOutputDirectory(); }
/** * Creates a source file for each processed top-level type and pretty prints * its contents. */ public void process(CtType<?> type) { if (type.isTopLevel()) { createJavaFile(type); } printer.reset(); }
public static void printCtTypeToGivenDirectory(CtType<?> type, File directory, boolean autoImports) { Factory factory = type.getFactory(); Environment env = factory.getEnvironment(); env.setAutoImports(autoImports); env.setNoClasspath(true); env.setCommentEnabled(InputConfiguration.get().withComment()); JavaOutputProcessor processor = new JavaOutputProcessor(new DefaultJavaPrettyPrinter(env)); processor.setFactory(factory); processor.getEnvironment().setSourceOutputDirectory(directory); processor.createJavaFile(type); env.setAutoImports(false); }
private Path getElementPath(CtPackage type) { return createFolders(getEnvironment().getOutputDestinationHandler() .getOutputPath(type.getDeclaringModule(), type, null)); }
getEnvironment().debugMessage("printing " + element.getQualifiedName() + " to " + directory);
public void generateOutputFile(File destinationFolder) { Environment env = factory.getEnvironment(); env.setSourceOutputDirectory(destinationFolder); JavaOutputProcessor javaOutputProcessor = new JavaOutputProcessor(prettyPrinter); javaOutputProcessor.setFactory(factory); Processor<?> writer = javaOutputProcessor; process(writer); }
Path typePath = getElementPath(element); CompilationUnit cu = this.getFactory().CompilationUnit().getOrCreate(element); List<CtType<?>> toBePrinted = new ArrayList<>(); toBePrinted.add(element); PrettyPrinter printer = getPrinter(); printer.calculate(cu, toBePrinted); Launcher.LOGGER.error(e.getMessage(), e); if (getEnvironment().getSpoonProgress() != null) { getEnvironment().getSpoonProgress().step(SpoonProgress.Process.PRINT, element.getQualifiedName());
private Path getElementPath(CtType type) { return createFolders(getEnvironment().getOutputDestinationHandler() .getOutputPath(type.getPackage().getDeclaringModule(), type.getPackage(), type)); }
public void updateOutput(String output) { getEnvironment().setSourceOutputDirectory(new File(output)); JavaOutputProcessor fileOutput = new JavaOutputProcessor(new DefaultJavaPrettyPrinter(getEnvironment())); fileOutput.setFactory(getFactory()); this.javaPrinter = fileOutput; }