Class ArithmeticExpressionTransformer<T extends ArithmeticExpression>
- java.lang.Object
-
- gw.internal.gosu.ir.transform.AbstractElementTransformer<T>
-
- gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer<T>
-
- gw.internal.gosu.ir.transform.expression.ArithmeticExpressionTransformer<T>
-
- Direct Known Subclasses:
AdditiveExpressionTransformer,MultiplicativeExpressionTransformer
abstract class ArithmeticExpressionTransformer<T extends ArithmeticExpression> extends AbstractExpressionTransformer<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
Constructors Constructor Description ArithmeticExpressionTransformer(TopLevelTransformationContext cc, T parsedElem)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) IRExpressionbigArithmetic()(package private) IRExpressionbigDecimalArithmetic(IRExpression lhs, IRExpression rhs, java.lang.String strOp)(package private) IRExpressionbigIntegerArithmetic(IRExpression lhs, IRExpression rhs, java.lang.String strOp)(package private) IRExpressioncompileNumericArithmetic()(package private) booleanisBigDecimalArithmetic(IType type, IType lhsType, IType rhsType)(package private) booleanisBigIntegerArithmetic(IType type, IType lhsType, IType rhsType)(package private) booleanisMixedBigDecimalArithmetic(IType type, IType lhsType, IType rhsType)(package private) booleanisMixedBigIntegerArithmetic(IType type, IType lhsType, IType rhsType)(package private) booleanisMixedPrimitiveAndBoxedArithmetic(IType type, IType lhsType, IType rhsType)(package private) booleanisMixedRationalArithmetic(IType type)(package private) booleanisPrimitiveArithmetic()(package private) IRExpressionmakeBigExpression(java.lang.Class bigClass, IRExpression lhs, IRExpression rhs, java.lang.String strOp)private IRExpressionmakeIRArithmeticExpression(IType type, IRExpression lhs, IRExpression rhs, boolean checked)(package private) IRExpressionmixedBigArithmetic(IType bigType, Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, java.lang.String strOp)(package private) IRExpressionmixedPrimitiveAndBoxedArithmetic(IType exprType, Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, java.lang.String strOp)(package private) IRExpressionmixedRationalArithmetic(Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, java.lang.String strOp)(package private) IRExpressionprimitiveArithmetic()(package private) IRExpressionrationalArithmetic(IRExpression lhs, IRExpression rhs, java.lang.String strOp)-
Methods inherited from class gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer
_expr, compile, compile_impl, getIRParameters, 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
-
-
-
-
Constructor Detail
-
ArithmeticExpressionTransformer
public ArithmeticExpressionTransformer(TopLevelTransformationContext cc, T parsedElem)
-
-
Method Detail
-
compileNumericArithmetic
final IRExpression compileNumericArithmetic()
-
isPrimitiveArithmetic
final boolean isPrimitiveArithmetic()
-
isMixedPrimitiveAndBoxedArithmetic
final boolean isMixedPrimitiveAndBoxedArithmetic(IType type, IType lhsType, IType rhsType)
-
isBigDecimalArithmetic
final boolean isBigDecimalArithmetic(IType type, IType lhsType, IType rhsType)
-
isBigIntegerArithmetic
final boolean isBigIntegerArithmetic(IType type, IType lhsType, IType rhsType)
-
isMixedBigDecimalArithmetic
final boolean isMixedBigDecimalArithmetic(IType type, IType lhsType, IType rhsType)
-
isMixedBigIntegerArithmetic
final boolean isMixedBigIntegerArithmetic(IType type, IType lhsType, IType rhsType)
-
isMixedRationalArithmetic
final boolean isMixedRationalArithmetic(IType type)
-
mixedPrimitiveAndBoxedArithmetic
final IRExpression mixedPrimitiveAndBoxedArithmetic(IType exprType, Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, java.lang.String strOp)
-
mixedBigArithmetic
final IRExpression mixedBigArithmetic(IType bigType, Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, java.lang.String strOp)
-
mixedRationalArithmetic
final IRExpression mixedRationalArithmetic(Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, java.lang.String strOp)
-
bigArithmetic
final IRExpression bigArithmetic()
-
makeBigExpression
final IRExpression makeBigExpression(java.lang.Class bigClass, IRExpression lhs, IRExpression rhs, java.lang.String strOp)
-
bigDecimalArithmetic
final IRExpression bigDecimalArithmetic(IRExpression lhs, IRExpression rhs, java.lang.String strOp)
-
bigIntegerArithmetic
final IRExpression bigIntegerArithmetic(IRExpression lhs, IRExpression rhs, java.lang.String strOp)
-
rationalArithmetic
final IRExpression rationalArithmetic(IRExpression lhs, IRExpression rhs, java.lang.String strOp)
-
primitiveArithmetic
final IRExpression primitiveArithmetic()
-
makeIRArithmeticExpression
private IRExpression makeIRArithmeticExpression(IType type, IRExpression lhs, IRExpression rhs, boolean checked)
-
-