polyglot.ast
Interface ProcedureDecl

All Superinterfaces:
ClassMember, java.lang.Cloneable, CodeDecl, Copy, JL, Node, NodeOps, Term
All Known Subinterfaces:
CofferConstructorDecl, CofferMethodDecl, ConstructorDecl, MethodDecl
All Known Implementing Classes:
CofferConstructorDecl_c, CofferMethodDecl_c, ConstructorDecl_c, MethodDecl_c

public interface ProcedureDecl
extends CodeDecl

A procedure declaration. A procedure is the supertype of methods and constructors.


Method Summary
 Flags flags()
          The procedure's flags.
 java.util.List formals()
          The procedure's formal parameters.
 java.lang.String name()
          The procedure's name.
 ProcedureInstance procedureInstance()
          The procedure type object.
 java.util.List throwTypes()
          The procedure's exception throw types.
 
Methods inherited from interface polyglot.ast.CodeDecl
body, body, codeInstance
 
Methods inherited from interface polyglot.ast.Term
acceptCFG, entry, exceptions, exceptions, reachable, reachable
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, addMembers, addMembersEnter, buildTypes, buildTypesEnter, disambiguate, disambiguateEnter, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, visitChildren
 
Methods inherited from interface polyglot.util.Copy
copy
 

Method Detail

flags

Flags flags()
The procedure's flags.


name

java.lang.String name()
The procedure's name.


formals

java.util.List formals()
The procedure's formal parameters.

Returns:
A list of Formal.

throwTypes

java.util.List throwTypes()
The procedure's exception throw types.

Returns:
A list of TypeNode.

procedureInstance

ProcedureInstance procedureInstance()
The procedure type object. This field may not be valid until after signature disambiguation.