jellyj.syntaxtree
Class AssignmentNode

jellyj.syntaxtree.SyntaxTreeNode
  |
  +--jellyj.syntaxtree.ExpressionNode
        |
        +--jellyj.syntaxtree.AssignmentNode
Direct Known Subclasses:
AssignmentAttemptNode

public class AssignmentNode
extends ExpressionNode


Field Summary
 ExpressionNodeleft_d
           
 intoperator_d
           
 AssignmentNodeparent_d
          This pointer is only set if my parent node is also an assignment.
 ExpressionNoderight_d
           

Fields inherited from class jellyj.syntaxtree.ExpressionNode
falseList_d, leftValue_d, statementExp_d, trueList_d, type_d

Fields inherited from class jellyj.syntaxtree.SyntaxTreeNode
column_d, line_d

Constructor Summary
AssignmentNode()
           
AssignmentNode(ExpressionNode left, ExpressionNode right)
           

Method Summary
 voidtranslate(ClassGen classGen, MethodGen methodGen)
           
 BranchHandletranslateSynthesized(ClassGen classGen, MethodGen methodGen)
           
 TypetypeCheck(SymbolTable stable)
           

Methods inherited from class jellyj.syntaxtree.ExpressionNode
addFalseList, addTrueList, appendToFalseList, appendToTrueList, backPatch, desynthesize, evaluate, evaluateExp, leftValue, lookupPrimop, superExp, synthesize, thisExp, thisOrSuperExp, type, typeExp, variableExp

Field Detail

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
Constructor Detail

AssignmentNode

public AssignmentNode()

AssignmentNode

public AssignmentNode(ExpressionNode left, ExpressionNode right)
Method Detail

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

Association Links

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.