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?