Class AdditiveExpressionTransformer
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<AdditiveExpression>
gw.internal.gosu.ir.transform.expression.AdditiveExpressionTransformer
public class AdditiveExpressionTransformer
extends ArithmeticExpressionTransformer<AdditiveExpression>
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsFields 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
AdditiveExpressionTransformer
(TopLevelTransformationContext cc, AdditiveExpression expr, AdditiveExpressionTransformer.StringBuilderHandle stringBuilderFromParent) -
Method Summary
Modifier and TypeMethodDescriptionstatic IRExpression
static IRExpression
compile
(TopLevelTransformationContext cc, AdditiveExpression expr, AdditiveExpressionTransformer.StringBuilderHandle stringBuilder) protected IRExpression
private IRStringLiteralExpression
private boolean
private IRExpression
dimensionAddition
(IType type) private IRExpression
private void
handleConcatOperand
(AdditiveExpressionTransformer.StringBuilderHandle sbHandle, Expression operand) private boolean
private boolean
private IRExpression
Methods inherited from class gw.internal.gosu.ir.transform.expression.ArithmeticExpressionTransformer
bigArithmetic, bigDecimalArithmetic, bigIntegerArithmetic, compileNumericArithmetic, isBigDecimalArithmetic, isBigIntegerArithmetic, isMixedBigDecimalArithmetic, isMixedBigIntegerArithmetic, isMixedPrimitiveAndBoxedArithmetic, isMixedRationalArithmetic, isPrimitiveArithmetic, makeBigExpression, mixedBigArithmetic, mixedPrimitiveAndBoxedArithmetic, mixedRationalArithmetic, primitiveArithmetic, rationalArithmetic
Methods inherited from class gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer
_expr, compile, 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
-
Field Details
-
_stringBuilderFromParent
-
-
Constructor Details
-
AdditiveExpressionTransformer
private AdditiveExpressionTransformer(TopLevelTransformationContext cc, AdditiveExpression expr, AdditiveExpressionTransformer.StringBuilderHandle stringBuilderFromParent)
-
-
Method Details
-
compile
-
compile
public static IRExpression compile(TopLevelTransformationContext cc, AdditiveExpression expr, AdditiveExpressionTransformer.StringBuilderHandle stringBuilder) -
compile_impl
- Specified by:
compile_impl
in classAbstractExpressionTransformer<AdditiveExpression>
-
dimensionAddition
-
concatenate
-
dynamicAddition
-
isCompileTimeConstantConcatenation
private boolean isCompileTimeConstantConcatenation() -
containsIdentifier
-
stringConcatenation
-
handleConcatOperand
private void handleConcatOperand(AdditiveExpressionTransformer.StringBuilderHandle sbHandle, Expression operand) -
isStringConcatenation
private boolean isStringConcatenation()
-