org.extendj.ast
node type OrLogicalExpr

General Info

Production
OrLogicalExpr : LogicalExpr;
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.LogicalExpr
                      extended by org.extendj.ast.OrLogicalExpr
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 170

Member Filters

API level:

Aspect:

Constructors

public OrLogicalExpr()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public OrLogicalExpr(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 boolean isDAafterTrue(org.extendj.ast.Variable v)
Overrides:isDAafterTrue in class Binary
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 442
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDAafterFalse(org.extendj.ast.Variable v)
Overrides:isDAafterFalse in class Binary
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 443
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDAafter(org.extendj.ast.Variable v)
Overrides:isDAafter in class Binary
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 261
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDUafterTrue(org.extendj.ast.Variable v)
Overrides:isDUafterTrue in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 791
Aspect
DU
@ASTNodeAnnotation.Attribute
syn boolean isDUafterFalse(org.extendj.ast.Variable v)
Overrides:isDUafterFalse in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 792
Aspect
DU
@ASTNodeAnnotation.Attribute
syn boolean isDUafter(org.extendj.ast.Variable v)
Overrides:isDUafter in class Binary
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 788
Aspect
DU
@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:canBeTrue in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1022
Aspect
CreateBCode
Overrides:canBeFalse in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1034
Aspect
CreateBCode

Methods

public void branchTrue(org.extendj.ast.CodeGeneration gen,
                       int target)
Description copied from class: ExprGenerate unboxing code for conditions 14.9 If, 14.12 While, 14.13 Do, 14.14 For branchTrue is used to emit the condition from these constructs refine behavior to include unboxing of the value when needed
Overrides:branchTrue in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1157
Aspect
CreateBCode
public void branchFalse(org.extendj.ast.CodeGeneration gen,
                        int target)
Overrides:branchFalse in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1267
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 LogicalExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class LogicalExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 20
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class LogicalExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 26
public void flushAttrCache()
Overrides:flushAttrCache in class LogicalExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 32
public void flushCollectionCache()
Overrides:flushCollectionCache in class LogicalExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 42
public void flushRewriteCache()
Overrides:flushRewriteCache in class LogicalExpr
Source
Declared in /home/jesper/git/extendj/ASTNode at line 48
public OrLogicalExpr clone()
                    throws java.lang.CloneNotSupportedException
Overrides:clone in class LogicalExpr
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 54
public OrLogicalExpr copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 61
@Deprecated
public OrLogicalExpr 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 LogicalExpr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 80
public OrLogicalExpr 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 LogicalExpr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 90
public OrLogicalExpr 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 LogicalExpr
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 110
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 117
public void setLeftOperand(Expr node)
Replaces the LeftOperand child.
Overrides:setLeftOperand in class LogicalExpr
Parameters:
node - The new node to replace the LeftOperand child.
Retrieves the LeftOperand child.
Overrides:getLeftOperand in class LogicalExpr
Returns:
The current node used as the LeftOperand child.
Retrieves the LeftOperand child.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Overrides:getRightOperandNoTransform in class LogicalExpr
Returns:
The current node used as the RightOperand child.
public boolean Define_isDAbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDAbefore in class Binary
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 255
protected boolean canDefine_isDAbefore(ASTNode caller,
                                       ASTNode child,
                                       org.extendj.ast.Variable v)
public boolean Define_isDUbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDUbefore in class Binary
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 779
protected boolean canDefine_isDUbefore(ASTNode caller,
                                       ASTNode child,
                                       org.extendj.ast.Variable v)
Overrides:rewriteTo in class LogicalExpr

Fields

protected java.util.Map isDAafterTrue_Variable_values
protected java.util.Map isDAafterFalse_Variable_values
protected java.util.Map isDAafter_Variable_values
protected java.util.Map isDUafter_Variable_values

Inherited Members

Attributes inherited from org.extendj.ast.LogicalExpr

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.LogicalExpr

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.LogicalExpr

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