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
-
args_d
- The list of arguments.
-
callee_d
- A ref to the AST node of the called method.
-
caller_d
- A ref to the AST node of the method where the call takes place.
-
className_d
- The type name to which the invoked method belongs.
-
left_d
- This should always be a FieldExpNode.
-
special_d
- Set to true if the callee is a private method or a method
called via super.
-
MethodExpNode(ExpressionNode, Vector, MethodDeclarationNode)
-
-
castArguments(Vector)
-
-
translate(ClassGen, MethodGen)
-
-
translateSynthesized(ClassGen, MethodGen)
- First translate the expression and then synthesize it.
-
typeCheck(SymbolTable)
-
-
typeCheckArgs(SymbolTable)
-
args_d
public Vector args_d
- The list of arguments.
left_d
public ExpressionNode left_d
- This should always be a FieldExpNode.
className_d
public Symbol className_d
- The type name to which the invoked method belongs.
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 .
callee_d
public MethodDeclarationNode callee_d
- A ref to the AST node of the called method.
special_d
boolean special_d
- Set to true if the callee is a private method or a method
called via super.
MethodExpNode
public MethodExpNode(ExpressionNode left,
Vector args,
MethodDeclarationNode caller)
typeCheckArgs
private Vector typeCheckArgs(SymbolTable stable) throws TypeCheckError
castArguments
private void castArguments(Vector argsType)
typeCheck
public Type typeCheck(SymbolTable stable) throws TypeCheckError
- Overrides:
- typeCheck in class ExpressionNode
translateSynthesized
public BranchHandle translateSynthesized(ClassGen classGen,
MethodGen methodGen)
- First translate the expression and then synthesize it.
- Overrides:
- translateSynthesized in class ExpressionNode
translate
public void translate(ClassGen classGen,
MethodGen methodGen)
- Overrides:
- translate in class ExpressionNode
All Packages Class Hierarchy This Package Previous Next Index