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.ParsedTypeObject, 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, job, kind, memberClasses, methods, name, needSerialization, 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()
          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.ext.jl.types.ParsedClassType_c
addConstructor, addField, addInterface, addMethod, constructors, defaultConstructorNeeded, flags, flags, fromSource, inStaticContext, inStaticContext, interfaces, job, kind, memberClasses, membersAdded, methods, name, name, needSerialization, needSerialization, numSignaturesUnresolved, outer, outer, package_, package_, position, setConstructors, setContainer, setFields, setFlags, setInterfaces, setJob, setMemberClasses, setMembersAdded, setMethods, setSignaturesResolved, setSupertypesResolved, signaturesResolved, superType, superType, supertypesResolved
 
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, members, 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, 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.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, members, 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, setContainer, setFlags
 
Methods inherited from interface polyglot.types.ParsedTypeObject
job
 

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, 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
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

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

hashCode

public int hashCode()

equalsImpl

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