/** * Check if the current runtime allows Annotation usage. * * @return true if running on a 1.5+ runtime */ protected boolean isAnnotationCompatible() { return CompilerConfiguration.isPostJDK5(this.source.getConfiguration().getTargetBytecode()); }
Map options = configuration.getJointCompilationOptions(); generationGoal = (File) options.get("stubDir"); boolean useJava5 = CompilerConfiguration.isPostJDK5(configuration.getTargetBytecode()); String encoding = configuration.getSourceEncoding(); stubGenerator = new JavaStubGenerator(generationGoal, false, useJava5, encoding);
public JavaStubCompilationUnit(final CompilerConfiguration config, final GroovyClassLoader gcl, File destDir) { super(config, null, gcl); assert config != null; Map options = config.getJointCompilationOptions(); if (destDir == null) { destDir = (File) options.get("stubDir"); } boolean useJava5 = CompilerConfiguration.isPostJDK5(configuration.getTargetBytecode()); String encoding = configuration.getSourceEncoding(); stubGenerator = new JavaStubGenerator(destDir, false, useJava5, encoding); addPhaseOperation(new PrimaryClassNodeOperation() { @Override public void call(SourceUnit source, GeneratorContext context, ClassNode node) throws CompilationFailedException { VariableScopeVisitor scopeVisitor = new VariableScopeVisitor(source); scopeVisitor.visitClass(node); new JavaAwareResolveVisitor(JavaStubCompilationUnit.this).startResolving(node, source); } }, Phases.CONVERSION); addPhaseOperation(new PrimaryClassNodeOperation() { @Override public void call(final SourceUnit source, final GeneratorContext context, final ClassNode node) throws CompilationFailedException { try { stubGenerator.generateClass(node); stubCount++; } catch (FileNotFoundException e) { source.addException(e); } } }, Phases.CONVERSION); }