Class BeanMethodCallExpansionTransformer
- java.lang.Object
-
- gw.internal.gosu.ir.transform.AbstractElementTransformer<T>
-
- gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer<T>
-
- gw.internal.gosu.ir.transform.expression.AbstractMemberExpansionTransformer<BeanMethodCallExpression>
-
- gw.internal.gosu.ir.transform.expression.BeanMethodCallExpansionTransformer
-
public class BeanMethodCallExpansionTransformer extends AbstractMemberExpansionTransformer<BeanMethodCallExpression>
-
-
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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static IRExpression
compile(TopLevelTransformationContext cc, BeanMethodCallExpression expr)
protected IRExpression
createIterationExpr(IType rootComponentType, String identifierName, IType identifierType, IType compType)
Subclassers need only implement this method for the iteration expression i.e., the singular form of the expansion expr.protected IType
getPropertyOrMethodType(IType rootComponentType, IType compType)
-
Methods inherited from class gw.internal.gosu.ir.transform.expression.AbstractMemberExpansionTransformer
arrayToCollection, compile_impl, compileExpansionDirectlyToArray, compileExpansionUsingArrayList, compileExpansionWithNoReturnValue, listToArray, listToArray, listToPrimitiveArray_boolean, listToPrimitiveArray_byte, listToPrimitiveArray_char, listToPrimitiveArray_double, listToPrimitiveArray_float, listToPrimitiveArray_int, listToPrimitiveArray_long, listToPrimitiveArray_short
-
Methods inherited from class gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer
_expr, compile, 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
-
-
-
-
Method Detail
-
compile
public static IRExpression compile(TopLevelTransformationContext cc, BeanMethodCallExpression expr)
-
createIterationExpr
protected IRExpression createIterationExpr(IType rootComponentType, String identifierName, IType identifierType, IType compType)
Description copied from class:AbstractMemberExpansionTransformer
Subclassers need only implement this method for the iteration expression i.e., the singular form of the expansion expr.- Specified by:
createIterationExpr
in classAbstractMemberExpansionTransformer<BeanMethodCallExpression>
-
getPropertyOrMethodType
protected IType getPropertyOrMethodType(IType rootComponentType, IType compType)
- Specified by:
getPropertyOrMethodType
in classAbstractMemberExpansionTransformer<BeanMethodCallExpression>
-
-