All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class espresso.syntaxtree.AssignmentNode

java.lang.Object
   |
   +----espresso.syntaxtree.SyntaxTreeNode
           |
           +----espresso.syntaxtree.ExpressionNode
                   |
                   +----espresso.syntaxtree.AssignmentNode

public class AssignmentNode
extends ExpressionNode

Variable Index

 o gotor_d
Instruction to be back patched.
 o left_d
 o operator_d
 o parent_d
This pointer is only set if my parent node is also an assignment.
 o realLeft_d
Ref to the left value of the assignemnt.
 o right_d

Constructor Index

 o AssignmentNode()
 o AssignmentNode(ExpressionNode, ExpressionNode)

Method Index

 o translate(ClassGen, MethodGen)
 o translateOp(ClassGen, MethodGen)
 o translateSynthesized(ClassGen, MethodGen)
First translate the expression and then synthesize it.
 o typeCheck(SymbolTable)

Variables

 o operator_d
 public int operator_d
 o left_d
 public ExpressionNode left_d
 o right_d
 public ExpressionNode right_d
 o gotor_d
 private BranchHandle gotor_d
Instruction to be back patched. Used for code generation.

 o realLeft_d
 private ExpressionNode realLeft_d
Ref to the left value of the assignemnt. Needed when a cast expression is inserted by the type checker.

 o 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.

Constructors

 o AssignmentNode
 public AssignmentNode()
 o AssignmentNode
 public AssignmentNode(ExpressionNode left,
                       ExpressionNode right)

Methods

 o typeCheck
 public Type typeCheck(SymbolTable stable) throws TypeCheckError
Overrides:
typeCheck in class ExpressionNode
 o translateOp
 private void translateOp(ClassGen classGen,
                          MethodGen methodGen)
 o translateSynthesized
 public BranchHandle translateSynthesized(ClassGen classGen,
                                          MethodGen methodGen)
First translate the expression and then synthesize it.

Overrides:
translateSynthesized in class ExpressionNode
 o translate
 public void translate(ClassGen classGen,
                       MethodGen methodGen)
Overrides:
translate in class ExpressionNode

All Packages  Class Hierarchy  This Package  Previous  Next  Index