Package polyglot.ext.polyj.types

Interface Summary
InstType Each InstType keeps a list of substitutions for each of the parameters to its polymorphic type.
ParamType Instances of ParamType represent formal parameters of a PolyJClassType.
PolyJArrayType A PolyJArrayType represents an array of base Java or parametric types.
PolyJClassType A PolyJClassType represents classes that might also be polymorphic, i.e.
PolyJContext Extends a Context to include the type parameters that are in scope.
PolyJTypeSystem  
SubstType A SubstType is a type that performs substitution of type parameters.
WrappedClassType A WrappedClassType is a PolyJClassType that has been wrapped by a TypeWrapper in order to implement lazy parameter substition.
 

Class Summary
ConstraintChecker Helper class that encapsulates the logic for constraint checking.
ParamType_c Instances of ParamType represent formal parameters of a PolyJClassType.
PolyJArrayType_c A PolyJArrayType_c must implement translation differently than ArrayType_c because the innermost dimension of an array with a parametric base type is represented as Object in the translation.
PolyJClassType_c  
PolyJContext_c Extends a Context to include the type parameters that are in scope.
PolyJSubstType_c  
PolyJTranslationHelper  
PolyJTypeSystem_c  
PolyJTypeWrapper The goal of a type wrapper is to transform the body of the wrappedType by substituting occurrances of wrappedType.params() with args (stored in the substitutions Map).
 

Exception Summary
ConstraintException Thrown by the ConstraintChecker if any constraints are unsatisfied.