jif.ast
Interface JifProcedureDecl

All Superinterfaces:
polyglot.ast.ClassMember, java.lang.Cloneable, polyglot.ast.CodeBlock, polyglot.ast.CodeDecl, polyglot.ast.CodeNode, polyglot.util.Copy, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.ProcedureDecl, polyglot.ast.Term
All Known Subinterfaces:
JifConstructorDecl, JifMethodDecl
All Known Implementing Classes:
JifConstructorDecl_c, JifMethodDecl_c

public interface JifProcedureDecl
extends polyglot.ast.ProcedureDecl

An immutable representation of the Jif procedure declaration. It extends the Java procedure declaration with the start label, the return label, and various constraints, including the authority constraint, the caller constraint, and the acts-for constraint.


Field Summary
 
Fields inherited from interface polyglot.ast.Term
ENTRY, EXIT
 
Method Summary
 java.util.List constraints()
           
 LabelNode returnLabel()
           
 LabelNode startLabel()
           
 
Methods inherited from interface polyglot.ast.ProcedureDecl
flags, formals, name, procedureInstance, throwTypes
 
Methods inherited from interface polyglot.ast.CodeBlock
body, body
 
Methods inherited from interface polyglot.ast.CodeNode
codeBody, codeInstance
 
Methods inherited from interface polyglot.ast.Term
acceptCFG, exceptions, exceptions, firstChild, reachable, reachable
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, error, error, ext, ext, ext, ext, isDisambiguated, isTypeChecked, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, buildTypes, buildTypesEnter, checkConstants, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChildren
 
Methods inherited from interface polyglot.util.Copy
copy
 
Methods inherited from interface polyglot.ast.ClassMember
memberInstance
 

Method Detail

startLabel

LabelNode startLabel()

returnLabel

LabelNode returnLabel()

constraints

java.util.List constraints()