jltools.ext.jif.ast
Class JifConstructorDecl_c

java.lang.Object
  |
  +--jltools.ext.jl.ast.Node_c
        |
        +--jltools.ext.jl.ast.ConstructorDecl_c
              |
              +--jltools.ext.jif.ast.JifConstructorDecl_c
All Implemented Interfaces:
ClassMember, java.lang.Cloneable, ConstructorDecl, Copy, JifConstructorDecl, Node, ProcedureDecl, java.io.Serializable

public class JifConstructorDecl_c
extends ConstructorDecl_c
implements JifConstructorDecl

An implementation of the JifConstructor interface.

See Also:
Serialized Form

Inner classes inherited from class jltools.ext.jl.ast.Node_c
Node_c.StringCodeWriter
 
Field Summary
protected  java.util.List constraints
           
protected  LabelNode returnLabel
           
protected  LabelNode startLabel
           
 
Fields inherited from class jltools.ext.jl.ast.ConstructorDecl_c
body, ci, exceptionTypes, flags, formals, name
 
Fields inherited from class jltools.ext.jl.ast.Node_c
ext, position
 
Constructor Summary
JifConstructorDecl_c(Ext ext, Position pos, Flags flags, java.lang.String name, LabelNode startLabel, LabelNode returnLabel, java.util.List formals, java.util.List exceptionTypes, java.util.List constraints, <>Block body)
           
 
Method Summary
 Node buildTypesOverride_(TypeBuilder tb)
          Collects classes, methods, and fields from the AST rooted at this node and constructs type objects for these.
 java.util.List constraints()
           
 JifConstructorDecl constraints(java.util.List constraints)
           
protected  ConstructorInstance makeConstructorInstance(ClassType ct, TypeSystem ts)
           
protected  JifConstructorDecl_c reconstruct(LabelNode startLabel, LabelNode returnLabel, java.util.List formals, java.util.List exceptionTypes, java.util.List constraints, <>Block body)
           
 Node reconstructTypes_(NodeFactory nf, TypeSystem ts, Context c)
          This method can be called after a node is visited to ensure its type information is reconstructed.
 LabelNode returnLabel()
           
 JifConstructorDecl returnLabel(LabelNode returnLabel)
           
 JifConstructorDecl_c rewrite(JifNodeFactory nf, JifTypeSystem ts)
           
 LabelNode startLabel()
           
 JifConstructorDecl startLabel(LabelNode startLabel)
           
protected  Node superBuildTypesOverride_(TypeBuilder tb)
           
 Node visitChildren(NodeVisitor v)
          Visit the children of the node.
 
Methods inherited from class jltools.ext.jl.ast.ConstructorDecl_c
body, body, constructorInstance, constructorInstance, dump, enterScope, exceptionCheck_, exceptionTypes, exceptionTypes, flags, flags, formals, formals, leaveScope, name, name, procedureInstance, reconstruct, toString, translate_, typeCheck_
 
Methods inherited from class jltools.ext.jl.ast.Node_c
buildTypes_, buildTypes, buildTypesOverride, copy, disambiguate_, disambiguate, disambiguateOverride_, disambiguateOverride, disambiguateTypes_, disambiguateTypes, disambiguateTypesOverride_, disambiguateTypesOverride, exceptionCheck, exceptionCheckOverride_, exceptionCheckOverride, ext, ext, foldConstants_, foldConstants, foldConstantsOverride_, foldConstantsOverride, position, position, reconstructTypes, translate, translateBlock, translateSubstmt, typeCheck, typeCheckOverride_, typeCheckOverride, visit, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jltools.ast.ConstructorDecl
body, body, constructorInstance, constructorInstance, exceptionTypes, exceptionTypes, flags, flags, formals, formals, name, name
 
Methods inherited from interface jltools.ast.ProcedureDecl
procedureInstance
 
Methods inherited from interface jltools.ast.Node
buildTypes_, copy, disambiguate_, disambiguateOverride_, disambiguateTypes_, disambiguateTypesOverride_, dump, enterScope, exceptionCheck_, exceptionCheckOverride_, ext, ext, foldConstants_, foldConstantsOverride_, leaveScope, position, position, translate_, typeCheck_, typeCheckOverride_, visit
 

Field Detail

startLabel

protected LabelNode startLabel

returnLabel

protected LabelNode returnLabel

constraints

protected java.util.List constraints
Constructor Detail

JifConstructorDecl_c

public JifConstructorDecl_c(Ext ext,
                            Position pos,
                            Flags flags,
                            java.lang.String name,
                            LabelNode startLabel,
                            LabelNode returnLabel,
                            java.util.List formals,
                            java.util.List exceptionTypes,
                            java.util.List constraints,
                            <>Block body)
Method Detail

startLabel

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

startLabel

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

returnLabel

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

returnLabel

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

constraints

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

constraints

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

reconstruct

protected JifConstructorDecl_c reconstruct(LabelNode startLabel,
                                           LabelNode returnLabel,
                                           java.util.List formals,
                                           java.util.List exceptionTypes,
                                           java.util.List constraints,
                                           <>Block body)

visitChildren

public Node visitChildren(NodeVisitor v)
Description copied from interface: Node
Visit the children of the node.
Specified by:
visitChildren in interface Node
Overrides:
visitChildren in class ConstructorDecl_c

rewrite

public JifConstructorDecl_c rewrite(JifNodeFactory nf,
                                    JifTypeSystem ts)

buildTypesOverride_

public Node buildTypesOverride_(TypeBuilder tb)
                         throws SemanticException
Description copied from interface: Node
Collects classes, methods, and fields from the AST rooted at this node and constructs type objects for these. These type objects may be ambiguous.
Specified by:
buildTypesOverride_ in interface Node
Overrides:
buildTypesOverride_ in class ConstructorDecl_c
Following copied from interface: jltools.ast.Node
Parameters:
cb - The visitor which adds new type objects to the TypeSystem.

superBuildTypesOverride_

protected Node superBuildTypesOverride_(TypeBuilder tb)
                                 throws SemanticException

reconstructTypes_

public Node reconstructTypes_(NodeFactory nf,
                              TypeSystem ts,
                              Context c)
                       throws SemanticException
Description copied from interface: Node
This method can be called after a node is visited to ensure its type information is reconstructed.
Specified by:
reconstructTypes_ in interface Node
Overrides:
reconstructTypes_ in class ConstructorDecl_c

makeConstructorInstance

protected ConstructorInstance makeConstructorInstance(ClassType ct,
                                                      TypeSystem ts)
                                               throws SemanticException
Overrides:
makeConstructorInstance in class ConstructorDecl_c