jif.types
Class JifParsedPolyType_c
java.lang.Object
polyglot.ext.jl.types.TypeObject_c
polyglot.ext.jl.types.Type_c
polyglot.ext.jl.types.ReferenceType_c
polyglot.ext.jl.types.ClassType_c
polyglot.ext.jl.types.ParsedClassType_c
jif.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 classes inherited from class polyglot.types.ClassType |
polyglot.types.ClassType.Kind |
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 |
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 |
JifParsedPolyType_c
protected JifParsedPolyType_c()
JifParsedPolyType_c
public JifParsedPolyType_c(JifTypeSystem ts,
polyglot.types.LazyClassInitializer init,
polyglot.frontend.Source fromSource)
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