Package com.strobel.reflection.emit
Class TypeBuilder<T>
java.lang.Object
com.strobel.reflection.MemberInfo
com.strobel.reflection.Type<T>
com.strobel.reflection.emit.TypeBuilder<T>
- All Implemented Interfaces:
AnnotatedElement,Type
- Author:
- strobelm
-
Field Summary
Fields inherited from class com.strobel.reflection.Type
Bottom, DefaultBinder, DefaultLookup, Delimiter, EmptyConstructors, EmptyFields, EmptyMembers, EmptyMethods, EmptyObjects, EmptyStrings, EmptyTypes, FilterMethodOverride, FilterName, FilterNameIgnoreCase, FilterRawMember, NullType, Value -
Constructor Summary
ConstructorsConstructorDescriptionTypeBuilder(String name, int modifiers) TypeBuilder(String name, int modifiers, Type<?> baseType, TypeList interfaces) TypeBuilder(String name, int modifiers, Type<?> baseType, TypeList interfaces, MethodHandles.Lookup packageAccess) TypeBuilder(String name, int modifiers, MethodHandles.Lookup packageAccess) -
Method Summary
Modifier and TypeMethodDescription<P,R> R accept(TypeVisitor<P, R> visitor, P parameter) voidaddCustomAnnotation(AnnotationBuilder<? extends Annotation> annotation) createType(File outputFile) createType(OutputStream outputStream) static MethodHandles.LookupdefineConstant(String name, Type<?> type, int modifiers, Object constantValue) defineConstructor(int modifiers, TypeList parameterTypes) defineConstructor(int modifiers, TypeList parameterTypes, TypeList thrownTypes) defineDefaultConstructor(int modifiers) defineField(String name, Type<?> type, int modifiers) defineGenericParameters(String... names) defineMethod(String name, int modifiers) defineMethod(String name, int modifiers, Type<?> returnType) defineMethod(String name, int modifiers, Type<?> returnType, TypeList parameterTypes) defineMethod(String name, int modifiers, Type<?> returnType, TypeList parameterTypes, TypeList thrownTypes) voiddefineMethodOverride(MethodInfo override, MethodInfo baseMethod) <A extends Annotation>
AgetAnnotation(Class<A> annotationClass) protected Stringprotected StringgetConstructor(Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes) getConstructors(Set<BindingFlags> bindingFlags) ReadOnlyList<AnnotationBuilder<? extends Annotation>> TypeBuilder<?> Type<?> getField(String name, Set<BindingFlags> bindingFlags) getFields(Set<BindingFlags> bindingFlags) intType<?> MemberList<?> getMember(String name, Set<BindingFlags> bindingFlags, Set<MemberType> memberTypes) MemberList<?> getMembers(Set<BindingFlags> bindingFlags, Set<MemberType> memberTypes) getMethod(String name, Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes) getMethods(Set<BindingFlags> bindingFlags, CallingConvention callingConvention) intgetName()Type<?> getNestedType(String fullName, Set<BindingFlags> bindingFlags) getNestedTypes(Set<BindingFlags> bindingFlags) Type<?> protected TypeBindingsbooleanisAnnotationPresent(Class<? extends Annotation> annotationClass) booleanisAssignableFrom(Type<?> type) booleanbooleanisEquivalentTo(Type<?> other) booleanbooleanbooleanbooleanisInstance(Object o) protected Type<?> makeGenericTypeCore(TypeList typeArguments) voidsetBaseType(Type<?> baseType) voidsetInterfaces(TypeList interfaces) static MethodHandles.LookuptryResolvePackageAccessForClass(Type<?> type) Methods inherited from class com.strobel.reflection.Type
_appendClassDescription, _appendClassName, _appendClassSignature, _appendErasedClassSignature, appendBriefDescription, appendDescription, appendGenericSignature, appendSimpleDescription, asSuperTypeOf, bottomType, containsGenericParameter, containsGenericParameters, createArrayType, findMembers, forName, forName, getConstructor, getConstructor, getConstructors, getDeclaredConstructors, getDeclaredFields, getDeclaredMethods, getDeclaredTypes, getElementType, getEnumConstants, getEnumNames, getErasedType, getField, getFields, getGenericSignature, getGenericTypeParameters, getInterfaces, getKind, getMember, getMember, getMembers, getMembers, getMembers, getMembers, getMembersOfType, getMemberType, getMethod, getMethod, getMethods, getMethods, getNestedType, getNestedTypes, getSuperBound, getType, getTypeArguments, getUnderlyingType, getUnderlyingTypeCore, hasElementType, hasExtendsBound, hashCode, hasSuperBound, implementsInterface, invalidateCaches, isAbstract, isArray, isBoundedType, isClass, isCompoundType, isEnum, isEquivalentTo, isInterface, isLocalClass, isNested, isPrimitive, isRawType, isSubTypeOf, isSynthetic, isUnbounded, isVisible, isWildcardType, list, list, list, makeArrayType, makeArrayType, makeCompoundType, makeCompoundType, makeExtendsWildcard, makeGenericType, makeGenericType, makeSuperWildcard, makeWildcard, newInstance, nullType, of, substitute, toString, unboundedWildcardMethods inherited from class com.strobel.reflection.MemberInfo
emptyAnnotations, equals, getAnnotationsByType, getBriefDescription, getDeclaredAnnotation, getDeclaredAnnotationsByType, getDescription, getErasedDescription, getErasedSignature, getSignature, getSimpleDescription, isFinal, isNonPublic, isPackagePrivate, isPrivate, isProtected, isPublic, isStaticMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.reflect.Type
getTypeName
-
Constructor Details
-
TypeBuilder
-
TypeBuilder
-
TypeBuilder
-
TypeBuilder
public TypeBuilder(String name, int modifiers, Type<?> baseType, TypeList interfaces, MethodHandles.Lookup packageAccess)
-
-
Method Details
-
defaultPackageAccess
-
tryResolvePackageAccessForClass
-
setInterfaces
-
setBaseType
-
getPackage
- Overrides:
getPackagein classType<T>
-
getReflectedType
- Overrides:
getReflectedTypein classMemberInfo
-
getDeclaringMethod
- Overrides:
getDeclaringMethodin classType<T>
-
getClassSimpleName
- Overrides:
getClassSimpleNamein classType<T>
-
getClassFullName
- Overrides:
getClassFullNamein classType<T>
-
getShortName
- Overrides:
getShortNamein classType<T>
-
getName
-
getFullName
- Overrides:
getFullNamein classType<T>
-
getInternalName
- Overrides:
getInternalNamein classType<T>
-
appendErasedDescription
- Overrides:
appendErasedDescriptionin classType<T>
-
appendErasedSignature
- Overrides:
appendErasedSignaturein classType<T>
-
appendSignature
- Overrides:
appendSignaturein classType<T>
-
getBaseType
- Overrides:
getBaseTypein classType<T>
-
getExplicitInterfaces
- Overrides:
getExplicitInterfacesin classType<T>
-
getDeclaringType
- Specified by:
getDeclaringTypein classMemberInfo
-
getModifiers
public int getModifiers()- Specified by:
getModifiersin classMemberInfo
-
isEquivalentTo
- Overrides:
isEquivalentToin classType<T>
-
isInstance
- Overrides:
isInstancein classType<T>
-
isGenericParameter
public boolean isGenericParameter()- Overrides:
isGenericParameterin classType<T>
-
isGenericType
public boolean isGenericType()- Overrides:
isGenericTypein classType<T>
-
isGenericTypeDefinition
public boolean isGenericTypeDefinition()- Overrides:
isGenericTypeDefinitionin classType<T>
-
getGenericParameterPosition
public int getGenericParameterPosition()- Overrides:
getGenericParameterPositionin classType<T>
-
getGenericTypeDefinition
- Overrides:
getGenericTypeDefinitionin classType<T>
-
getTypeBindings
- Overrides:
getTypeBindingsin classType<T>
-
getExtendsBound
- Overrides:
getExtendsBoundin classType<T>
-
isAssignableFrom
- Overrides:
isAssignableFromin classType<T>
-
getConstructor
public ConstructorInfo getConstructor(Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes) - Overrides:
getConstructorin classType<T>
-
getConstructors
- Overrides:
getConstructorsin classType<T>
-
getMembers
- Overrides:
getMembersin classType<T>
-
getMember
public MemberList<?> getMember(String name, Set<BindingFlags> bindingFlags, Set<MemberType> memberTypes) -
getMethod
public MethodInfo getMethod(String name, Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes) -
getMethods
- Overrides:
getMethodsin classType<T>
-
getNestedType
- Overrides:
getNestedTypein classType<T>
-
getNestedTypes
- Overrides:
getNestedTypesin classType<T>
-
getFields
-
getField
-
getErasedClass
- Overrides:
getErasedClassin classType<T>
-
accept
-
addCustomAnnotation
-
getCustomAnnotations
-
getAnnotation
- Specified by:
getAnnotationin interfaceAnnotatedElement- Overrides:
getAnnotationin classType<T>
-
getAnnotations
- Specified by:
getAnnotationsin interfaceAnnotatedElement- Overrides:
getAnnotationsin classType<T>
-
getDeclaredAnnotations
- Specified by:
getDeclaredAnnotationsin interfaceAnnotatedElement- Overrides:
getDeclaredAnnotationsin classType<T>
-
isAnnotationPresent
- Specified by:
isAnnotationPresentin interfaceAnnotatedElement- Overrides:
isAnnotationPresentin classType<T>
-
makeGenericTypeCore
- Overrides:
makeGenericTypeCorein classType<T>
-
isCreated
public boolean isCreated() -
createType
-
createType
-
createType
-
defineConstructor
-
defineConstructor
public ConstructorBuilder defineConstructor(int modifiers, TypeList parameterTypes, TypeList thrownTypes) -
defineDefaultConstructor
-
defineDefaultConstructor
-
defineMethodOverride
-
defineMethod
-
defineMethod
-
defineMethod
public MethodBuilder defineMethod(String name, int modifiers, Type<?> returnType, TypeList parameterTypes) -
defineMethod
public MethodBuilder defineMethod(String name, int modifiers, Type<?> returnType, TypeList parameterTypes, TypeList thrownTypes) -
defineTypeInitializer
-
defineConstant
-
defineField
-
defineGenericParameters
-