Class ReturnStmtNode
Object
ASTNode
StmtNode
ReturnStmtNode
public class ReturnStmtNode
- extends StmtNode
An AST node representing a return statement: "return;" or "return expr;".
ReturnStmtNode
public ReturnStmtNode(int line,
int column,
ExprNode parameter)
- Creates a new ReturnStmtNode.
- Parameters:
line - the line of the first thing after the RETURN keyword.column - the column of the first thing after the RETURN keyword.parameter - the parameter to the return statement. May be null.
unparse
public void unparse(PrintWriter p,
int level)
- Prints a source representation of the tree rooted at this node on
output stream p.
- Specified by:
unparse in class ASTNode
- Parameters:
p - the place to display the output.level - the number of levels of indentation to use if the output
requires more than one line.
resolveNames
public void resolveNames(SymbolTable symtab)
- Resolves all applied uses of identifiers in the tree rooted at this
node.
- Specified by:
resolveNames in class ASTNode
- Parameters:
symtab - the symbol table to be used.
resolveTypes
public void resolveTypes(ProcDeclNode proc)
- Fills in types for all Symbols bound to IdNodes. Prints error messages
as necessary.
- Specified by:
resolveTypes in class ASTNode
- Parameters:
proc - the smallest enclosing procedure or function declaration.
codeGen
public void codeGen(StmtNode loop)
- Generates code for this statement.
- Overrides:
codeGen in class StmtNode
- Parameters:
loop - the smallest enclosing ForStmtNode or WhileStmtNode, if any.