openjava.ptree
Class ConditionalExpression
java.lang.Object
|
+--openjava.ptree.ParseTreeObject
|
+--openjava.ptree.NonLeaf
|
+--openjava.ptree.ConditionalExpression
- All Implemented Interfaces:
- java.lang.Cloneable, Expression, ParseTree, VariableInitializer
- public class ConditionalExpression
- extends NonLeaf
- implements Expression
The ConditionalExpression
class represents
a conditional expression like:
(i == 1) ? 3 : 4
This consists of a conditional part, true case part, and
false case part.
Each part of them is an expression.
If the operator in the expression of the operands has week unity,
this automatically produces the code in which the operands
are enclosed by parenthesises.
In the case the conditional part is f = f()
,
the true case part is "red"
and the false case part is str = "blue"
this produces the code :
(f = f()) ? "red" : (str = "blue")
- See Also:
Expression
Methods inherited from class openjava.ptree.NonLeaf |
childrenAccept, elementAt, equals, getComment, getContents, getLength, makeRecursiveCopy, replaceChildWith, set, set, set, set, set, set, set, set, set, setComment, setElementAt |
Methods inherited from class openjava.ptree.ParseTreeObject |
clone, eq, eq, equal, flushPrintWriter, getDebugFlag, getNest, getObjectID, getParent, getPrintWriter, getTab, hashCode, lastObjectID, makeCopy, popNest, popPrintWriter, pushNest, pushPrintWriter, replace, setDebugFlag, setDebugLevel, setNest, setParent, setPrintStream, setTab, toFlattenString, toString, writeDebug, writeDebugL, writeDebugLln, writeDebugln, writeDebugLR, writeDebugR, writeDebugRln, writeTab |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
ConditionalExpression
public ConditionalExpression(Expression condition,
Expression truecase,
Expression falsecase)
- Allocates a new conditional expression object.
- Parameters:
condition
- the conditional part of this expression.truecase
- the expression to be evaluated when conditional
part is true.falsecase
- the expression to be evaluated when conditional
part is false.
writeCode
public void writeCode()
- Description copied from class:
NonLeaf
- Writes the code this parse-tree presents for.
- Specified by:
writeCode
in interface ParseTree
- Overrides:
writeCode
in class NonLeaf
getCondition
public Expression getCondition()
- Gets the conditional part of this conditional expression.
- Returns:
- the expression of this conditional part.
setCondition
public void setCondition(Expression expr)
- Sets the conditional part of this conditional expression.
- Parameters:
expr
- the expression to set as this conditional part.
getTrueCase
public Expression getTrueCase()
- Gets the true case part of this conditional expression.
- Returns:
- the expression of this true case part.
setTrueCase
public void setTrueCase(Expression expr)
- Sets the true case part of this conditional expression.
- Parameters:
expr
- the expression to set as this true part.
getFalseCase
public Expression getFalseCase()
- Gets the false case part of this.
- Returns:
- the expression of this false case part.
setFalseCase
public void setFalseCase(Expression expr)
- Sets the false case part of this.
- Parameters:
expr
- the expression to set as this false part.
accept
public void accept(ParseTreeVisitor v)
throws ParseTreeException
- Description copied from interface:
ParseTree
- Accepts a
ParseTreeVisitor
object as the role of a
Visitor in the Visitor pattern, as the role of an Element in the
Visitor pattern.
This invoke an appropriate visit()
method on the
accepted visitor.
- Specified by:
accept
in interface ParseTree
- Overrides:
accept
in class ParseTreeObject
- Following copied from interface:
openjava.ptree.ParseTree
- Parameters:
visitor
- a visitor
getType
public OJClass getType(Environment env)
throws java.lang.Exception
- Specified by:
getType
in interface Expression