jellyj.syntaxtree
Class AssignmentNode
jellyj.syntaxtree.SyntaxTreeNode
|
+--jellyj.syntaxtree.ExpressionNode
|
+--jellyj.syntaxtree.AssignmentNode
- Direct Known Subclasses:
- AssignmentAttemptNode
- public class AssignmentNode
- extends ExpressionNode
Methods inherited from class jellyj.syntaxtree.ExpressionNode |
addFalseList, addTrueList, appendToFalseList, appendToTrueList, backPatch, desynthesize, evaluate, evaluateExp, leftValue, lookupPrimop, superExp, synthesize, thisExp, thisOrSuperExp, type, typeExp, variableExp |
left_d
public ExpressionNode left_d
operator_d
public int operator_d
parent_d
public AssignmentNode parent_d
- This pointer is only set if my parent node is also an assignment.
Needed to insert dups in the instruction list.
right_d
public ExpressionNode right_d
AssignmentNode
public AssignmentNode()
AssignmentNode
public AssignmentNode(ExpressionNode left, ExpressionNode right)
translate
public void translate(ClassGen classGen, MethodGen methodGen)
translateSynthesized
public BranchHandle translateSynthesized(ClassGen classGen, MethodGen methodGen)
typeCheck
public Type typeCheck(SymbolTable stable)
throws jellyj.util.TypeCheckError
to Class jellyj.syntaxtree.ExpressionNode
to Class jellyj.syntaxtree.ExpressionNode
to Class jellyj.classfile.classgen.BranchHandle
- Instruction to be back patched. Used for code generation.
to Class jellyj.syntaxtree.ExpressionNode
- Ref to the left value of the assignemnt. Needed when a cast
expression is inserted by the type checker.
to Class jellyj.syntaxtree.AssignmentNode
- This pointer is only set if my parent node is also an assignment.
Needed to insert dups in the instruction list.