Class AbstractExpressionTransformer<T extends IExpression>
- java.lang.Object
-
- gw.internal.gosu.ir.transform.AbstractElementTransformer<T>
-
- gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer<T>
-
- Direct Known Subclasses:
AbstractBitwiseExpressionTransformer
,AbstractMemberExpansionTransformer
,AdditiveExpressionTransformer
,ArrayAccessTransformer
,BeanMethodCallExpressionTransformer
,BindingExpressionTransformer
,BitshiftExpressionTransformer
,BlockExpressionTransformer
,BlockInvocationTransformer
,BooleanLiteralTransformer
,CharLiteralTransformer
,ConditionalAndExpressionTransformer
,ConditionalOrExpressionTransformer
,ConditionalTernaryExpressionTransformer
,DefaultArgLiteralTransformer
,EqualityExpressionTransformer
,EvalBasedTransformer
,FeatureLiteralTransformer
,IdentifierTransformer
,IdentityExpressionTransformer
,IntervalExpressionTransformer
,MapAccessTransformer
,MemberAccessTransformer
,MethodCallExpressionTransformer
,MultiplicativeExpressionTransformer
,NewExpressionTransformer
,NullExpressionTransformer
,NumericLiteralTransformer
,RelationalExpressionTransformer
,StaticTypeOfTransformer
,StringLiteralTransformer
,SuperAccessTransformer
,TemplateStringLiteralTransformer
,TypeAsTransformer
,TypeIsTransformer
,TypeLiteralTransformer
,TypeOfTransformer
,UnaryExpressionTransformer
,UnaryNotPlusMinusExpressionTransformer
public abstract class AbstractExpressionTransformer<T extends IExpression> extends AbstractElementTransformer<T>
-
-
Field Summary
-
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 Constructor Description AbstractExpressionTransformer(TopLevelTransformationContext cc, T parsedElem)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description T
_expr()
IRExpression
compile()
protected abstract IRExpression
compile_impl()
protected void
pushArgumentsNoCasting(IRMethod irMethod, IExpression[] args, List<IRExpression> irArgs)
protected void
pushArgumentsWithCasting(IRMethod irMethod, IExpression[] args, List<IRExpression> irArgs)
protected IRExpression
shortCircuitValue(IRType expressionType)
-
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
-
-
-
-
Constructor Detail
-
AbstractExpressionTransformer
public AbstractExpressionTransformer(TopLevelTransformationContext cc, T parsedElem)
-
-
Method Detail
-
compile
public final IRExpression compile()
-
compile_impl
protected abstract IRExpression compile_impl()
-
_expr
public T _expr()
-
shortCircuitValue
protected IRExpression shortCircuitValue(IRType expressionType)
-
pushArgumentsNoCasting
protected void pushArgumentsNoCasting(IRMethod irMethod, IExpression[] args, List<IRExpression> irArgs)
-
pushArgumentsWithCasting
protected void pushArgumentsWithCasting(IRMethod irMethod, IExpression[] args, List<IRExpression> irArgs)
-
-