public class OnTheFlyJavaCompiler
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
OnTheFlyJavaCompiler.ClassPathAssembler |
static class |
OnTheFlyJavaCompiler.EclipseRuntimeDependentJavaCompiler |
static class |
OnTheFlyJavaCompiler.PatchedFileSystem |
Constructor and Description |
---|
OnTheFlyJavaCompiler() |
Modifier and Type | Method and Description |
---|---|
void |
addClassPath(java.lang.String classpath) |
void |
addClassPathOfClass(java.lang.Class<?> clazz) |
protected void |
cleanUpTmpFolder(java.io.File tempDir) |
void |
clearClassPath() |
protected boolean |
compile(java.lang.String arguments) |
java.lang.Class<?> |
compileToClass(java.lang.String classname,
java.lang.String code) |
java.util.Map<java.lang.String,java.lang.Class<?>> |
compileToClasses(java.util.Map<java.lang.String,java.lang.String> sources) |
protected void |
createFolderStructure(java.io.File parent) |
protected Pair<java.lang.String,java.lang.String> |
createFullCode(java.lang.String statementCode,
java.lang.reflect.Type returnType,
Pair<java.lang.reflect.Type,java.lang.String>... params) |
<RT> Functions.Function0<RT> |
createFunction(java.lang.String expression,
java.lang.Class<RT> returnType) |
<RT,T> Functions.Function1<T,RT> |
createFunction(java.lang.String body,
java.lang.Class<RT> returnType,
java.lang.Class<T> paramType) |
<RT,T1,T2> Functions.Function2<T1,T2,RT> |
createFunction(java.lang.String body,
java.lang.Class<RT> returnType,
java.lang.Class<T1> paramType1,
java.lang.Class<T2> paramType2) |
java.lang.String |
getClasspathArgs() |
protected java.lang.String |
getComplianceLevelArg() |
protected org.eclipse.jdt.internal.compiler.batch.Main |
getMain() |
void |
initializeClassPath() |
protected java.lang.Object |
internalCreateFunction(java.lang.String code,
java.lang.reflect.Type returnType,
Pair<java.lang.reflect.Type,java.lang.String>... params) |
protected java.net.URL |
resolveBundleResourceURL(java.net.URL url) |
void |
setParentClassLoader(java.lang.ClassLoader parentClassLoader) |
protected java.lang.String |
toString(java.lang.reflect.Type returnType) |
public void addClassPath(java.lang.String classpath)
public void addClassPathOfClass(java.lang.Class<?> clazz)
public void clearClassPath()
protected boolean compile(java.lang.String arguments)
public java.lang.Class<?> compileToClass(java.lang.String classname, java.lang.String code)
public java.util.Map<java.lang.String,java.lang.Class<?>> compileToClasses(java.util.Map<java.lang.String,java.lang.String> sources)
protected void cleanUpTmpFolder(java.io.File tempDir)
protected void createFolderStructure(java.io.File parent)
protected Pair<java.lang.String,java.lang.String> createFullCode(java.lang.String statementCode, java.lang.reflect.Type returnType, Pair<java.lang.reflect.Type,java.lang.String>... params)
public <RT> Functions.Function0<RT> createFunction(java.lang.String expression, java.lang.Class<RT> returnType)
public <RT,T> Functions.Function1<T,RT> createFunction(java.lang.String body, java.lang.Class<RT> returnType, java.lang.Class<T> paramType)
public <RT,T1,T2> Functions.Function2<T1,T2,RT> createFunction(java.lang.String body, java.lang.Class<RT> returnType, java.lang.Class<T1> paramType1, java.lang.Class<T2> paramType2)
public java.lang.String getClasspathArgs()
public void initializeClassPath()
protected java.lang.String getComplianceLevelArg()
protected org.eclipse.jdt.internal.compiler.batch.Main getMain()
protected java.lang.Object internalCreateFunction(java.lang.String code, java.lang.reflect.Type returnType, Pair<java.lang.reflect.Type,java.lang.String>... params)
protected java.net.URL resolveBundleResourceURL(java.net.URL url) throws java.io.IOException
url
- the location of the class file.java.io.IOException
public void setParentClassLoader(java.lang.ClassLoader parentClassLoader)
protected java.lang.String toString(java.lang.reflect.Type returnType)