Package polyglot.types

Contains the type system and all related classes.

See:
          Description

Interface Summary
AccessControlResolver  
ArrayType An ArrayType represents an array of other types.
ClassType A ClassType represents a class, either loaded from a classpath, parsed from a source file, or obtained from other source.
CodeInstance A CodeInstance contains the type information for a Java code-chunk (a method, a constructor, or initializer).
ConstructorInstance A ConstructorInstance contains type information for a constructor.
Context A context represents a stack of scopes used for looking up types, methods, and variables.
Declaration A Declaration is a type object that has declarations and uses.
FieldInstance A FieldInstance contains type information for a field.
Importable An Importable is a type object that can be imported by another type object.
InitializerInstance A InitializerInstance contains the type information for a static or anonymous initializer.
LazyClassInitializer A LazyClassInitializer is responsible for initializing members of a class after it has been created.
LazyInitializer A LazyClassInitializer is responsible for initializing members of a class after it has been created.
LocalInstance A LocalInstance contains type information for a local variable.
MemberInstance A MemberInstance is an entity that can be a member of a class.
MethodInstance A MethodInstance represents the type information for a Java method.
Named A Named is a TypeObject that is named.
NamedPlaceHolder A place holder used to serialize type objects that cannot be serialized.
NullType A NullType represents the type of the Java null literal.
Package An Package represents a Java package.
ParsedClassType A ParsedClassType represents a class loaded from a source file.
ParsedTypeObject Comment for ParsedTypeObject
PlaceHolder A place holder used to serialize type objects that cannot be serialized.
PrimitiveType A PrimitiveType represents a type which may not be directly coerced to java.lang.Object (under the standard Java type system).
ProcedureInstance A ProcedureInstance contains the type information for a Java procedure (either a method or a constructor).
Qualifier A Qualifier can be used to qualify a type: it can be either a package or a named class type.
ReferenceType A ReferenceType represents a reference type: a type which contains methods and fields and which is a subtype of Object.
Resolver A Resolver is responsible for looking up types and packages by name.
TopLevelResolver  
Type A Type is the base type of all classes which represent types.
TypeObject A TypeObject is a compile-time value created by the type system.
TypeSystem The TypeSystem defines the types of the language and how they are related.
UnknownPackage An unknown package.
UnknownQualifier An unknown type qualifier.
UnknownType An unknown type.
VarInstance A VarInstance contains type information for a variable.
 

Class Summary
AbstractAccessControlResolver ClassResolver Overview: A ClassResolver is responsible for taking in the name of a class and returning a ClassType corresponding to that name.
AccessControlWrapperResolver A Resolver that wraps an AccessControlResolver.
ArrayType_c An ArrayType represents an array of base java types.
CachingResolver A CachingResolver memoizes another Resolver
ClassContextResolver A ClassContextResolver looks up type names qualified with a class name.
ClassType_c A ClassType represents a class -- either loaded from a classpath, parsed from a source file, or obtained from other source.
ClassType.Kind  
CompoundResolver An CompoundResolver resolves names using more than one context.
ConstructorInstance_c A ConstructorInstance contains type information for a constructor.
Context_c This class maintains a context for looking up named variables, types, and methods.
Context_c.Kind  
DeserializedClassInitializer A LazyClassInitializer is responsible for initializing members of a class after it has been created.
EmptyResolver An EmptyResolver is a resolver that always fails.
FieldInstance_c A FieldInstance contains type information for a field.
Flags Flags is an immutable set of class, method, or field modifiers.
Flags.FlagComparator  
ImportTable An ImportTable is a type of ClassResolver that corresponds to a particular source file.
InitializerInstance_c A InitializerInstance contains the type information for a static or anonymous initializer.
LoadedClassResolver Loads class information from class files, or serialized class infomation from within class files.
LocalInstance_c A LocalInstance contains type information for a local variable.
MemberClassResolver Loads member classes using a TopLevelResolver that can only handle top-level classes.
MethodInstance_c A MethodInstance represents the type information for a Java method.
NullType_c A NullType represents the type of the Java keyword null.
Package_c An PackageType represents a package type.
PackageContextResolver A PackageContextResolver is responsible for looking up types and packages in a package by name.
ParsedClassType_c ParsedClassType Overview: A ParsedClassType represents a information that has been parsed (but not necessarily type checked) from a .java file.
PlaceHolder_c A place holder type when serializing the Polylgot type information.
PrimitiveType_c An PrimitiveType_c represents a primitive type.
PrimitiveType.Kind The kind of the primitive type.
ProcedureInstance_c A ProcedureInstance_c contains the type information for a Java procedure (either a method or a constructor).
ReferenceType_c A ReferenceType represents a reference type -- a type on which contains methods and fields and is a subtype of Object.
SchedulerClassInitializer A LazyClassInitializer is responsible for initializing members of a class after it has been created.
SourceClassResolver Loads class information from source files, class files, or serialized class infomation from within class files.
SystemResolver The SystemResolver is the main resolver for fully-qualified names.
TableResolver A class resolver implemented as a map from names to types.
Type_c Abstract implementation of a Type.
TypeObject_c Abstract implementation of a type object.
TypeSystem_c TypeSystem_c Overview: A TypeSystem_c is a universe of types, including all Java types.
TypeSystem_c.MostSpecificComparator Class to handle the comparisons; dispatches to moreSpecific method.
UnknownPackage_c An unknown type.
UnknownQualifier_c An unknown type qualifier.
UnknownType_c An unknown type.
VarInstance_c A VarInstance contains type information for a variable.
 

Exception Summary
BadSerializationException Signals an error in the class resolver system.
NoClassException Signals an error in the class resolver system.
NoMemberException Signals an error in the class resolver system.
SemanticException Thrown during any number of phases of the compiler during which a semantic error may be detected.
SourceLoadException Comment for SourceLoadException
UnavailableTypeException An UnavailableTypeException is an exception thrown when a type object is not in a required state to continue a pass.
 

Package polyglot.types Description

Contains the type system and all related classes. This includes the definitions of Type as well as all the concrete classes for it (e.g., for classes and primitives ). It includes the TypeSystem interface. All type objects, including Type but also objects representing variables, methods, constructors, etc., implement the TypeObject interface.

See Also:
TypeSystem, Type, TypeObject