|
||||||||||
| 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.sir.SIRPeekExpression
public class SIRPeekExpression
This represents a peek expression.
| Field Summary | |
|---|---|
protected JExpression |
arg
The argument to the peek expression--the index of the item to peek. |
protected CType |
tapeType
Type of the item to peek. |
| 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 |
SIRPeekExpression()
No argument constructor, FOR AUTOMATIC CLONING ONLY. |
|
SIRPeekExpression(JExpression arg)
Construct a node in the parsing tree with null TokenReference |
|
SIRPeekExpression(JExpression arg,
CType tapeType)
|
|
SIRPeekExpression(TokenReference where,
JExpression arg)
Construct a node in the parsing tree |
| 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)
Throws an exception (NOT SUPPORTED YET) |
|
Object |
deepClone()
Returns a deep clone of this object. |
|
protected void |
deepCloneInto(SIRPeekExpression other)
Clones all fields of this into |
|
void |
genCode(CodeSequence code,
boolean discardValue)
Generates JVM bytecode to evaluate this expression. |
|
JExpression |
getArg()
Returns the argument of this. |
|
CType |
getType()
Returns the type of this expression (call after parsing only) |
|
boolean |
isStatementExpression()
Returns true iff this expression can be used as a statement (JLS 14.8) |
|
void |
setArg(JExpression arg)
Sets the arg of this. |
|
void |
setTapeType(CType type)
Sets the type of the tape being peeked at |
|
void |
setType(CType type)
Set the type of this expression. |
|
String |
toString()
Generates a nice readable version of the PeekExpression. |
|
| 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, 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 |
| Field Detail |
|---|
protected JExpression arg
protected CType tapeType
| Constructor Detail |
|---|
protected SIRPeekExpression()
public SIRPeekExpression(TokenReference where,
JExpression arg)
where - the line of this node in the source codearg - the argument of the callpublic SIRPeekExpression(JExpression arg)
arg - the argument of the call
public SIRPeekExpression(JExpression arg,
CType tapeType)
| Method Detail |
|---|
public void setTapeType(CType type)
type - the type of the tapepublic void setType(CType type)
JExpression
setType in class JExpressiontype - the CType to set.public void setArg(JExpression arg)
public JExpression getArg()
public CType getType()
JExpression
getType in class JExpressionpublic boolean isStatementExpression()
isStatementExpression in class JExpression
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 String toString()
toString in class Objectpublic Object deepClone()
deepClone in interface DeepCloneabledeepClone in class JExpressionprotected void deepCloneInto(SIRPeekExpression other)
other
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||