jif.types
Class JifMethodInstance_c

java.lang.Object
  extended by polyglot.types.TypeObject_c
      extended by polyglot.types.ProcedureInstance_c
          extended by polyglot.types.MethodInstance_c
              extended by jif.types.JifMethodInstance_c
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, JifMethodInstance, JifProcedureInstance, polyglot.types.CodeInstance, polyglot.types.Declaration, polyglot.types.FunctionInstance, polyglot.types.MemberInstance, polyglot.types.MethodInstance, polyglot.types.ProcedureInstance, polyglot.types.TypeObject, polyglot.util.Copy

public class JifMethodInstance_c
extends polyglot.types.MethodInstance_c
implements JifMethodInstance

An implementation of the JifMethodInstance 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.MethodInstance_c
decl, name, returnType
 
Fields inherited from class polyglot.types.ProcedureInstance_c
container, flags, formalTypes, throwTypes
 
Fields inherited from class polyglot.types.TypeObject_c
position, ts
 
Constructor Summary
JifMethodInstance_c(JifTypeSystem ts, polyglot.util.Position pos, polyglot.types.ReferenceType container, polyglot.types.Flags flags, polyglot.types.Type returnType, java.lang.String name, Label pcBound, boolean isDefaultPCBound, java.util.List formalTypes, java.util.List formalArgLabels, Label returnLabel, boolean isDefaultReturnLabel, java.util.List excTypes, java.util.List constraints)
           
 
Method Summary
 java.util.List constraints()
           
 java.lang.String debugString()
           
 java.lang.String fullSignature()
           
 boolean isCanonical()
           
 boolean isDefaultPCBound()
           
 boolean isDefaultReturnLabel()
           
 Label pcBound()
           
 Label returnLabel()
           
 Label returnValueLabel()
           
 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)
           
 java.lang.String toString()
           
 
Methods inherited from class polyglot.types.MethodInstance_c
canOverride, canOverrideImpl, canOverrideImpl, checkOverride, container, declaration, designator, equalsImpl, flags, formalTypes, hashCode, implemented, implementedImpl, isSameMethod, isSameMethodImpl, methodCallValid, methodCallValidImpl, name, name, orig, overrides, overridesImpl, returnType, returnType, setDeclaration, setName, setReturnType, throwTypes
 
Methods inherited from class polyglot.types.ProcedureInstance_c
callValid, callValidImpl, container, flags, formalTypes, hasFormals, hasFormalsImpl, 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.MethodInstance
canOverride, canOverrideImpl, checkOverride, container, flags, formalTypes, implemented, implementedImpl, isSameMethod, isSameMethodImpl, methodCallValid, methodCallValidImpl, name, name, orig, overrides, overridesImpl, returnType, setName, throwTypes
 
Methods inherited from interface polyglot.types.FunctionInstance
returnType, setReturnType
 
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.TypeObject
equalsImpl, position, typeSystem
 
Methods inherited from interface polyglot.util.Copy
copy
 
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
 

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

JifMethodInstance_c

public JifMethodInstance_c(JifTypeSystem ts,
                           polyglot.util.Position pos,
                           polyglot.types.ReferenceType container,
                           polyglot.types.Flags flags,
                           polyglot.types.Type returnType,
                           java.lang.String name,
                           Label pcBound,
                           boolean isDefaultPCBound,
                           java.util.List formalTypes,
                           java.util.List formalArgLabels,
                           Label returnLabel,
                           boolean isDefaultReturnLabel,
                           java.util.List excTypes,
                           java.util.List constraints)
Method Detail

pcBound

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

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

returnValueLabel

public Label returnValueLabel()
Specified by:
returnValueLabel in interface JifMethodInstance

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

toString

public java.lang.String toString()
Overrides:
toString in class polyglot.types.MethodInstance_c

isCanonical

public boolean isCanonical()
Specified by:
isCanonical in interface polyglot.types.TypeObject
Overrides:
isCanonical in class polyglot.types.MethodInstance_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.MethodInstance_c

fullSignature

public java.lang.String fullSignature()