Class EvalExpressionTransformer
- java.lang.Object
-
- gw.internal.gosu.ir.transform.AbstractElementTransformer<T>
-
- gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer<T>
-
- gw.internal.gosu.ir.transform.expression.EvalBasedTransformer<EvalExpression>
-
- gw.internal.gosu.ir.transform.expression.EvalExpressionTransformer
-
public class EvalExpressionTransformer extends EvalBasedTransformer<EvalExpression>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceEvalExpressionTransformer.DeclaredConstructorsAccessorprivate static classEvalExpressionTransformer.PrivateGetDeclaredConstructorsAccessorprivate static classEvalExpressionTransformer.PublicGetDeclaredConstructorsAccessor
-
Field Summary
Fields Modifier and Type Field Description static LocklessLazyVar<EvalExpressionTransformer.DeclaredConstructorsAccessor>_ctorAccessorstatic java.util.Map<java.lang.String,EvalExpression>EVAL_EXPRESSIONS-
Fields inherited from class gw.internal.gosu.ir.transform.AbstractElementTransformer
CAPTURED_VAR_PREFIX, CTX_SYMBOL, CTX_SYMBOL_SUFFIX, CUSTOM_RUNTIMES, EMPTY_CLASS_ARRAY, ENHANCEMENT_THIS_REF, ENHANCEMENT_TYPE_PARAM_PREFIX, ENUM_PARAM_PREFIX, OBJECT_TYPE, OUTER_ACCESS, TYPE_PARAM_PREFIX
-
-
Constructor Summary
Constructors Modifier Constructor Description privateEvalExpressionTransformer(TopLevelTransformationContext cc, EvalExpression expr)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static voidaddCapturedValues(IGosuProgramInternal gp, java.util.List<ICapturedSymbol> capturedSymbols, java.lang.Object[] capturedValues, java.util.List<java.lang.Object> args)static voidclearEvalExpressions()static IRExpressioncompile(TopLevelTransformationContext cc, EvalExpression expr)protected IRExpressioncompile_impl()static java.lang.ObjectcompileAndRunEvalSource(java.lang.Object source, java.lang.Object outer, java.lang.Object[] capturedValues, LazyTypeResolver[] immediateFuncTypeParams, IType enclosingClass, int iLineNum, int iColumn, java.lang.String evalExprText)static java.lang.ObjectcompileAndRunEvalSource(java.lang.Object source, java.lang.Object outer, java.lang.Object[] capturedValues, LazyTypeResolver[] immediateFuncTypeParams, IType enclosingClass, IParsedElement evalExpr)static java.lang.ObjectcompileAndRunEvalSource(java.lang.Object source, java.lang.Object outer, java.lang.Object[] capturedValues, LazyTypeResolver[] immediateFuncTypeParams, IType enclosingClass, IParsedElement evalExpr, ISymbolTable compileTimeLocalContextSymbols, IExternalSymbolMap runtimeLocalSymbolValues)private static voiddebugInfo(ISymbolTable compileTimeLocalContextSymbols)static java.lang.StringmakeEvalKey(IType enclosingClass, int iLineNum, int iColumnNum, java.lang.String evalExprText)private static java.lang.StringprintArgs(java.lang.Class[] parameterTypes)private static java.lang.StringprintArgs(java.util.List<java.lang.Object> args)private voidputEvalExpression(EvalExpression evalExpr)-
Methods inherited from class gw.internal.gosu.ir.transform.expression.EvalBasedTransformer
addEnclosingTypeParams, getFunctionTypeParamsCount, pushCapturedSymbols, pushEnclosingContext, pushEnclosingFunctionTypeParamsInArray
-
Methods inherited from class gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer
_expr, compile, getIRParameters, pushArgumentsNoCasting, pushArgumentsWithCasting, shortCircuitValue
-
Methods inherited from class gw.internal.gosu.ir.transform.AbstractElementTransformer
_cc, assignStructuralTypeOwner, avoidVerifyError, booleanLiteral, boxValue, boxValue, boxValueToType, buildAddition, buildArithmetic, buildArrayLength, buildArrayLoad, buildArrayLoad, buildArrayStore, buildAssignment, buildCast, buildComposite, buildComposite, buildEquals, buildFieldGet, buildFieldSet, buildGreaterThan, buildIf, buildIfElse, buildInitializedArray, buildMethodCall, buildMethodCall, buildMethodCall, buildNegation, buildNewExpression, buildNewExpression, buildNewExpression, buildNotEquals, buildNullCheckTernary, buildReturn, buildSubtraction, buildTernary, buildThrow, callMethod, callMethod, callMethod, callMethod, callMethod, callSpecialMethod, callSpecialMethod, callSpecialMethod, callStaticMethod, castResultingTypeIfNecessary, charLiteral, checkCast, checkCast, checkCast, classLiteral, classLiteral, classLiteral, clearCustomRuntimes, collectArgsIntoObjArray, convertBoxedNullToPrimitive, convertNullToPrimitive, convertOperandToBig, convertOperandToPrimitive, convertOperandToRational, exprList, fastStringCoercion, findComparableParamType, findDimensionType, getActualPropertyInfo, getCapturedSymbolParameterName, getClassInfos, getConcreteType, getConstructorParamTypes, getCustomRuntime, getDeclaredField, getDeclaredFieldImpl, getDeclaredMethod, getDeclaredMethod, getDefaultConstIns, getDescriptor, getDescriptor, getDescriptor, getDescriptor, getEnclosingDFS, getField, getField_new, getGosuClass, getInstanceField, getIRTypes, getIRTypes, getModifiers, getParsedElement, getRuntimeEnclosingType, getStaticField, getTypes, getTypeVarParamName, getTypeVarsForDFS, handleCustomExpressionRuntime, handleNamedArgs, identifier, initLocalVar, initLocalVarWithDefault, initMultiArray, inStaticContext, isBigType, isBoxedIntType, isBytecodeType, isBytecodeType, isCheckedArithmeticEnabled, isCompilingEnhancement, isEnhancementType, isEvalProgram, isExecuteMethod, isHandledByCustomCoercion, isIntType, isMemberOnEnclosingType, isMemberOnEnhancementOfEnclosingType, isNonBigBoxedNumberType, isNonStaticInnerClass, isNumberType, isPrimitiveNumberType, isProgram, isProgramOrEnclosedInProgram, makeAnnotationInfos, makeArrayViaTypeInfo, makeEmptyArrayViaTypeInfo, makeIRSymbol, maybeUnwrapMetaType, newArray, nullCheckVar, nullLiteral, numberConvert, numberConvert, numericLiteral, pushArrayOfDefValueExpr, pushArrayOfString, pushArrayOfTypes, pushCapturedSymbols, pushConstant, pushEnumSuperConstructorArguments, pushExternalSymbolsMap, pushLazyType, pushLazyType, pushNull, pushOuter, pushOuter, pushOuter, pushParamTypes, pushRuntimeTypeOfTypeVar, pushString, pushThis, pushThisOrOuter, pushType, pushType, pushTypeParametersForConstructor, requiresExternalSymbolCapture, requiresImplicitEnhancementArg, requiresImplicitEnhancementArg, setCc, setField, setField, setInstanceField, setStaticField, stringLiteral, unboxValueFromType, unboxValueToType, unboxValueToType, valueOf
-
-
-
-
Field Detail
-
EVAL_EXPRESSIONS
public static final java.util.Map<java.lang.String,EvalExpression> EVAL_EXPRESSIONS
-
_ctorAccessor
public static LocklessLazyVar<EvalExpressionTransformer.DeclaredConstructorsAccessor> _ctorAccessor
-
-
Constructor Detail
-
EvalExpressionTransformer
private EvalExpressionTransformer(TopLevelTransformationContext cc, EvalExpression expr)
-
-
Method Detail
-
compile
public static IRExpression compile(TopLevelTransformationContext cc, EvalExpression expr)
-
compile_impl
protected IRExpression compile_impl()
- Specified by:
compile_implin classAbstractExpressionTransformer<EvalExpression>
-
putEvalExpression
private void putEvalExpression(EvalExpression evalExpr)
-
makeEvalKey
public static java.lang.String makeEvalKey(IType enclosingClass, int iLineNum, int iColumnNum, java.lang.String evalExprText)
-
compileAndRunEvalSource
public static java.lang.Object compileAndRunEvalSource(java.lang.Object source, java.lang.Object outer, java.lang.Object[] capturedValues, LazyTypeResolver[] immediateFuncTypeParams, IType enclosingClass, int iLineNum, int iColumn, java.lang.String evalExprText)
-
compileAndRunEvalSource
public static java.lang.Object compileAndRunEvalSource(java.lang.Object source, java.lang.Object outer, java.lang.Object[] capturedValues, LazyTypeResolver[] immediateFuncTypeParams, IType enclosingClass, IParsedElement evalExpr)
-
compileAndRunEvalSource
public static java.lang.Object compileAndRunEvalSource(java.lang.Object source, java.lang.Object outer, java.lang.Object[] capturedValues, LazyTypeResolver[] immediateFuncTypeParams, IType enclosingClass, IParsedElement evalExpr, ISymbolTable compileTimeLocalContextSymbols, IExternalSymbolMap runtimeLocalSymbolValues)
-
printArgs
private static java.lang.String printArgs(java.util.List<java.lang.Object> args)
-
printArgs
private static java.lang.String printArgs(java.lang.Class[] parameterTypes)
-
debugInfo
private static void debugInfo(ISymbolTable compileTimeLocalContextSymbols)
-
addCapturedValues
private static void addCapturedValues(IGosuProgramInternal gp, java.util.List<ICapturedSymbol> capturedSymbols, java.lang.Object[] capturedValues, java.util.List<java.lang.Object> args)
-
clearEvalExpressions
public static void clearEvalExpressions()
-
-