|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--antlr.BaseAST | +--antlr.CommonAST | +--junc.ast.JUnCASTNode | +--junc.ast.ExpressionNode | +--junc.ast.FieldExpNode
Field Summary | |
junc.ast.FieldDeclarationNode |
astNode
A reference to the AST node. |
int |
index
The index in the fields vector where the name was found. |
junc.ast.ExpressionNode |
left
A ref to the expression to the left of the dot. |
junc.ast.MethodDeclarationNode |
methodNode
A ref to the AST node of the method where the field is being accessed. |
junc.symtab.Symbol |
name
Name of the field being accessed. |
Fields inherited from class junc.ast.ExpressionNode |
falseList, leftValue, statementExpression, trueList, type |
Fields inherited from class antlr.BaseAST |
down, right |
Constructor Summary | |
FieldExpNode(junc.ast.ExpressionNode left,
java.lang.String name,
junc.ast.MethodDeclarationNode mnode)
|
|
FieldExpNode(junc.ast.ExpressionNode left,
junc.symtab.Symbol name,
junc.ast.MethodDeclarationNode mnode)
|
Method Summary | |
java.math.BigDecimal |
evaluate(junc.symtab.SymbolTable stable)
Describe evaluate method here. |
void |
translate(org.apache.bcel.generic.ClassGen classGen,
org.apache.bcel.generic.MethodGen methodGen)
Describe translate method here. |
org.apache.bcel.generic.BranchHandle |
translateSynthesized(org.apache.bcel.generic.ClassGen classGen,
org.apache.bcel.generic.MethodGen methodGen)
First translate the expression and then synthesize it. |
junc.types.JUnCBaseType |
typeCheck(junc.symtab.SymbolTable stable)
Describe typeCheck method here. |
Methods inherited from class junc.ast.ExpressionNode |
addFalseList, addTrueList, appendToFalseList, appendToTrueList, backPatch, desynthesize, evaluateExp, leftValue, lookupPrimop, superExp, synthesize, thisExp, thisOrSuperExp, type, typeExp, variableExp |
Methods inherited from class junc.ast.JUnCASTNode |
getColumnNumber, getLineNumber, setColumnNumber, setLineNumber |
Methods inherited from class antlr.CommonAST |
getText, getType, initialize, initialize, initialize, setText, setType |
Methods inherited from class antlr.BaseAST |
addChild, decode, encode, equals, equalsList, equalsListPartial, equalsTree, equalsTreePartial, findAll, findAllPartial, getFirstChild, getNextSibling, removeChildren, setFirstChild, setNextSibling, setVerboseStringConversion, toString, toStringList, toStringTree, xmlSerialize, xmlSerializeNode, xmlSerializeRootClose, xmlSerializeRootOpen |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public junc.symtab.Symbol name
public junc.ast.ExpressionNode left
public junc.ast.FieldDeclarationNode astNode
public int index
public junc.ast.MethodDeclarationNode methodNode
Constructor Detail |
public FieldExpNode(junc.ast.ExpressionNode left, junc.symtab.Symbol name, junc.ast.MethodDeclarationNode mnode)
public FieldExpNode(junc.ast.ExpressionNode left, java.lang.String name, junc.ast.MethodDeclarationNode mnode)
Method Detail |
public java.math.BigDecimal evaluate(junc.symtab.SymbolTable stable) throws NotConstantException
ExpressionNode
evaluate
method here.
evaluate
in class ExpressionNode
stable
- a SymbolTable
value
BigDecimal
value
NotConstantException
- if an error occurspublic junc.types.JUnCBaseType typeCheck(junc.symtab.SymbolTable stable) throws TypeCheckError
ExpressionNode
typeCheck
method here.
typeCheck
in class ExpressionNode
stable
- a SymbolTable
value
JUnCBaseType
value
TypeCheckError
- if an error occurspublic org.apache.bcel.generic.BranchHandle translateSynthesized(org.apache.bcel.generic.ClassGen classGen, org.apache.bcel.generic.MethodGen methodGen)
ExpressionNode
translateSynthesized
in class ExpressionNode
classGen
- a ClassGen
valuemethodGen
- a MethodGen
value
BranchHandle
valuepublic void translate(org.apache.bcel.generic.ClassGen classGen, org.apache.bcel.generic.MethodGen methodGen)
ExpressionNode
translate
method here.
translate
in class ExpressionNode
classGen
- a ClassGen
valuemethodGen
- a MethodGen
value
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |