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 IRExpressionbigDecimalArithmetic(IRExpression lhs, IRExpression rhs, String strOp) (package private) final IRExpressionbigIntegerArithmetic(IRExpression lhs, IRExpression rhs, String strOp) (package private) final IRExpression(package private) final booleanisBigDecimalArithmetic(IType type, IType lhsType, IType rhsType) (package private) final booleanisBigIntegerArithmetic(IType type, IType lhsType, IType rhsType) (package private) final booleanisMixedBigDecimalArithmetic(IType type, IType lhsType, IType rhsType) (package private) final booleanisMixedBigIntegerArithmetic(IType type, IType lhsType, IType rhsType) (package private) final booleanisMixedPrimitiveAndBoxedArithmetic(IType type, IType lhsType, IType rhsType) (package private) final boolean(package private) final boolean(package private) final IRExpressionmakeBigExpression(Class bigClass, IRExpression lhs, IRExpression rhs, String strOp) private IRExpressionmakeIRArithmeticExpression(IType type, IRExpression lhs, IRExpression rhs, boolean checked) (package private) final IRExpressionmixedBigArithmetic(IType bigType, Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, String strOp) (package private) final IRExpressionmixedPrimitiveAndBoxedArithmetic(IType exprType, Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, String strOp) (package private) final IRExpressionmixedRationalArithmetic(Expression lhsExpr, Expression rhsExpr, boolean bNullSafe, String strOp) (package private) final IRExpression(package private) final IRExpressionrationalArithmetic(IRExpression lhs, IRExpression rhs, String strOp) Methods inherited from class gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer
_expr, compile, compile_impl, 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
-
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)
-