jltools.ext.jl.ast
Class Conditional_c

java.lang.Object
  |
  +--jltools.ext.jl.ast.Node_c
        |
        +--jltools.ext.jl.ast.Expr_c
              |
              +--jltools.ext.jl.ast.Conditional_c
All Implemented Interfaces:
java.lang.Cloneable, Conditional, Copy, Expr, Node, Prefix, Receiver, java.io.Serializable, Typed

public class Conditional_c
extends Expr_c
implements Conditional

A Conditional is a representation of a Java ternary expression (cond ? consequent : alternative).

See Also:
Serialized Form

Inner classes inherited from class jltools.ext.jl.ast.Node_c
Node_c.StringCodeWriter
 
Field Summary
protected  Expr alternative
           
protected  Expr cond
           
protected  Expr consequent
           
 
Fields inherited from class jltools.ext.jl.ast.Expr_c
type
 
Fields inherited from class jltools.ext.jl.ast.Node_c
ext, position
 
Constructor Summary
Conditional_c(Ext ext, Position pos, Expr cond, Expr consequent, Expr alternative)
           
 
Method Summary
 Expr alternative()
          Get the alternative of the expression.
 Conditional alternative(Expr alternative)
          Set the alternative of the expression.
 Expr cond()
          Get the conditional of the expression.
 Conditional cond(Expr cond)
          Set the conditional of the expression.
 Expr consequent()
          Get the consequent of the expression.
 Conditional consequent(Expr consequent)
          Set the consequent of the expression.
 Precedence precedence()
          Get the precedence of the expression.
protected  Conditional_c reconstruct(Expr cond, Expr consequent, Expr alternative)
          Reconstruct the expression.
 java.lang.String toString()
           
 void translate_(CodeWriter w, Translator tr)
          Write the expression to an output file.
 Node typeCheck_(TypeChecker tc)
          Type check the expression.
 Node visitChildren(NodeVisitor v)
          Visit the children of the expression.
 
Methods inherited from class jltools.ext.jl.ast.Expr_c
buildTypes_, dump, reconstructTypes_, translateSubexpr, type, type
 
Methods inherited from class jltools.ext.jl.ast.Node_c
buildTypes, buildTypesOverride_, buildTypesOverride, copy, disambiguate_, disambiguate, disambiguateOverride_, disambiguateOverride, disambiguateTypes_, disambiguateTypes, disambiguateTypesOverride_, disambiguateTypesOverride, enterScope, exceptionCheck_, exceptionCheck, exceptionCheckOverride_, exceptionCheckOverride, ext, ext, foldConstants_, foldConstants, foldConstantsOverride_, foldConstantsOverride, leaveScope, position, position, reconstructTypes, translate, translateBlock, translateSubstmt, typeCheck, typeCheckOverride_, typeCheckOverride, visit, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jltools.ast.Expr
type
 
Methods inherited from interface jltools.ast.Node
buildTypes_, buildTypesOverride_, copy, disambiguate_, disambiguateOverride_, disambiguateTypes_, disambiguateTypesOverride_, dump, enterScope, exceptionCheck_, exceptionCheckOverride_, ext, ext, foldConstants_, foldConstantsOverride_, leaveScope, position, position, reconstructTypes_, typeCheckOverride_, visit
 
Methods inherited from interface jltools.ast.Typed
type
 

Field Detail

cond

protected Expr cond

consequent

protected Expr consequent

alternative

protected Expr alternative
Constructor Detail

Conditional_c

public Conditional_c(Ext ext,
                     Position pos,
                     Expr cond,
                     Expr consequent,
                     Expr alternative)
Method Detail

precedence

public Precedence precedence()
Get the precedence of the expression.
Specified by:
precedence in interface Expr
Overrides:
precedence in class Expr_c

cond

public Expr cond()
Get the conditional of the expression.
Specified by:
cond in interface Conditional

cond

public Conditional cond(Expr cond)
Set the conditional of the expression.
Specified by:
cond in interface Conditional

consequent

public Expr consequent()
Get the consequent of the expression.
Specified by:
consequent in interface Conditional

consequent

public Conditional consequent(Expr consequent)
Set the consequent of the expression.
Specified by:
consequent in interface Conditional

alternative

public Expr alternative()
Get the alternative of the expression.
Specified by:
alternative in interface Conditional

alternative

public Conditional alternative(Expr alternative)
Set the alternative of the expression.
Specified by:
alternative in interface Conditional

reconstruct

protected Conditional_c reconstruct(Expr cond,
                                    Expr consequent,
                                    Expr alternative)
Reconstruct the expression.

visitChildren

public Node visitChildren(NodeVisitor v)
Visit the children of the expression.
Specified by:
visitChildren in interface Node
Overrides:
visitChildren in class Node_c

typeCheck_

public Node typeCheck_(TypeChecker tc)
                throws SemanticException
Type check the expression.
Specified by:
typeCheck_ in interface Node
Overrides:
typeCheck_ in class Node_c

toString

public java.lang.String toString()
Overrides:
toString in class Node_c

translate_

public void translate_(CodeWriter w,
                       Translator tr)
Write the expression to an output file.
Specified by:
translate_ in interface Node
Overrides:
translate_ in class Node_c
Following copied from interface: jltools.ast.Node
Parameters:
w - The code writer to which to write.
tr - The translation pass. This is not a visitor.