|
||||||||||
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.JMethodCallExpression
public class JMethodCallExpression
JLS 15.12 Method Invocation Expressions
Field Summary | |
---|---|
protected JExpression[] |
args
|
protected String |
ident
|
protected CMethod |
method
|
protected JExpression |
prefix
|
protected CType |
tapeType
|
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 |
JMethodCallExpression()
|
|
JMethodCallExpression(String ident,
JExpression[] args)
|
|
JMethodCallExpression(TokenReference where,
JExpression prefix,
String ident,
JExpression[] args)
Construct a node in the parsing tree This method is directly called by the parser |
|
JMethodCallExpression(TokenReference where,
String ident,
JExpression[] args)
Construct a node with default prefix of This. |
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 |
|
void |
addArgFirst(JExpression arg)
Adds |
|
JExpression |
analyse(CExpressionContext context)
Analyses the expression (semantically). |
|
Object |
deepClone()
Returns a deep clone of this object. |
|
protected void |
deepCloneInto(JMethodCallExpression other)
Clones all fields of this into |
|
void |
genCode(CodeSequence code,
boolean discardValue)
Generates JVM bytecode to evaluate this expression. |
|
JExpression[] |
getArgs()
|
|
String |
getIdent()
Used in field access expressions, local variable expression ... |
|
CMethod |
getMethod()
|
|
JExpression |
getPrefix()
|
|
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 |
setArgs(JExpression[] a)
|
|
void |
setIdent(String ident)
|
|
void |
setMethod(CMethod method)
|
|
void |
setPrefix(JExpression p)
|
|
void |
setTapeType(CType type)
|
|
void |
setType(CType type)
Set the type of this expression. |
|
String |
toString()
|
Methods inherited from class at.dms.kjc.JExpression |
---|
booleanValue, byteValue, charValue, convertType, convertType, deepCloneInto, doubleValue, fail, floatValue, genBranch, genEndStoreCode, genStartStoreCode, 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 prefix
protected String ident
protected JExpression[] args
protected CMethod method
protected CType tapeType
Constructor Detail |
---|
protected JMethodCallExpression()
public JMethodCallExpression(TokenReference where, String ident, JExpression[] args)
public JMethodCallExpression(String ident, JExpression[] args)
public JMethodCallExpression(TokenReference where, JExpression prefix, String ident, JExpression[] args)
where
- the line of this node in the source codeprefix
- an expression that is a field of a class representing a methodident
- the method identifierargs
- the argument of the callMethod Detail |
---|
public String toString()
toString
in class Object
public String getIdent()
JExpression
getIdent
in class JExpression
public CType getType()
JExpression
getType
in class JExpression
public void setType(CType type)
JExpression
setType
in class JExpression
type
- the CType to set.public boolean isStatementExpression()
isStatementExpression
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 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 void genCode(CodeSequence code, boolean discardValue)
genCode
in class JExpression
code
- the bytecode sequencediscardValue
- discard the result of the evaluation ?public CMethod getMethod()
public void setMethod(CMethod method)
public void addArgFirst(JExpression arg)
argas the first arg of this.
public JExpression[] getArgs()
public JExpression getPrefix()
public void setArgs(JExpression[] a)
public void setPrefix(JExpression p)
public void setIdent(String ident)
public void setTapeType(CType type)
public Object deepClone()
deepClone
in interface DeepCloneable
deepClone
in class JExpression
protected void deepCloneInto(JMethodCallExpression other)
other
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |