org.eclipse.xtext.xbase.compiler
Class OnTheFlyJavaCompiler
java.lang.Object
org.eclipse.xtext.xbase.compiler.OnTheFlyJavaCompiler
- Direct Known Subclasses:
- OnTheFlyJavaCompiler.EclipseRuntimeDependentJavaCompiler
public class OnTheFlyJavaCompiler
- extends java.lang.Object
- Author:
- Sven Efftinge - Initial contribution and API
Method Summary |
void |
addClassPath(java.lang.String classpath)
|
void |
addClassPathOfClass(java.lang.Class<?> clazz)
|
void |
clearClassPath()
|
protected boolean |
compile(java.lang.String arguments)
|
java.lang.Class<?> |
compileToClass(java.lang.String classname,
java.lang.String code)
|
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)
|
|
createFunction(java.lang.String expression,
java.lang.Class<RT> returnType)
|
|
createFunction(java.lang.String body,
java.lang.Class<RT> returnType,
java.lang.Class<T> paramType)
|
|
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()
|
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)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
OnTheFlyJavaCompiler
public OnTheFlyJavaCompiler()
addClassPath
public void addClassPath(java.lang.String classpath)
addClassPathOfClass
public void addClassPathOfClass(java.lang.Class<?> clazz)
clearClassPath
public void clearClassPath()
compile
protected boolean compile(java.lang.String arguments)
compileToClass
public java.lang.Class<?> compileToClass(java.lang.String classname,
java.lang.String code)
createFolderStructure
protected void createFolderStructure(java.io.File parent)
createFullCode
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)
createFunction
public <RT> Functions.Function0<RT> createFunction(java.lang.String expression,
java.lang.Class<RT> returnType)
createFunction
public <RT,T> Functions.Function1<T,RT> createFunction(java.lang.String body,
java.lang.Class<RT> returnType,
java.lang.Class<T> paramType)
createFunction
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)
getClasspathArgs
public java.lang.String getClasspathArgs()
getComplianceLevelArg
protected java.lang.String getComplianceLevelArg()
getMain
protected org.eclipse.jdt.internal.compiler.batch.Main getMain()
internalCreateFunction
protected java.lang.Object internalCreateFunction(java.lang.String code,
java.lang.reflect.Type returnType,
Pair<java.lang.reflect.Type,java.lang.String>... params)
resolveBundleResourceURL
protected java.net.URL resolveBundleResourceURL(java.net.URL url)
throws java.io.IOException
- Throws:
java.io.IOException
setParentClassLoader
public void setParentClassLoader(java.lang.ClassLoader parentClassLoader)
toString
protected java.lang.String toString(java.lang.reflect.Type returnType)