Class BytecodeGroovyClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
groovy.lang.GroovyClassLoader
org.jbehave.core.configuration.groovy.BytecodeGroovyClassLoader
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class BytecodeGroovyClassLoader
extends groovy.lang.GroovyClassLoader
Groovy does not cache the bytecode sequences for generated classes. BytecodeReadingParanamer needs these to get
paramater names from classes The Groovy compiler does create the debug tables, and they are the same as the ones made
for a native Java class, so this derived GroovyClassLoader fills in for the missing functionality from the base
GroovyClassLoader.
Groovy allows a mechanism via a system property to force the dump of bytecode to a (temp) directory, but caching the bytecode avoids having to clean up temp directories after the run.
-
Nested Class Summary
Nested classes/interfaces inherited from class groovy.lang.GroovyClassLoader
groovy.lang.GroovyClassLoader.ClassCollector, groovy.lang.GroovyClassLoader.InnerLoader
-
Field Summary
Fields inherited from class groovy.lang.GroovyClassLoader
classCache, sourceCache
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected groovy.lang.GroovyClassLoader.ClassCollector
createCollector
(org.codehaus.groovy.control.CompilationUnit unit, org.codehaus.groovy.control.SourceUnit su) getResourceAsStream
(String name) Methods inherited from class groovy.lang.GroovyClassLoader
addClasspath, addURL, clearCache, close, createCompilationUnit, defineClass, defineClass, generateScriptName, getClassCacheEntry, getClassPath, getLoadedClasses, getPermissions, getResourceLoader, getTimeStamp, hasCompatibleConfiguration, isRecompilable, isShouldRecompile, isSourceNewer, loadClass, loadClass, loadClass, loadClass, parseClass, parseClass, parseClass, parseClass, parseClass, parseClass, recompile, removeClassCacheEntry, setClassCacheEntry, setResourceLoader, setShouldRecompile
Methods inherited from class java.net.URLClassLoader
definePackage, findClass, findResource, findResources, getURLs, newInstance, newInstance
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Constructor Details
-
BytecodeGroovyClassLoader
public BytecodeGroovyClassLoader()
-
-
Method Details
-
getResourceAsStream
- Overrides:
getResourceAsStream
in classURLClassLoader
-
createCollector
protected groovy.lang.GroovyClassLoader.ClassCollector createCollector(org.codehaus.groovy.control.CompilationUnit unit, org.codehaus.groovy.control.SourceUnit su) - Overrides:
createCollector
in classgroovy.lang.GroovyClassLoader
-