|
||||||||||
| 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.JLocalVariableExpression
public class JLocalVariableExpression
Root class for all expressions
| 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 |
JLocalVariableExpression()
|
|
JLocalVariableExpression(JLocalVariable variable)
|
|
JLocalVariableExpression(TokenReference where,
JLocalVariable variable)
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)
Analyses the expression (semantically). |
|
Object |
deepClone()
Returns a deep clone of this object. |
|
protected void |
deepCloneInto(JLocalVariableExpression other)
Clones all fields of this into |
|
boolean |
equals(Object o)
|
|
void |
genCode(CodeSequence code,
boolean discardValue)
Generates JVM bytecode to evaluate this expression. |
|
void |
genEndStoreCode(CodeSequence code,
boolean discardValue)
Generates JVM bytecode to store a value into the storage location denoted by this expression. |
|
void |
genStartStoreCode(CodeSequence code)
Generates JVM bytecode to store a value into the storage location denoted by this expression. |
|
String |
getIdent()
Used in field access expressions, local variable expression ... |
|
JLiteral |
getLiteral()
Returns the literal value of this field |
|
int |
getPosition()
Returns the position of this variable in the sets of local vars |
|
CType |
getType()
Compute the type of this expression (called after parsing) |
|
JLocalVariable |
getVariable()
|
|
boolean |
isConstant()
Tests whether this expression denotes a compile-time constant (JLS 15.28). |
|
boolean |
isFinal()
Returns true if there must be exactly one initialization of the variable. |
|
boolean |
isInitialized(CExpressionContext context)
Returns true if this field is already initialized |
|
boolean |
isLValue(CExpressionContext context)
Returns true if this field accept assignment |
|
boolean |
myBeInitialized(CExpressionContext context)
Returns true if this field may be initialized (used for assignment) |
|
void |
setInitialized(CExpressionContext context)
Declares this variable to be initialized. |
|
void |
setType(CType type)
Delegates to internal JLocalVariable |
|
String |
toString()
|
|
| Methods inherited from class at.dms.kjc.JExpression |
|---|
booleanValue, byteValue, charValue, convertType, convertType, deepCloneInto, doubleValue, fail, floatValue, genBranch, intValue, isAssignableTo, isDynamic, isStatementExpression, longValue, 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, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
protected JLocalVariableExpression()
public JLocalVariableExpression(TokenReference where,
JLocalVariable variable)
where - the line of this node in the source codepublic JLocalVariableExpression(JLocalVariable variable)
| Method Detail |
|---|
public boolean isLValue(CExpressionContext context)
isLValue in class JExpressionpublic boolean isFinal()
isFinal in class JExpressionpublic boolean isInitialized(CExpressionContext context)
isInitialized in class JExpressionpublic boolean myBeInitialized(CExpressionContext context)
public void setInitialized(CExpressionContext context)
setInitialized in class JExpressionpublic int getPosition()
public CType getType()
getType in class JExpressionpublic void setType(CType type)
setType in class JExpressiontype - the CType to set.public String getIdent()
JExpression
getIdent in class JExpressionpublic boolean isConstant()
isConstant in class JExpressionpublic JLiteral getLiteral()
getLiteral in class JExpressionpublic JLocalVariable getVariable()
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 boolean equals(Object o)
equals in class Object
public void genCode(CodeSequence code,
boolean discardValue)
genCode in class JExpressioncode - the bytecode sequencediscardValue - discard the result of the evaluation ?public void genStartStoreCode(CodeSequence code)
genStartStoreCode in class JExpressioncode - the code list
public void genEndStoreCode(CodeSequence code,
boolean discardValue)
genEndStoreCode in class JExpressioncode - the code listdiscardValue - discard the result of the evaluation ?public String toString()
toString in class Objectpublic Object deepClone()
deepClone in interface DeepCloneabledeepClone in class JExpressionprotected void deepCloneInto(JLocalVariableExpression other)
other
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||