| java.lang.Object org.codehaus.janino.Compiler
Compiler | public class Compiler (Code) | | A simplified substitute for the javac tool.
Usage:
java org.codehaus.janino.Compiler \
[ -d destination-dir ] \
[ -sourcepath dirlist ] \
[ -classpath dirlist ] \
[ -extdirs dirlist ] \
[ -bootclasspath dirlist ] \
[ -encoding encoding ] \
[ -verbose ] \
[ -g:none ] \
[ -g:{lines,vars,source} ] \
[ -warn:pattern-list ] \
source-file ...
java org.codehaus.janino.Compiler -help
|
Inner Class :static class SimpleWarningHandler implements WarningHandler | |
Constructor Summary | |
public | Compiler(File[] optionalSourcePath, File[] classPath, File[] optionalExtDirs, File[] optionalBootClassPath, File destinationDirectory, String optionalCharacterEncoding, boolean verbose, EnumeratorSet debuggingInformation, StringPattern[] warningHandlePatterns, boolean rebuild) Initialize a JavaTM compiler with the given parameters. | public | Compiler(ResourceFinder sourceFinder, IClassLoader iClassLoader, ResourceFinder classFileFinder, ResourceCreator classFileCreator, String optionalCharacterEncoding, boolean verbose, EnumeratorSet debuggingInformation, WarningHandler optionalWarningHandler) To mimic the behavior of JAVAC with a missing "-d" command line option,
pass
Compiler.FIND_NEXT_TO_SOURCE_FILE as the classFileResourceFinder and
Compiler.CREATE_NEXT_TO_SOURCE_FILE as the classFileResourceCreator .
If it is impossible to check whether an already-compiled class file
exists, or if you want to enforce recompilation, pass
ResourceFinder.EMPTY_RESOURCE_FINDER as the
classFileResourceFinder .
Parameters: sourceFinder - Finds extra Java compilation units that need to be compiled (a.k.a. |
DEFAULT_WARNING_HANDLE_PATTERNS | final public static StringPattern[] DEFAULT_WARNING_HANDLE_PATTERNS(Code) | | |
NO_DESTINATION_DIRECTORY | final public static File NO_DESTINATION_DIRECTORY(Code) | | |
Compiler | public Compiler(File[] optionalSourcePath, File[] classPath, File[] optionalExtDirs, File[] optionalBootClassPath, File destinationDirectory, String optionalCharacterEncoding, boolean verbose, EnumeratorSet debuggingInformation, StringPattern[] warningHandlePatterns, boolean rebuild)(Code) | | Initialize a JavaTM compiler with the given parameters.
Classes are searched in the following order:
- If
optionalBootClassPath is null :
- Through the system class loader of the JVM that runs JANINO
- If
optionalBootClassPath is not null :
- Through the
optionalBootClassPath
- If
optionalExtDirs is not null :
- Through the
optionalExtDirs
- Through the
classPath
- If
optionalSourcePath is null :
- Through source files found on the
classPath
- If
optionalSourcePath is not null :
- Through source files found on the
sourcePath
The file name of a class file that represents class "pkg.Example"
is determined as follows:
See Also: Compiler.DEFAULT_WARNING_HANDLE_PATTERNS |
Compiler | public Compiler(ResourceFinder sourceFinder, IClassLoader iClassLoader, ResourceFinder classFileFinder, ResourceCreator classFileCreator, String optionalCharacterEncoding, boolean verbose, EnumeratorSet debuggingInformation, WarningHandler optionalWarningHandler)(Code) | | To mimic the behavior of JAVAC with a missing "-d" command line option,
pass
Compiler.FIND_NEXT_TO_SOURCE_FILE as the classFileResourceFinder and
Compiler.CREATE_NEXT_TO_SOURCE_FILE as the classFileResourceCreator .
If it is impossible to check whether an already-compiled class file
exists, or if you want to enforce recompilation, pass
ResourceFinder.EMPTY_RESOURCE_FINDER as the
classFileResourceFinder .
Parameters: sourceFinder - Finds extra Java compilation units that need to be compiled (a.k.a. "sourcepath") Parameters: iClassLoader - loads auxiliary IClasses; e.g. new ClassLoaderIClassLoader(ClassLoader) Parameters: classFileFinder - Where to look for up-to-date class files that need not be compiled Parameters: classFileCreator - Used to store generated class files Parameters: optionalCharacterEncoding - Parameters: verbose - Parameters: debuggingInformation - a combination of Java.DEBUGGING_... Parameters: optionalWarningHandler - used to issue warnings |
compile | public boolean compile(File[] sourceFiles) throws Scanner.ScanException, Parser.ParseException, CompileException, IOException(Code) | | Reads a set of JavaTM compilation units (a.k.a. "source
files") from the file system, compiles them into a set of "class
files" and stores these in the file system. Additional source files are
parsed and compiled on demand through the "source path" set of
directories.
For example, if the source path comprises the directories "A/B" and "../C",
then the source file for class "com.acme.Main" is searched in
- A/B/com/acme/Main.java
- ../C/com/acme/Main.java
Notice that it does make a difference whether you pass multiple source
files to
Compiler.compile(File[]) or if you invoke
Compiler.compile(File[]) multiply: In the former case, the source
files may contain arbitrary references among each other (even circular
ones). In the latter case, only the source files on the source path
may contain circular references, not the sourceFiles .
This method must be called exactly once after object construction.
Compile errors are reported as described at
Compiler.setCompileErrorHandler(UnitCompiler.ErrorHandler) .
Parameters: sourceFiles - Contain the compilation units to compile true for backwards compatibility (return value can safely be ignored) |
createJavacLikePathIClassLoader | static IClassLoader createJavacLikePathIClassLoader(File[] optionalBootClassPath, File[] optionalExtDirs, File[] classPath)(Code) | | Create an
IClassLoader that looks for classes in the given "boot class
path", then in the given "extension directories", and then in the given
"class path".
The default for the optionalBootClassPath is the path defined in
the system property "sun.boot.class.path", and the default for the
optionalExtensionDirs is the path defined in the "java.ext.dirs"
system property.
|
getClassFile | public static File getClassFile(String className, File sourceFile, File optionalDestinationDirectory)(Code) | | Construct the name of a file that could store the byte code of the class with the given
name.
If optionalDestinationDirectory is non-null, the returned path is the
optionalDestinationDirectory 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 optionalDestinationDirectory 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" Parameters: sourceFile - E.g. "srcdir/Outer.java" Parameters: optionalDestinationDirectory - E.g. "destdir" |
main | public static void main(String[] args)(Code) | | Command line interface.
|
|
|