All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class espresso.syntaxtree.MethodExpNode

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

public class MethodExpNode
extends ExpressionNode

Variable Index

 o args_d
The list of arguments.
 o callee_d
A ref to the AST node of the called method.
 o caller_d
A ref to the AST node of the method where the call takes place.
 o className_d
The type name to which the invoked method belongs.
 o left_d
This should always be a FieldExpNode.
 o special_d
Set to true if the callee is a private method or a method called via super.

Constructor Index

 o MethodExpNode(ExpressionNode, Vector, MethodDeclarationNode)

Method Index

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

Variables

 o args_d
 public Vector args_d
The list of arguments.

 o left_d
 public ExpressionNode left_d
This should always be a FieldExpNode.

 o className_d
 public Symbol className_d
The type name to which the invoked method belongs.

 o caller_d
 public MethodDeclarationNode caller_d
A ref to the AST node of the method where the call takes place. Not applicable if the call takes place in .

 o callee_d
 public MethodDeclarationNode callee_d
A ref to the AST node of the called method.

 o special_d
 boolean special_d
Set to true if the callee is a private method or a method called via super.

Constructors

 o MethodExpNode
 public MethodExpNode(ExpressionNode left,
                      Vector args,
                      MethodDeclarationNode caller)

Methods

 o typeCheckArgs
 private Vector typeCheckArgs(SymbolTable stable) throws TypeCheckError
 o castArguments
 private void castArguments(Vector argsType)
 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