Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jif.types
Interface JifTypeSystem

All Superinterfaces:
  polyglot.ext.param.types.ParamTypeSystem, polyglot.types.TypeSystem

All Known Implementing Classes:
  JifTypeSystem_c

    public interface JifTypeSystem

extends polyglot.ext.param.types.ParamTypeSystem

Jif type system.

Field Summary

Fields inherited from interface polyglot.types.TypeSystem
`SERIALIZE_MEMBERS_WITH_CONTAINER`

Method Summary
`java.util.List` | `abstractSuperInterfaces(polyglot.types.ReferenceType rt)` Exposes utility method of TypeSystem_c
`boolean` | `actsFor(Principal p, Principal q)` Returns true iff p actsfor q in the empty environment.
`ActsForConstraint` | `actsForConstraint(polyglot.util.Position pos, Principal actor, Principal granter, boolean isEquiv)` Construct an acts-for constraint.
`ArgLabel` | `argLabel(polyglot.util.Position pos, polyglot.types.LocalInstance li, polyglot.types.CodeInstance ci)`
`ArgLabel` | `argLabel(polyglot.util.Position pos, ParamInstance li)`
`AuthConstraint` | `authConstraint(polyglot.util.Position pos, java.util.List principals)` Construct an authority constraint.
`AutoEndorseConstraint` | `autoEndorseConstraint(polyglot.util.Position pos, Label endorseTo)` Construct an autoendorse constraint.
`ConfPolicy` | `bottomConfPolicy(polyglot.util.Position pos)`
`IntegPolicy` | `bottomIntegPolicy(polyglot.util.Position pos)`
`Label` | `bottomLabel()`
`Label` | `bottomLabel(polyglot.util.Position pos)`
`BottomPrincipal` | `bottomPrincipal(polyglot.util.Position pos)`
`CallerConstraint` | `callerConstraint(polyglot.util.Position pos, java.util.List principals)` Construct a caller constraint.
`Label` | `callSitePCLabel(JifProcedureInstance pi)`
`ConfPolicy` | `confProjection(Label L)`
`Principal` | `conjunctivePrincipal(polyglot.util.Position pos, java.util.Collection principals)`
`Principal` | `conjunctivePrincipal(polyglot.util.Position pos, Principal conjunctLeft, Principal conjunctRight)`
`ConstArrayType` | `constArrayOf(polyglot.util.Position pos, polyglot.types.Type type)`
`ConstArrayType` | `constArrayOf(polyglot.util.Position pos, polyglot.types.Type type, int dims)`
`ConstArrayType` | `constArrayOf(polyglot.util.Position position, polyglot.types.Type type, int dims, boolean castableToNonConst)`
`ConstArrayType` | `constArrayOf(polyglot.util.Position position, polyglot.types.Type type, int dims, boolean castableToNonConst, boolean recurseIntoBaseType)`
`ConstArrayType` | `constArrayOf(polyglot.types.Type type)`
`ConstArrayType` | `constArrayOf(polyglot.types.Type type, int dims)`
`CovariantParamLabel` | `covariantLabel(polyglot.util.Position pos, ParamInstance pi)`
`LabelEnv` | `createLabelEnv()`
`Solver` | `createSolver(java.lang.String solverName)` Returns a new label constraint system solver.
`DefaultSignature` | `defaultSignature()`
`Principal` | `disjunctivePrincipal(polyglot.util.Position pos, java.util.Collection principals)`
`Principal` | `disjunctivePrincipal(polyglot.util.Position pos, Principal disjunctLeft, Principal disjunctRight)`
`DynamicLabel` | `dynamicLabel(polyglot.util.Position pos, AccessPath path)`
`DynamicPrincipal` | `dynamicPrincipal(polyglot.util.Position pos, AccessPath path)`
`boolean` | `equalsNoStrip(polyglot.types.TypeObject t1, polyglot.types.TypeObject t2)` Compares t1 to t2 without stripping off all the parameters and labels
`boolean` | `equalsStrip(polyglot.types.TypeObject t1, polyglot.types.TypeObject t2)` Compares t1 to t2, stripping off all the parameters and labels
`ExceptionPath` | `exceptionPath(polyglot.types.Type type)`
`ExternalPrincipal` | `externalPrincipal(polyglot.util.Position pos, java.lang.String name)`
`VarLabel` | `freshLabelVariable(polyglot.util.Position pos, java.lang.String s, java.lang.String description)`
`VarPrincipal` | `freshPrincipalVariable(polyglot.util.Position pos, java.lang.String s, java.lang.String description)`
`Path` | `gotoPath(polyglot.ast.Branch.Kind kind, java.lang.String target)`
`polyglot.types.ClassType` | `hasUntrustedAncestor(polyglot.types.Type t)` Check if the class has an untrusted non-jif ancestor.
`IntegPolicy` | `integProjection(Label L)`
`boolean` | `isAccessible(polyglot.types.MemberInstance mi, polyglot.types.ClassType contextClass)` Exposes utility method of TypeSystem_c
`boolean` | `isJifClass(polyglot.types.Type t)` Returns true if the type is a Jif class (will return false if the type is just a jif signature for a java class).
`boolean` | `isLabel(polyglot.types.Type t)` Tests if the type is "label".
`boolean` | `isLabeled(polyglot.types.Type type)` Returns true if the type is labeled.
`boolean` | `isMarkerFieldName(java.lang.String s)` Is the string s a special marker field name?
`boolean` | `isParamsRuntimeRep(polyglot.types.Type t)` Returns true if the type is a Jif class, or if it is a non-Jif class that represents parameters at runtime.
`boolean` | `isPrincipal(polyglot.types.Type t)` Tests if the type is "principal".
`JifMethodInstance` | `jifMethodInstance(polyglot.util.Position pos, polyglot.types.ReferenceType container, polyglot.types.Flags flags, polyglot.types.Type returnType, java.lang.String name, Label startLabel, boolean isDefaultStartLabel, java.util.List formalTypes, java.util.List formalArgLabels, Label endLabel, boolean isDefaultEndLabel, java.util.List excTypes, java.util.List constraints)`
`ConfPolicy` | `join(ConfPolicy p1, ConfPolicy p2)`
`IntegPolicy` | `join(IntegPolicy p1, IntegPolicy p2)`
`Label` | `join(Label L1, Label L2)` Returns the join of L1 and L2.
`ConfPolicy` | `joinConfPolicy(polyglot.util.Position pos, java.util.Set components)`
`IntegPolicy` | `joinIntegPolicy(polyglot.util.Position pos, java.util.Set components)`
`Label` | `joinLabel(polyglot.util.Position pos, java.util.Set components)`
`polyglot.types.PrimitiveType` | `Label()` Returns the "label" type.
`LabeledType` | `labeledType(polyglot.util.Position pos, polyglot.types.Type type, Label label)` Returns a labeled type, type{label}.
`LabelLeAssertion` | `labelLeAssertion(polyglot.util.Position pos, Label lhs, Label rhs)` Construct an acts-for constraint.
`Label` | `labelOfField(polyglot.types.FieldInstance vi, Label pc)` Get the label of the field, folding in the PC if appropriate.
`Label` | `labelOfLocal(polyglot.types.LocalInstance vi, Label pc)` Get the label of the local, folding in the PC if appropriate.
`Label` | `labelOfType(polyglot.types.Type type)` Get the label of the type, or bottom if unlabeled
`Label` | `labelOfType(polyglot.types.Type type, Label defaultLabel)` Get the label of the type, or `defaultLabel` if unlabeled.
`LabelTypeCheckUtil` | `labelTypeCheckUtil()`
`boolean` | `leq(Label L1, Label L2)` Returns true iff L1 <= L2 in the empty environment.
`boolean` | `leq(Policy p1, Policy p2)`
`ConfPolicy` | `meet(ConfPolicy p1, ConfPolicy p2)`
`IntegPolicy` | `meet(IntegPolicy p1, IntegPolicy p2)`
`Label` | `meet(Label L1, Label L2)` Returns the meet of L1 and L2.
`ConfPolicy` | `meetConfPolicy(polyglot.util.Position pos, java.util.Set components)`
`IntegPolicy` | `meetIntegPolicy(polyglot.util.Position pos, java.util.Set components)`
`Label` | `meetLabel(polyglot.util.Position pos, java.util.Set components)`
`Label` | `noComponentsLabel()`
`Label` | `noComponentsLabel(polyglot.util.Position pos)`
`Label` | `notTaken()`
`Label` | `notTaken(polyglot.util.Position pos)`
`polyglot.types.ClassType` | `nullInstantiate(polyglot.util.Position pos, polyglot.ext.param.types.PClass pc)`
`PairLabel` | `pairLabel(polyglot.util.Position pos, ConfPolicy confPol, IntegPolicy integPol)`
`ParamInstance` | `paramInstance(polyglot.util.Position pos, JifClassType container, ParamInstance.Kind kind, java.lang.String name)` Constructs a parameter instance for a class parameter declaration
`ParamLabel` | `paramLabel(polyglot.util.Position pos, ParamInstance pi)`
`PathMap` | `pathMap()`
`PathMap` | `pathMap(Path path, Label L)`
`Label` | `pathToLabel(polyglot.util.Position pos, AccessPath path)`
`Principal` | `pathToPrincipal(polyglot.util.Position pos, AccessPath path)`
`polyglot.types.PrimitiveType` | `Principal()` Returns the "principal" type.
`polyglot.types.Type` | `PrincipalClass()` Returns the class jif.lang.Principal.
`PrincipalInstance` | `principalInstance(polyglot.util.Position pos, ExternalPrincipal principal)` Constructs a principal instance for an external principal.
`ParamPrincipal` | `principalParam(polyglot.util.Position pos, ParamInstance pi)`
`ReaderPolicy` | `readerPolicy(polyglot.util.Position pos, Principal owner, java.util.Collection readers)`
`ReaderPolicy` | `readerPolicy(polyglot.util.Position pos, Principal owner, Principal reader)`
`ThisLabel` | `thisLabel(polyglot.types.ArrayType ct)`
`ThisLabel` | `thisLabel(JifClassType ct)`
`ThisLabel` | `thisLabel(polyglot.util.Position pos, JifClassType ct)`
`ConfPolicy` | `topConfPolicy(polyglot.util.Position pos)`
`IntegPolicy` | `topIntegPolicy(polyglot.util.Position pos)`
`Label` | `topLabel()`
`Label` | `topLabel(polyglot.util.Position pos)`
`TopPrincipal` | `topPrincipal(polyglot.util.Position pos)`
`UnknownLabel` | `unknownLabel(polyglot.util.Position pos)`
`Param` | `unknownParam(polyglot.util.Position pos)`
`UnknownPrincipal` | `unknownPrincipal(polyglot.util.Position pos)`
`polyglot.types.Type` | `unlabel(polyglot.types.Type type)` Remove the label from a type, if any.
`WriterPolicy` | `writerPolicy(polyglot.util.Position pos, Principal owner, java.util.Collection writers)`
`WriterPolicy` | `writerPolicy(polyglot.util.Position pos, Principal owner, Principal writer)`
`WritersToReadersLabel` | `writersToReadersLabel(polyglot.util.Position pos, Label L)`

Methods inherited from interface polyglot.ext.param.types.ParamTypeSystem
`instantiate, mutablePClass, subst, subst, subst`

Methods inherited from interface polyglot.types.TypeSystem
`Abstract, ArithmeticException, arrayOf, arrayOf, arrayOf, arrayOf, ArrayStoreException, Boolean, Byte, callValid, canCoerceToString, canOverride, Char, checkAccessFlags, checkClassConformance, checkConstructorFlags, checkCycles, checkFieldFlags, checkInitializerFlags, checkLocalClassFlags, checkLocalFlags, checkMemberClassFlags, checkMethodFlags, checkOverride, checkTopLevelClassFlags, Class, classAccessible, classAccessible, classAccessibleFromPackage, ClassCastException, classContextResolver, classContextResolver, classFileLazyClassInitializer, Cloneable, constructorInstance, createClassContextResolver, createClassType, createClassType, createClassType, createClassType, createContext, createNewFlag, createPackage, createPackage, createPackageContextResolver, defaultClassInitializer, defaultConstructor, defaultPackageImports, descendsFrom, deserializedClassInitializer, Double, equals, Error, Exception, extensionInfo, fieldInstance, Final, findConstructor, findConstructor, findField, findField, findField, findImplementingMethod, findMemberClass, findMemberClass, findMemberClass, findMethod, findMethod, flagsForBits, Float, forName, getTransformedClassName, getTypeEncoderRootSet, hasEnclosingInstance, hasFormals, hasMethod, hasMethodNamed, implemented, importTable, importTable, initialize, initializerInstance, Int, Interface, interfaces, isAccessible, isCanonical, isCastValid, isEnclosed, isImplicitCastValid, isSameMethod, isSubtype, isThrowable, isUncheckedException, leastCommonAncestor, legalAbstractMethodFlags, legalAccessFlags, legalConstructorFlags, legalFieldFlags, legalInitializerFlags, legalInterfaceFlags, legalLocalClassFlags, legalLocalFlags, legalMemberClassFlags, legalMethodFlags, legalTopLevelClassFlags, loadedResolver, localInstance, Long, methodCallValid, methodInstance, moreSpecific, Native, NoFlags, Null, NullPointerException, numericConversionValid, numericConversionValid, Object, OutOfBoundsException, overrides, packageContextResolver, packageContextResolver, packageContextResolver, packageEquals, packageExists, packageForName, packageForName, parsedResolver, placeHolder, placeHolder, primitiveForName, Private, promote, promote, Protected, Public, restoreSystemResolver, RuntimeException, saveSystemResolver, Serializable, Short, Static, staticTarget, StrictFP, String, superType, Synchronized, systemResolver, Throwable, throwsSubset, Transient, translateArray, translateClass, translatePackage, translatePrimitive, typeEquals, typeForName, uncheckedExceptions, unknownPackage, unknownQualifier, unknownType, Void, Volatile, wrapperTypeString`

Method Detail

### Label

    polyglot.types.PrimitiveType Label()

  Returns the "label" type.

### Principal

    polyglot.types.PrimitiveType Principal()

  Returns the "principal" type.

### PrincipalClass

    polyglot.types.Type PrincipalClass()

  Returns the class jif.lang.Principal.

### labeledType

    LabeledType labeledType(polyglot.util.Position pos,
                            polyglot.types.Type type,
                            Label label)

  Returns a labeled type, type{label}.

### nullInstantiate

    polyglot.types.ClassType nullInstantiate(polyglot.util.Position pos,
                                             polyglot.ext.param.types.PClass pc)

### paramInstance

    ParamInstance paramInstance(polyglot.util.Position pos,
                                JifClassType container,
                                ParamInstance.Kind kind,
                                java.lang.String name)

  Constructs a parameter instance for a class parameter declaration

### principalInstance

    PrincipalInstance principalInstance(polyglot.util.Position pos,
                                        ExternalPrincipal principal)

  Constructs a principal instance for an external principal.

### constArrayOf

    ConstArrayType constArrayOf(polyglot.types.Type type)

### constArrayOf

    ConstArrayType constArrayOf(polyglot.util.Position pos,
                                polyglot.types.Type type)

### constArrayOf

    ConstArrayType constArrayOf(polyglot.types.Type type,
                                int dims)

### constArrayOf

    ConstArrayType constArrayOf(polyglot.util.Position pos,
                                polyglot.types.Type type,
                                int dims)

### constArrayOf

    ConstArrayType constArrayOf(polyglot.util.Position position,
                                polyglot.types.Type type,
                                int dims,
                                boolean castableToNonConst)

### constArrayOf

    ConstArrayType constArrayOf(polyglot.util.Position position,
                                polyglot.types.Type type,
                                int dims,
                                boolean castableToNonConst,
                                boolean recurseIntoBaseType)

### jifMethodInstance

    JifMethodInstance jifMethodInstance(polyglot.util.Position pos,
                                        polyglot.types.ReferenceType container,
                                        polyglot.types.Flags flags,
                                        polyglot.types.Type returnType,
                                        java.lang.String name,
                                        Label startLabel,
                                        boolean isDefaultStartLabel,
                                        java.util.List formalTypes,
                                        java.util.List formalArgLabels,
                                        Label endLabel,
                                        boolean isDefaultEndLabel,
                                        java.util.List excTypes,
                                        java.util.List constraints)

### isPrincipal

    boolean isPrincipal(polyglot.types.Type t)

  Tests if the type is "principal".

### isLabel

    boolean isLabel(polyglot.types.Type t)

  Tests if the type is "label".

### pathMap

    PathMap pathMap()

### pathMap

    PathMap pathMap(Path path,
                    Label L)

### exceptionPath

    ExceptionPath exceptionPath(polyglot.types.Type type)

### gotoPath

    Path gotoPath(polyglot.ast.Branch.Kind kind,
                  java.lang.String target)

### unknownParam

    Param unknownParam(polyglot.util.Position pos)

### principalParam

    ParamPrincipal principalParam(polyglot.util.Position pos,
                                  ParamInstance pi)

### dynamicPrincipal

    DynamicPrincipal dynamicPrincipal(polyglot.util.Position pos,
                                      AccessPath path)

### externalPrincipal

    ExternalPrincipal externalPrincipal(polyglot.util.Position pos,
                                        java.lang.String name)

### unknownPrincipal

    UnknownPrincipal unknownPrincipal(polyglot.util.Position pos)

### topPrincipal

    TopPrincipal topPrincipal(polyglot.util.Position pos)

### bottomPrincipal

    BottomPrincipal bottomPrincipal(polyglot.util.Position pos)

### conjunctivePrincipal

    Principal conjunctivePrincipal(polyglot.util.Position pos,
                                   Principal conjunctLeft,
                                   Principal conjunctRight)

### conjunctivePrincipal

    Principal conjunctivePrincipal(polyglot.util.Position pos,
                                   java.util.Collection principals)

### disjunctivePrincipal

    Principal disjunctivePrincipal(polyglot.util.Position pos,
                                   Principal disjunctLeft,
                                   Principal disjunctRight)

### disjunctivePrincipal

    Principal disjunctivePrincipal(polyglot.util.Position pos,
                                   java.util.Collection principals)

### pathToPrincipal

    Principal pathToPrincipal(polyglot.util.Position pos,
                              AccessPath path)

### freshPrincipalVariable

    VarPrincipal freshPrincipalVariable(polyglot.util.Position pos,
                                        java.lang.String s,
                                        java.lang.String description)

### freshLabelVariable

    VarLabel freshLabelVariable(polyglot.util.Position pos,
                                java.lang.String s,
                                java.lang.String description)

### topLabel

    Label topLabel(polyglot.util.Position pos)

### bottomLabel

    Label bottomLabel(polyglot.util.Position pos)

### noComponentsLabel

    Label noComponentsLabel(polyglot.util.Position pos)

### notTaken

    Label notTaken(polyglot.util.Position pos)

### topLabel

    Label topLabel()

### bottomLabel

    Label bottomLabel()

### noComponentsLabel

    Label noComponentsLabel()

### notTaken

    Label notTaken()

### covariantLabel

    CovariantParamLabel covariantLabel(polyglot.util.Position pos,
                                       ParamInstance pi)

### paramLabel

    ParamLabel paramLabel(polyglot.util.Position pos,
                          ParamInstance pi)

### dynamicLabel

    DynamicLabel dynamicLabel(polyglot.util.Position pos,
                              AccessPath path)

### argLabel

    ArgLabel argLabel(polyglot.util.Position pos,
                      polyglot.types.LocalInstance li,
                      polyglot.types.CodeInstance ci)

### argLabel

    ArgLabel argLabel(polyglot.util.Position pos,
                      ParamInstance li)

### callSitePCLabel

    Label callSitePCLabel(JifProcedureInstance pi)

### thisLabel

    ThisLabel thisLabel(polyglot.util.Position pos,
                        JifClassType ct)

### thisLabel

    ThisLabel thisLabel(JifClassType ct)

### thisLabel

    ThisLabel thisLabel(polyglot.types.ArrayType ct)

### unknownLabel

    UnknownLabel unknownLabel(polyglot.util.Position pos)

### pairLabel

    PairLabel pairLabel(polyglot.util.Position pos,
                        ConfPolicy confPol,
                        IntegPolicy integPol)

### writersToReadersLabel

    WritersToReadersLabel writersToReadersLabel(polyglot.util.Position pos,
                                                Label L)

### pathToLabel

    Label pathToLabel(polyglot.util.Position pos,
                      AccessPath path)

### readerPolicy

    ReaderPolicy readerPolicy(polyglot.util.Position pos,
                              Principal owner,
                              Principal reader)

### readerPolicy

    ReaderPolicy readerPolicy(polyglot.util.Position pos,
                              Principal owner,
                              java.util.Collection readers)

### writerPolicy

    WriterPolicy writerPolicy(polyglot.util.Position pos,
                              Principal owner,
                              Principal writer)

### writerPolicy

    WriterPolicy writerPolicy(polyglot.util.Position pos,
                              Principal owner,
                              java.util.Collection writers)

### bottomConfPolicy

    ConfPolicy bottomConfPolicy(polyglot.util.Position pos)

### bottomIntegPolicy

    IntegPolicy bottomIntegPolicy(polyglot.util.Position pos)

### topConfPolicy

    ConfPolicy topConfPolicy(polyglot.util.Position pos)

### topIntegPolicy

    IntegPolicy topIntegPolicy(polyglot.util.Position pos)

### leq

    boolean leq(Label L1,
                Label L2)

  Returns true iff L1 <= L2 in the empty environment.

### actsFor

    boolean actsFor(Principal p,
                    Principal q)

  Returns true iff p actsfor q in the empty environment.

### join

    Label join(Label L1,
               Label L2)

  Returns the join of L1 and L2.

### joinLabel

    Label joinLabel(polyglot.util.Position pos,
                    java.util.Set components)

### meet

    Label meet(Label L1,
               Label L2)

  Returns the meet of L1 and L2.

### meetLabel

    Label meetLabel(polyglot.util.Position pos,
                    java.util.Set components)

### leq

    boolean leq(Policy p1,
                Policy p2)

### joinConfPolicy

    ConfPolicy joinConfPolicy(polyglot.util.Position pos,
                              java.util.Set components)

### joinIntegPolicy

    IntegPolicy joinIntegPolicy(polyglot.util.Position pos,
                                java.util.Set components)

### meetConfPolicy

    ConfPolicy meetConfPolicy(polyglot.util.Position pos,
                              java.util.Set components)

### meetIntegPolicy

    IntegPolicy meetIntegPolicy(polyglot.util.Position pos,
                                java.util.Set components)

### join

    ConfPolicy join(ConfPolicy p1,
                    ConfPolicy p2)

### meet

    ConfPolicy meet(ConfPolicy p1,
                    ConfPolicy p2)

### join

    IntegPolicy join(IntegPolicy p1,
                     IntegPolicy p2)

### meet

    IntegPolicy meet(IntegPolicy p1,
                     IntegPolicy p2)

### confProjection

    ConfPolicy confProjection(Label L)

### integProjection

    IntegPolicy integProjection(Label L)

### actsForConstraint

    ActsForConstraint actsForConstraint(polyglot.util.Position pos,
                                        Principal actor,
                                        Principal granter,
                                        boolean isEquiv)

  Construct an acts-for constraint.

### labelLeAssertion

    LabelLeAssertion labelLeAssertion(polyglot.util.Position pos,
                                      Label lhs,
                                      Label rhs)

  Construct an acts-for constraint.

### authConstraint

    AuthConstraint authConstraint(polyglot.util.Position pos,
                                  java.util.List principals)

  Construct an authority constraint.

### callerConstraint

    CallerConstraint callerConstraint(polyglot.util.Position pos,
                                      java.util.List principals)

  Construct a caller constraint.

### autoEndorseConstraint

    AutoEndorseConstraint autoEndorseConstraint(polyglot.util.Position pos,
                                                Label endorseTo)

  Construct an autoendorse constraint.

### labelOfField

    Label labelOfField(polyglot.types.FieldInstance vi,
                       Label pc)

  Get the label of the field, folding in the PC if appropriate.

### labelOfLocal

    Label labelOfLocal(polyglot.types.LocalInstance vi,
                       Label pc)

  Get the label of the local, folding in the PC if appropriate.

### labelOfType

    Label labelOfType(polyglot.types.Type type)

  Get the label of the type, or bottom if unlabeled

### labelOfType

    Label labelOfType(polyglot.types.Type type,
                      Label defaultLabel)

  Get the label of the type, or `defaultLabel` if unlabeled.

### unlabel

    polyglot.types.Type unlabel(polyglot.types.Type type)

  Remove the label from a type, if any.

### isLabeled

    boolean isLabeled(polyglot.types.Type type)

  Returns true if the type is labeled.

### isJifClass

    boolean isJifClass(polyglot.types.Type t)

  Returns true if the type is a Jif class (will return false if the type is just a jif signature for a java class).

### isParamsRuntimeRep

    boolean isParamsRuntimeRep(polyglot.types.Type t)

  Returns true if the type is a Jif class, or if it is a non-Jif class that represents parameters at runtime.

### hasUntrustedAncestor

    polyglot.types.ClassType hasUntrustedAncestor(polyglot.types.Type t)

  Check if the class has an untrusted non-jif ancestor. An untrusted non-jif ancestor is any non-jif ancestor that is not one of java.lang.Object, java.lang.Throwable, java.lang.Error, java.lang.Exception, java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.IndexOutOfBoundsException, java.lang.RuntimeException or java.lang.SecurityException.

  Parameters:
    `t` - Type to check
  Returns:
    null if ct has no untrusted non-Jif ancestor, and the ClassType of an untrusted non-Jif ancestor otherwise.

### abstractSuperInterfaces

    java.util.List abstractSuperInterfaces(polyglot.types.ReferenceType rt)

  Exposes utility method of TypeSystem_c

### isAccessible

    boolean isAccessible(polyglot.types.MemberInstance mi,
                         polyglot.types.ClassType contextClass)

  Exposes utility method of TypeSystem_c

  Specified by:
    `isAccessible` in interface `polyglot.types.TypeSystem`

### createSolver

    Solver createSolver(java.lang.String solverName)

  Returns a new label constraint system solver.

### createLabelEnv

    LabelEnv createLabelEnv()

### defaultSignature

    DefaultSignature defaultSignature()

### equalsNoStrip

    boolean equalsNoStrip(polyglot.types.TypeObject t1,
                          polyglot.types.TypeObject t2)

  Compares t1 to t2 without stripping off all the parameters and labels

### equalsStrip

    boolean equalsStrip(polyglot.types.TypeObject t1,
                        polyglot.types.TypeObject t2)

  Compares t1 to t2, stripping off all the parameters and labels

### labelTypeCheckUtil

    LabelTypeCheckUtil labelTypeCheckUtil()

### isMarkerFieldName

    boolean isMarkerFieldName(java.lang.String s)

  Is the string s a special marker field name?

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD