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
,ArithmeticExpressionTransformer
,ArrayAccessTransformer
,BeanMethodCallExpressionTransformer
,BindingExpressionTransformer
,BitshiftExpressionTransformer
,BlockExpressionTransformer
,BlockInvocationTransformer
,BooleanLiteralTransformer
,CharLiteralTransformer
,ConditionalAndExpressionTransformer
,ConditionalOrExpressionTransformer
,ConditionalTernaryExpressionTransformer
,DefaultArgLiteralTransformer
,EqualityExpressionTransformer
,EvalBasedTransformer
,FeatureLiteralTransformer
,IdentifierTransformer
,IdentityExpressionTransformer
,IntervalExpressionTransformer
,MapAccessTransformer
,MemberAccessTransformer
,MethodCallExpressionTransformer
,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
ConstructorsConstructorDescriptionAbstractExpressionTransformer
(TopLevelTransformationContext cc, T parsedElem) -
Method Summary
Modifier and TypeMethodDescription_expr()
private void
_pushArguments
(IRMethod irMethod, IExpression[] args, List<IRExpression> irArgs, boolean bCast) final IRExpression
compile()
protected abstract IRExpression
private IRExpression
maybeCast
(List<IRType> paramClasses, int i, IRExpression irArg) 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 Details
-
AbstractExpressionTransformer
-
-
Method Details
-
compile
-
compile_impl
-
_expr
-
getIRParameters
-
shortCircuitValue
-
pushArgumentsNoCasting
protected void pushArgumentsNoCasting(IRMethod irMethod, IExpression[] args, List<IRExpression> irArgs) -
pushArgumentsWithCasting
protected void pushArgumentsWithCasting(IRMethod irMethod, IExpression[] args, List<IRExpression> irArgs) -
_pushArguments
private void _pushArguments(IRMethod irMethod, IExpression[] args, List<IRExpression> irArgs, boolean bCast) -
maybeCast
-