Top Fields Constructors Methods
org.codehaus.groovy.transform.sc.transformers

public Class BinaryExpressionTransformer

extends Object
Class Inheritance
Imports
org.codehaus.groovy.ast.ClassHelper, .ClassNode, .MethodNode, org.codehaus.groovy.ast.expr.BinaryExpression, .ConstantExpression, .DeclarationExpression, .Expression, .ListExpression, .MethodCallExpression, .PropertyExpression, .TupleExpression, .VariableExpression, org.codehaus.groovy.ast.tools.WideningCategories, org.codehaus.groovy.classgen.asm.sc.StaticPropertyAccessHelper, org.codehaus.groovy.runtime.DefaultGroovyMethods, org.codehaus.groovy.syntax.Token, .Types, org.codehaus.groovy.transform.sc.ListOfExpressionsExpression, .StaticCompilationMetadataKeys, org.codehaus.groovy.transform.stc.StaticTypeCheckingSupport, .StaticTypesMarker, java.math.BigDecimal, .BigInteger, java.util.ArrayList, .Iterator, .List

Field Summary

Modifier and TypeField and Description
private static final MethodNode
private static final ConstantExpression
private static final ConstantExpression
private static final ConstantExpression
private final StaticCompilationTransformer
private int

Constructor Summary

AccessConstructor and Description
public
BinaryExpressionTransformer(final StaticCompilationTransformer staticCompilationTransformer)

Method Summary

Modifier and TypeMethod and Description
private static Object
convertConstant(final Number source, final ClassNode target)

private static Expression
convertInOperatorToTernary(final BinaryExpression bin, final Expression rightExpression, final Expression leftExpression)

private ClassNode
findType(final Expression expression)

private static boolean
private static DeclarationExpression
optimizeConstantInitialization(final BinaryExpression originalDeclaration, final Token operation, final ConstantExpression constant, final Expression leftExpression, final ClassNode declarationType)

private static Expression
transformAssignmentToSetterCall(final Expression receiver, final MethodNode setterMethod, final Expression valueExpression, final boolean implicitThis, final boolean safeNavigation, final Expression nameExpression, final Expression binaryExpression)

Adapter for StaticPropertyAccessHelper#transformToSetterCall.

public Expression
private static Expression
private static Character
private static BinaryExpression
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

COMPARE_TO_METHODback to summary
private static final MethodNode COMPARE_TO_METHOD
CONSTANT_MINUS_ONEback to summary
private static final ConstantExpression CONSTANT_MINUS_ONE
CONSTANT_ONEback to summary
private static final ConstantExpression CONSTANT_ONE
CONSTANT_ZEROback to summary
private static final ConstantExpression CONSTANT_ZERO
staticCompilationTransformerback to summary
private final StaticCompilationTransformer staticCompilationTransformer
tmpVarCounterback to summary
private int tmpVarCounter

Constructor Detail

BinaryExpressionTransformerback to summary
public BinaryExpressionTransformer(final StaticCompilationTransformer staticCompilationTransformer)

Method Detail

convertConstantback to summary
private static Object convertConstant(final Number source, final ClassNode target)
convertInOperatorToTernaryback to summary
private static Expression convertInOperatorToTernary(final BinaryExpression bin, final Expression rightExpression, final Expression leftExpression)
findTypeback to summary
private ClassNode findType(final Expression expression)
hasCharTypeback to summary
private static boolean hasCharType(PropertyExpression pe)
optimizeConstantInitializationback to summary
private static DeclarationExpression optimizeConstantInitialization(final BinaryExpression originalDeclaration, final Token operation, final ConstantExpression constant, final Expression leftExpression, final ClassNode declarationType)
transformAssignmentToSetterCallback to summary
private static Expression transformAssignmentToSetterCall(final Expression receiver, final MethodNode setterMethod, final Expression valueExpression, final boolean implicitThis, final boolean safeNavigation, final Expression nameExpression, final Expression binaryExpression)

Adapter for StaticPropertyAccessHelper#transformToSetterCall.

transformBinaryExpressionback to summary
public Expression transformBinaryExpression(final BinaryExpression bin)
transformDeclarationExpressionback to summary
private static Expression transformDeclarationExpression(final BinaryExpression bin)
tryCharConstantback to summary
private static Character tryCharConstant(final Expression expr)
tryOptimizeCharComparisonback to summary
private static BinaryExpression tryOptimizeCharComparison(final Expression left, final Expression right, final BinaryExpression bin)