Package gw.internal.gosu.ir.transform
Class GosuClassTransformer
- java.lang.Object
-
- gw.internal.gosu.ir.transform.AbstractElementTransformer<ClassStatement>
-
- gw.internal.gosu.ir.transform.GosuClassTransformer
-
public class GosuClassTransformer extends AbstractElementTransformer<ClassStatement>
-
-
Field Summary
Fields Modifier and Type Field Description static String
ENHANCED_TYPE_FIELD
static String
ENUM_VALUES_FIELD
-
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 IRClass
compile(IGosuClassInternal gsClass)
IGosuEnhancementInternal
getGosuEnhancement()
String
getOuterThisFieldName()
void
initCapturedSymbolFields(List<IRStatement> statements)
void
initializeInstanceFields(List<IRStatement> statements)
void
initializeStaticFields(List<IRStatement> statements)
void
initTypeVarFields(List<IRStatement> statements)
boolean
isBlockInvoke(DynamicFunctionSymbol dfs)
boolean
isNonStaticInnerClass()
void
maybeAssignOuterRef(List<IRStatement> statements)
void
maybePushSupersEnclosingThisRef(List<IRExpression> arguments)
void
pushEnumNameAndOrdinal(IType type, List<IRExpression> args)
void
setHasAsserts()
String
toString()
-
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
-
ENUM_VALUES_FIELD
public static final String ENUM_VALUES_FIELD
- See Also:
- Constant Field Values
-
ENHANCED_TYPE_FIELD
public static final String ENHANCED_TYPE_FIELD
- See Also:
- Constant Field Values
-
-
Method Detail
-
compile
public static IRClass compile(IGosuClassInternal gsClass)
-
isNonStaticInnerClass
public boolean isNonStaticInnerClass()
-
getOuterThisFieldName
public String getOuterThisFieldName()
-
maybeAssignOuterRef
public void maybeAssignOuterRef(List<IRStatement> statements)
-
maybePushSupersEnclosingThisRef
public void maybePushSupersEnclosingThisRef(List<IRExpression> arguments)
-
initializeInstanceFields
public void initializeInstanceFields(List<IRStatement> statements)
-
initTypeVarFields
public void initTypeVarFields(List<IRStatement> statements)
-
initCapturedSymbolFields
public void initCapturedSymbolFields(List<IRStatement> statements)
-
initializeStaticFields
public void initializeStaticFields(List<IRStatement> statements)
-
getGosuEnhancement
public IGosuEnhancementInternal getGosuEnhancement()
-
pushEnumNameAndOrdinal
public void pushEnumNameAndOrdinal(IType type, List<IRExpression> args)
-
setHasAsserts
public void setHasAsserts()
-
isBlockInvoke
public boolean isBlockInvoke(DynamicFunctionSymbol dfs)
-
-