jif.types
Class JifParsedPolyType_c

java.lang.Object
  extended bypolyglot.ext.jl.types.TypeObject_c
      extended bypolyglot.ext.jl.types.Type_c
          extended bypolyglot.ext.jl.types.ReferenceType_c
              extended bypolyglot.ext.jl.types.ClassType_c
                  extended bypolyglot.ext.jl.types.ParsedClassType_c
                      extended byjif.types.JifParsedPolyType_c
All Implemented Interfaces:
polyglot.types.ClassType, java.lang.Cloneable, polyglot.util.Copy, polyglot.types.Importable, polyglot.ext.param.types.InstType, JifClassType, JifParsedPolyType, JifPolyType, polyglot.types.MemberInstance, polyglot.types.Named, polyglot.types.ParsedClassType, polyglot.types.Qualifier, polyglot.types.ReferenceType, java.io.Serializable, polyglot.types.Type, polyglot.types.TypeObject

public class JifParsedPolyType_c
extends polyglot.ext.jl.types.ParsedClassType_c
implements JifParsedPolyType

An implementation of the JifParsedPolyType interface.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class polyglot.types.ClassType
polyglot.types.ClassType.Kind
 
Field Summary
 
Fields inherited from class polyglot.ext.jl.types.ParsedClassType_c
constructors, fields, flags, fromSource, init, inStaticContext, interfaces, kind, memberClasses, methods, name, outer, package_, superType
 
Fields inherited from class polyglot.ext.jl.types.TypeObject_c
position, ts
 
Fields inherited from interface polyglot.types.ClassType
ANONYMOUS, LOCAL, MEMBER, TOP_LEVEL
 
Constructor Summary
protected JifParsedPolyType_c()
           
  JifParsedPolyType_c(JifTypeSystem ts, polyglot.types.LazyClassInitializer init, polyglot.frontend.Source fromSource)
           
 
Method Summary
 java.util.List actuals()
           
 void addAuthority(Principal p)
           
 void addMemberClass(polyglot.types.ClassType t)
           
 void addParam(ParamInstance pi)
           
 java.util.List authority()
          The principals that grant authority to objects of this class, i.e.
 java.util.List constructorCallAuthority()
          The principals whose authority is required by the context that creates a new instance of this class.
 boolean equalsImpl(polyglot.types.TypeObject o)
           
 java.util.List fields()
           
 int hashCode()
           
 polyglot.ext.param.types.PClass instantiatedFrom()
           
 boolean invariant()
           
 void invariant(boolean inv)
           
 void kind(polyglot.types.ClassType.Kind kind)
           
 java.util.List params()
          Declared parameters of the class.
 void setInstantiatedFrom(polyglot.ext.param.types.PClass pc)
           
 JifClassType setInvariantThis(Label L)
           
 Label thisLabel()
           
 void thisLabel(Label L)
           
 java.lang.String toString()
           
 
Methods inherited from class polyglot.ext.jl.types.ParsedClassType_c
addConstructor, addField, addInterface, addMethod, constructors, flags, flags, freeInit, fromSource, initialized, inStaticContext, inStaticContext, interfaces, kind, memberClasses, methods, name, name, outer, outer, package_, package_, position, superType, superType
 
Methods inherited from class polyglot.ext.jl.types.ClassType_c
container, descendsFromImpl, fieldNamed, fullName, hasEnclosingInstance, hasEnclosingInstanceImpl, isAnonymous, isCanonical, isCastValidImpl, isClass, isEnclosed, isEnclosedImpl, isImplicitCastValidImpl, isInner, isInnerClass, isLocal, isMember, isNested, isThrowable, isTopLevel, isUncheckedException, memberClassNamed, toClass, translate
 
Methods inherited from class polyglot.ext.jl.types.ReferenceType_c
hasMethod, hasMethodImpl, isReference, methods, methodsNamed, toReference
 
Methods inherited from class polyglot.ext.jl.types.Type_c
arrayOf, arrayOf, descendsFrom, isArray, isBoolean, isByte, isCastValid, isChar, isComparable, isDouble, isFloat, isImplicitCastValid, isInt, isIntOrLess, isLong, isLongOrLess, isNull, isNumeric, isPackage, isPrimitive, isShort, isSubtype, isSubtypeImpl, isType, isVoid, numericConversionValid, numericConversionValid, numericConversionValidImpl, numericConversionValidImpl, toArray, toNull, toPackage, toPrimitive, toType
 
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.ParsedClassType
addConstructor, addField, addInterface, addMethod, flags, fromSource, inStaticContext, name, outer, package_, position, superType
 
Methods inherited from interface polyglot.types.ClassType
constructors, fieldNamed, hasEnclosingInstance, hasEnclosingInstanceImpl, inStaticContext, isAnonymous, isEnclosed, isEnclosedImpl, isInner, isInnerClass, isLocal, isMember, isNested, isTopLevel, kind, memberClasses, memberClassNamed, outer
 
Methods inherited from interface polyglot.types.Importable
package_
 
Methods inherited from interface polyglot.types.Named
fullName, name
 
Methods inherited from interface polyglot.types.TypeObject
isCanonical, position, typeSystem
 
Methods inherited from interface polyglot.util.Copy
copy
 
Methods inherited from interface polyglot.types.ReferenceType
hasMethod, hasMethodImpl, interfaces, methods, methods, methodsNamed, superType
 
Methods inherited from interface polyglot.types.Type
arrayOf, arrayOf, descendsFrom, descendsFromImpl, isArray, isBoolean, isByte, isCastValid, isCastValidImpl, isChar, isClass, isComparable, isDouble, isFloat, isImplicitCastValid, isImplicitCastValidImpl, isInt, isIntOrLess, isLong, isLongOrLess, isNull, isNumeric, isPrimitive, isReference, isShort, isSubtype, isSubtypeImpl, isThrowable, isUncheckedException, isVoid, numericConversionValid, numericConversionValid, numericConversionValidImpl, numericConversionValidImpl, toArray, toClass, toNull, toPrimitive, toReference, translate
 
Methods inherited from interface polyglot.types.Qualifier
isPackage, isType, toPackage, toType
 
Methods inherited from interface polyglot.types.MemberInstance
container, flags
 

Constructor Detail

JifParsedPolyType_c

protected JifParsedPolyType_c()

JifParsedPolyType_c

public JifParsedPolyType_c(JifTypeSystem ts,
                           polyglot.types.LazyClassInitializer init,
                           polyglot.frontend.Source fromSource)
Method Detail

instantiatedFrom

public polyglot.ext.param.types.PClass instantiatedFrom()
Specified by:
instantiatedFrom in interface polyglot.ext.param.types.InstType

setInstantiatedFrom

public void setInstantiatedFrom(polyglot.ext.param.types.PClass pc)
Specified by:
setInstantiatedFrom in interface JifParsedPolyType

kind

public void kind(polyglot.types.ClassType.Kind kind)
Specified by:
kind in interface polyglot.types.ParsedClassType

fields

public java.util.List fields()
Specified by:
fields in interface polyglot.types.ReferenceType

authority

public java.util.List authority()
Description copied from interface: JifClassType
The principals that grant authority to objects of this class, i.e. the principals listed in the authority clause.

Specified by:
authority in interface JifClassType

constructorCallAuthority

public java.util.List constructorCallAuthority()
Description copied from interface: JifClassType
The principals whose authority is required by the context that creates a new instance of this class. More precisely, this is (possibly instantiated) parameter principals that are in the authority list. See Andrew's thesis, 4.6.2.

Specified by:
constructorCallAuthority in interface JifClassType

params

public java.util.List params()
Description copied from interface: JifPolyType
Declared parameters of the class. Same as actuals() in InstType, but kept around for historical reasons.

Specified by:
params in interface JifPolyType

actuals

public java.util.List actuals()
Specified by:
actuals in interface JifClassType

thisLabel

public Label thisLabel()
Specified by:
thisLabel in interface JifClassType

thisLabel

public void thisLabel(Label L)
Specified by:
thisLabel in interface JifParsedPolyType

invariant

public boolean invariant()
Specified by:
invariant in interface JifClassType

invariant

public void invariant(boolean inv)
Specified by:
invariant in interface JifParsedPolyType

addMemberClass

public void addMemberClass(polyglot.types.ClassType t)
Specified by:
addMemberClass in interface polyglot.types.ParsedClassType

addParam

public void addParam(ParamInstance pi)
Specified by:
addParam in interface JifParsedPolyType

addAuthority

public void addAuthority(Principal p)
Specified by:
addAuthority in interface JifParsedPolyType

toString

public java.lang.String toString()
Specified by:
toString in interface polyglot.types.Type

hashCode

public int hashCode()

equalsImpl

public boolean equalsImpl(polyglot.types.TypeObject o)
Specified by:
equalsImpl in interface polyglot.types.TypeObject

setInvariantThis

public JifClassType setInvariantThis(Label L)
                              throws polyglot.types.SemanticException
Specified by:
setInvariantThis in interface JifClassType
Throws:
polyglot.types.SemanticException