AST
node type ConditionalExpr

General Info

Production
ConditionalExpr : Expr ::= Condition:Expr TrueExpr:Expr FalseExpr:Expr;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by AST.ASTNode<ASTNode>
          extended by AST.Expr
              extended by AST.ConditionalExpr
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>

Description

Source
Declared in Java1.4Frontend/java.ast at line 188

Member Filters

API level:

Aspect:

Constructors

 
public ConditionalExpr(Expr p0,
                       Expr p1,
                       Expr p2)
 

Attributes

Overrides:constant in class Expr
Source
Declared in Java7Frontend/ConstantExpression.jrag at line 125
Aspect
ConstantExpression
syn boolean isConstant()
Overrides:isConstant in class Expr
Source
Declared in Java7Frontend/ConstantExpression.jrag at line 347
Aspect
ConstantExpression
syn boolean booleanOperator()
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 230
Aspect
DA
syn boolean isDAafterFalse(Variable v)
Overrides:isDAafterFalse in class Expr
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 333
Aspect
DA
syn boolean isDAafter(Variable v)
Overrides:isDAafter in class Expr
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 235
Aspect
DA
syn boolean isDUafterTrue(Variable v)
Overrides:isDUafterTrue in class Expr
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 702
Aspect
DU
syn boolean isDUafterFalse(Variable v)
Overrides:isDUafterFalse in class Expr
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 703
Aspect
DU
syn boolean isDUafter(Variable v)
Overrides:isDUafter in class Expr
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 694
Aspect
DU
syn TypeDecl type()
Specified by:type in class Expr
Source
Declared in Java1.5Frontend/Generics.jrag at line 129
Aspect
Generics
syn boolean definesLabel()
Overrides:definesLabel in class ASTNode<ASTNode>
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 946
Aspect
CreateBCode
syn boolean canBeTrue()
Overrides:canBeTrue in class Expr
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1007
Aspect
CreateBCode
syn boolean canBeFalse()
Overrides:canBeFalse in class Expr
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1017
Aspect
CreateBCode
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1065
Aspect
CreateBCode
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1066
Aspect
CreateBCode

Methods

public void flushCache()
Overrides:flushCache in class Expr
public void flushCollectionCache()
Overrides:flushCollectionCache in class Expr
public ConditionalExpr clone()
                      throws java.lang.CloneNotSupportedException
Overrides:clone in class Expr
Throws:
java.lang.CloneNotSupportedException
Overrides:copy in class ASTNode<ASTNode>
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Overrides:fullCopy in class ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
public void toString(java.lang.StringBuffer s)
Overrides:toString in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/PrettyPrint.jadd at line 427
Aspect
PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 562
Aspect
TypeCheck
public void createBCode(CodeGeneration gen)
Overrides:createBCode in class ASTNode<ASTNode>
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1042
Aspect
CreateBCode
public void emitEvalBranch(CodeGeneration gen)
Overrides:emitEvalBranch in class Expr
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1108
Aspect
CreateBCode
Overrides:emitBooleanCondition in class Expr
Source
Declared in Java1.5Backend/AutoBoxingCodegen.jrag at line 385
Aspect
AutoBoxingCodegen
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class Expr
protected int numChildren()
Overrides:numChildren in class Expr
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Expr
public void setCondition(Expr node)
Replaces the Condition child.
Parameters:
node - The new node to replace the Condition child.
Retrieves the Condition child.
Returns:
The current node used as the Condition child.
Retrieves the Condition child.

This method does not invoke AST transformations.

Returns:
The current node used as the Condition child.
public void setTrueExpr(Expr node)
Replaces the TrueExpr child.
Parameters:
node - The new node to replace the TrueExpr child.
public Expr getTrueExpr()
Retrieves the TrueExpr child.
Returns:
The current node used as the TrueExpr child.
Retrieves the TrueExpr child.

This method does not invoke AST transformations.

Returns:
The current node used as the TrueExpr child.
public void setFalseExpr(Expr node)
Replaces the FalseExpr child.
Parameters:
node - The new node to replace the FalseExpr child.
Retrieves the FalseExpr child.
Returns:
The current node used as the FalseExpr child.
Retrieves the FalseExpr child.

This method does not invoke AST transformations.

Returns:
The current node used as the FalseExpr child.
public boolean isDAafterTrue(Variable v)
public boolean Define_boolean_isDAbefore(ASTNode caller,
                                         ASTNode child,
                                         Variable v)
Overrides:Define_boolean_isDAbefore in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 387
public boolean Define_boolean_isDUbefore(ASTNode caller,
                                         ASTNode child,
                                         Variable v)
Overrides:Define_boolean_isDUbefore in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 823
Overrides:Define_int_condition_false_label in class ASTNode<ASTNode>
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 989
public int Define_int_condition_true_label(ASTNode caller,
                                           ASTNode child)
Overrides:Define_int_condition_true_label in class ASTNode<ASTNode>
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 990
Overrides:rewriteTo in class Expr

Fields

protected boolean constant_computed
protected boolean isConstant_computed
protected boolean isConstant_value
protected boolean booleanOperator_computed
protected boolean booleanOperator_value
protected boolean type_computed
protected boolean else_branch_label_computed
protected boolean then_branch_label_computed

Inherited Members

Attributes inherited from AST.Expr

Attributes inherited from AST.ASTNode

Methods inherited from class AST.Expr

Methods inherited from class 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 AST.Expr

Fields inherited from AST.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value