jif.types
Class JifConstructorInstance_c

java.lang.Object
  extended by polyglot.types.TypeObject_c
      extended by polyglot.types.ProcedureInstance_c
          extended by polyglot.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.types.ConstructorInstance_c
implements JifConstructorInstance

An implementation of the JifConstructorInstance interface.

See Also:
Serialized Form

Field Summary
protected  java.util.List constraints
           
protected  boolean isDefaultPCBound
           
protected  boolean isDefaultReturnLabel
           
protected  Label pcBound
           
protected  Label returnLabel
           
 
Fields inherited from class polyglot.types.ConstructorInstance_c
decl
 
Fields inherited from class polyglot.types.ProcedureInstance_c
container, flags, formalTypes, throwTypes
 
Fields inherited from class polyglot.types.TypeObject_c
position, ts
 
Constructor Summary
JifConstructorInstance_c(JifTypeSystem ts, polyglot.util.Position pos, polyglot.types.ClassType container, polyglot.types.Flags flags, Label pcBound, boolean isDefaultPCBound, 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 isDefaultPCBound()
           
 boolean isDefaultReturnLabel()
           
 Label pcBound()
           
 Label returnLabel()
           
 void setConstraints(java.util.List constraints)
           
 void setPCBound(Label pcBound, boolean isDefault)
           
 void setReturnLabel(Label returnLabel, boolean isDefault)
           
 java.lang.String signature()
           
 void subst(LabelSubstitution subst)
           
 void subst(VarMap bounds)
           
 
Methods inherited from class polyglot.types.ConstructorInstance_c
container, declaration, designator, equalsImpl, flags, formalTypes, orig, setDeclaration, throwTypes, toString
 
Methods inherited from class polyglot.types.ProcedureInstance_c
callValid, callValidImpl, container, flags, formalTypes, hasFormals, hasFormalsImpl, hashCode, listIsCanonical, moreSpecific, moreSpecificImpl, setContainer, setFlags, setFormalTypes, setThrowTypes, throwsSubset, throwsSubsetImpl, throwTypes
 
Methods inherited from class polyglot.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.CodeInstance
flags
 
Methods inherited from interface polyglot.types.MemberInstance
container, flags, setContainer, setFlags
 
Methods inherited from interface polyglot.types.Declaration
declaration, setDeclaration
 
Methods inherited from interface jif.types.JifProcedureInstance
container
 
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.CodeInstance
flags
 

Field Detail

pcBound

protected Label pcBound

returnLabel

protected Label returnLabel

constraints

protected java.util.List constraints

isDefaultPCBound

protected boolean isDefaultPCBound

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 pcBound,
                                boolean isDefaultPCBound,
                                Label returnLabel,
                                boolean isDefaultReturnLabel,
                                java.util.List formalTypes,
                                java.util.List formalArgLabels,
                                java.util.List excTypes,
                                java.util.List constraints)
Method Detail

pcBound

public Label pcBound()
Specified by:
pcBound 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

setPCBound

public void setPCBound(Label pcBound,
                       boolean isDefault)
Specified by:
setPCBound in interface JifProcedureInstance

isDefaultPCBound

public boolean isDefaultPCBound()
Specified by:
isDefaultPCBound 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.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.types.ConstructorInstance_c

fullSignature

public java.lang.String fullSignature()