|
||||||||||
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.SIRRangeExpression
public class SIRRangeExpression
This represents a range [min,average,max], e.g., [1,2,3] or [1,*,*] as used in the declaration of an I/O rate.
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 | |
---|---|
SIRRangeExpression(JExpression min,
JExpression ave,
JExpression max)
|
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(SIRRangeExpression other)
Clones all fields of this into |
|
void |
genCode(CodeSequence code,
boolean discardValue)
Generates JVM bytecode to evaluate this expression. |
|
JExpression |
getAve()
Returns average of the range. |
|
JExpression |
getMax()
Returns maximum of the range. |
|
JExpression |
getMin()
Returns minimum of the range. |
|
CType |
getType()
Ranges are for integers. |
|
boolean |
isDynamic()
Returns true only for SIRRangeExpressions, which represent a dynamic range of values. |
|
void |
setAve(JExpression ave)
Sets average of the range. |
|
void |
setMax(JExpression max)
Sets maximum of the range. |
|
void |
setMin(JExpression min)
Sets minimum of the range. |
|
void |
setType(CType type)
must be CStdType.Integer |
|
String |
toString()
Returns string representation as range, e.g, [1,2,3] |
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, 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 |
---|
public SIRRangeExpression(JExpression min, JExpression ave, JExpression max)
Method Detail |
---|
public JExpression getMin()
public JExpression getAve()
public JExpression getMax()
public void setMin(JExpression min)
public void setAve(JExpression ave)
public void setMax(JExpression max)
public CType getType()
getType
in class JExpression
public void setType(CType type)
setType
in class JExpression
type
- the CType to set.public void accept(KjcVisitor p)
accept
in class JExpression
p
- the visitorpublic Object accept(AttributeVisitor p)
accept
in class JExpression
p
- the visitor
public <S,T> S accept(ExpressionVisitor<S,T> p, T o)
accept
in class JExpression
S
- output typeT
- auxilliary input typep
- the visitoro
- object containing extra data to be passed to visitor
public String toString()
toString
in class Object
public boolean isDynamic()
isDynamic
in class JExpression
public JExpression analyse(CExpressionContext context) throws PositionedError
analyse
in class JExpression
context
- the analysis context
PositionedError
- the analysis detected an errorpublic void genCode(CodeSequence code, boolean discardValue)
genCode
in class JExpression
code
- the bytecode sequencediscardValue
- discard the result of the evaluation ?public Object deepClone()
deepClone
in interface DeepCloneable
deepClone
in class JExpression
protected void deepCloneInto(SIRRangeExpression other)
other
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |