jif.types

## Interface JifClassType

- All Superinterfaces:
    polyglot.types.ClassType, java.lang.Cloneable, polyglot.util.Copy<polyglot.types.TypeObject>, polyglot.types.Declaration, polyglot.types.Importable, polyglot.types.MemberInstance, polyglot.types.Named, polyglot.types.Qualifier, polyglot.types.ReferenceType, java.io.Serializable, polyglot.types.Type, polyglot.types.TypeObject
  All Known Subinterfaces:
    JifParsedPolyType, JifPolyType, JifSubstType
  All Known Implementing Classes:
    JifParsedPolyType_c, JifSubstClassType_c

      public interface JifClassType
      extends polyglot.types.ClassType

  Jif class type.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface polyglot.types.ClassType

      `polyglot.types.ClassType.Kind`

    - ### Nested classes/interfaces inherited from interface polyglot.util.Copy

      `polyglot.util.Copy.Util`

  - ### Field Summary

    - ### Fields inherited from interface polyglot.types.ClassType

      `ANONYMOUS, LOCAL, MEMBER, TOP_LEVEL`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.List<Param>` | `actuals()` Returns a list of `Param`s, being the parameters with which this class is instantiated.
    `java.util.List<Principal>` | `authority()` The principals that grant authority to objects of this class, that is, the principals listed in the authority clause.
    `java.util.List<Assertion>` | `constraints()` Constraints on the principal hierarchy.
    `java.util.List<Principal>` | `constructorCallAuthority()` The principals whose authority is required by the context that creates a new instance of this class.
    `boolean` | `isUnsafe()` Returns whether this class has been label-checked.
    `ProviderLabel` | `provider()` Returns the provider label of the implementation of this class.
    `ThisLabel` | `thisLabel()` Returns this class's "this" label.
    `ThisLabel` | `thisLabel(polyglot.util.Position p)`
    `JifTypeSystem` | `typeSystem()`

    - ### 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, resolver`

    - ### Methods inherited from interface polyglot.types.Importable

      `package_`

    - ### Methods inherited from interface polyglot.types.Named

      `fullName, name`

    - ### Methods inherited from interface polyglot.types.ReferenceType

      `fields, 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, print, toArray, toClass, toNull, toPrimitive, toReference, toString, translate, typeEquals, typeEqualsImpl`

    - ### Methods inherited from interface polyglot.types.Qualifier

      `isPackage, isType, toPackage, toType`

    - ### Methods inherited from interface polyglot.types.TypeObject

      `equalsImpl, isCanonical, position`

    - ### 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`

- - ### Method Detail

    - #### typeSystem

          JifTypeSystem typeSystem()

      Specified by:
        `typeSystem` in interface `polyglot.types.TypeObject`

    - #### authority

          java.util.List<Principal> authority()

      The principals that grant authority to objects of this class, that is, the principals listed in the authority clause.

    - #### constraints

          java.util.List<Assertion> constraints()

      Constraints on the principal hierarchy.

    - #### constructorCallAuthority

          java.util.List<Principal> constructorCallAuthority()

      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.

    - #### thisLabel

          ThisLabel thisLabel()

      Returns this class's "this" label.
      See Also:
        `ThisLabel`

    - #### thisLabel

          ThisLabel thisLabel(polyglot.util.Position p)

    - #### actuals

          java.util.List<Param> actuals()

      Returns a list of `Param`s, being the parameters with which this class is instantiated.
      Returns:
        List of Param

    - #### provider

          ProviderLabel provider()

      Returns the provider label of the implementation of this class.

    - #### isUnsafe

          boolean isUnsafe()

      Returns whether this class has been label-checked.