Class EqualityExpressionTransformer
- java.lang.Object
-
- gw.internal.gosu.ir.transform.AbstractElementTransformer<T>
-
- gw.internal.gosu.ir.transform.expression.AbstractExpressionTransformer<EqualityExpression>
-
- gw.internal.gosu.ir.transform.expression.EqualityExpressionTransformer
-
public class EqualityExpressionTransformer extends AbstractExpressionTransformer<EqualityExpression>
-
-
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
Constructors Modifier Constructor Description privateEqualityExpressionTransformer(TopLevelTransformationContext cc, EqualityExpression expr)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private IRExpressioncompareArrays()private IRExpressioncompareDynamically()private IRExpressioncompareNumbers(IType type)private IRExpressioncompareNumbersAsBig(IType type)private IRExpressioncompareNumbersAsPrimitive(IType type)private IRExpressioncomparePrimitives()private IRExpressioncompareToNull()private IRExpressioncompareWithCompareTo()private IRExpressioncompareWithEquals()static IRExpressioncompile(TopLevelTransformationContext cc, EqualityExpression expr)protected IRExpressioncompile_impl()static booleanevaluate(java.lang.Object lhsValue, boolean bEquals, java.lang.Object rhsValue)-
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
-
-
-
-
Constructor Detail
-
EqualityExpressionTransformer
private EqualityExpressionTransformer(TopLevelTransformationContext cc, EqualityExpression expr)
-
-
Method Detail
-
compile
public static IRExpression compile(TopLevelTransformationContext cc, EqualityExpression expr)
-
compile_impl
protected IRExpression compile_impl()
- Specified by:
compile_implin classAbstractExpressionTransformer<EqualityExpression>
-
compareNumbers
private IRExpression compareNumbers(IType type)
-
compareNumbersAsPrimitive
private IRExpression compareNumbersAsPrimitive(IType type)
-
compareNumbersAsBig
private IRExpression compareNumbersAsBig(IType type)
-
compareArrays
private IRExpression compareArrays()
-
comparePrimitives
private IRExpression comparePrimitives()
-
compareToNull
private IRExpression compareToNull()
-
compareWithEquals
private IRExpression compareWithEquals()
-
compareWithCompareTo
private IRExpression compareWithCompareTo()
-
compareDynamically
private IRExpression compareDynamically()
-
evaluate
public static boolean evaluate(java.lang.Object lhsValue, boolean bEquals, java.lang.Object rhsValue)
-
-