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
ConstructorsModifierConstructorDescriptionprivateAdditiveExpressionTransformer(TopLevelTransformationContext cc, AdditiveExpression expr, AdditiveExpressionTransformer.StringBuilderHandle stringBuilderFromParent) -
Method Summary
Modifier and TypeMethodDescriptionstatic IRExpressionstatic IRExpressioncompile(TopLevelTransformationContext cc, AdditiveExpression expr, AdditiveExpressionTransformer.StringBuilderHandle stringBuilder) protected IRExpressionprivate IRStringLiteralExpressionprivate booleanprivate IRExpressiondimensionAddition(IType type) private IRExpressionprivate voidhandleConcatOperand(AdditiveExpressionTransformer.StringBuilderHandle sbHandle, Expression operand) private booleanprivate booleanprivate IRExpressionMethods 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, rationalArithmeticMethods 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
-
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_implin classAbstractExpressionTransformer<AdditiveExpression>
-
dimensionAddition
-
concatenate
-
dynamicAddition
-
isCompileTimeConstantConcatenation
private boolean isCompileTimeConstantConcatenation() -
containsIdentifier
-
stringConcatenation
-
handleConcatOperand
private void handleConcatOperand(AdditiveExpressionTransformer.StringBuilderHandle sbHandle, Expression operand) -
isStringConcatenation
private boolean isStringConcatenation()
-