public class JL7TypeSystem_c extends JL5TypeSystem_c implements JL7TypeSystem
TypeSystem_c.MostSpecificComparator<T extends ProcedureInstance>
Modifier and Type | Field and Description |
---|---|
protected ClassType |
AUTOCLOSEABLE_ |
ANNOTATION_, ELEMENT_TYPE_, ENUM_, ITERABLE_, ITERATOR_, OVERRIDE_ANNOTATION_, RETENTION_ANNOTATION_, TARGET_ANNOTATION_, unknownReferenceType
substCache
ABSTRACT_METHOD_FLAGS, ACCESS_FLAGS, BOOLEAN_, BYTE_, CHAR_, CLASS_, CONSTRUCTOR_FLAGS, DOUBLE_, extInfo, FIELD_FLAGS, flagsForName, FLOAT_, INITIALIZER_FLAGS, INT_, INTERFACE_FIELD_FLAGS, loadedResolver, LOCAL_CLASS_FLAGS, LOCAL_FLAGS, LONG_, MEMBER_CLASS_FLAGS, METHOD_FLAGS, NULL_, OBJECT_, SHORT_, STRING_, systemResolver, THROWABLE_, TOP_LEVEL_CLASS_FLAGS, unknownPackage, unknownQualifier, unknownType, VOID_
SERIALIZE_MEMBERS_WITH_CONTAINER
Constructor and Description |
---|
JL7TypeSystem_c() |
Modifier and Type | Method and Description |
---|---|
ClassType |
AutoCloseable() |
JL5ProcedureInstance |
callValid(JL5ProcedureInstance pi,
java.util.List<? extends Type> argTypes,
java.util.List<? extends ReferenceType> actualTypeArgs,
Type expectedReturnType) |
boolean |
callValid(ProcedureInstance mi,
java.util.List<? extends Type> argTypes)
Return true if
pi can be called with
actual parameters of types actualTypes . |
DiamondType |
diamondType(Position pos,
JL5ParsedClassType base) |
protected java.util.List<ConstructorInstance> |
findAcceptableConstructors(ClassType container,
java.util.List<? extends Type> argTypes,
java.util.List<? extends ReferenceType> actualTypeArgs,
ClassType currClass,
boolean fromClient)
Populates the list acceptable with those MethodInstances which are
Applicable and Accessible as defined by JLS 15.12.2
|
protected java.util.List<ConstructorInstance> |
findAcceptableConstructors(ClassType container,
java.util.List<? extends Type> argTypes,
java.util.List<? extends ReferenceType> actualTypeArgs,
ClassType currClass,
Type expectedObjectType,
boolean fromClient)
Populates the list acceptable with those ConstructorInstances which are
Applicable and Accessible as defined by JLS 15.12.2
|
ConstructorInstance |
findConstructor(ClassType container,
java.util.List<? extends Type> argTypes,
java.util.List<? extends ReferenceType> typeArgs,
ClassType currClass,
boolean fromClient) |
ConstructorInstance |
findConstructor(ClassType container,
java.util.List<? extends Type> argTypes,
java.util.List<? extends ReferenceType> typeArgs,
ClassType currClass,
Type expectedObjectType,
boolean fromClient) |
protected InferenceSolver |
inferenceSolver(JL5ProcedureInstance pi,
java.util.List<? extends Type> argTypes) |
abstractSuperInterfaces, accessibleFromPackage, allAncestorsOf, Annotation, AnnotationElementType, AnnotationElementValueAnnotation, AnnotationElementValueArray, AnnotationElementValueConstant, annotationElemInstance, applyCaptureConversion, areOverrideEquivalent, areReturnTypeSubstitutable, arrayOf, arrayType, boxingConversion, boxingRequired, callValid, canBeRaw, captureConvertedWildCardType, checkAnnotationValueConstant, checkCycles, checkDuplicateAnnotations, checkIntersectionBounds, checkMethodNameClash, checkMethodNameClash, Class, classAndEnclosingTypeVariables, classAndEnclosingTypeVariables, classFileLazyClassInitializer, concreteBounds, constructorInstance, constructorInstance, createAnnotations, createArrayType, createArrayType, createClassType, createContext, createNull, createPrimitive, defaultClassInitializer, defaultConstructor, descendsFrom, Enum, enumInstance, erasureSubst, erasureSubst, erasureType, erasureType, fieldInstance, findAcceptableConstructors, findAcceptableMethods, findAcceptableMethods, findAcceptableMethods, findAnnotation, findAnnotations, findConstructor, findEnumConstant, findEnumConstant, findEnumConstant, findEnumConstant, findEnumConstants, findFieldOrEnum, findGenericSupertype, findImplementingMethod, findMethod, findMethod, flagsForBits, glb, glb, glb, glb, hasEnclosingInstance, hasSameErasure, hasSameSignature, hasSameSignature, importTable, importTable, inferTypeArgs, instantiate, instantiate, instantiate, instantiate, instantiateInnerClassFromContext, intersectionType, isAccessible, isAnnotationValueConstant, isBaseCastValid, isCastValid, isCastValidFromArray, isCastValidFromClass, isCastValidFromInterface, isContained, isEnclosed, isImplicitCastValid, isImplicitCastValidChain, isMember, isPrimitiveWrapper, isReifiable, isRetainedAnnotation, isSubSignature, isSubtype, isUncheckedConversion, isValidAnnotationValueType, Iterable, Iterator, leastCommonAncestor, legalAbstractMethodFlags, legalConstructorFlags, legalLocalFlags, legalMemberClassFlags, legalMethodFlags, legalTopLevelClassFlags, listToString, localInstance, lub, methodCallValid, methodCallValid, methodInstance, methodInstance, NoAnnotations, numericConversionBaseValid, numericConversionValid, OverrideAnnotation, primitiveTypeOfWrapper, promote, rawClass, rawClass, RetentionAnnotation, returnTypesConsistent, substImpl, TargetAnnotation, toRawType, typeVariable, unboxingConversion, unknownReferenceType, unknownTypeVariable, varArgsRequired, wildCardType, wildCardType, wrapperClassOfPrimitive
checkInstantiation, mutablePClass, subst, subst, uncheckedInstantiate
Abstract, ArithmeticException, arrayOf, arrayOf, arrayOf, arrayOf, ArrayStoreException, arrayType, assert_, assert_, Boolean, Byte, canCoerceToString, canOverride, Char, checkAccessFlags, checkClassConformance, checkClassFlagsConflict, checkConstructorFlags, checkCycles, checkFieldFlags, checkInitializerFlags, checkInterfaceFieldFlags, checkLocalClassFlags, checkLocalFlags, checkMemberClassFlags, checkMethodFlags, checkOverride, checkTopLevelClassFlags, Class, classAccessible, classAccessible, classAccessibleFromPackage, ClassCastException, classContextResolver, classContextResolver, Cloneable, createClassContextResolver, createClassType, createClassType, createClassType, createNewFlag, createPackage, createPackage, createPackageContextResolver, defaultPackageImports, deserializedClassInitializer, Double, equals, Error, Exception, extensionInfo, Final, findConstructor, findConstructor, findField, findField, findField, findField, findFields, findMemberClass, findMemberClass, findMemberClass, findMethod, findMethod, findMostSpecificProcedures, findProcedure, flagsForName, Float, forName, forName, getTransformedClassName, getTypeEncoderRootSet, hasAccessibleMethodNamed, hasFormals, hasMethod, hasMethodNamed, implemented, initEnums, initFlags, initialize, initializerInstance, initTypes, Int, Interface, interfaces, isAccessible, isAccessible, isAccessible, isAccessible, isCanonical, isInherited, isSameMethod, isThrowable, isUncheckedException, legalAccessFlags, legalFieldFlags, legalInitializerFlags, legalInterfaceFieldFlags, legalLocalClassFlags, load, loadedResolver, Long, moreSpecific, Native, NoFlags, Null, NullPointerException, numericConversionValid, Object, OutOfBoundsException, overrides, packageContextResolver, packageContextResolver, packageContextResolver, packageEquals, packageExists, packageForName, packageForName, parsedResolver, placeHolder, placeHolder, primitiveForName, Private, promote, promoteNumeric, promoteNumeric, Protected, Public, restoreSystemResolver, RuntimeException, saveSystemResolver, Serializable, Short, Static, staticTarget, StrictFP, String, superType, Synchronized, systemResolver, Throwable, throwsSubset, toString, Transient, translateArray, translateClass, translatePackage, translatePrimitive, typeEquals, typeForClass, typeForClass, typeForName, uncheckedExceptions, unknownPackage, unknownQualifier, unknownType, Void, Volatile, wrapperTypeString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
accessibleFromPackage, allAncestorsOf, Annotation, AnnotationElementType, AnnotationElementValueAnnotation, AnnotationElementValueArray, AnnotationElementValueConstant, annotationElemInstance, applyCaptureConversion, areOverrideEquivalent, areReturnTypeSubstitutable, arrayOf, boxingConversion, callValid, canBeRaw, checkAnnotationValueConstant, checkDuplicateAnnotations, checkIntersectionBounds, checkMethodNameClash, Class, classAndEnclosingTypeVariables, constructorInstance, createAnnotations, createClassType, createClassType, Enum, enumInstance, equals, erasureSubst, erasureSubst, erasureType, findAnnotation, findEnumConstant, findEnumConstant, findEnumConstant, findEnumConstant, findFieldOrEnum, findGenericSupertype, findMethod, flagsForBits, glb, glb, hasSameSignature, instantiate, instantiate, instantiate, instantiateInnerClassFromContext, intersectionType, isBaseCastValid, isContained, isImplicitCastValidChain, isPrimitiveWrapper, isReifiable, isRetainedAnnotation, isSubSignature, isUncheckedConversion, isValidAnnotationValueType, Iterable, Iterator, lub, methodCallValid, methodInstance, NoAnnotations, numericConversionBaseValid, OverrideAnnotation, primitiveTypeOfWrapper, rawClass, rawClass, RetentionAnnotation, TargetAnnotation, toRawType, typeVariable, unboxingConversion, unknownReferenceType, unknownTypeVariable, wildCardType, wildCardType, wrapperClassOfPrimitive
instantiate, mutablePClass, subst, subst
Abstract, ArithmeticException, arrayOf, arrayOf, arrayOf, arrayOf, ArrayStoreException, Boolean, Byte, 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, createContext, createNewFlag, createPackage, createPackage, createPackageContextResolver, defaultClassInitializer, defaultConstructor, defaultPackageImports, descendsFrom, deserializedClassInitializer, Double, Error, Exception, extensionInfo, fieldInstance, Final, findConstructor, findConstructor, findConstructor, findField, findField, findField, findField, findImplementingMethod, findMemberClass, findMemberClass, findMemberClass, findMethod, findMethod, findMethod, 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
protected ClassType AUTOCLOSEABLE_
public ClassType AutoCloseable()
AutoCloseable
in interface JL7TypeSystem
public DiamondType diamondType(Position pos, JL5ParsedClassType base)
diamondType
in interface JL7TypeSystem
public ConstructorInstance findConstructor(ClassType container, java.util.List<? extends Type> argTypes, java.util.List<? extends ReferenceType> typeArgs, ClassType currClass, boolean fromClient) throws SemanticException
findConstructor
in interface JL5TypeSystem
findConstructor
in class JL5TypeSystem_c
SemanticException
public ConstructorInstance findConstructor(ClassType container, java.util.List<? extends Type> argTypes, java.util.List<? extends ReferenceType> typeArgs, ClassType currClass, Type expectedObjectType, boolean fromClient) throws SemanticException
findConstructor
in interface JL7TypeSystem
SemanticException
protected java.util.List<ConstructorInstance> findAcceptableConstructors(ClassType container, java.util.List<? extends Type> argTypes, java.util.List<? extends ReferenceType> actualTypeArgs, ClassType currClass, boolean fromClient) throws SemanticException
JL5TypeSystem_c
findAcceptableConstructors
in class JL5TypeSystem_c
SemanticException
protected java.util.List<ConstructorInstance> findAcceptableConstructors(ClassType container, java.util.List<? extends Type> argTypes, java.util.List<? extends ReferenceType> actualTypeArgs, ClassType currClass, Type expectedObjectType, boolean fromClient) throws SemanticException
SemanticException
public boolean callValid(ProcedureInstance mi, java.util.List<? extends Type> argTypes)
TypeSystem
pi
can be called with
actual parameters of types actualTypes
.callValid
in interface TypeSystem
callValid
in class JL5TypeSystem_c
public JL5ProcedureInstance callValid(JL5ProcedureInstance pi, java.util.List<? extends Type> argTypes, java.util.List<? extends ReferenceType> actualTypeArgs, Type expectedReturnType)
callValid
in interface JL7TypeSystem
protected InferenceSolver inferenceSolver(JL5ProcedureInstance pi, java.util.List<? extends Type> argTypes)
inferenceSolver
in class JL5TypeSystem_c