jif.ast
Class JifConstructorDecl_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by polyglot.ast.Term_c
          extended by polyglot.ast.ConstructorDecl_c
              extended by jif.ast.JifConstructorDecl_c
All Implemented Interfaces:
java.lang.Cloneable, JifConstructorDecl, JifProcedureDecl, polyglot.ast.ClassMember, polyglot.ast.CodeBlock, polyglot.ast.CodeDecl, polyglot.ast.CodeNode, polyglot.ast.ConstructorDecl, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.ProcedureDecl, polyglot.ast.Term, polyglot.util.Copy

public class JifConstructorDecl_c
extends polyglot.ast.ConstructorDecl_c
implements JifConstructorDecl

An implementation of the JifConstructor interface.


Field Summary
protected  java.util.List constraints
           
protected  LabelNode returnLabel
           
protected  LabelNode startLabel
           
 
Fields inherited from class polyglot.ast.ConstructorDecl_c
body, ci, flags, formals, name, throwTypes
 
Fields inherited from class polyglot.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
 
Constructor Summary
JifConstructorDecl_c(polyglot.util.Position pos, polyglot.types.Flags flags, polyglot.ast.Id name, LabelNode startLabel, LabelNode returnLabel, java.util.List formals, java.util.List throwTypes, java.util.List constraints, polyglot.ast.Block body)
           
 
Method Summary
 java.util.List constraints()
           
 JifConstructorDecl constraints(java.util.List constraints)
           
 polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
           
protected  JifConstructorDecl_c reconstruct(polyglot.ast.Id name, LabelNode startLabel, LabelNode returnLabel, java.util.List formals, java.util.List throwTypes, java.util.List constraints, polyglot.ast.Block body)
           
 LabelNode returnLabel()
           
 JifConstructorDecl returnLabel(LabelNode returnLabel)
           
 LabelNode startLabel()
           
 JifConstructorDecl startLabel(LabelNode startLabel)
           
 polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
           
 
Methods inherited from class polyglot.ast.ConstructorDecl_c
acceptCFG, body, body, buildTypes, buildTypesEnter, codeBody, codeInstance, constructorInstance, constructorInstance, copy, dump, enterScope, exceptionCheckEnter, firstChild, flags, flags, formals, formals, id, id, isDisambiguated, memberInstance, name, name, prettyPrint, prettyPrintHeader, procedureInstance, reconstruct, throwTypes, throwTypes, toString
 
Methods inherited from class polyglot.ast.Term_c
exceptionCheck, exceptions, exceptions, listChild, reachable, reachable
 
Methods inherited from class polyglot.ast.Node_c
addDecls, checkConstants, childExpectedType, copy, copy, del, del, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, error, error, ext, ext, ext, ext, init, isTypeChecked, node, position, position, prettyPrint, prettyPrint, print, printBlock, printSubStmt, throwTypes, translate, typeCheckEnter, typeCheckOverride, visit, visitChild, visitEdge, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface polyglot.ast.ProcedureDecl
procedureInstance
 
Methods inherited from interface polyglot.ast.CodeBlock
body, body
 
Methods inherited from interface polyglot.ast.CodeNode
codeBody, codeInstance
 
Methods inherited from interface polyglot.ast.ClassMember
memberInstance
 
Methods inherited from interface polyglot.ast.ConstructorDecl
constructorInstance, constructorInstance, flags, flags, formals, formals, id, id, name, name, throwTypes, throwTypes
 
Methods inherited from interface polyglot.ast.ProcedureDecl
procedureInstance
 
Methods inherited from interface polyglot.ast.CodeBlock
body, body
 
Methods inherited from interface polyglot.ast.CodeNode
codeBody, codeInstance
 
Methods inherited from interface polyglot.ast.ClassMember
memberInstance
 

Field Detail

startLabel

protected LabelNode startLabel

returnLabel

protected LabelNode returnLabel

constraints

protected java.util.List constraints
Constructor Detail

JifConstructorDecl_c

public JifConstructorDecl_c(polyglot.util.Position pos,
                            polyglot.types.Flags flags,
                            polyglot.ast.Id name,
                            LabelNode startLabel,
                            LabelNode returnLabel,
                            java.util.List formals,
                            java.util.List throwTypes,
                            java.util.List constraints,
                            polyglot.ast.Block body)
Method Detail

startLabel

public LabelNode startLabel()
Specified by:
startLabel in interface JifProcedureDecl

startLabel

public JifConstructorDecl startLabel(LabelNode startLabel)
Specified by:
startLabel in interface JifConstructorDecl

returnLabel

public LabelNode returnLabel()
Specified by:
returnLabel in interface JifProcedureDecl

returnLabel

public JifConstructorDecl returnLabel(LabelNode returnLabel)
Specified by:
returnLabel in interface JifConstructorDecl

constraints

public java.util.List constraints()
Specified by:
constraints in interface JifProcedureDecl

constraints

public JifConstructorDecl constraints(java.util.List constraints)
Specified by:
constraints in interface JifConstructorDecl

reconstruct

protected JifConstructorDecl_c reconstruct(polyglot.ast.Id name,
                                           LabelNode startLabel,
                                           LabelNode returnLabel,
                                           java.util.List formals,
                                           java.util.List throwTypes,
                                           java.util.List constraints,
                                           polyglot.ast.Block body)

visitChildren

public polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
Specified by:
visitChildren in interface polyglot.ast.NodeOps
Overrides:
visitChildren in class polyglot.ast.ConstructorDecl_c

disambiguate

public polyglot.ast.Node disambiguate(polyglot.visit.AmbiguityRemover ar)
                               throws polyglot.types.SemanticException
Specified by:
disambiguate in interface polyglot.ast.NodeOps
Overrides:
disambiguate in class polyglot.ast.ConstructorDecl_c
Throws:
polyglot.types.SemanticException

typeCheck

public polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
                            throws polyglot.types.SemanticException
Specified by:
typeCheck in interface polyglot.ast.NodeOps
Overrides:
typeCheck in class polyglot.ast.ConstructorDecl_c
Throws:
polyglot.types.SemanticException