jif.types
Class JifParsedPolyType_c

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

public class JifParsedPolyType_c
extends polyglot.types.ParsedClassType_c
implements JifParsedPolyType

An implementation of the JifParsedPolyType interface.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class polyglot.types.ParsedClassType_c
constructors, fields, flags, fromSource, init, inStaticContext, interfaces, job, kind, memberClasses, membersAdded, methods, name, needSerialization, outer, package_, signaturesResolved, superType, supertypesResolved
 
Fields inherited from class polyglot.types.ClassType_c
decl, memberCache
 
Fields inherited from class polyglot.types.TypeObject_c
position, ts
 
Constructor Summary
protected JifParsedPolyType_c()
           
  JifParsedPolyType_c(JifTypeSystem ts, polyglot.types.LazyClassInitializer init, polyglot.frontend.Source fromSource)
           
 
Method Summary
 java.util.List actuals()
          Returns a list of Params, being the parameters with which this class is instantiated.
 void addMemberClass(polyglot.types.ClassType t)
           
 java.util.List authority()
          The principals that grant authority to objects of this class, that is, the principals listed in the authority clause.
 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()
           
 void kind(polyglot.types.ClassType.Kind kind)
           
 java.util.List params()
          Declared parameters of the class.
 void setAuthority(java.util.List principals)
           
 void setInstantiatedFrom(polyglot.ext.param.types.PClass pc)
           
 void setParams(java.util.List params)
           
 ThisLabel thisLabel()
          Returns this class's "this" label.
 java.lang.String toString()
           
 
Methods inherited from class polyglot.types.ParsedClassType_c
addConstructor, addField, addInterface, addMethod, constructors, defaultConstructorNeeded, fieldNamed, flags, flags, fromSource, init, initializer, inStaticContext, inStaticContext, interfaces, job, kind, memberClasses, membersAdded, methods, methodsNamed, name, name, needSerialization, needSerialization, numSignaturesUnresolved, outer, outer, package_, package_, position, setConstructors, setContainer, setFields, setFlags, setInit, setInitializer, setInterfaces, setJob, setMemberClasses, setMembersAdded, setMethods, setSignaturesResolved, setSupertypesResolved, signaturesResolved, superType, superType, supertypesResolved
 
Methods inherited from class polyglot.types.ClassType_c
container, copy, declaration, descendsFromImpl, fullName, hasEnclosingInstance, hasEnclosingInstanceImpl, isAnonymous, isCanonical, isCastValidImpl, isClass, isEnclosed, isEnclosedImpl, isImplicitCastValidImpl, isInner, isInnerClass, isLocal, isMember, isNested, isThrowable, isTopLevel, isUncheckedException, memberClassNamed, members, print, resolver, setDeclaration, toClass, translate
 
Methods inherited from class polyglot.types.ReferenceType_c
hasMethod, hasMethodImpl, isReference, methods, toReference
 
Methods inherited from class polyglot.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, typeEquals, typeEqualsImpl
 
Methods inherited from class polyglot.types.TypeObject_c
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, defaultConstructorNeeded, flags, fromSource, inStaticContext, membersAdded, name, needSerialization, needSerialization, numSignaturesUnresolved, outer, package_, position, setConstructors, setFields, setInterfaces, setJob, setMemberClasses, setMembersAdded, setMethods, setSignaturesResolved, setSupertypesResolved, signaturesResolved, superType, supertypesResolved
 
Methods inherited from interface polyglot.types.ParsedTypeObject
initializer, job, setInitializer
 

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
Overrides:
kind in class polyglot.types.ParsedClassType_c

fields

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

authority

public java.util.List authority()
Description copied from interface: JifClassType
The principals that grant authority to objects of this class, that is, 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. Returns a list of ParamInstances.

Specified by:
params in interface JifPolyType
See Also:
ParamInstance

actuals

public java.util.List actuals()
Description copied from interface: JifClassType
Returns a list of Params, being the parameters with which this class is instantiated.

Specified by:
actuals in interface JifClassType
Specified by:
actuals in interface polyglot.ext.param.types.InstType
Returns:
List of Param

thisLabel

public ThisLabel thisLabel()
Description copied from interface: JifClassType
Returns this class's "this" label.

Specified by:
thisLabel in interface JifClassType
See Also:
ThisLabel

addMemberClass

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

setParams

public void setParams(java.util.List params)
Specified by:
setParams in interface JifParsedPolyType

setAuthority

public void setAuthority(java.util.List principals)
Specified by:
setAuthority in interface JifParsedPolyType

toString

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

hashCode

public int hashCode()
Overrides:
hashCode in class polyglot.types.TypeObject_c

equalsImpl

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