Class Type<T>
java.lang.Object
com.strobel.reflection.MemberInfo
com.strobel.reflection.Type<T>
- All Implemented Interfaces:
AnnotatedElement, Type
- Direct Known Subclasses:
ArrayType, BottomType, CapturedType, CompoundType, ErasedType, GenericParameter, GenericParameterBuilder, GenericType, NullType, PrimitiveType, ReflectedType, RuntimeType, TypeBuilder, TypeBuilderInstantiation, WildcardType
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classprivate static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate RuntimeTypeCache<T> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////private ErasedType<T> private TypeListstatic final Type<?> Deprecated.(package private) static final TypeCache(package private) static final Object/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////static final Binder/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////protected static final Set<BindingFlags> static final charprotected static final ConstructorInfo[]protected static final FieldInfo[]protected static final MemberInfo[]protected static final MethodInfo[]protected static final Object[]protected static final String[]static final Type<?>[]static final MemberFilterstatic final MemberFilterstatic final MemberFilterstatic final MemberFilterstatic final Type<?> Deprecated.UsenullType()instead.(package private) static final Type<?>[](package private) static final Resolver(package private) static final TypeBinderstatic final MissingFields inherited from class MemberInfo
EMPTY_ANNOTATIONS, ENUM_MODIFIER, VARARGS_MODIFIER -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedType()///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
Method Summary
Modifier and TypeMethodDescriptionprotected StringBuilderprotected StringBuilder_appendClassName(StringBuilder sb, boolean fullName, boolean dottedName) protected StringBuilderprotected StringBuilder<P,R> R accept(TypeVisitor<P, R> visitor, P parameter) Type<?> asSuperTypeOf(Type<?> type) static Type<?> booleancontainsGenericParameter(Type<?> genericParameter) booleanprivate booleanfilterApplyCore(MemberInfo member, Set<BindingFlags> bindingFlags, boolean isPublic, boolean isPackagePrivate, boolean isStatic, String name, boolean prefixLookup) private booleanfilterApplyPrefixLookup(MemberInfo method, String name, boolean ignoreCase) private booleanfilterApplyType(Type<?> type, Set<BindingFlags> bindingFlags, String name, boolean prefixLookup) (package private) booleanfilterMethodBase(MethodBase method, Set<BindingFlags> methodFlags, Set<BindingFlags> bindingFlags, CallingConvention callingConventions, Type<?>... argumentTypes) (package private) static Set<BindingFlags> filterPreCalculate(boolean isPublic, boolean isInherited, boolean isStatic) MemberList<? extends MemberInfo> findMembers(Set<MemberType> memberTypes, Set<BindingFlags> bindingAttr, MemberFilter filter, Object filterCriteria) static Type<?> static Type<?> <A extends Annotation>
AgetAnnotation(Class<A> annotationClass) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////(package private) final RuntimeTypeCache<T> getCache()protected Stringprotected Stringfinal ConstructorInfogetConstructor(Type<?>... parameterTypes) getConstructor(Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes) final ConstructorInfogetConstructor(Set<BindingFlags> bindingFlags, Type<?>... parameterTypes) final ConstructorListgetConstructors(Set<BindingFlags> bindingFlags) protected ConstructorListprotected FieldListprotected MethodListprotected TypeListType<?> Object[]String[]final Type<?> Type<?> final FieldInfogetField(String name, Set<BindingFlags> bindingFlags) private FieldInfo[]getFieldCandidates(String name, Set<BindingFlags> bindingFlags, boolean allowPrefixLookup) final FieldListgetFields(Set<BindingFlags> bindingFlags) private static Type.FilterOptionsgetFilterOptions(String name, Set<BindingFlags> bindingFlags, boolean allowPrefixLookup) intMethod that returns full generic signature of the type; suitable as signature for things like ASM package.Type<?> getKind()final MemberList<?> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////final MemberList<?> getMember(String name, MemberType memberType, MemberType... memberTypes) MemberList<?> getMember(String name, Set<BindingFlags> bindingFlags, Set<MemberType> memberTypes) final MemberList<?> final MemberList<?> getMembers(MemberType memberType, MemberType... memberTypes) final MemberList<?> getMembers(Set<BindingFlags> bindingFlags) final MemberList<?> getMembers(Set<BindingFlags> bindingFlags, MemberType memberType, MemberType... memberTypes) MemberList<?> getMembers(Set<BindingFlags> bindingFlags, Set<MemberType> memberTypes) final MemberList<?> getMembersOfType(Set<MemberType> memberTypes) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////final MethodInfogetMethod(String name, Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes) final MethodInfogetMethod(String name, Set<BindingFlags> bindingFlags, Type<?>... parameterTypes) private <M extends MethodBase>
M[]getMethodBaseCandidates(MemberType type, String name, Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>[] parameterTypes, boolean allowPrefixLookup) final MethodListfinal MethodListgetMethods(Set<BindingFlags> bindingFlags) getMethods(Set<BindingFlags> bindingFlags, CallingConvention callingConvention) (package private) Type<?> getMostSpecificType(Type<?> t1, Type<?> t2) getName()final Type<?> getNestedType(String fullName) Type<?> getNestedType(String fullName, Set<BindingFlags> bindingFlags) private Type<?>[]getNestedTypeCandidates(String fullName, Set<BindingFlags> bindingFlags, boolean allowPrefixLookup) final TypeListgetNestedTypes(Set<BindingFlags> bindingFlags) (package private) Type<?> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Type<?> static <T> Type<T> getType(T object) protected TypeBindingsfinal Type<?> protected Type<?> booleanbooleaninthashCode()booleanbooleanimplementsInterface(Type<?> interfaceType) protected voidInvalidate any cached type/member information.final booleanbooleanisAnnotationPresent(Class<? extends Annotation> annotationClass) booleanisArray()booleanisAssignableFrom(Type<?> type) booleanfinal booleanisClass()booleanfinal booleanisEnum()final booleanbooleanisEquivalentTo(Type<?> other) booleanbooleanbooleanbooleanisInstance(Object o) final booleanbooleanbooleanisNested()booleanbooleanbooleanisSubTypeOf(Type<?> type) booleanbooleanbooleanbooleanstatic TypeListstatic TypeList/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////static TypeList/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////static <T> Type<T[]> makeArrayType(Type<T> elementType) static Type<?> makeCompoundType(Type<?> baseType, TypeList interfaces) static Type<?> makeCompoundType(TypeList bounds) private static <T> Type<T> makeCompoundTypeCore(Type<T> baseType, TypeList interfaces) static <T> Type<? extends T> makeExtendsWildcard(Type<T> bound) makeGenericType(Type<?>... typeArguments) makeGenericType(TypeList typeArguments) protected Type<?> makeGenericTypeCore(TypeList typeArguments) static <T> Type<? super T> makeSuperWildcard(Type<T> bound) static WildcardType<?> newInstance(Object... arguments) static Type<?> nullType()static <T> Type<T> (package private) static <T> Type<T> private static Type<?> resolveClassType(Class<?> actualClass) protected static Type<?> substitute(Type<?> type, TypeBindings typeBindings) toString()/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////(package private) static Type<?> static WildcardType<?> Methods inherited from class MemberInfo
emptyAnnotations, equals, getAnnotationsByType, getBriefDescription, getDeclaredAnnotation, getDeclaredAnnotationsByType, getDeclaringType, getDescription, getErasedDescription, getErasedSignature, getModifiers, getReflectedType, getSignature, getSimpleDescription, isFinal, isNonPublic, isPackagePrivate, isPrivate, isProtected, isPublic, isStaticMethods inherited from interface Type
getTypeName
-
Field Details
-
DefaultBinder
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
Delimiter
public static final char Delimiter- See Also:
-
Value
-
EmptyTypes
-
Bottom
Deprecated.UsebottomType()instead. -
NullType
Deprecated.UsenullType()instead. -
EmptyObjects
-
EmptyStrings
-
EmptyMethods
-
EmptyConstructors
-
EmptyFields
-
EmptyMembers
-
DefaultLookup
-
_interfaces
-
_erasedType
-
CACHE_LOCK
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
CACHE
-
RESOLVER
-
PRIMITIVE_TYPES
-
TYPE_BINDER
-
_cache
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
FilterNameIgnoreCase
-
FilterName
-
FilterRawMember
-
FilterMethodOverride
-
-
Constructor Details
-
Type
protected Type()/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
Method Details
-
bottomType
-
nullType
-
unboundedWildcard
-
getMemberType
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////- Specified by:
getMemberTypein classMemberInfo
-
isNested
public boolean isNested() -
isLocalClass
public boolean isLocalClass() -
isVisible
public boolean isVisible() -
isClass
public final boolean isClass() -
isInterface
public final boolean isInterface() -
isEnum
public final boolean isEnum() -
isAbstract
public final boolean isAbstract() -
isArray
public boolean isArray() -
isGenericType
public boolean isGenericType() -
isGenericTypeDefinition
public boolean isGenericTypeDefinition() -
isRawType
public boolean isRawType() -
isGenericParameter
public boolean isGenericParameter() -
isPrimitive
public boolean isPrimitive() -
hasElementType
public boolean hasElementType() -
getKind
-
getBaseType
-
getInterfaces
-
getExplicitInterfaces
-
getErasedClass
-
newInstance
-
getDeclaringMethod
-
getUnderlyingType
-
getUnderlyingTypeCore
-
getElementType
-
getGenericParameterPosition
public int getGenericParameterPosition() -
getTypeBindings
-
getTypeArguments
-
getGenericTypeParameters
-
getGenericTypeDefinition
-
containsGenericParameters
public boolean containsGenericParameters() -
containsGenericParameter
-
isBoundedType
public boolean isBoundedType() -
isUnbounded
public boolean isUnbounded() -
hasExtendsBound
public boolean hasExtendsBound() -
hasSuperBound
public boolean hasSuperBound() -
getExtendsBound
-
getSuperBound
-
isEquivalentTo
- Overrides:
isEquivalentToin classMemberInfo
-
isEquivalentTo
-
isSubTypeOf
-
isInstance
-
implementsInterface
-
isAssignableFrom
-
getPackage
-
isCompoundType
public boolean isCompoundType() -
isWildcardType
public boolean isWildcardType() -
isSynthetic
public boolean isSynthetic() -
accept
-
getAnnotation
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////- Specified by:
getAnnotationin interfaceAnnotatedElement- Overrides:
getAnnotationin classMemberInfo
-
getAnnotations
- Specified by:
getAnnotationsin interfaceAnnotatedElement- Overrides:
getAnnotationsin classMemberInfo
-
getDeclaredAnnotations
- Specified by:
getDeclaredAnnotationsin interfaceAnnotatedElement- Overrides:
getDeclaredAnnotationsin classMemberInfo
-
isAnnotationPresent
- Specified by:
isAnnotationPresentin interfaceAnnotatedElement- Overrides:
isAnnotationPresentin classMemberInfo
-
getMember
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
getMember
-
getMember
public MemberList<?> getMember(String name, Set<BindingFlags> bindingFlags, Set<MemberType> memberTypes) -
getField
-
getField
-
getMethod
-
getMethod
public final MethodInfo getMethod(String name, Set<BindingFlags> bindingFlags, Type<?>... parameterTypes) -
getMethod
public MethodInfo getMethod(String name, Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes) -
getConstructor
-
getConstructor
public final ConstructorInfo getConstructor(Set<BindingFlags> bindingFlags, Type<?>... parameterTypes) -
getConstructor
public ConstructorInfo getConstructor(Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes) -
getMembers
-
getMembersOfType
-
getMembers
-
getMembers
-
getMembers
public final MemberList<?> getMembers(Set<BindingFlags> bindingFlags, MemberType memberType, MemberType... memberTypes) -
getMembers
-
findMembers
public MemberList<? extends MemberInfo> findMembers(Set<MemberType> memberTypes, Set<BindingFlags> bindingAttr, MemberFilter filter, Object filterCriteria) -
getFields
-
getFields
-
getMethods
-
getMethods
-
getMethods
-
getConstructors
-
getConstructors
-
getNestedTypes
-
getNestedTypes
-
getNestedType
-
getNestedType
-
getEnumConstants
-
getEnumNames
-
hashCode
public int hashCode()- Overrides:
hashCodein classMemberInfo
-
makeArrayType
-
createArrayType
-
makeGenericType
-
makeGenericType
-
getErasedType
-
makeGenericTypeCore
-
substitute
-
asSuperTypeOf
-
getRootElementType
Type<?> getRootElementType()///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
getMostSpecificType
-
toString
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////- Overrides:
toStringin classMemberInfo
-
getName
- Specified by:
getNamein classMemberInfo
-
getClassFullName
-
getClassSimpleName
-
getShortName
-
getFullName
-
getInternalName
-
getGenericSignature
Method that returns full generic signature of the type; suitable as signature for things like ASM package. -
appendBriefDescription
- Specified by:
appendBriefDescriptionin classMemberInfo
-
appendSimpleDescription
- Specified by:
appendSimpleDescriptionin classMemberInfo
-
appendErasedDescription
- Specified by:
appendErasedDescriptionin classMemberInfo
-
appendDescription
- Specified by:
appendDescriptionin classMemberInfo
-
appendSignature
- Specified by:
appendSignaturein classMemberInfo
-
appendGenericSignature
- Overrides:
appendGenericSignaturein classMemberInfo
-
invalidateCaches
protected void invalidateCaches()Description copied from class:MemberInfoInvalidate any cached type/member information. This is not guaranteed to be thread-safe, should only be called when a partially constructed type/member definition changes (e.g., a TypeBuilder, MethodBuilder, etc.).- Overrides:
invalidateCachesin classMemberInfo
-
appendErasedSignature
- Specified by:
appendErasedSignaturein classMemberInfo
-
_appendClassSignature
-
_appendErasedClassSignature
-
_appendClassDescription
-
_appendClassName
-
of
-
forName
-
forName
-
resolveClassType
-
getType
-
of
-
tryFind
-
makeExtendsWildcard
-
makeSuperWildcard
-
makeWildcard
-
makeArrayType
-
makeCompoundType
-
makeCompoundType
-
makeCompoundTypeCore
-
list
-
list
-
list
-
getCache
-
getDeclaredConstructors
-
getDeclaredMethods
-
getDeclaredFields
-
getDeclaredTypes
-
getMethodBaseCandidates
private <M extends MethodBase> M[] getMethodBaseCandidates(MemberType type, String name, Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>[] parameterTypes, boolean allowPrefixLookup) -
getFieldCandidates
private FieldInfo[] getFieldCandidates(String name, Set<BindingFlags> bindingFlags, boolean allowPrefixLookup) -
getNestedTypeCandidates
private Type<?>[] getNestedTypeCandidates(String fullName, Set<BindingFlags> bindingFlags, boolean allowPrefixLookup) -
filterMethodBase
boolean filterMethodBase(MethodBase method, Set<BindingFlags> methodFlags, Set<BindingFlags> bindingFlags, CallingConvention callingConventions, Type<?>... argumentTypes) -
filterApplyType
private boolean filterApplyType(Type<?> type, Set<BindingFlags> bindingFlags, String name, boolean prefixLookup) -
filterApplyCore
private boolean filterApplyCore(MemberInfo member, Set<BindingFlags> bindingFlags, boolean isPublic, boolean isPackagePrivate, boolean isStatic, String name, boolean prefixLookup) -
filterApplyPrefixLookup
-
getFilterOptions
private static Type.FilterOptions getFilterOptions(String name, Set<BindingFlags> bindingFlags, boolean allowPrefixLookup) -
filterPreCalculate
static Set<BindingFlags> filterPreCalculate(boolean isPublic, boolean isInherited, boolean isStatic)
-
bottomType()instead.