All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class espresso.syntaxtree.FieldExpNode

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

public class FieldExpNode
extends ExpressionNode

Variable Index

 o index_d
The index in the fields vector where the name was found.
 o left_d
A ref to the expression to the left of the dot.
 o methodNode_d
A ref to the AST node of the method where the field is being accessed.
 o name_d
Name of the field being accessed.
 o node_d
A reference to the AST node.

Constructor Index

 o FieldExpNode(ExpressionNode, String, MethodDeclarationNode)
 o FieldExpNode(ExpressionNode, Symbol, MethodDeclarationNode)

Method Index

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

Variables

 o name_d
 public Symbol name_d
Name of the field being accessed.

 o left_d
 public ExpressionNode left_d
A ref to the expression to the left of the dot. Must be of some ClassType.

 o node_d
 public FieldDeclarationNode node_d
A reference to the AST node.

 o index_d
 public int index_d
The index in the fields vector where the name was found.

 o methodNode_d
 public MethodDeclarationNode methodNode_d
A ref to the AST node of the method where the field is being accessed. Null if called from a static initializer.

Constructors

 o FieldExpNode
 public FieldExpNode(ExpressionNode left,
                     Symbol name,
                     MethodDeclarationNode mnode)
 o FieldExpNode
 public FieldExpNode(ExpressionNode left,
                     String name,
                     MethodDeclarationNode mnode)

Methods

 o evaluate
 public BigDecimal evaluate(SymbolTable stable) throws NotConstant
Overrides:
evaluate in class ExpressionNode
 o typeCheck
 public Type typeCheck(SymbolTable stable) throws TypeCheckError
Overrides:
typeCheck in class ExpressionNode
 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