Class MemberExpansionAccessTransformer
- 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<MemberAccess>
-
- gw.internal.gosu.ir.transform.expression.MemberExpansionAccessTransformer
-
public class MemberExpansionAccessTransformer extends AbstractMemberExpansionTransformer<MemberAccess>
-
-
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 IRExpressioncompile(TopLevelTransformationContext cc, MemberExpansionAccess expr)protected IRExpressioncreateIterationExpr(IType rootComponentType, String irIdentifierSym, IType identifierType, IType compType)Subclassers need only implement this method for the iteration expression i.e., the singular form of the expansion expr.protected ITypegetPropertyOrMethodType(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, MemberExpansionAccess expr)
-
createIterationExpr
protected IRExpression createIterationExpr(IType rootComponentType, String irIdentifierSym, IType identifierType, IType compType)
Description copied from class:AbstractMemberExpansionTransformerSubclassers need only implement this method for the iteration expression i.e., the singular form of the expansion expr.- Specified by:
createIterationExprin classAbstractMemberExpansionTransformer<MemberAccess>
-
getPropertyOrMethodType
protected IType getPropertyOrMethodType(IType rootComponentType, IType compType)
- Specified by:
getPropertyOrMethodTypein classAbstractMemberExpansionTransformer<MemberAccess>
-
-