Top Description Fields Constructors Methods
org.codehaus.groovy.transform.trait

pack-priv Class NAryOperationRewriter

extends ClassCodeExpressionTransformer
Class Inheritance
Imports
org.codehaus.groovy.ast.ClassCodeExpressionTransformer, .FieldNode, .Variable, org.codehaus.groovy.ast.expr.BinaryExpression, .Expression, .PostfixExpression, .PrefixExpression, .PropertyExpression, .VariableExpression, org.codehaus.groovy.control.SourceUnit, org.codehaus.groovy.syntax.SyntaxException, .Token, .TokenUtil, java.util.Collection

Rewrites some expressions found in traits so that they are compatible. For example, x++ will be rewritten into x = x + 1 and x += y into x = x + y

Field Summary

Modifier and TypeField and Description
private final Collection<String>
private final SourceUnit

Constructor Summary

AccessConstructor and Description
public
NAryOperationRewriter(final SourceUnit sourceUnit, final Collection<String> knownFields)

Method Summary

Modifier and TypeMethod and Description
protected SourceUnit
private boolean
public Expression
private Expression
private Expression
private Expression
Inherited from org.codehaus.groovy.ast.ClassCodeExpressionTransformer:
setSourcePositionvisitAnnotationvisitAssertStatementvisitCaseStatementvisitConstructorOrMethodvisitDoWhileLoopvisitExpressionStatementvisitFieldvisitForLoopvisitIfElsevisitPropertyvisitReturnStatementvisitSwitchvisitSynchronizedStatementvisitThrowStatementvisitWhileLoop

Field Detail

knownFieldsback to summary
private final Collection<String> knownFields
sourceUnitback to summary
private final SourceUnit sourceUnit

Constructor Detail

NAryOperationRewriterback to summary
public NAryOperationRewriter(final SourceUnit sourceUnit, final Collection<String> knownFields)

Method Detail

getSourceUnitback to summary
protected SourceUnit getSourceUnit()

Implements abstract org.codehaus.groovy.ast.ClassCodeVisitorSupport.getSourceUnit.

Annotations
@Override
isInternalFieldAccessback to summary
private boolean isInternalFieldAccess(final Expression exp)
transformback to summary
public Expression transform(final Expression exp)

Overrides org.codehaus.groovy.ast.ClassCodeExpressionTransformer.transform.

Implements org.codehaus.groovy.ast.expr.ExpressionTransformer.transform.

Doc from org.codehaus.groovy.ast.expr.ExpressionTransformer.transform.

Transforms the given expression into another expression

Annotations
@Override
transformBinaryExpressionback to summary
private Expression transformBinaryExpression(final BinaryExpression exp)
transformPostfixExpressionback to summary
private Expression transformPostfixExpression(final PostfixExpression exp)
transformPrefixExpressionback to summary
private Expression transformPrefixExpression(final PrefixExpression exp)