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
ConstructorsConstructorDescriptionArithmeticExpressionTransformer
(TopLevelTransformationContext cc, T parsedElem) -
Method Summary
Modifier and TypeMethodDescription(package private) final IRExpression
(package private) final IRExpression
bigDecimalArithmetic
(IRExpression lhs, IRExpression rhs, String strOp) (package private) final IRExpression
bigIntegerArithmetic
(IRExpression lhs, IRExpression rhs, String strOp) (package private) final IRExpression
(package private) final boolean
isBigDecimalArithmetic
(IType type, IType lhsType, IType rhsType) (package private) final boolean
isBigIntegerArithmetic
(IType type, IType lhsType, IType rhsType) (package private) final boolean
isMixedBigDecimalArithmetic
(IType type, IType lhsType, IType rhsType) (package private) final boolean
isMixedBigIntegerArithmetic
(IType type, IType lhsType, IType rhsType) (package private) final boolean
isMixedPrimitiveAndBoxedArithmetic
(IType type, IType lhsType, IType rhsType) (package private) final boolean
(package private) final boolean
(package private) final IRExpression
makeBigExpression
(Class bigClass, IRExpression lhs, IRExpression rhs, String strOp) private IRExpression
makeIRArithmeticExpression
(IType type, IRExpression lhs, IRExpression rhs, boolean checked) (package private) final IRExpression
mixedBigArithmetic
(IType bigType, Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, String strOp) (package private) final IRExpression
mixedPrimitiveAndBoxedArithmetic
(IType exprType, Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, String strOp) (package private) final IRExpression
mixedRationalArithmetic
(Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, String strOp) (package private) final IRExpression
(package private) final IRExpression
rationalArithmetic
(IRExpression lhs, IRExpression rhs, 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 Details
-
ArithmeticExpressionTransformer
-
-
Method Details
-
compileNumericArithmetic
-
isPrimitiveArithmetic
final boolean isPrimitiveArithmetic() -
isMixedPrimitiveAndBoxedArithmetic
-
isBigDecimalArithmetic
-
isBigIntegerArithmetic
-
isMixedBigDecimalArithmetic
-
isMixedBigIntegerArithmetic
-
isMixedRationalArithmetic
-
mixedPrimitiveAndBoxedArithmetic
final IRExpression mixedPrimitiveAndBoxedArithmetic(IType exprType, Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, String strOp) -
mixedBigArithmetic
final IRExpression mixedBigArithmetic(IType bigType, Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, String strOp) -
mixedRationalArithmetic
final IRExpression mixedRationalArithmetic(Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, String strOp) -
bigArithmetic
-
makeBigExpression
final IRExpression makeBigExpression(Class bigClass, IRExpression lhs, IRExpression rhs, String strOp) -
bigDecimalArithmetic
-
bigIntegerArithmetic
-
rationalArithmetic
-
primitiveArithmetic
-
makeIRArithmeticExpression
private IRExpression makeIRArithmeticExpression(IType type, IRExpression lhs, IRExpression rhs, boolean checked)
-