/** * 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()); }
protected ClassVisitor createClassVisitor() { CompilerConfiguration config = getConfiguration(); int computeMaxStackAndFrames = ClassWriter.COMPUTE_MAXS; if (CompilerConfiguration.isPostJDK7(config.getTargetBytecode()) || Boolean.TRUE.equals(config.getOptimizationOptions().get("indy"))) { computeMaxStackAndFrames += ClassWriter.COMPUTE_FRAMES;
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); }
this.internalClassName = BytecodeHelper.getClassInternalName(classNode); bytecodeVersion = chooseBytecodeVersion(invokedynamic, config.getTargetBytecode());
setRecompileGroovySource(configuration.getRecompileGroovySource()); setMinimumRecompilationInterval(configuration.getMinimumRecompilationInterval()); setTargetBytecode(configuration.getTargetBytecode()); setDefaultScriptExtension(configuration.getDefaultScriptExtension()); setSourceEncoding(configuration.getSourceEncoding());
public void testSetViaSystemProperties() { System.setProperty("groovy.warnings", "PaRaNoiA"); System.setProperty("groovy.output.verbose", "trUE"); System.setProperty("groovy.recompile.minimumInterval", "867892345"); assertEquals("PaRaNoiA", System.getProperty("groovy.warnings")); final CompilerConfiguration config = new CompilerConfiguration(System.getProperties()); assertEquals(WarningMessage.PARANOIA, config.getWarningLevel()); assertEquals(false, config.getDebug()); assertEquals(true, config.getVerbose()); assertEquals(10, config.getTolerance()); assertEquals(867892345, config.getMinimumRecompilationInterval()); assertNull(config.getScriptBaseClass()); assertEquals(getSystemEncoding(), config.getSourceEncoding()); assertEquals(getVMVersion(), config.getTargetBytecode()); assertEquals(false, config.getRecompileGroovySource()); { final List listCP = config.getClasspath(); assertNotNull(listCP); assertEquals(0, listCP.size()); } assertNotNull(config.getOutput()); assertNull(config.getTargetDirectory()); assertEquals(".groovy", config.getDefaultScriptExtension()); assertNull(config.getJointCompilationOptions()); assertNotNull(config.getPluginFactory()); }
public void testDefaultConstructor() { final CompilerConfiguration config = CompilerConfiguration.DEFAULT; assertEquals(WarningMessage.LIKELY_ERRORS, config.getWarningLevel()); assertEquals(Boolean.getBoolean("groovy.output.debug"), config.getDebug()); assertEquals(Boolean.getBoolean("groovy.output.verbose"), config.getVerbose()); assertEquals(false, config.getDebug()); assertEquals(false, config.getVerbose()); assertEquals(10, config.getTolerance()); assertEquals(100, config.getMinimumRecompilationInterval()); assertNull(config.getScriptBaseClass()); assertEquals(getSystemEncoding(), config.getSourceEncoding()); assertEquals(getVMVersion(), config.getTargetBytecode()); assertEquals(false, config.getRecompileGroovySource()); { final List listCP = config.getClasspath(); assertNotNull(listCP); assertEquals(0, listCP.size()); } assertNotNull(config.getOutput()); assertNull(config.getTargetDirectory()); assertEquals(".groovy", config.getDefaultScriptExtension()); assertNull(config.getJointCompilationOptions()); assertNotNull(config.getPluginFactory()); }
assertEquals("blarg.foo.WhatSit", init.getScriptBaseClass()); assertEquals("LEAD-123", init.getSourceEncoding()); assertEquals(CompilerConfiguration.POST_JDK5, init.getTargetBytecode()); assertEquals(true, init.getRecompileGroovySource()); assertEquals("blarg.foo.WhatSit", config.getScriptBaseClass()); assertEquals("LEAD-123", config.getSourceEncoding()); assertEquals(CompilerConfiguration.POST_JDK5, config.getTargetBytecode()); assertEquals(true, config.getRecompileGroovySource());
assertEquals("", init.getScriptBaseClass()); assertEquals("Gutenberg", init.getSourceEncoding()); assertEquals(CompilerConfiguration.PRE_JDK5, init.getTargetBytecode()); assertEquals(false, init.getRecompileGroovySource()); assertEquals("", config.getScriptBaseClass()); assertEquals("Gutenberg", config.getSourceEncoding()); assertEquals(CompilerConfiguration.PRE_JDK5, config.getTargetBytecode()); assertEquals(false, config.getRecompileGroovySource());
/** * Check if the current runtime allows Annotation usage. * * @return true if running on a 1.5+ runtime */ protected boolean isAnnotationCompatible() { return CompilerConfiguration.POST_JDK5.equals(this.source.getConfiguration().getTargetBytecode()); }
/** * Check if the current runtime allows Annotation usage. */ protected boolean isAnnotationCompatible() { return CompilerConfiguration.POST_JDK5.equals(this.source.getConfiguration().getTargetBytecode()); }
/** * Check if the current runtime allows Annotation usage. */ protected boolean isAnnotationCompatible() { return CompilerConfiguration.POST_JDK5.equals(this.source.getConfiguration().getTargetBytecode()); }
/** * Check if the current runtime allows Annotation usage. */ protected boolean isAnnotationCompatible() { return CompilerConfiguration.POST_JDK5.equals(this.source.getConfiguration().getTargetBytecode()); }
public StubGeneratorOperation(final File outputDirectory) { outputDirectory.mkdirs(); boolean java5 = false; String target = JavaStubCompilationUnit.this.getConfiguration().getTargetBytecode(); // Enable java5 mode if the configuration lets us if (target != null && target.trim().equals("1.5")) { java5 = true; } generator = new JavaStubGenerator(outputDirectory, true, java5); }
public StubGeneratorOperation(final File outputDirectory) { outputDirectory.mkdirs(); boolean java5 = false; String target = JavaStubCompilationUnit.this.getConfiguration().getTargetBytecode(); // Enable java5 mode if the configuration lets us if (target != null && target.trim().equals("1.5")) { java5 = true; } generator = new JavaStubGenerator(outputDirectory, true, java5); }
public StubGeneratorOperation(final File outputDirectory) { outputDirectory.mkdirs(); boolean java5 = false; String target = JavaStubCompilationUnit.this.getConfiguration().getTargetBytecode(); // Enable java5 mode if the configuration lets us if (target != null && target.trim().equals("1.5")) { java5 = true; } generator = new JavaStubGenerator(outputDirectory, true, java5); }
protected int getBytecodeVersion() { if (!classNode.isUsingGenerics() && !classNode.isAnnotated()) { return Opcodes.V1_3; } final String target = getCompileUnit().getConfig().getTargetBytecode(); return CompilerConfiguration.POST_JDK5.equals(target) ? Opcodes.V1_5 : Opcodes.V1_3; }
protected int getBytecodeVersion() { if ( !classNode.isUsingGenerics() && !classNode.isAnnotated() && !classNode.isAnnotationDefinition() ) { return Opcodes.V1_3; } final String target = getCompileUnit().getConfig().getTargetBytecode(); return CompilerConfiguration.POST_JDK5.equals(target) ? Opcodes.V1_5 : Opcodes.V1_3; }
protected int getBytecodeVersion() { if ( !classNode.isUsingGenerics() && !classNode.isAnnotated() && !classNode.isAnnotationDefinition() ) { return Opcodes.V1_3; } final String target = getCompileUnit().getConfig().getTargetBytecode(); return CompilerConfiguration.POST_JDK5.equals(target) ? Opcodes.V1_5 : Opcodes.V1_3; }