Class TypeAsTransformer
java.lang.Object
gw.internal.gosu.ir.transform.AbstractElementTransformer<T>
gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer<ITypeAsExpression>
gw.internal.gosu.ir.transform.expression.TypeAsTransformer
-
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
ConstructorsModifierConstructorDescriptionprivate -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanareAssignableBytecodeTypes(ICoercer coercer, IType asType, IType lhsType) private IRExpressioncallCoercer(IRExpression root, IType lhsType) private IRExpressioncoerce(IRExpression root, ICoercer coercer) static ObjectcoerceValue(Object value, IType type, ICoercer coercer) static IRExpressionprotected IRExpressionprivate IRExpressionconvertBigToPrimitiveOrBoxed(IRExpression root, IType asType, IType lhsType, IRType asTypeDesc, boolean bDecimal) private IRExpressionconvertBoxedToPrimitive(IType lhsType, Class cls, String methodName, IRExpression lhsExpression) static booleanstatic bytestatic charstatic doublestatic floatstatic intstatic longstatic shortprivate booleanisStructureType(IType exprType) private IRExpressionmaybeMakePrimitive(IRExpression lhsExpression) Methods inherited from class gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer
_expr, compile, getIRParameters, pushArgumentsNoCasting, pushArgumentsWithCasting, shortCircuitValueMethods 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
-
TypeAsTransformer
-
-
Method Details
-
compile
-
compile_impl
- Specified by:
compile_implin classAbstractExpressionTransformer<ITypeAsExpression>
-
convertBigToPrimitiveOrBoxed
private IRExpression convertBigToPrimitiveOrBoxed(IRExpression root, IType asType, IType lhsType, IRType asTypeDesc, boolean bDecimal) -
callCoercer
-
areAssignableBytecodeTypes
-
isStructureType
-
coerce
-
maybeMakePrimitive
-
coerceValue
-
convertBoxedToPrimitive
private IRExpression convertBoxedToPrimitive(IType lhsType, Class cls, String methodName, IRExpression lhsExpression) -
convertToPrimitiveFromBoxOrString_boolean
-
convertToPrimitiveFromBoxOrString_byte
-
convertToPrimitiveFromBoxOrString_char
-
convertToPrimitiveFromBoxOrString_short
-
convertToPrimitiveFromBoxOrString_int
-
convertToPrimitiveFromBoxOrString_long
-
convertToPrimitiveFromBoxOrString_float
-
convertToPrimitiveFromBoxOrString_double
-