public interface ParamTypeSystem<Formal extends Param,Actual extends TypeObject> extends TypeSystem
SERIALIZE_MEMBERS_WITH_CONTAINER
Modifier and Type | Method and Description |
---|---|
ClassType |
instantiate(Position pos,
PClass<Formal,Actual> base,
java.util.List<? extends Actual> actuals)
Instantiate a parametric type on a list of actual parameters.
|
MuPClass<Formal,Actual> |
mutablePClass(Position pos)
Create a new mutable PClass.
|
Subst<Formal,Actual> |
subst(java.util.Map<Formal,? extends Actual> substMap)
Create a substituter.
|
Type |
subst(Type t,
java.util.Map<Formal,? extends Actual> substMap)
Apply a parameter substitution to a type.
|
Abstract, ArithmeticException, arrayOf, arrayOf, arrayOf, arrayOf, ArrayStoreException, Boolean, Byte, callValid, canCoerceToString, canOverride, Char, checkAccessFlags, checkClassConformance, checkConstructorFlags, checkCycles, checkFieldFlags, checkInitializerFlags, checkInterfaceFieldFlags, 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, findConstructor, findField, findField, findField, findField, findImplementingMethod, findMemberClass, findMemberClass, findMemberClass, findMethod, findMethod, findMethod, flagsForBits, Float, forName, getTransformedClassName, getTypeEncoderRootSet, hasAccessibleMethodNamed, hasEnclosingInstance, hasFormals, hasMethod, hasMethodNamed, implemented, importTable, importTable, initialize, initializerInstance, Int, Interface, interfaces, isAccessible, isAccessible, isAccessible, isAccessible, isAccessible, isCanonical, isCastValid, isEnclosed, isImplicitCastValid, isInherited, isMember, isSameMethod, isSubtype, isThrowable, isUncheckedException, leastCommonAncestor, legalAbstractMethodFlags, legalAccessFlags, legalConstructorFlags, legalFieldFlags, legalInitializerFlags, legalInterfaceFieldFlags, 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
MuPClass<Formal,Actual> mutablePClass(Position pos)
pos
- The position of the PClassClassType instantiate(Position pos, PClass<Formal,Actual> base, java.util.List<? extends Actual> actuals) throws SemanticException
pos
- The position of the instantiated typebase
- The parameterized typeactuals
- The list of actualsSemanticException
- when the actuals do not agree with the formalsType subst(Type t, java.util.Map<Formal,? extends Actual> substMap)
t
- The type on which we perform substitutions.substMap
- Map from formal parameters to actuals; the formals are
not necessarily formals of t
.