public class CommonCompiler
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
CommonCompiler.JavaTypesResolver |
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<ClassType,java.lang.String> |
classNames |
static java.lang.String |
COMPILE_NAME |
protected java.util.Map<FunctionSignature,java.lang.String> |
formNames |
protected java.util.Map<com.whitestein.lsps.model.ProcessModel,java.lang.String> |
hashMappings |
Constructor and Description |
---|
CommonCompiler(boolean generateClass,
boolean generateSource,
SrcClass srcClass,
java.util.Map<com.whitestein.lsps.model.ProcessModel,java.lang.String> hashMappings,
java.util.Map<ClassType,java.lang.String> classNames,
java.util.Map<FunctionSignature,java.lang.String> formNames)
Creates new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
addCreateInstance(javassist.ClassPool classPool,
java.lang.StringBuffer sb,
java.lang.String className) |
protected void |
addImport(javassist.ClassPool classPool,
java.lang.Class<?> cls) |
protected void |
addImport(javassist.ClassPool classPool,
java.lang.String className) |
protected void |
appendSemicolon(java.lang.StringBuffer sb) |
protected SrcAssignment |
assign(SrcExpression left,
SrcExpression right) |
static java.lang.String |
classNameForClassType(NamedClassType namedType,
java.util.Map<com.whitestein.lsps.model.ProcessModel,java.lang.String> hashMappings)
Returns name of generated class for named type.
|
static java.lang.String |
classNameForFunction(FunctionSignature signature,
java.util.Map<com.whitestein.lsps.model.ProcessModel,java.lang.String> hashMappings)
Returns name of generated class for function.
|
static java.lang.String |
classNameForModule(java.lang.String moduleName,
java.lang.String moduleHash)
Returns name of generated class for module.
|
static java.lang.String |
classNameForProcessModel(com.whitestein.lsps.model.ProcessModel model,
java.util.Map<com.whitestein.lsps.model.ProcessModel,java.lang.String> hashMappings)
Returns name of generated class for process model.
|
protected java.util.List<javassist.CtClass> |
closureClasses() |
java.lang.String |
compileClosure(javassist.ClassPool classPool,
javassist.CtClass cls,
javassist.CtClass moduleCls,
ClosureExpression expression,
ClosureOrigin expressionOrigin,
CommonCompiler.JavaTypesResolver javaTypeResolver,
boolean isInRecord,
boolean isInForm,
boolean isStatic)
Used to compile closures
|
protected SrcConstant |
constant(java.lang.Object value) |
protected SrcExpression |
createMethodBody(javassist.ClassPool classPool,
javassist.CtClass cls,
javassist.CtClass moduleCls,
RecordType recordType,
FunctionSignature signature,
boolean isInForm) |
protected SrcMethod |
createPrivateMethod(javassist.ClassPool classPool,
javassist.CtClass cls,
javassist.CtClass moduleCls,
boolean isInRecord,
boolean isInForm,
Type returnType,
java.lang.String methodName,
Expression exp,
ExpressionOrigin expressionOrigin,
java.util.List<LocalParameter> params,
CommonCompiler.JavaTypesResolver javaTypeResolver,
SrcExpression namespaceExp) |
protected SrcMethod |
createPrivateMethod(javassist.ClassPool classPool,
javassist.CtClass cls,
javassist.CtClass moduleCls,
SrcMethod method) |
protected boolean |
generateClass() |
protected boolean |
generateSource() |
static java.lang.Class<?> |
getArrayClassForType(Type type,
java.util.Map<FreeType,Type> freeTypeBounds,
java.util.Map<ClassType,java.lang.String> recordClassNames) |
static java.lang.String |
getArrayClassNameForType(Type type,
java.util.Map<FreeType,Type> freeTypeBounds,
java.util.Map<ClassType,java.lang.String> recordClassNames) |
static Type |
getBoundType(Type type,
java.util.Map<FreeType,Type> freeTypeBounds,
java.util.Map<ClassType,java.lang.String> recordClassNames) |
static java.lang.Class<?> |
getClassForType(Type type,
java.util.Map<FreeType,Type> freeTypeBounds,
java.util.Map<ClassType,java.lang.String> recordClassNames) |
protected static java.lang.ClassLoader |
getClassLoader() |
static java.lang.String |
getClassNameForType(Type type,
java.util.Map<FreeType,Type> freeTypeBounds,
java.util.Map<ClassType,java.lang.String> recordClassNames) |
java.util.List<java.lang.Class<?>> |
getExceptionTypes(java.lang.String className,
java.lang.String methodName,
FunctionSignature signature) |
static java.lang.String |
getFunctionName(FunctionSignature signature) |
protected java.lang.String |
getModuleName() |
protected static java.security.ProtectionDomain |
getProtectionDomain() |
static java.lang.String |
getSimpleClassNameForType(Type type,
java.util.Map<FreeType,Type> freeTypeBounds,
java.util.Map<ClassType,java.lang.String> recordClassNames) |
boolean |
hasExecutionContextParameter(java.lang.String className,
java.lang.String methodName,
java.util.List<java.lang.Class<?>> list,
boolean isVariadic) |
protected java.lang.String |
lineSeparator() |
protected SrcMethodCall |
methodCall(SrcExpression object,
java.lang.String methodName,
SrcExpression... params) |
protected SrcMethodCall |
methodCall(java.lang.String methodName,
SrcExpression... params) |
static long |
nextIdx() |
protected SrcClass |
srcClass() |
protected SrcStringConstant |
strConstant(java.lang.String value) |
protected SrcVariable |
var(java.lang.String name) |
protected SrcVariableDef |
varDef(java.lang.String type,
java.lang.String name,
SrcExpression value) |
public static final java.lang.String COMPILE_NAME
protected java.util.Map<ClassType,java.lang.String> classNames
protected java.util.Map<FunctionSignature,java.lang.String> formNames
protected java.util.Map<com.whitestein.lsps.model.ProcessModel,java.lang.String> hashMappings
public CommonCompiler(boolean generateClass, boolean generateSource, SrcClass srcClass, java.util.Map<com.whitestein.lsps.model.ProcessModel,java.lang.String> hashMappings, java.util.Map<ClassType,java.lang.String> classNames, java.util.Map<FunctionSignature,java.lang.String> formNames)
generateClass
- generateSource
- srcClass
- hashMappings
- classNames
- formNames
- public static long nextIdx()
public static java.lang.String classNameForProcessModel(com.whitestein.lsps.model.ProcessModel model, java.util.Map<com.whitestein.lsps.model.ProcessModel,java.lang.String> hashMappings)
model
- hashMappings
- public static java.lang.String classNameForModule(java.lang.String moduleName, java.lang.String moduleHash)
moduleName
- moduleHash
- public static java.lang.String classNameForClassType(NamedClassType namedType, java.util.Map<com.whitestein.lsps.model.ProcessModel,java.lang.String> hashMappings)
namedType
- hashMappings
- public static java.lang.String classNameForFunction(FunctionSignature signature, java.util.Map<com.whitestein.lsps.model.ProcessModel,java.lang.String> hashMappings)
signature
- hashMappings
- protected java.lang.String getModuleName()
protected boolean generateClass()
protected boolean generateSource()
protected SrcClass srcClass()
protected java.lang.String lineSeparator()
protected java.util.List<javassist.CtClass> closureClasses()
public static Type getBoundType(Type type, java.util.Map<FreeType,Type> freeTypeBounds, java.util.Map<ClassType,java.lang.String> recordClassNames)
public static java.lang.Class<?> getClassForType(Type type, java.util.Map<FreeType,Type> freeTypeBounds, java.util.Map<ClassType,java.lang.String> recordClassNames)
public static java.lang.String getArrayClassNameForType(Type type, java.util.Map<FreeType,Type> freeTypeBounds, java.util.Map<ClassType,java.lang.String> recordClassNames)
public static java.lang.Class<?> getArrayClassForType(Type type, java.util.Map<FreeType,Type> freeTypeBounds, java.util.Map<ClassType,java.lang.String> recordClassNames)
public static java.lang.String getClassNameForType(Type type, java.util.Map<FreeType,Type> freeTypeBounds, java.util.Map<ClassType,java.lang.String> recordClassNames)
public static java.lang.String getSimpleClassNameForType(Type type, java.util.Map<FreeType,Type> freeTypeBounds, java.util.Map<ClassType,java.lang.String> recordClassNames)
public static java.lang.String getFunctionName(FunctionSignature signature)
protected static java.lang.ClassLoader getClassLoader()
protected static java.security.ProtectionDomain getProtectionDomain()
protected SrcVariableDef varDef(java.lang.String type, java.lang.String name, SrcExpression value)
protected SrcVariable var(java.lang.String name)
protected SrcConstant constant(java.lang.Object value)
protected SrcStringConstant strConstant(java.lang.String value)
protected SrcAssignment assign(SrcExpression left, SrcExpression right)
protected SrcMethodCall methodCall(SrcExpression object, java.lang.String methodName, SrcExpression... params)
protected SrcMethodCall methodCall(java.lang.String methodName, SrcExpression... params)
protected SrcMethod createPrivateMethod(javassist.ClassPool classPool, javassist.CtClass cls, javassist.CtClass moduleCls, boolean isInRecord, boolean isInForm, Type returnType, java.lang.String methodName, Expression exp, ExpressionOrigin expressionOrigin, java.util.List<LocalParameter> params, CommonCompiler.JavaTypesResolver javaTypeResolver, SrcExpression namespaceExp)
protected SrcMethod createPrivateMethod(javassist.ClassPool classPool, javassist.CtClass cls, javassist.CtClass moduleCls, SrcMethod method)
protected SrcExpression createMethodBody(javassist.ClassPool classPool, javassist.CtClass cls, javassist.CtClass moduleCls, RecordType recordType, FunctionSignature signature, boolean isInForm)
protected void addImport(javassist.ClassPool classPool, java.lang.Class<?> cls)
protected void addImport(javassist.ClassPool classPool, java.lang.String className)
public boolean hasExecutionContextParameter(java.lang.String className, java.lang.String methodName, java.util.List<java.lang.Class<?>> list, boolean isVariadic)
public java.util.List<java.lang.Class<?>> getExceptionTypes(java.lang.String className, java.lang.String methodName, FunctionSignature signature)
public void addCreateInstance(javassist.ClassPool classPool, java.lang.StringBuffer sb, java.lang.String className)
protected void appendSemicolon(java.lang.StringBuffer sb)
public java.lang.String compileClosure(javassist.ClassPool classPool, javassist.CtClass cls, javassist.CtClass moduleCls, ClosureExpression expression, ClosureOrigin expressionOrigin, CommonCompiler.JavaTypesResolver javaTypeResolver, boolean isInRecord, boolean isInForm, boolean isStatic) throws javassist.CannotCompileException, javassist.NotFoundException
cls
- classPool
- moduleCls
- expression
- expressionOrigin
- javaTypeResolver
- isInRecord
- isInForm
- javassist.CannotCompileException
javassist.NotFoundException
Copyright © 2007-2020 Whitestein Technologies. All Rights Reserved.