Class AdditiveExpressionTransformer
java.lang.Object
gw.internal.gosu.ir.transform.AbstractElementTransformer<AdditiveExpression>
gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer<AdditiveExpression>
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
Fields -
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 ArithmeticExpressionTransformer
bigArithmetic, bigDecimalArithmetic, bigIntegerArithmetic, compileNumericArithmetic, isBigDecimalArithmetic, isBigIntegerArithmetic, isMixedBigDecimalArithmetic, isMixedBigIntegerArithmetic, isMixedPrimitiveAndBoxedArithmetic, isMixedRationalArithmetic, isPrimitiveArithmetic, makeBigExpression, mixedBigArithmetic, mixedPrimitiveAndBoxedArithmetic, mixedRationalArithmetic, primitiveArithmetic, rationalArithmeticMethods inherited from class AbstractExpressionTransformer
_expr, compile, getIRParameters, pushArgumentsNoCasting, pushArgumentsWithCasting, shortCircuitValueMethods inherited from class 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()
-