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:
java.lang.reflect.AnnotatedElement,java.lang.reflect.Type
public final class TypeBuilder<T> extends Type<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classTypeBuilder.LazyTypesprivate static classTypeBuilder.MethodOverride
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,AnnotationBuilder<? extends java.lang.annotation.Annotation>>_annotationMapprivate ReadOnlyList<AnnotationBuilder<? extends java.lang.annotation.Annotation>>_annotationsprivate Type<?>_baseTypeprivate ConstructorList_constructorsprivate java.lang.Class<T>_declarationSiteprivate MethodBuilder_declaringMethodprivate TypeBuilder<?>_declaringTypeprivate static java.lang.invoke.MethodHandle_defineClassprivate Type<?>_extendsBoundprivate FieldList_fieldsprivate java.lang.String_fullNameprivate java.lang.Class<T>_generatedClassprivate Type<T>_generatedTypeprivate int_genericParameterPositionprivate boolean_hasBeenCreatedprivate TypeList_interfacesprivate java.lang.String_internalNameprivate boolean_isGenericParameterprivate boolean_isGenericTypeDefinitionprivate MethodList_methodsprivate int_modifiersprivate java.lang.String_nameprivate java.lang.Package_packageprivate java.lang.invoke.MethodHandles.Lookup_packageAccessprivate java.security.ProtectionDomain_protectionDomainprivate TypeBindings_typeBindings(package private) ConstantPoolconstantPool(package private) java.util.ArrayList<ConstructorBuilder>constructorBuildersprivate static java.lang.StringDumpGeneratedClassesProperty(package private) java.util.ArrayList<FieldBuilder>fieldBuildersprivate static java.lang.StringGeneratedClassOutputPathProperty(package private) java.util.ArrayList<GenericParameterBuilder<?>>genericParameterBuilders(package private) java.util.ArrayList<MethodBuilder>methodBuilders(package private) java.util.ArrayList<TypeBuilder.MethodOverride>methodOverridesprivate static MemberFilterRawMethodMatcherprivate static java.lang.StringVerifyGeneratedClassesProperty-
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
Constructors Constructor Description TypeBuilder()TypeBuilder(java.lang.String name, int modifiers)TypeBuilder(java.lang.String name, int genericParameterPosition, MethodBuilder declaringMethod)TypeBuilder(java.lang.String name, int genericParameterPosition, TypeBuilder<?> declaringType)TypeBuilder(java.lang.String name, int modifiers, Type<?> baseType, TypeBuilder<?> declaringType)TypeBuilder(java.lang.String name, int modifiers, Type<?> baseType, TypeList interfaces)TypeBuilder(java.lang.String name, int modifiers, Type<?> baseType, TypeList interfaces, java.lang.invoke.MethodHandles.Lookup packageAccess)TypeBuilder(java.lang.String name, int modifiers, Type<? super T> baseType, TypeList interfaces, TypeBuilder<?> declaringType)TypeBuilder(java.lang.String name, int modifiers, Type<? super T> baseType, TypeList interfaces, TypeBuilder<?> declaringType, java.lang.invoke.MethodHandles.Lookup packageAccess)TypeBuilder(java.lang.String name, int modifiers, java.lang.invoke.MethodHandles.Lookup packageAccess)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <P,R>
Raccept(TypeVisitor<P,R> visitor, P parameter)voidaddCustomAnnotation(AnnotationBuilder<? extends java.lang.annotation.Annotation> annotation)(package private) voidaddMethodToList(MethodBuilder methodBuilder)java.lang.StringBuilderappendErasedDescription(java.lang.StringBuilder sb)java.lang.StringBuilderappendErasedSignature(java.lang.StringBuilder sb)java.lang.StringBuilderappendSignature(java.lang.StringBuilder sb)private java.lang.annotation.Annotation[]bakeAnnotations()private voidcreateBridgeMethod(TypeBuilder.MethodOverride methodOverride)private voidcreateBridgeMethods()Type<T>createType()Type<T>createType(java.io.File outputFile)Type<T>createType(java.io.OutputStream outputStream)private Type<T>createTypeNoLock(java.io.OutputStream writeTo)static java.lang.invoke.MethodHandles.LookupdefaultPackageAccess()private static java.lang.invoke.MethodHandledefineClass()private static java.lang.invoke.MethodHandledefineClass0()FieldBuilderdefineConstant(java.lang.String name, Type<?> type, int modifiers, java.lang.Object constantValue)ConstructorBuilderdefineConstructor(int modifiers, TypeList parameterTypes)ConstructorBuilderdefineConstructor(int modifiers, TypeList parameterTypes, TypeList thrownTypes)ConstructorBuilderdefineDefaultConstructor()ConstructorBuilderdefineDefaultConstructor(int modifiers)FieldBuilderdefineField(java.lang.String name, Type<?> type, int modifiers)private FieldBuilderdefineFieldCore(java.lang.String name, Type<?> type, int modifiers, java.lang.Object constantValue)GenericParameterBuilder<?>[]defineGenericParameters(java.lang.String... names)MethodBuilderdefineMethod(java.lang.String name, int modifiers)MethodBuilderdefineMethod(java.lang.String name, int modifiers, Type<?> returnType)MethodBuilderdefineMethod(java.lang.String name, int modifiers, Type<?> returnType, TypeList parameterTypes)MethodBuilderdefineMethod(java.lang.String name, int modifiers, Type<?> returnType, TypeList parameterTypes, TypeList thrownTypes)private MethodBuilderdefineMethodCore(java.lang.String name, int modifiers, Type<?> returnType, TypeList parameterTypes, TypeList thrownTypes)voiddefineMethodOverride(MethodInfo override, MethodInfo baseMethod)MethodBuilderdefineTypeInitializer()private static Type<?>erase(Type<?> t)private static java.lang.invoke.MethodHandles.LookupextractPackageAccess(MemberInfo m)private static MemberInfofindPackageAccessDeclaration(Type<?> start, Function<Type<?>,Type<?>> next)<A extends java.lang.annotation.Annotation>
AgetAnnotation(java.lang.Class<A> annotationClass)java.lang.annotation.Annotation[]getAnnotations()Type<? super T>getBaseType()protected java.lang.StringgetClassFullName()protected java.lang.StringgetClassSimpleName()(package private) shortgetConstantToken(double value)(package private) shortgetConstantToken(float value)(package private) shortgetConstantToken(int value)(package private) shortgetConstantToken(long value)ConstructorInfogetConstructor(java.util.Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes)ConstructorListgetConstructors(java.util.Set<BindingFlags> bindingFlags)ReadOnlyList<AnnotationBuilder<? extends java.lang.annotation.Annotation>>getCustomAnnotations()java.lang.annotation.Annotation[]getDeclaredAnnotations()MethodBasegetDeclaringMethod()TypeBuilder<?>getDeclaringType()private java.io.OutputStreamgetDefaultOutputStream()java.lang.Class<T>getErasedClass()TypeListgetExplicitInterfaces()Type<?>getExtendsBound()FieldInfogetField(java.lang.String name, java.util.Set<BindingFlags> bindingFlags)FieldListgetFields(java.util.Set<BindingFlags> bindingFlags)(package private) shortgetFieldToken(FieldInfo field)java.lang.StringgetFullName()intgetGenericParameterPosition()Type<?>getGenericTypeDefinition()java.lang.StringgetInternalName()MemberList<?>getMember(java.lang.String name, java.util.Set<BindingFlags> bindingFlags, java.util.Set<MemberType> memberTypes)MemberList<?>getMembers(java.util.Set<BindingFlags> bindingFlags, java.util.Set<MemberType> memberTypes)MethodInfogetMethod(java.lang.String name, java.util.Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes)MethodListgetMethods(java.util.Set<BindingFlags> bindingFlags, CallingConvention callingConvention)(package private) shortgetMethodToken(MethodBase method)intgetModifiers()java.lang.StringgetName()Type<?>getNestedType(java.lang.String fullName, java.util.Set<BindingFlags> bindingFlags)TypeListgetNestedTypes(java.util.Set<BindingFlags> bindingFlags)java.lang.PackagegetPackage()Type<?>getReflectedType()java.lang.StringgetShortName()(package private) shortgetStringToken(java.lang.String value)protected TypeBindingsgetTypeBindings()(package private) shortgetTypeToken(Type<?> type)(package private) shortgetUtf8StringToken(java.lang.String value)private voidinitialize(java.lang.String typeName, int modifiers, Type<?> baseType, TypeList interfaces, TypeBuilder<?> declaringType, java.lang.invoke.MethodHandles.Lookup packageAccess)private voidinitializeAsGenericParameter(java.lang.String name, int position)booleanisAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)booleanisAssignableFrom(Type<?> type)private booleanisBridgeMethodNeeded(TypeBuilder.MethodOverride methodOverride)(package private) static booleanisBridgeMethodNeeded(MethodInfo baseMethod, MethodInfo override)booleanisCreated()booleanisEquivalentTo(Type<?> other)booleanisGenericParameter()booleanisGenericType()booleanisGenericTypeDefinition()booleanisInstance(java.lang.Object o)protected Type<?>makeGenericTypeCore(TypeList typeArguments)private static java.lang.invoke.MethodHandlemhLookupDefineClass0()private java.lang.invoke.MethodHandles.LookupresolvePackageAccess(java.lang.invoke.MethodHandles.Lookup explicitValue)voidsetBaseType(Type<?> baseType)voidsetInterfaces(TypeList interfaces)static java.lang.invoke.MethodHandles.LookuptryResolvePackageAccessForClass(Type<?> type)private static java.lang.invoke.MethodHandleunsafeDefineClass0()private voidupdateExtendsBound()private voidupdateMembersWithGeneratedReferences()(package private) voidverifyCreated()(package private) voidverifyNotCreated()(package private) voidverifyNotGeneric()-
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, unboundedWildcard
-
Methods inherited from class com.strobel.reflection.MemberInfo
emptyAnnotations, equals, getAnnotationsByType, getBriefDescription, getDeclaredAnnotation, getDeclaredAnnotationsByType, getDescription, getErasedDescription, getErasedSignature, getSignature, getSimpleDescription, isFinal, isNonPublic, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic
-
-
-
-
Field Detail
-
DumpGeneratedClassesProperty
private static final java.lang.String DumpGeneratedClassesProperty
- See Also:
- Constant Field Values
-
GeneratedClassOutputPathProperty
private static final java.lang.String GeneratedClassOutputPathProperty
- See Also:
- Constant Field Values
-
VerifyGeneratedClassesProperty
private static final java.lang.String VerifyGeneratedClassesProperty
- See Also:
- Constant Field Values
-
constantPool
final ConstantPool constantPool
-
constructorBuilders
final java.util.ArrayList<ConstructorBuilder> constructorBuilders
-
methodBuilders
final java.util.ArrayList<MethodBuilder> methodBuilders
-
fieldBuilders
final java.util.ArrayList<FieldBuilder> fieldBuilders
-
genericParameterBuilders
final java.util.ArrayList<GenericParameterBuilder<?>> genericParameterBuilders
-
methodOverrides
final java.util.ArrayList<TypeBuilder.MethodOverride> methodOverrides
-
_name
private java.lang.String _name
-
_fullName
private java.lang.String _fullName
-
_internalName
private java.lang.String _internalName
-
_package
private java.lang.Package _package
-
_baseType
private Type<?> _baseType
-
_constructors
private ConstructorList _constructors
-
_methods
private MethodList _methods
-
_fields
private FieldList _fields
-
_interfaces
private TypeList _interfaces
-
_declaringType
private TypeBuilder<?> _declaringType
-
_declaringMethod
private MethodBuilder _declaringMethod
-
_modifiers
private int _modifiers
-
_hasBeenCreated
private boolean _hasBeenCreated
-
_generatedClass
private java.lang.Class<T> _generatedClass
-
_extendsBound
private Type<?> _extendsBound
-
_genericParameterPosition
private int _genericParameterPosition
-
_isGenericParameter
private boolean _isGenericParameter
-
_isGenericTypeDefinition
private boolean _isGenericTypeDefinition
-
_typeBindings
private TypeBindings _typeBindings
-
_annotations
private ReadOnlyList<AnnotationBuilder<? extends java.lang.annotation.Annotation>> _annotations
-
_annotationMap
private java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,AnnotationBuilder<? extends java.lang.annotation.Annotation>> _annotationMap
-
_protectionDomain
private final java.security.ProtectionDomain _protectionDomain
-
_declarationSite
private final java.lang.Class<T> _declarationSite
-
_packageAccess
private java.lang.invoke.MethodHandles.Lookup _packageAccess
-
RawMethodMatcher
private static final MemberFilter RawMethodMatcher
-
_defineClass
private static java.lang.invoke.MethodHandle _defineClass
-
-
Constructor Detail
-
TypeBuilder
public TypeBuilder(java.lang.String name, int modifiers)
-
TypeBuilder
public TypeBuilder(java.lang.String name, int modifiers, java.lang.invoke.MethodHandles.Lookup packageAccess)
-
TypeBuilder
public TypeBuilder(java.lang.String name, int modifiers, Type<?> baseType, TypeList interfaces)
-
TypeBuilder
public TypeBuilder(java.lang.String name, int modifiers, Type<?> baseType, TypeList interfaces, java.lang.invoke.MethodHandles.Lookup packageAccess)
-
TypeBuilder
TypeBuilder()
-
TypeBuilder
TypeBuilder(java.lang.String name, int genericParameterPosition, TypeBuilder<?> declaringType)
-
TypeBuilder
TypeBuilder(java.lang.String name, int genericParameterPosition, MethodBuilder declaringMethod)
-
TypeBuilder
TypeBuilder(java.lang.String name, int modifiers, Type<?> baseType, TypeBuilder<?> declaringType)
-
TypeBuilder
TypeBuilder(java.lang.String name, int modifiers, Type<? super T> baseType, TypeList interfaces, TypeBuilder<?> declaringType)
-
TypeBuilder
TypeBuilder(java.lang.String name, int modifiers, Type<? super T> baseType, TypeList interfaces, TypeBuilder<?> declaringType, java.lang.invoke.MethodHandles.Lookup packageAccess)
-
-
Method Detail
-
defaultPackageAccess
public static java.lang.invoke.MethodHandles.Lookup defaultPackageAccess()
-
initializeAsGenericParameter
private void initializeAsGenericParameter(java.lang.String name, int position)
-
initialize
private void initialize(java.lang.String typeName, int modifiers, Type<?> baseType, TypeList interfaces, TypeBuilder<?> declaringType, java.lang.invoke.MethodHandles.Lookup packageAccess)
-
resolvePackageAccess
private java.lang.invoke.MethodHandles.Lookup resolvePackageAccess(java.lang.invoke.MethodHandles.Lookup explicitValue)
-
tryResolvePackageAccessForClass
public static java.lang.invoke.MethodHandles.Lookup tryResolvePackageAccessForClass(Type<?> type)
-
extractPackageAccess
private static java.lang.invoke.MethodHandles.Lookup extractPackageAccess(MemberInfo m)
-
findPackageAccessDeclaration
private static MemberInfo findPackageAccessDeclaration(Type<?> start, Function<Type<?>,Type<?>> next)
-
setInterfaces
public void setInterfaces(TypeList interfaces)
-
setBaseType
public void setBaseType(Type<?> baseType)
-
updateExtendsBound
private void updateExtendsBound()
-
verifyNotCreated
void verifyNotCreated()
-
verifyCreated
void verifyCreated()
-
verifyNotGeneric
void verifyNotGeneric()
-
getPackage
public java.lang.Package getPackage()
- Overrides:
getPackagein classType<T>
-
getReflectedType
public Type<?> getReflectedType()
- Overrides:
getReflectedTypein classMemberInfo
-
getDeclaringMethod
public MethodBase getDeclaringMethod()
- Overrides:
getDeclaringMethodin classType<T>
-
getClassSimpleName
protected java.lang.String getClassSimpleName()
- Overrides:
getClassSimpleNamein classType<T>
-
getClassFullName
protected java.lang.String getClassFullName()
- Overrides:
getClassFullNamein classType<T>
-
getShortName
public java.lang.String getShortName()
- Overrides:
getShortNamein classType<T>
-
getFullName
public java.lang.String getFullName()
- Overrides:
getFullNamein classType<T>
-
getInternalName
public java.lang.String getInternalName()
- Overrides:
getInternalNamein classType<T>
-
appendErasedDescription
public java.lang.StringBuilder appendErasedDescription(java.lang.StringBuilder sb)
- Overrides:
appendErasedDescriptionin classType<T>
-
appendErasedSignature
public java.lang.StringBuilder appendErasedSignature(java.lang.StringBuilder sb)
- Overrides:
appendErasedSignaturein classType<T>
-
appendSignature
public java.lang.StringBuilder appendSignature(java.lang.StringBuilder sb)
- Overrides:
appendSignaturein classType<T>
-
getBaseType
public Type<? super T> getBaseType()
- Overrides:
getBaseTypein classType<T>
-
getExplicitInterfaces
public TypeList getExplicitInterfaces()
- Overrides:
getExplicitInterfacesin classType<T>
-
getDeclaringType
public TypeBuilder<?> getDeclaringType()
- Specified by:
getDeclaringTypein classMemberInfo
-
getModifiers
public int getModifiers()
- Specified by:
getModifiersin classMemberInfo
-
isEquivalentTo
public boolean isEquivalentTo(Type<?> other)
- Overrides:
isEquivalentToin classType<T>
-
isInstance
public boolean isInstance(java.lang.Object o)
- 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
public Type<?> getGenericTypeDefinition()
- Overrides:
getGenericTypeDefinitionin classType<T>
-
getTypeBindings
protected TypeBindings getTypeBindings()
- Overrides:
getTypeBindingsin classType<T>
-
getExtendsBound
public Type<?> getExtendsBound()
- Overrides:
getExtendsBoundin classType<T>
-
isAssignableFrom
public boolean isAssignableFrom(Type<?> type)
- Overrides:
isAssignableFromin classType<T>
-
getConstructor
public ConstructorInfo getConstructor(java.util.Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes)
- Overrides:
getConstructorin classType<T>
-
getConstructors
public ConstructorList getConstructors(java.util.Set<BindingFlags> bindingFlags)
- Overrides:
getConstructorsin classType<T>
-
getMembers
public MemberList<?> getMembers(java.util.Set<BindingFlags> bindingFlags, java.util.Set<MemberType> memberTypes)
- Overrides:
getMembersin classType<T>
-
getMember
public MemberList<?> getMember(java.lang.String name, java.util.Set<BindingFlags> bindingFlags, java.util.Set<MemberType> memberTypes)
-
getMethod
public MethodInfo getMethod(java.lang.String name, java.util.Set<BindingFlags> bindingFlags, CallingConvention callingConvention, Type<?>... parameterTypes)
-
getMethods
public MethodList getMethods(java.util.Set<BindingFlags> bindingFlags, CallingConvention callingConvention)
- Overrides:
getMethodsin classType<T>
-
getNestedType
public Type<?> getNestedType(java.lang.String fullName, java.util.Set<BindingFlags> bindingFlags)
- Overrides:
getNestedTypein classType<T>
-
getNestedTypes
public TypeList getNestedTypes(java.util.Set<BindingFlags> bindingFlags)
- Overrides:
getNestedTypesin classType<T>
-
getFields
public FieldList getFields(java.util.Set<BindingFlags> bindingFlags)
-
getField
public FieldInfo getField(java.lang.String name, java.util.Set<BindingFlags> bindingFlags)
-
getErasedClass
public java.lang.Class<T> getErasedClass()
- Overrides:
getErasedClassin classType<T>
-
accept
public <P,R> R accept(TypeVisitor<P,R> visitor, P parameter)
-
addCustomAnnotation
public void addCustomAnnotation(AnnotationBuilder<? extends java.lang.annotation.Annotation> annotation)
-
getCustomAnnotations
public ReadOnlyList<AnnotationBuilder<? extends java.lang.annotation.Annotation>> getCustomAnnotations()
-
getAnnotation
public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A> annotationClass)
- Specified by:
getAnnotationin interfacejava.lang.reflect.AnnotatedElement- Overrides:
getAnnotationin classType<T>
-
getAnnotations
@NotNull public java.lang.annotation.Annotation[] getAnnotations()
- Specified by:
getAnnotationsin interfacejava.lang.reflect.AnnotatedElement- Overrides:
getAnnotationsin classType<T>
-
bakeAnnotations
private java.lang.annotation.Annotation[] bakeAnnotations()
-
getDeclaredAnnotations
@NotNull public java.lang.annotation.Annotation[] getDeclaredAnnotations()
- Specified by:
getDeclaredAnnotationsin interfacejava.lang.reflect.AnnotatedElement- Overrides:
getDeclaredAnnotationsin classType<T>
-
isAnnotationPresent
public boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
- Specified by:
isAnnotationPresentin interfacejava.lang.reflect.AnnotatedElement- Overrides:
isAnnotationPresentin classType<T>
-
makeGenericTypeCore
protected Type<?> makeGenericTypeCore(TypeList typeArguments)
- Overrides:
makeGenericTypeCorein classType<T>
-
isCreated
public boolean isCreated()
-
defineConstructor
public ConstructorBuilder defineConstructor(int modifiers, TypeList parameterTypes)
-
defineConstructor
public ConstructorBuilder defineConstructor(int modifiers, TypeList parameterTypes, TypeList thrownTypes)
-
defineDefaultConstructor
public ConstructorBuilder defineDefaultConstructor()
-
defineDefaultConstructor
public ConstructorBuilder defineDefaultConstructor(int modifiers)
-
addMethodToList
void addMethodToList(MethodBuilder methodBuilder)
-
defineMethodOverride
public void defineMethodOverride(MethodInfo override, MethodInfo baseMethod)
-
defineMethod
public MethodBuilder defineMethod(java.lang.String name, int modifiers)
-
defineMethod
public MethodBuilder defineMethod(java.lang.String name, int modifiers, Type<?> returnType)
-
defineMethod
public MethodBuilder defineMethod(java.lang.String name, int modifiers, Type<?> returnType, TypeList parameterTypes)
-
defineMethod
public MethodBuilder defineMethod(java.lang.String name, int modifiers, Type<?> returnType, TypeList parameterTypes, TypeList thrownTypes)
-
defineMethodCore
private MethodBuilder defineMethodCore(java.lang.String name, int modifiers, Type<?> returnType, TypeList parameterTypes, TypeList thrownTypes)
-
defineTypeInitializer
public MethodBuilder defineTypeInitializer()
-
defineConstant
public FieldBuilder defineConstant(java.lang.String name, Type<?> type, int modifiers, java.lang.Object constantValue)
-
defineField
public FieldBuilder defineField(java.lang.String name, Type<?> type, int modifiers)
-
defineFieldCore
private FieldBuilder defineFieldCore(java.lang.String name, Type<?> type, int modifiers, java.lang.Object constantValue)
-
defineGenericParameters
public GenericParameterBuilder<?>[] defineGenericParameters(java.lang.String... names)
-
getTypeToken
short getTypeToken(Type<?> type)
-
getMethodToken
short getMethodToken(MethodBase method)
-
getFieldToken
short getFieldToken(FieldInfo field)
-
getConstantToken
short getConstantToken(int value)
-
getConstantToken
short getConstantToken(long value)
-
getConstantToken
short getConstantToken(float value)
-
getConstantToken
short getConstantToken(double value)
-
getStringToken
short getStringToken(java.lang.String value)
-
getUtf8StringToken
short getUtf8StringToken(java.lang.String value)
-
createTypeNoLock
private Type<T> createTypeNoLock(java.io.OutputStream writeTo) throws java.io.IOException
- Throws:
java.io.IOException
-
createBridgeMethods
private void createBridgeMethods()
-
createBridgeMethod
private void createBridgeMethod(TypeBuilder.MethodOverride methodOverride)
-
isBridgeMethodNeeded
private boolean isBridgeMethodNeeded(TypeBuilder.MethodOverride methodOverride)
-
isBridgeMethodNeeded
static boolean isBridgeMethodNeeded(MethodInfo baseMethod, MethodInfo override)
-
getDefaultOutputStream
private java.io.OutputStream getDefaultOutputStream()
-
updateMembersWithGeneratedReferences
private void updateMembersWithGeneratedReferences()
-
defineClass
private static java.lang.invoke.MethodHandle defineClass()
-
defineClass0
private static java.lang.invoke.MethodHandle defineClass0()
-
mhLookupDefineClass0
private static java.lang.invoke.MethodHandle mhLookupDefineClass0()
-
unsafeDefineClass0
private static java.lang.invoke.MethodHandle unsafeDefineClass0() throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
-