Package org.mozilla.javascript.optimizer
Class ClassCompiler
java.lang.Object
org.mozilla.javascript.optimizer.ClassCompiler
Generates class files from script sources.
since 1.5 Release 5
-
Constructor Summary
ConstructorsConstructorDescriptionClassCompiler
(CompilerEnvirons compilerEnv) Construct ClassCompiler that uses the specified compiler environment when generating classes. -
Method Summary
Modifier and TypeMethodDescriptionObject[]
compileToClassFiles
(String source, String sourceLocation, int lineno, String mainClassName) Compile JavaScript source into one or more Java class files.Get the compiler environment the compiler uses.Get the name of the class for main method implementation.Class
<?> Get the class that the generated target will extend.Class<?>[]
Get the interfaces that the generated target will implement.void
setMainMethodClass
(String className) Set the class name to use for main method implementation.void
setTargetExtends
(Class<?> extendsClass) Set the class that the generated target will extend.void
setTargetImplements
(Class<?>[] implementsClasses) Set the interfaces that the generated target will implement.
-
Constructor Details
-
ClassCompiler
Construct ClassCompiler that uses the specified compiler environment when generating classes.
-
-
Method Details
-
setMainMethodClass
Set the class name to use for main method implementation. The class must have a method matching public static void main(Script sc, String[] args), it will be called when main(String[] args) is called in the generated class. The class name should be fully qulified name and include the package name like in org.foo.Bar. -
getMainMethodClass
Get the name of the class for main method implementation.- See Also:
-
getCompilerEnv
Get the compiler environment the compiler uses. -
getTargetExtends
Get the class that the generated target will extend. -
setTargetExtends
Set the class that the generated target will extend.- Parameters:
extendsClass
- the class it extends
-
getTargetImplements
Get the interfaces that the generated target will implement. -
setTargetImplements
Set the interfaces that the generated target will implement.- Parameters:
implementsClasses
- an array of Class objects, one for each interface the target will extend
-
compileToClassFiles
public Object[] compileToClassFiles(String source, String sourceLocation, int lineno, String mainClassName) Compile JavaScript source into one or more Java class files. The first compiled class will have name mainClassName. If the results ofgetTargetExtends()
orgetTargetImplements()
are not null, then the first compiled class will extend the specified super class and implement specified interfaces.- Returns:
- array where elements with even indexes specifies class name and the following odd index gives class file body as byte[] array. The initial element of the array always holds mainClassName and array[1] holds its byte code.
-