org.extendj.ast
node type AddExpr

General Info

Production
AddExpr : AdditiveExpr;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.Expr
              extended by org.extendj.ast.Binary
                  extended by org.extendj.ast.ArithmeticExpr
                      extended by org.extendj.ast.AdditiveExpr
                          extended by org.extendj.ast.AddExpr
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

Source
Declared in /home/jesper/git/extendj/java4/grammar/Java.ast at line 155

Member Filters

API level:

Aspect:

Constructors

public AddExpr()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public AddExpr(Expr p0,
               Expr p1)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 13

Attributes

@ASTNodeAnnotation.Attribute
syn org.extendj.ast.Constant constant()
Overrides:constant in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ConstantExpression.jrag at line 32
Aspect
ConstantExpression
@ASTNodeAnnotation.Attribute
syn java.lang.String printOp()
The operator string used for pretty printing this expression.
Specified by:printOp in class Binary
Source
Declared in /home/jesper/git/extendj/java4/frontend/PrettyPrintUtil.jrag at line 270
Aspect
PrettyPrintUtil
Overrides:type in class AdditiveExpr
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 302
Aspect
TypeAnalysis
Overrides:isStringAdd in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 119
Aspect
InnerClasses
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 122
Aspect
InnerClasses
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 123
Aspect
InnerClasses

Methods

public void typeCheck()
Overrides:typeCheck in class AdditiveExpr
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 204
Aspect
TypeCheck
public void createBCode(org.extendj.ast.CodeGeneration gen)
Overrides:createBCode in class Binary
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 984
Aspect
CreateBCode
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class AdditiveExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class AdditiveExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 20
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class AdditiveExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 26
public void flushAttrCache()
Overrides:flushAttrCache in class AdditiveExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 32
public void flushCollectionCache()
Overrides:flushCollectionCache in class AdditiveExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 39
public void flushRewriteCache()
Overrides:flushRewriteCache in class AdditiveExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 45
public AddExpr clone()
              throws java.lang.CloneNotSupportedException
Overrides:clone in class AdditiveExpr
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 51
public AddExpr copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 58
@Deprecated
public AddExpr fullCopy()
Deprecated. Please use treeCopy or treeCopyNoTransform instead

Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.

Specified by:fullCopy in class AdditiveExpr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 77
public AddExpr treeCopyNoTransform()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Specified by:treeCopyNoTransform in class AdditiveExpr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 87
public AddExpr treeCopy()
Create a deep copy of the AST subtree at this node. The subtree of this node is traversed to trigger rewrites before copy. The copy is dangling, i.e. has no parent.
Specified by:treeCopy in class AdditiveExpr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 107
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 114
public void setLeftOperand(Expr node)
Replaces the LeftOperand child.
Overrides:setLeftOperand in class AdditiveExpr
Parameters:
node - The new node to replace the LeftOperand child.
Retrieves the LeftOperand child.
Overrides:getLeftOperand in class AdditiveExpr
Returns:
The current node used as the LeftOperand child.
Retrieves the LeftOperand child.

This method does not invoke AST transformations.

Overrides:getLeftOperandNoTransform in class AdditiveExpr
Returns:
The current node used as the LeftOperand child.
public void setRightOperand(Expr node)
Replaces the RightOperand child.
Overrides:setRightOperand in class AdditiveExpr
Parameters:
node - The new node to replace the RightOperand child.
Retrieves the RightOperand child.
Overrides:getRightOperand in class AdditiveExpr
Returns:
The current node used as the RightOperand child.
Retrieves the RightOperand child.

This method does not invoke AST transformations.

Overrides:getRightOperandNoTransform in class AdditiveExpr
Returns:
The current node used as the RightOperand child.
public TypeDecl Define_targetType(ASTNode caller,
                                  ASTNode child)
Overrides:Define_targetType in class ArithmeticExpr
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 30
protected boolean canDefine_targetType(ASTNode caller,
                                       ASTNode child)
public boolean Define_stringContext(ASTNode caller,
                                    ASTNode child)
Overrides:Define_stringContext in class Binary
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 199
protected boolean canDefine_stringContext(ASTNode caller,
                                          ASTNode child)
Overrides:rewriteTo in class AdditiveExpr

Fields

protected boolean type_computed

Inherited Members

Attributes inherited from org.extendj.ast.Binary

Attributes inherited from org.extendj.ast.Expr

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.ArithmeticExpr

Methods inherited from class org.extendj.ast.Binary

Methods inherited from class org.extendj.ast.Expr

Methods inherited from class org.extendj.ast.ASTNode

Methods inherited from class beaver.Symbol

getColumn
getEnd
getId
getLine
getStart
makePosition

Methods inherited from class java.lang.Object

equals
finalize
getClass
hashCode
notify
notifyAll
wait
wait
wait

Fields inherited from org.extendj.ast.Binary

Fields inherited from org.extendj.ast.Expr

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value