|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectat.dms.util.Utils
at.dms.compiler.Phylum
at.dms.kjc.JPhylum
at.dms.kjc.JExpression
at.dms.kjc.JConditionalExpression
public class JConditionalExpression
JLS 15.25 Conditional Operator ? :
| Field Summary |
|---|
| Fields inherited from class at.dms.kjc.JExpression |
|---|
EMPTY |
| Fields inherited from class at.dms.util.Utils |
|---|
EMPTY_LIST, getForLoopCallers |
| Fields inherited from interface at.dms.kjc.Constants |
|---|
CMP_VERSION, JAV_CLASS, JAV_CLONE, JAV_CLONEABLE, JAV_CONSTRUCTOR, JAV_ERROR, JAV_EXCEPTION, JAV_INIT, JAV_LENGTH, JAV_NAME_SEPARATOR, JAV_OBJECT, JAV_OUTER_THIS, JAV_RUNTIME, JAV_RUNTIME_EXCEPTION, JAV_STATIC_INIT, JAV_STRING, JAV_STRINGBUFFER, JAV_THIS, JAV_THROWABLE, OPE_BAND, OPE_BNOT, OPE_BOR, OPE_BSR, OPE_BXOR, OPE_EQ, OPE_GE, OPE_GT, OPE_LE, OPE_LNOT, OPE_LT, OPE_MINUS, OPE_NE, OPE_PERCENT, OPE_PLUS, OPE_POSTDEC, OPE_POSTINC, OPE_PREDEC, OPE_PREINC, OPE_SIMPLE, OPE_SL, OPE_SLASH, OPE_SR, OPE_STAR, TID_ARRAY, TID_BIT, TID_BOOLEAN, TID_BYTE, TID_CHAR, TID_CLASS, TID_DOUBLE, TID_FLOAT, TID_INT, TID_LONG, TID_SHORT, TID_VECTOR, TID_VOID, VECTOR_EMPTY |
| Constructor Summary | |
|---|---|
protected |
JConditionalExpression()
|
|
JConditionalExpression(TokenReference where,
JExpression cond,
JExpression left,
JExpression right)
Construct a node in the parsing tree This method is directly called by the parser |
| Method Summary | ||
|---|---|---|
Object |
accept(AttributeVisitor p)
Accepts the specified attribute visitor |
|
|
accept(ExpressionVisitor<S,T> p,
T o)
Accepts the specified visitor |
|
void |
accept(KjcVisitor p)
Accepts the specified visitor |
|
JExpression |
analyse(CExpressionContext context)
Analyses the expression (semantically). |
|
Object |
deepClone()
Returns a deep clone of this object. |
|
protected void |
deepCloneInto(JConditionalExpression other)
Clones all fields of this into |
|
void |
genCode(CodeSequence code,
boolean discardValue)
Generates JVM bytecode to evaluate this expression. |
|
JExpression |
getCond()
|
|
JExpression |
getLeft()
|
|
JExpression |
getRight()
|
|
CType |
getType()
Compute the type of this expression (called after parsing) |
|
void |
setCond(JExpression c)
|
|
void |
setCondition(JExpression condition)
|
|
void |
setLeft(JExpression left)
|
|
void |
setRight(JExpression right)
|
|
void |
setType(CType type)
Set the type of this expression. |
|
String |
toString()
Returns a string representation of this literal. |
|
| Methods inherited from class at.dms.kjc.JExpression |
|---|
booleanValue, byteValue, charValue, convertType, convertType, deepCloneInto, doubleValue, fail, floatValue, genBranch, genEndStoreCode, genStartStoreCode, getIdent, getLiteral, intValue, isAssignableTo, isConstant, isDynamic, isFinal, isInitialized, isLValue, isStatementExpression, longValue, setInitialized, shortValue, stringValue |
| Methods inherited from class at.dms.kjc.JPhylum |
|---|
assertMutable, check, check, check, check, deepCloneInto, setLineNumber |
| Methods inherited from class at.dms.compiler.Phylum |
|---|
deepCloneInto, getTokenReference, setTokenReference |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
protected JConditionalExpression()
public JConditionalExpression(TokenReference where,
JExpression cond,
JExpression left,
JExpression right)
where - the line of this node in the source codecond - the condition operandleft - the left operandright - the right operand| Method Detail |
|---|
public CType getType()
getType in class JExpressionpublic void setType(CType type)
JExpression
setType in class JExpressiontype - the CType to set.public JExpression getCond()
public JExpression getLeft()
public void setLeft(JExpression left)
public JExpression getRight()
public void setRight(JExpression right)
public String toString()
toString in class Object
public JExpression analyse(CExpressionContext context)
throws PositionedError
analyse in class JExpressioncontext - the analysis context
PositionedError - the analysis detected an errorpublic void accept(KjcVisitor p)
accept in class JExpressionp - the visitorpublic Object accept(AttributeVisitor p)
accept in class JExpressionp - the visitor
public <S,T> S accept(ExpressionVisitor<S,T> p,
T o)
accept in class JExpressionS - output typeT - auxilliary input typep - the visitoro - object containing extra data to be passed to visitor
public void genCode(CodeSequence code,
boolean discardValue)
genCode in class JExpressioncode - the bytecode sequencediscardValue - discard the result of the evaluation ?public void setCond(JExpression c)
public void setCondition(JExpression condition)
public Object deepClone()
deepClone in interface DeepCloneabledeepClone in class JExpressionprotected void deepCloneInto(JConditionalExpression other)
other
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||