jif.types
Class JifConstructorInstance_c

java.lang.Object
  extended by polyglot.ext.jl.types.TypeObject_c
      extended by polyglot.ext.jl.types.ProcedureInstance_c
          extended by polyglot.ext.jl.types.ConstructorInstance_c
              extended by jif.types.JifConstructorInstance_c
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, JifConstructorInstance, JifProcedureInstance, polyglot.types.CodeInstance, polyglot.types.ConstructorInstance, polyglot.types.Declaration, polyglot.types.MemberInstance, polyglot.types.ProcedureInstance, polyglot.types.TypeObject, polyglot.util.Copy

public class JifConstructorInstance_c
extends polyglot.ext.jl.types.ConstructorInstance_c
implements JifConstructorInstance

An implementation of the JifConstructorInstance interface.

See Also:
Serialized Form

Field Summary
protected  java.util.List constraints
           
protected  boolean isDefaultReturnLabel
           
protected  boolean isDefaultStartLabel
           
protected  Label returnLabel
           
protected  Label startLabel
           
 
Fields inherited from class polyglot.ext.jl.types.ProcedureInstance_c
container, decl, flags, formalTypes, throwTypes
 
Fields inherited from class polyglot.ext.jl.types.TypeObject_c
position, ts
 
Constructor Summary
JifConstructorInstance_c(JifTypeSystem ts, polyglot.util.Position pos, polyglot.types.ClassType container, polyglot.types.Flags flags, Label startLabel, boolean isDefaultStartLabel, Label returnLabel, boolean isDefaultReturnLabel, java.util.List formalTypes, java.util.List formalArgLabels, java.util.List excTypes, java.util.List constraints)
           
 
Method Summary
 java.util.List constraints()
           
 java.lang.String debugString()
           
 Label externalPC()
           
 java.lang.String fullSignature()
           
 boolean isCanonical()
           
 boolean isDefaultReturnLabel()
           
 boolean isDefaultStartLabel()
           
 Label returnLabel()
           
 void setConstraints(java.util.List constraints)
           
 void setReturnLabel(Label returnLabel, boolean isDefault)
           
 void setStartLabel(Label startLabel, boolean isDefault)
           
 java.lang.String signature()
           
 Label startLabel()
           
 void subst(LabelSubstitution subst)
           
 void subst(VarMap bounds)
           
 
Methods inherited from class polyglot.ext.jl.types.ConstructorInstance_c
container, designator, equalsImpl, flags, formalTypes, orig, throwTypes, toString
 
Methods inherited from class polyglot.ext.jl.types.ProcedureInstance_c
callValid, callValidImpl, container, declaration, flags, formalTypes, hasFormals, hasFormalsImpl, hashCode, listIsCanonical, moreSpecific, moreSpecificImpl, setContainer, setDeclaration, setFlags, setFormalTypes, setThrowTypes, throwsSubset, throwsSubsetImpl, throwTypes
 
Methods inherited from class polyglot.ext.jl.types.TypeObject_c
copy, equals, position, typeSystem
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface polyglot.types.ConstructorInstance
container, flags, formalTypes, orig, throwTypes
 
Methods inherited from interface polyglot.types.ProcedureInstance
callValid, callValidImpl, designator, formalTypes, hasFormals, hasFormalsImpl, moreSpecific, moreSpecificImpl, setFormalTypes, setThrowTypes, throwsSubset, throwsSubsetImpl, throwTypes
 
Methods inherited from interface polyglot.types.MemberInstance
container, flags, setContainer, setFlags
 
Methods inherited from interface polyglot.types.Declaration
declaration, setDeclaration
 
Methods inherited from interface polyglot.types.ProcedureInstance
callValid, callValidImpl, designator, formalTypes, hasFormals, hasFormalsImpl, moreSpecific, moreSpecificImpl, setFormalTypes, setThrowTypes, throwsSubset, throwsSubsetImpl, throwTypes
 
Methods inherited from interface polyglot.types.MemberInstance
container, flags, setContainer, setFlags
 
Methods inherited from interface polyglot.types.Declaration
declaration, setDeclaration
 

Field Detail

startLabel

protected Label startLabel

returnLabel

protected Label returnLabel

constraints

protected java.util.List constraints

isDefaultStartLabel

protected boolean isDefaultStartLabel

isDefaultReturnLabel

protected boolean isDefaultReturnLabel
Constructor Detail

JifConstructorInstance_c

public JifConstructorInstance_c(JifTypeSystem ts,
                                polyglot.util.Position pos,
                                polyglot.types.ClassType container,
                                polyglot.types.Flags flags,
                                Label startLabel,
                                boolean isDefaultStartLabel,
                                Label returnLabel,
                                boolean isDefaultReturnLabel,
                                java.util.List formalTypes,
                                java.util.List formalArgLabels,
                                java.util.List excTypes,
                                java.util.List constraints)
Method Detail

startLabel

public Label startLabel()
Specified by:
startLabel in interface JifProcedureInstance

externalPC

public Label externalPC()

returnLabel

public Label returnLabel()
Specified by:
returnLabel in interface JifProcedureInstance

setReturnLabel

public void setReturnLabel(Label returnLabel,
                           boolean isDefault)
Specified by:
setReturnLabel in interface JifProcedureInstance

isDefaultReturnLabel

public boolean isDefaultReturnLabel()
Specified by:
isDefaultReturnLabel in interface JifProcedureInstance

setStartLabel

public void setStartLabel(Label startLabel,
                          boolean isDefault)
Specified by:
setStartLabel in interface JifProcedureInstance

isDefaultStartLabel

public boolean isDefaultStartLabel()
Specified by:
isDefaultStartLabel in interface JifProcedureInstance

constraints

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

setConstraints

public void setConstraints(java.util.List constraints)
Specified by:
setConstraints in interface JifProcedureInstance

isCanonical

public boolean isCanonical()
Specified by:
isCanonical in interface polyglot.types.TypeObject
Overrides:
isCanonical in class polyglot.ext.jl.types.ConstructorInstance_c

subst

public void subst(VarMap bounds)
Specified by:
subst in interface JifProcedureInstance

subst

public void subst(LabelSubstitution subst)
           throws polyglot.types.SemanticException
Specified by:
subst in interface JifProcedureInstance
Throws:
polyglot.types.SemanticException

debugString

public java.lang.String debugString()
Specified by:
debugString in interface JifProcedureInstance

signature

public java.lang.String signature()
Specified by:
signature in interface polyglot.types.ProcedureInstance
Overrides:
signature in class polyglot.ext.jl.types.ConstructorInstance_c

fullSignature

public java.lang.String fullSignature()