Package org.codehaus.janino
Class Compiler
- java.lang.Object
-
- org.codehaus.commons.compiler.AbstractCompiler
-
- org.codehaus.janino.Compiler
-
- All Implemented Interfaces:
ICompiler
public class Compiler extends AbstractCompiler
JANINO implementation ofICompiler
.
-
-
Field Summary
Fields Modifier and Type Field Description static StringPattern[]
DEFAULT_WARNING_HANDLE_PATTERNS
The default value for the warningHandlerPatterns parameter ofCompiler(File[], File[], File[], File[], File, String, boolean, boolean, boolean, boolean, StringPattern[], boolean)
.-
Fields inherited from class org.codehaus.commons.compiler.AbstractCompiler
bootClassPath, classFileCreator, classFileFinder, classPath, compileErrorHandler, debugLines, debugSource, debugVars, extensionDirectories, sourceCharset, sourceFinder, sourceVersion, targetVersion, warningHandler
-
Fields inherited from interface org.codehaus.commons.compiler.ICompiler
CREATE_NEXT_TO_SOURCE_FILE, FIND_NEXT_TO_SOURCE_FILE, NO_DESTINATION_DIRECTORY
-
-
Constructor Summary
Constructors Constructor Description Compiler()
Initializes a new compiler.Compiler(java.io.File[] sourcePath, java.io.File[] classPath, java.io.File[] extDirs, java.io.File[] bootClassPath, java.io.File destinationDirectory, java.lang.String characterEncoding, boolean verbose, boolean debugSource, boolean debugLines, boolean debugVars, StringPattern[] warningHandlePatterns, boolean rebuild)
Deprecated.UseCompiler()
and the various configuration setters insteadCompiler(ResourceFinder sourceFinder, IClassLoader parentIClassLoader)
Deprecated.UseCompiler()
and the various configuration setters instead
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
compile(Resource[] sourceResources)
static java.io.File
getClassFile(java.lang.String className, java.io.File sourceFile, java.io.File destinationDirectory)
Constructs the name of a file that could store the byte code of the class with the given name.java.util.EnumSet<JaninoOption>
options()
Compiler
options(java.util.EnumSet<JaninoOption> options)
Sets the options for all future compilations.void
setIClassLoader(IClassLoader iClassLoader)
Explicitly sets theIClassLoader
that will be used to load "auxiliary classes".void
setVerbose(boolean verbose)
Equivalent of-verbose
.void
storeClassFile(ClassFile classFile, java.io.File sourceFile)
Stores the byte code of thisClassFile
in the file system.-
Methods inherited from class org.codehaus.commons.compiler.AbstractCompiler
compile, setBootClassPath, setCharacterEncoding, setClassFileCreator, setClassFileFinder, setClassFileFinder, setClassPath, setCompileErrorHandler, setDebugLines, setDebugSource, setDebugVars, setDestinationDirectory, setEncoding, setExtensionDirectories, setSourceCharset, setSourceFinder, setSourcePath, setSourceVersion, setTargetVersion, setWarningHandler
-
-
-
-
Field Detail
-
DEFAULT_WARNING_HANDLE_PATTERNS
public static final StringPattern[] DEFAULT_WARNING_HANDLE_PATTERNS
The default value for the warningHandlerPatterns parameter ofCompiler(File[], File[], File[], File[], File, String, boolean, boolean, boolean, boolean, StringPattern[], boolean)
.
-
-
Constructor Detail
-
Compiler
public Compiler()
Initializes a new compiler.
-
Compiler
@Deprecated public Compiler(ResourceFinder sourceFinder, IClassLoader parentIClassLoader)
Deprecated.UseCompiler()
and the various configuration setters instead
-
Compiler
@Deprecated public Compiler(java.io.File[] sourcePath, java.io.File[] classPath, @Nullable java.io.File[] extDirs, @Nullable java.io.File[] bootClassPath, @Nullable java.io.File destinationDirectory, @Nullable java.lang.String characterEncoding, boolean verbose, boolean debugSource, boolean debugLines, boolean debugVars, StringPattern[] warningHandlePatterns, boolean rebuild)
Deprecated.UseCompiler()
and the various configuration setters instead
-
-
Method Detail
-
options
public java.util.EnumSet<JaninoOption> options()
- Returns:
- A reference to the currently effective compilation options; changes to it take effect immediately
-
options
public Compiler options(java.util.EnumSet<JaninoOption> options)
Sets the options for all future compilations.
-
compile
public void compile(Resource[] sourceResources) throws CompileException, java.io.IOException
Description copied from interface:ICompiler
- Parameters:
sourceResources
- Contain the compilation units to compile- Throws:
CompileException
java.io.IOException
-
getClassFile
public static java.io.File getClassFile(java.lang.String className, java.io.File sourceFile, @Nullable java.io.File destinationDirectory)
Constructs the name of a file that could store the byte code of the class with the given name.If destinationDirectory is non-
null
, the returned path is the destinationDirectory plus the package of the class (with dots replaced with file separators) plus the class name plus ".class". Example: "destdir/pkg1/pkg2/Outer$Inner.class"If destinationDirectory is null, the returned path is the directory of the sourceFile plus the class name plus ".class". Example: "srcdir/Outer$Inner.class"
- Parameters:
className
- E.g."pkg1.pkg2.Outer$Inner"
sourceFile
- E.g."srcdir/Outer.java"
destinationDirectory
- E.g."destdir"
-
storeClassFile
public void storeClassFile(ClassFile classFile, java.io.File sourceFile) throws java.io.IOException
Stores the byte code of thisClassFile
in the file system. Directories are created as necessary.- Parameters:
classFile
-sourceFile
- Required to compute class file path if no destination directory given- Throws:
java.io.IOException
-
setIClassLoader
public void setIClassLoader(IClassLoader iClassLoader)
Explicitly sets theIClassLoader
that will be used to load "auxiliary classes". If this method is used, thenAbstractCompiler.setBootClassPath(File[])
,AbstractCompiler.setExtensionDirectories(File[])
andAbstractCompiler.setClassPath(File[])
have no more effect.
-
setVerbose
public void setVerbose(boolean verbose)
Description copied from interface:ICompiler
Equivalent of-verbose
.
-
-