|
||||||||||
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.JBinaryExpression
at.dms.kjc.JAssignmentExpression
at.dms.kjc.JCompoundAssignmentExpression
public class JCompoundAssignmentExpression
JLS 15.26.2 : Compound Assignment Operator.
Field Summary | |
---|---|
protected int |
oper
|
Fields inherited from class at.dms.kjc.JBinaryExpression |
---|
left, right, type |
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 |
JCompoundAssignmentExpression()
|
|
JCompoundAssignmentExpression(TokenReference where,
int oper,
JExpression left,
JExpression right)
Construct a node in the parsing tree This method is directly called by the parser Supported operators are Constants.OPE_PLUS, Constants.OPE_MINUS, Constants.OPE_STAR, Constants.OPE_SLASH, Constants.OPE_PERCENT, Constants.OPE_SL, Constants.OPE_SR, Constants.OPE_BSR, Constants.OPE_BAND, Constants.OPE_BOR, Constants.OPE_BXOR |
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(JCompoundAssignmentExpression other)
Clones all fields of this into |
|
void |
genCode(CodeSequence code,
boolean discardValue)
Generates JVM bytecode to evaluate this expression. |
|
int |
getOper()
get value of oper |
|
int |
getOperation()
Get operation of this. |
|
boolean |
isStatementExpression()
Returns true iff this expression can be used as a statement (JLS 14.8) |
|
String |
toString()
Returns a string representation of this object. |
Methods inherited from class at.dms.kjc.JAssignmentExpression |
---|
deepCloneInto, getCopyVar, setCopyVar |
Methods inherited from class at.dms.kjc.JBinaryExpression |
---|
constantFolding, deepCloneInto, genBooleanResultCode, genBranch, genBranch, getLeft, getRight, getType, setLeft, setRight, setType |
Methods inherited from class at.dms.kjc.JExpression |
---|
booleanValue, byteValue, charValue, convertType, convertType, deepCloneInto, doubleValue, fail, floatValue, 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 int oper
Constructor Detail |
---|
protected JCompoundAssignmentExpression()
public JCompoundAssignmentExpression(TokenReference where, int oper, JExpression left, JExpression right)
where
- the line of this node in the source codeoper
- the assignment operatorleft
- the left operandright
- the right operandMethod Detail |
---|
public boolean isStatementExpression()
isStatementExpression
in class JAssignmentExpression
public int getOper()
public JExpression analyse(CExpressionContext context) throws PositionedError
analyse
in class JAssignmentExpression
context
- the analysis context
PositionedError
- the analysis detected an errorpublic void accept(KjcVisitor p)
accept
in class JAssignmentExpression
p
- the visitorpublic Object accept(AttributeVisitor p)
accept
in class JAssignmentExpression
p
- the visitor
public <S,T> S accept(ExpressionVisitor<S,T> p, T o)
accept
in class JAssignmentExpression
S
- 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 JAssignmentExpression
code
- the bytecode sequencediscardValue
- discard the result of the evaluation ?public String toString()
toString
in class JAssignmentExpression
public int getOperation()
public Object deepClone()
deepClone
in interface DeepCloneable
deepClone
in class JAssignmentExpression
protected void deepCloneInto(JCompoundAssignmentExpression other)
other
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |