Package jltools.types

Contains the typesystem and all related classes.

See:
          Description

Interface Summary
AnonClassType An AnonClassType represents an anonymous class.
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.
Context.Mark A Mark is used to indicate a point in the stack of scopes.
FieldInstance A FieldInstance contains type information for a field.
InitializerInstance A InitializerInstance contains the type information for a static or anonymous initializer.
InnerClassType An InnerClassType represents any inner class.
LoadedClassType A LoadedClassType represents a class loaded from a class file.
LocalClassType A NamedClassType is a class type with a name: either a top-level class, a member class, or a local class, but not an anonymous class.
LocalInstance A LocalInstance contains type information for a local variable.
MemberClassType A MemberClassType is a class type that is a member of another class.
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.
NamedQualifier A NamedQualifier is a qualifier with a name, usually either a top-level class, a member class, or a local class.
NamedType A NamedType is a type with a name, usually either a top-level class, a member class, or a local class.
NullType A NullType represents the type of the Java null literal.
Package An Package represents a Java package.
ParsedAnonClassType A ParsedAnonClassType represents a parsed anonymous class.
ParsedClassType A ParsedClassType represents a class loaded from a source file.
ParsedInnerClassType A ParsedInnerClassType represents a parsed inner class.
ParsedLocalClassType A ParsedLocalClassType is a parsed local class type.
ParsedMemberClassType A ParsedMemberClassType is a parsed class type that is a member of another class.
ParsedTopLevelClassType A ParsedTopLevelClassType represents a parsed top-level class.
ParsedType A type parsed from a source file.
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.
TopLevelClassType A TopLevelClassType represents a top-level class.
Type A Type is the base type of all classes which represent types.
TypeObject A TypeObject is an entity created by the type system.
TypeSystem The TypeSystem defines the types of the language and how they are related.
UnknownQualifier An unknown type qualifier.
UnknownType An unknown type.
VarInstance A VarInstance contains type information for a variable.
 

Class Summary
CachingResolver An CachingResolver memoizes another Resolver
ClassContextResolver A ClassContextResolver looks up type names qualified with a class name.
ClasspathLoader We implement our own class loader.
ClassResolver ClassResolver Overview: A ClassResolver is responsible for taking in the name of a class and returning a ClassType corresponding to that name.
CompoundResolver An CompoundResolver resolves names using more than one context.
EmptyContextResolver An EmptyContextResolver is responsible for looking up types and packages by name in an empty context.
Flags Flags is an immutable set of class, method, or field modifiers.
ImportTable An ImportTable is a type of ClassResolver that corresponds to a particular source file.
LoadedClassResolver Loads class information from source files, class files, or serialized class infomation from within class files.
PackageContextResolver A PackageContextResolver is responsible for looking up types and packages in a packge by name.
PrimitiveType.Kind The kind of the primitive type.
TableResolver A class resolver implemented as a map from names to types.
Types A class used for reporting debug output related to types.
 

Exception Summary
NoClassException 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.
 

Package jltools.types Description

Contains the typesystem and all related classes. This includes the definitions of Type as well as all the concrete classes for it ( for classes and primitives ). It includes the TypeSystem interface, as well as an implementation Standard Type System that corresponds to java 1.2 behavior.

See Also:
TypeSystem, Type, jltools.types.StandardTypeSystem