├── .gitattributes
├── .github
├── CONTRIBUTING.md
├── FUNDING.yml
├── dependabot.yml
└── workflows
│ ├── codeql-analysis.yml
│ ├── main.yml
│ └── scorecards.yml
├── .gitignore
├── .mvn
├── A1039E8B.asc
├── checksum
│ ├── mvnc
│ └── mvnc.cmd
├── checksums.sha256
├── mvn-collect.sh
├── nossl.settings.xml
├── release.settings.xml
├── wrapper-legacy
│ ├── MavenWrapperDownloader.java
│ └── maven-wrapper.properties
└── wrapper
│ ├── MavenWrapperDownloader.java
│ └── maven-wrapper.properties
├── LICENSE
├── NOTICE
├── README.md
├── SECURITY.md
├── byte-buddy-agent
├── pom.xml
└── src
│ ├── main
│ ├── c
│ │ └── attach_hotspot_windows.c
│ ├── java
│ │ └── net
│ │ │ └── bytebuddy
│ │ │ └── agent
│ │ │ ├── Attacher.java
│ │ │ ├── ByteBuddyAgent.java
│ │ │ ├── Installer.java
│ │ │ ├── VirtualMachine.java
│ │ │ ├── package-info.java
│ │ │ └── utility
│ │ │ └── nullability
│ │ │ ├── AlwaysNull.java
│ │ │ ├── MaybeNull.java
│ │ │ ├── NeverNull.java
│ │ │ ├── UnknownNull.java
│ │ │ └── package-info.java
│ └── resources
│ │ ├── win32-x86-64
│ │ └── attach_hotspot_windows.dll
│ │ └── win32-x86
│ │ └── attach_hotspot_windows.dll
│ └── test
│ └── java
│ └── net
│ └── bytebuddy
│ ├── agent
│ ├── AttacherTest.java
│ ├── ByteBuddyAgentAgentProviderTest.java
│ ├── ByteBuddyAgentAttachmentProviderTest.java
│ ├── ByteBuddyAgentAttachmentTypeEvaluator.java
│ ├── ByteBuddyAgentInstallationTest.java
│ ├── ByteBuddyAgentTest.java
│ ├── InstallerTest.java
│ ├── SampleAgent.java
│ ├── VirtualMachineAttachmentTest.java
│ ├── VirtualMachineForHotSpotTest.java
│ └── VirtualMachineForOpenJ9Test.java
│ └── test
│ └── utility
│ ├── AgentAttachmentRule.java
│ ├── JavaVersionRule.java
│ └── JnaRule.java
├── byte-buddy-android-test
├── AndroidManifest.xml
├── pom.xml
├── res
│ ├── drawable
│ │ └── icon.png
│ ├── layout
│ │ └── main.xml
│ └── values
│ │ └── strings.xml
└── src
│ └── main
│ ├── java
│ └── net
│ │ └── bytebuddy
│ │ └── android
│ │ └── test
│ │ ├── TestActivity.java
│ │ └── package-info.java
│ └── resources
│ └── maven.properties
├── byte-buddy-android
├── README.md
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── net
│ │ └── bytebuddy
│ │ └── android
│ │ ├── AndroidClassLoadingStrategy.java
│ │ └── package-info.java
│ └── test
│ └── java
│ └── net
│ └── bytebuddy
│ └── android
│ └── AndroidClassLoadingStrategyTest.java
├── byte-buddy-benchmark
├── pom.xml
├── result.txt
└── src
│ ├── main
│ └── java
│ │ └── net
│ │ └── bytebuddy
│ │ └── benchmark
│ │ ├── ClassByExtensionBenchmark.java
│ │ ├── ClassByImplementationBenchmark.java
│ │ ├── StubInvocationBenchmark.java
│ │ ├── SuperClassInvocationBenchmark.java
│ │ ├── TrivialClassCreationBenchmark.java
│ │ ├── package-info.java
│ │ ├── runner
│ │ ├── QuickRunner.java
│ │ └── package-info.java
│ │ └── specimen
│ │ ├── ExampleClass.java
│ │ ├── ExampleInterface.java
│ │ └── package-info.java
│ └── test
│ └── java
│ └── net
│ └── bytebuddy
│ └── benchmark
│ ├── AbstractBlackHoleTest.java
│ ├── ClassByExtensionBenchmarkByteBuddyInterceptorTest.java
│ ├── ClassByExtensionBenchmarkTest.java
│ ├── ClassByImplementationBenchmarkTest.java
│ ├── StubInvocationBenchmarkTest.java
│ ├── SuperClassInvocationBenchmarkTest.java
│ └── TrivialClassCreationBenchmarkTest.java
├── byte-buddy-dep
├── pom.xml
└── src
│ ├── main
│ └── java
│ │ └── net
│ │ └── bytebuddy
│ │ ├── ByteBuddy.java
│ │ ├── ClassFileVersion.java
│ │ ├── NamingStrategy.java
│ │ ├── TypeCache.java
│ │ ├── agent
│ │ └── builder
│ │ │ ├── AgentBuilder.java
│ │ │ ├── LambdaFactory.java
│ │ │ ├── ResettableClassFileTransformer.java
│ │ │ └── package-info.java
│ │ ├── asm
│ │ ├── Advice.java
│ │ ├── AnnotationRemoval.java
│ │ ├── AsmVisitorWrapper.java
│ │ ├── ClassVisitorFactory.java
│ │ ├── MemberAttributeExtension.java
│ │ ├── MemberRemoval.java
│ │ ├── MemberSubstitution.java
│ │ ├── ModifierAdjustment.java
│ │ ├── TypeConstantAdjustment.java
│ │ ├── TypeReferenceAdjustment.java
│ │ └── package-info.java
│ │ ├── build
│ │ ├── AccessControllerPlugin.java
│ │ ├── AndroidDescriptor.java
│ │ ├── BuildLogger.java
│ │ ├── CachedReturnPlugin.java
│ │ ├── DispatcherAnnotationPlugin.java
│ │ ├── EntryPoint.java
│ │ ├── HashCodeAndEqualsPlugin.java
│ │ ├── Plugin.java
│ │ ├── RenamingPlugin.java
│ │ ├── RepeatedAnnotationPlugin.java
│ │ ├── SafeVarargsPlugin.java
│ │ ├── ToStringPlugin.java
│ │ └── package-info.java
│ │ ├── description
│ │ ├── ByteCodeElement.java
│ │ ├── DeclaredByType.java
│ │ ├── ModifierReviewable.java
│ │ ├── NamedElement.java
│ │ ├── TypeVariableSource.java
│ │ ├── annotation
│ │ │ ├── AnnotationDescription.java
│ │ │ ├── AnnotationList.java
│ │ │ ├── AnnotationSource.java
│ │ │ ├── AnnotationValue.java
│ │ │ └── package-info.java
│ │ ├── enumeration
│ │ │ ├── EnumerationDescription.java
│ │ │ └── package-info.java
│ │ ├── field
│ │ │ ├── FieldDescription.java
│ │ │ ├── FieldList.java
│ │ │ └── package-info.java
│ │ ├── method
│ │ │ ├── MethodDescription.java
│ │ │ ├── MethodList.java
│ │ │ ├── ParameterDescription.java
│ │ │ ├── ParameterList.java
│ │ │ └── package-info.java
│ │ ├── modifier
│ │ │ ├── EnumerationState.java
│ │ │ ├── FieldManifestation.java
│ │ │ ├── FieldPersistence.java
│ │ │ ├── Mandate.java
│ │ │ ├── MethodArguments.java
│ │ │ ├── MethodManifestation.java
│ │ │ ├── MethodStrictness.java
│ │ │ ├── ModifierContributor.java
│ │ │ ├── Ownership.java
│ │ │ ├── ParameterManifestation.java
│ │ │ ├── ProvisioningState.java
│ │ │ ├── SynchronizationState.java
│ │ │ ├── SyntheticState.java
│ │ │ ├── TypeManifestation.java
│ │ │ ├── Visibility.java
│ │ │ └── package-info.java
│ │ ├── package-info.java
│ │ └── type
│ │ │ ├── PackageDescription.java
│ │ │ ├── RecordComponentDescription.java
│ │ │ ├── RecordComponentList.java
│ │ │ ├── TypeDefinition.java
│ │ │ ├── TypeDescription.java
│ │ │ ├── TypeList.java
│ │ │ ├── TypeVariableToken.java
│ │ │ └── package-info.java
│ │ ├── dynamic
│ │ ├── ClassFileLocator.java
│ │ ├── DynamicType.java
│ │ ├── Nexus.java
│ │ ├── NexusAccessor.java
│ │ ├── TargetType.java
│ │ ├── Transformer.java
│ │ ├── TypeResolutionStrategy.java
│ │ ├── VisibilityBridgeStrategy.java
│ │ ├── loading
│ │ │ ├── ByteArrayClassLoader.java
│ │ │ ├── ClassFilePostProcessor.java
│ │ │ ├── ClassInjector.java
│ │ │ ├── ClassLoadingStrategy.java
│ │ │ ├── ClassReloadingStrategy.java
│ │ │ ├── InjectionClassLoader.java
│ │ │ ├── MultipleParentClassLoader.java
│ │ │ ├── PackageDefinitionStrategy.java
│ │ │ └── package-info.java
│ │ ├── package-info.java
│ │ └── scaffold
│ │ │ ├── ClassWriterStrategy.java
│ │ │ ├── FieldLocator.java
│ │ │ ├── FieldRegistry.java
│ │ │ ├── InstrumentedType.java
│ │ │ ├── MethodGraph.java
│ │ │ ├── MethodRegistry.java
│ │ │ ├── RecordComponentRegistry.java
│ │ │ ├── TypeInitializer.java
│ │ │ ├── TypeValidation.java
│ │ │ ├── TypeWriter.java
│ │ │ ├── inline
│ │ │ ├── AbstractInliningDynamicTypeBuilder.java
│ │ │ ├── DecoratingDynamicTypeBuilder.java
│ │ │ ├── InliningImplementationMatcher.java
│ │ │ ├── MethodNameTransformer.java
│ │ │ ├── MethodRebaseResolver.java
│ │ │ ├── RebaseDynamicTypeBuilder.java
│ │ │ ├── RebaseImplementationTarget.java
│ │ │ ├── RedefinitionDynamicTypeBuilder.java
│ │ │ └── package-info.java
│ │ │ ├── package-info.java
│ │ │ └── subclass
│ │ │ ├── ConstructorStrategy.java
│ │ │ ├── SubclassDynamicTypeBuilder.java
│ │ │ ├── SubclassImplementationTarget.java
│ │ │ └── package-info.java
│ │ ├── implementation
│ │ ├── DefaultMethodCall.java
│ │ ├── EqualsMethod.java
│ │ ├── ExceptionMethod.java
│ │ ├── FieldAccessor.java
│ │ ├── FixedValue.java
│ │ ├── HashCodeMethod.java
│ │ ├── Implementation.java
│ │ ├── InvocationHandlerAdapter.java
│ │ ├── InvokeDynamic.java
│ │ ├── LoadedTypeInitializer.java
│ │ ├── MethodAccessorFactory.java
│ │ ├── MethodCall.java
│ │ ├── MethodDelegation.java
│ │ ├── StubMethod.java
│ │ ├── SuperMethodCall.java
│ │ ├── ToStringMethod.java
│ │ ├── attribute
│ │ │ ├── AnnotationAppender.java
│ │ │ ├── AnnotationRetention.java
│ │ │ ├── AnnotationValueFilter.java
│ │ │ ├── FieldAttributeAppender.java
│ │ │ ├── MethodAttributeAppender.java
│ │ │ ├── RecordComponentAttributeAppender.java
│ │ │ ├── TypeAttributeAppender.java
│ │ │ └── package-info.java
│ │ ├── auxiliary
│ │ │ ├── AuxiliaryType.java
│ │ │ ├── MethodCallProxy.java
│ │ │ ├── PrivilegedMemberLookupAction.java
│ │ │ ├── TrivialType.java
│ │ │ ├── TypeProxy.java
│ │ │ └── package-info.java
│ │ ├── bind
│ │ │ ├── ArgumentTypeResolver.java
│ │ │ ├── DeclaringTypeResolver.java
│ │ │ ├── MethodDelegationBinder.java
│ │ │ ├── MethodNameEqualityResolver.java
│ │ │ ├── ParameterLengthResolver.java
│ │ │ ├── annotation
│ │ │ │ ├── AllArguments.java
│ │ │ │ ├── Argument.java
│ │ │ │ ├── BindingPriority.java
│ │ │ │ ├── Default.java
│ │ │ │ ├── DefaultCall.java
│ │ │ │ ├── DefaultCallHandle.java
│ │ │ │ ├── DefaultMethod.java
│ │ │ │ ├── DefaultMethodHandle.java
│ │ │ │ ├── DynamicConstant.java
│ │ │ │ ├── Empty.java
│ │ │ │ ├── FieldGetterHandle.java
│ │ │ │ ├── FieldProxy.java
│ │ │ │ ├── FieldSetterHandle.java
│ │ │ │ ├── FieldValue.java
│ │ │ │ ├── Handle.java
│ │ │ │ ├── IgnoreForBinding.java
│ │ │ │ ├── Morph.java
│ │ │ │ ├── Origin.java
│ │ │ │ ├── Pipe.java
│ │ │ │ ├── RuntimeType.java
│ │ │ │ ├── StubValue.java
│ │ │ │ ├── Super.java
│ │ │ │ ├── SuperCall.java
│ │ │ │ ├── SuperCallHandle.java
│ │ │ │ ├── SuperMethod.java
│ │ │ │ ├── SuperMethodHandle.java
│ │ │ │ ├── TargetMethodAnnotationDrivenBinder.java
│ │ │ │ ├── This.java
│ │ │ │ └── package-info.java
│ │ │ └── package-info.java
│ │ ├── bytecode
│ │ │ ├── Addition.java
│ │ │ ├── ByteCodeAppender.java
│ │ │ ├── Division.java
│ │ │ ├── Duplication.java
│ │ │ ├── Multiplication.java
│ │ │ ├── Negation.java
│ │ │ ├── Remainder.java
│ │ │ ├── Removal.java
│ │ │ ├── ShiftLeft.java
│ │ │ ├── ShiftRight.java
│ │ │ ├── StackManipulation.java
│ │ │ ├── StackSize.java
│ │ │ ├── Subtraction.java
│ │ │ ├── Throw.java
│ │ │ ├── TypeCreation.java
│ │ │ ├── assign
│ │ │ │ ├── Assigner.java
│ │ │ │ ├── InstanceCheck.java
│ │ │ │ ├── TypeCasting.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── primitive
│ │ │ │ │ ├── PrimitiveBoxingDelegate.java
│ │ │ │ │ ├── PrimitiveNarrowingDelegate.java
│ │ │ │ │ ├── PrimitiveTypeAwareAssigner.java
│ │ │ │ │ ├── PrimitiveUnboxingDelegate.java
│ │ │ │ │ ├── PrimitiveWideningDelegate.java
│ │ │ │ │ ├── VoidAwareAssigner.java
│ │ │ │ │ └── package-info.java
│ │ │ │ └── reference
│ │ │ │ │ ├── GenericTypeAwareAssigner.java
│ │ │ │ │ ├── ReferenceTypeAwareAssigner.java
│ │ │ │ │ └── package-info.java
│ │ │ ├── collection
│ │ │ │ ├── ArrayAccess.java
│ │ │ │ ├── ArrayFactory.java
│ │ │ │ ├── ArrayLength.java
│ │ │ │ ├── CollectionFactory.java
│ │ │ │ └── package-info.java
│ │ │ ├── constant
│ │ │ │ ├── ClassConstant.java
│ │ │ │ ├── DefaultValue.java
│ │ │ │ ├── DoubleConstant.java
│ │ │ │ ├── FieldConstant.java
│ │ │ │ ├── FloatConstant.java
│ │ │ │ ├── IntegerConstant.java
│ │ │ │ ├── JavaConstantValue.java
│ │ │ │ ├── LongConstant.java
│ │ │ │ ├── MethodConstant.java
│ │ │ │ ├── NullConstant.java
│ │ │ │ ├── SerializedConstant.java
│ │ │ │ ├── TextConstant.java
│ │ │ │ └── package-info.java
│ │ │ ├── member
│ │ │ │ ├── FieldAccess.java
│ │ │ │ ├── HandleInvocation.java
│ │ │ │ ├── Invokedynamic.java
│ │ │ │ ├── MethodInvocation.java
│ │ │ │ ├── MethodReturn.java
│ │ │ │ ├── MethodVariableAccess.java
│ │ │ │ └── package-info.java
│ │ │ └── package-info.java
│ │ └── package-info.java
│ │ ├── matcher
│ │ ├── AccessibilityMatcher.java
│ │ ├── AnnotationTargetMatcher.java
│ │ ├── AnnotationTypeMatcher.java
│ │ ├── ArrayTypeMatcher.java
│ │ ├── BooleanMatcher.java
│ │ ├── CachingMatcher.java
│ │ ├── ClassFileVersionMatcher.java
│ │ ├── ClassLoaderHierarchyMatcher.java
│ │ ├── ClassLoaderParentMatcher.java
│ │ ├── CollectionElementMatcher.java
│ │ ├── CollectionErasureMatcher.java
│ │ ├── CollectionItemMatcher.java
│ │ ├── CollectionOneToOneMatcher.java
│ │ ├── CollectionSizeMatcher.java
│ │ ├── DeclaringAnnotationMatcher.java
│ │ ├── DeclaringFieldMatcher.java
│ │ ├── DeclaringMethodMatcher.java
│ │ ├── DeclaringTypeMatcher.java
│ │ ├── DefinedShapeMatcher.java
│ │ ├── DescriptorMatcher.java
│ │ ├── ElementMatcher.java
│ │ ├── ElementMatchers.java
│ │ ├── EqualityMatcher.java
│ │ ├── ErasureMatcher.java
│ │ ├── FailSafeMatcher.java
│ │ ├── FieldTypeMatcher.java
│ │ ├── FilterableList.java
│ │ ├── HasSuperClassMatcher.java
│ │ ├── HasSuperTypeMatcher.java
│ │ ├── InheritedAnnotationMatcher.java
│ │ ├── InstanceTypeMatcher.java
│ │ ├── IsNamedMatcher.java
│ │ ├── LatentMatcher.java
│ │ ├── MethodExceptionTypeMatcher.java
│ │ ├── MethodOverrideMatcher.java
│ │ ├── MethodParameterTypeMatcher.java
│ │ ├── MethodParameterTypesMatcher.java
│ │ ├── MethodParametersMatcher.java
│ │ ├── MethodReturnTypeMatcher.java
│ │ ├── MethodSortMatcher.java
│ │ ├── ModifierMatcher.java
│ │ ├── NameMatcher.java
│ │ ├── NegatingMatcher.java
│ │ ├── NullMatcher.java
│ │ ├── PrimitiveTypeMatcher.java
│ │ ├── RecordMatcher.java
│ │ ├── SignatureTokenMatcher.java
│ │ ├── StringMatcher.java
│ │ ├── StringSetMatcher.java
│ │ ├── SubTypeMatcher.java
│ │ ├── SuperTypeMatcher.java
│ │ ├── TypeSortMatcher.java
│ │ ├── VisibilityMatcher.java
│ │ └── package-info.java
│ │ ├── package-info.java
│ │ ├── pool
│ │ ├── TypePool.java
│ │ └── package-info.java
│ │ └── utility
│ │ ├── AsmClassReader.java
│ │ ├── AsmClassWriter.java
│ │ ├── CompoundList.java
│ │ ├── ConstantValue.java
│ │ ├── ConstructorComparator.java
│ │ ├── FieldComparator.java
│ │ ├── FileSystem.java
│ │ ├── GraalImageCode.java
│ │ ├── Invoker.java
│ │ ├── JavaConstant.java
│ │ ├── JavaModule.java
│ │ ├── JavaType.java
│ │ ├── MethodComparator.java
│ │ ├── OpenedClassReader.java
│ │ ├── QueueFactory.java
│ │ ├── RandomString.java
│ │ ├── StreamDrainer.java
│ │ ├── dispatcher
│ │ ├── JavaDispatcher.java
│ │ └── package-info.java
│ │ ├── nullability
│ │ ├── AlwaysNull.java
│ │ ├── MaybeNull.java
│ │ ├── NeverNull.java
│ │ ├── UnknownNull.java
│ │ └── package-info.java
│ │ ├── package-info.java
│ │ ├── privilege
│ │ ├── GetMethodAction.java
│ │ ├── GetSystemPropertyAction.java
│ │ ├── SetAccessibleAction.java
│ │ └── package-info.java
│ │ └── visitor
│ │ ├── ContextClassVisitor.java
│ │ ├── ExceptionTableSensitiveMethodVisitor.java
│ │ ├── LineNumberPrependingMethodVisitor.java
│ │ ├── LocalVariableAwareMethodVisitor.java
│ │ ├── MetadataAwareClassVisitor.java
│ │ ├── StackAwareMethodVisitor.java
│ │ └── package-info.java
│ └── test
│ ├── c
│ ├── net_bytebuddy_test_c_NativeSample.c
│ └── net_bytebuddy_test_c_NativeSample.h
│ ├── java-11
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v11
│ │ ├── AdviceDynamicConstant.java
│ │ ├── ClassExtendsTypeReference.java
│ │ ├── DynamicConstantBootstrap.java
│ │ ├── MemberSubstitutionDynamicConstant.java
│ │ └── MethodDelegationDynamicConstant.java
│ ├── java-16
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v16
│ │ ├── GenericRecordSample.java
│ │ └── RecordSample.java
│ ├── java-17
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v17
│ │ └── Sealed.java
│ ├── java-4-jsr14
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v4jsr14
│ │ └── Jsr14Sample.java
│ ├── java-4
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v4
│ │ └── TypeConstantSample.java
│ ├── java-6
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v6
│ │ └── LegacyInterface.java
│ ├── java-7
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v7
│ │ ├── AdviceBootstrap.java
│ │ ├── AdviceBootstrapErased.java
│ │ ├── AdviceDynamicConstant.java
│ │ ├── AdviceOriginMethodHandle.java
│ │ ├── AdviceOriginMethodHandlesLookup.java
│ │ ├── AdviceOriginMethodType.java
│ │ ├── DynamicInvokeBootstrap.java
│ │ ├── DynamicSampleBootstrap.java
│ │ ├── MemberSubstitutionBootstrap.java
│ │ ├── MemberSubstitutionDynamicConstant.java
│ │ ├── MemberSubstitutionOriginMethodHandle.java
│ │ ├── MemberSubstitutionOriginMethodHandlesLookup.java
│ │ ├── MemberSubstitutionOriginMethodType.java
│ │ ├── MethodDelegationDynamicConstant.java
│ │ ├── OriginMethodHandle.java
│ │ ├── OriginMethodHandlesLookup.java
│ │ └── OriginMethodType.java
│ ├── java-8-parameters
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v8parameters
│ │ └── ParameterNames.java
│ ├── java-8
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v8
│ │ ├── DelegationDefaultInterface.java
│ │ ├── DelegationDefaultTarget.java
│ │ ├── DelegationDefaultTargetExplicit.java
│ │ ├── DelegationDefaultTargetSerializable.java
│ │ ├── LambdaSampleFactory.java
│ │ ├── MorphDefaultDelegationTargetExplicit.java
│ │ ├── MorphDefaultDelegationTargetImplicit.java
│ │ ├── MorphDefaultInterface.java
│ │ ├── OriginExecutable.java
│ │ ├── OriginExecutableWithCache.java
│ │ ├── OtherTypeAnnotation.java
│ │ ├── ReceiverTypeSample.java
│ │ ├── ReturnTypeInterfaceBridge.java
│ │ ├── ReturnTypeInterfaceBridgeBase.java
│ │ ├── SimpleTypeAnnotatedType.java
│ │ ├── SingleDefaultMethodClass.java
│ │ ├── SingleDefaultMethodConflictingInterface.java
│ │ ├── SingleDefaultMethodConflictingPreferringInterceptor.java
│ │ ├── SingleDefaultMethodInterface.java
│ │ ├── SingleDefaultMethodNonOverridingInterface.java
│ │ ├── SingleDefaultMethodPreferringInterceptor.java
│ │ ├── TypeAnnotation.java
│ │ ├── TypeAnnotationOtherSamples.java
│ │ ├── TypeAnnotationSamples.java
│ │ ├── TypeVariableInterfaceBridge.java
│ │ └── TypeVariableInterfaceBridgeBase.java
│ ├── java
│ └── net
│ │ └── bytebuddy
│ │ ├── ByteBuddySubclassDeadlockTest.java
│ │ ├── ByteBuddyTest.java
│ │ ├── ByteBuddyTutorialExamplesTest.java
│ │ ├── ClassFileVersionOtherTest.java
│ │ ├── ClassFileVersionTest.java
│ │ ├── NamingStrategyTest.java
│ │ ├── TypeCacheTest.java
│ │ ├── agent
│ │ └── builder
│ │ │ ├── AgentBuilderCircularityLockTest.java
│ │ │ ├── AgentBuilderClassFileBufferStrategyTest.java
│ │ │ ├── AgentBuilderDefaultApplicationRedefineTest.java
│ │ │ ├── AgentBuilderDefaultApplicationRedefinitionReiterationTest.java
│ │ │ ├── AgentBuilderDefaultApplicationResubmissionTest.java
│ │ │ ├── AgentBuilderDefaultApplicationSuperTypeLoadingTest.java
│ │ │ ├── AgentBuilderDefaultApplicationTest.java
│ │ │ ├── AgentBuilderDefaultNativeApplicationTest.java
│ │ │ ├── AgentBuilderDefaultNativeMethodStrategyTest.java
│ │ │ ├── AgentBuilderDefaultTest.java
│ │ │ ├── AgentBuilderDefaultWarmupStrategyTest.java
│ │ │ ├── AgentBuilderDescriptionStrategyTest.java
│ │ │ ├── AgentBuilderFallbackStrategyByThrowableTypeTest.java
│ │ │ ├── AgentBuilderFallbackStrategySimpleTest.java
│ │ │ ├── AgentBuilderInitializationStrategySelfInjectionDispatcherTest.java
│ │ │ ├── AgentBuilderInitializationStrategyTest.java
│ │ │ ├── AgentBuilderInjectionStrategyTest.java
│ │ │ ├── AgentBuilderInstallationListenerTest.java
│ │ │ ├── AgentBuilderLambdaInstrumentationStrategyTest.java
│ │ │ ├── AgentBuilderListenerTest.java
│ │ │ ├── AgentBuilderLocationStrategyCompoundTest.java
│ │ │ ├── AgentBuilderLocationStrategyForClassLoaderTest.java
│ │ │ ├── AgentBuilderLocationStrategyNoOpTest.java
│ │ │ ├── AgentBuilderLocationStrategySimpleTest.java
│ │ │ ├── AgentBuilderPatchModeHandlerTest.java
│ │ │ ├── AgentBuilderPoolStrategyTest.java
│ │ │ ├── AgentBuilderRawMatcherConjunctionTest.java
│ │ │ ├── AgentBuilderRawMatcherDisjunctionTest.java
│ │ │ ├── AgentBuilderRawMatcherForElementMatchersTest.java
│ │ │ ├── AgentBuilderRawMatcherForLoadStateTest.java
│ │ │ ├── AgentBuilderRawMatcherInversionTest.java
│ │ │ ├── AgentBuilderRawMatcherTrivialTest.java
│ │ │ ├── AgentBuilderRedefinitionListenableResubmissionImmediateMatcherTest.java
│ │ │ ├── AgentBuilderRedefinitionListenableResubmissionOnErrorMatcherTest.java
│ │ │ ├── AgentBuilderRedefinitionStrategyBatchAllocatorTest.java
│ │ │ ├── AgentBuilderRedefinitionStrategyDiscoveryStrategyExplicitTest.java
│ │ │ ├── AgentBuilderRedefinitionStrategyDiscoveryStrategyReiteratingTest.java
│ │ │ ├── AgentBuilderRedefinitionStrategyListenerTest.java
│ │ │ ├── AgentBuilderRedefinitionStrategyResubmissionStrategyTest.java
│ │ │ ├── AgentBuilderRedefinitionStrategyTest.java
│ │ │ ├── AgentBuilderTransformerDecoratorTest.java
│ │ │ ├── AgentBuilderTransformerForBuildPluginTest.java
│ │ │ ├── AgentBuilderTypeLocatorWithTypePoolCacheSimpleTest.java
│ │ │ ├── AgentBuilderTypeStrategyForBuildEntryPointTest.java
│ │ │ ├── AgentBuilderTypeStrategyTest.java
│ │ │ ├── LambdaFactoryTest.java
│ │ │ ├── RawMatcherForResolvableTypesTest.java
│ │ │ ├── ResettableClassFileTransformerSubstitutableTest.java
│ │ │ ├── ResettableClassFileTransformerWithDelegationTest.java
│ │ │ └── ResettableClassFileTransformerWithDelegationWithCallbackTest.java
│ │ ├── asm
│ │ ├── AdviceAnnotationTest.java
│ │ ├── AdviceArgumentHandlerCopyingTest.java
│ │ ├── AdviceAssignReturnedTest.java
│ │ ├── AdviceAssignReturnedTypeTest.java
│ │ ├── AdviceBoxedParameterAssignmentTest.java
│ │ ├── AdviceBoxedReturnAssignmentTest.java
│ │ ├── AdviceCustomAnnotationOnFieldTest.java
│ │ ├── AdviceCustomAnnotationOnParameterTest.java
│ │ ├── AdviceDeadCodeTest.java
│ │ ├── AdviceDiscardedEnterTypeTest.java
│ │ ├── AdviceEnterValueTest.java
│ │ ├── AdviceExchangedDuplicationTest.java
│ │ ├── AdviceExitValueTest.java
│ │ ├── AdviceFrameTest.java
│ │ ├── AdviceIllegalTypeTest.java
│ │ ├── AdviceImplementationTest.java
│ │ ├── AdviceInconsistentFrameTest.java
│ │ ├── AdviceInconsistentStackSizeTest.java
│ │ ├── AdviceJsrRetTest.java
│ │ ├── AdviceLabelMappingTest.java
│ │ ├── AdviceLocalValueTest.java
│ │ ├── AdviceLocalVariableArrayTest.java
│ │ ├── AdviceNoRegularReturnTest.java
│ │ ├── AdviceNoRegularReturnWithinAdviceTest.java
│ │ ├── AdviceRepeatOnDefaultValueTest.java
│ │ ├── AdviceRepeatOnNonDefaultValueTest.java
│ │ ├── AdviceRepeatOnTest.java
│ │ ├── AdviceSizeConversionTest.java
│ │ ├── AdviceSkipOnDefaultValueTest.java
│ │ ├── AdviceSkipOnNonDefaultValueTest.java
│ │ ├── AdviceSkipOnTest.java
│ │ ├── AdviceSuppressionTest.java
│ │ ├── AdviceTest.java
│ │ ├── AdviceTypeTest.java
│ │ ├── AdviceVariableAccessTest.java
│ │ ├── AnnotationRemovalTest.java
│ │ ├── AsmVisitorWrapperCompoundTest.java
│ │ ├── AsmVisitorWrapperForDeclaredFieldsTest.java
│ │ ├── AsmVisitorWrapperForDeclaredMethodsTest.java
│ │ ├── AsmVisitorWrapperNoOpTest.java
│ │ ├── ClassVisitorFactoryOtherTest.java
│ │ ├── ClassVisitorFactoryTest.java
│ │ ├── MemberAttributeExtensionTest.java
│ │ ├── MemberRemovalTest.java
│ │ ├── MemberSubstitutionChainWithAnnotationTest.java
│ │ ├── MemberSubstitutionTest.java
│ │ ├── MemberSubstitutionTypeTest.java
│ │ ├── ModifierAdjustmentTest.java
│ │ ├── TypeConstantAdjustmentTest.java
│ │ └── TypeReferenceAdjustmentTest.java
│ │ ├── build
│ │ ├── AccessControllerPluginTest.java
│ │ ├── BuildLoggerTest.java
│ │ ├── CachedReturnPluginOtherTest.java
│ │ ├── CachedReturnPluginTest.java
│ │ ├── DispatcherAnnotationPluginTest.java
│ │ ├── EntryPointDefaultTest.java
│ │ ├── EntryPointUnvalidatedTest.java
│ │ ├── HashCodeAndEqualsPluginTest.java
│ │ ├── PluginEngineDefaultOtherTest.java
│ │ ├── PluginEngineDefaultTest.java
│ │ ├── PluginEngineDispatcherForSerialTransformationTest.java
│ │ ├── PluginEngineErrorHandlerTest.java
│ │ ├── PluginEngineListenerTest.java
│ │ ├── PluginEnginePoolStrategyTest.java
│ │ ├── PluginEngineSourceCompoundTest.java
│ │ ├── PluginEngineSourceEmptyTest.java
│ │ ├── PluginEngineSourceFilteringTest.java
│ │ ├── PluginEngineSourceForFolderTest.java
│ │ ├── PluginEngineSourceForJarFileTest.java
│ │ ├── PluginEngineSourceInMemoryTest.java
│ │ ├── PluginEngineSummaryTest.java
│ │ ├── PluginEngineTargetDiscardingTest.java
│ │ ├── PluginEngineTargetForFolderTest.java
│ │ ├── PluginEngineTargetForJarFileTest.java
│ │ ├── PluginEngineTargetInMemoryTest.java
│ │ ├── PluginEngineTypeStrategyTest.java
│ │ ├── PluginFactorySimpleTest.java
│ │ ├── PluginFactoryUsingReflectionArgumentResolverTypeTest.java
│ │ ├── PluginFactoryUsingReflectionTest.java
│ │ ├── PluginNoOpTest.java
│ │ ├── RenamingPluginTest.java
│ │ ├── RepeatedAnnotationPluginTest.java
│ │ ├── SafeVarargsPluginTest.java
│ │ └── ToStringPluginTest.java
│ │ ├── description
│ │ ├── ByteCodeElementTokenListTest.java
│ │ ├── TypeVariableSourceVisitorNoOpTest.java
│ │ ├── annotation
│ │ │ ├── AbstractAnnotationDescriptionTest.java
│ │ │ ├── AbstractAnnotationListTest.java
│ │ │ ├── AnnotationDescriptionAnnotationInvocationHandlerTest.java
│ │ │ ├── AnnotationDescriptionAnnotationValueStateTest.java
│ │ │ ├── AnnotationDescriptionBuilderTest.java
│ │ │ ├── AnnotationDescriptionForLoadedAnnotationDifferentClassLoaderTest.java
│ │ │ ├── AnnotationDescriptionForLoadedAnnotationTest.java
│ │ │ ├── AnnotationDescriptionLatentTest.java
│ │ │ ├── AnnotationListEmptyTest.java
│ │ │ ├── AnnotationListExplicitTest.java
│ │ │ ├── AnnotationListForLoadedAnnotationsTest.java
│ │ │ ├── AnnotationSourceTest.java
│ │ │ ├── AnnotationValueForConstantTest.java
│ │ │ ├── AnnotationValueForTypeDescriptionTest.java
│ │ │ ├── AnnotationValueRenderingDispatcherTest.java
│ │ │ └── AnnotationValueSortTest.java
│ │ ├── enumeration
│ │ │ ├── AbstractEnumerationDescriptionTest.java
│ │ │ ├── EnumerationDescriptionForLoadedEnumerationTest.java
│ │ │ └── EnumerationDescriptionLatentTest.java
│ │ ├── field
│ │ │ ├── AbstractFieldDescriptionTest.java
│ │ │ ├── AbstractFieldListTest.java
│ │ │ ├── FieldDescriptionForLoadedFieldsTest.java
│ │ │ ├── FieldDescriptionLatentTest.java
│ │ │ ├── FieldDescriptionSignatureTokenTest.java
│ │ │ ├── FieldDescriptionTokenTest.java
│ │ │ ├── FieldListEmptyTest.java
│ │ │ ├── FieldListExplicitTest.java
│ │ │ └── FieldListForLoadedFieldsTest.java
│ │ ├── method
│ │ │ ├── AbstractMethodDescriptionTest.java
│ │ │ ├── AbstractMethodDescriptionTestNoNestMate.java
│ │ │ ├── AbstractMethodListTest.java
│ │ │ ├── AbstractParameterListTest.java
│ │ │ ├── MethodDescriptionForLoadedTest.java
│ │ │ ├── MethodDescriptionLatentTest.java
│ │ │ ├── MethodDescriptionLatentTypeInitializerTest.java
│ │ │ ├── MethodDescriptionSignatureTokenTest.java
│ │ │ ├── MethodDescriptionTokenTest.java
│ │ │ ├── MethodDescriptionTypeTokenTest.java
│ │ │ ├── MethodListEmptyTest.java
│ │ │ ├── MethodListExplicitTest.java
│ │ │ ├── MethodListForLoadedTypesTest.java
│ │ │ ├── ParameterDescriptionTokenTest.java
│ │ │ ├── ParameterListEmptyTest.java
│ │ │ ├── ParameterListExplicitTest.java
│ │ │ └── ParameterListForLoadedParameterTest.java
│ │ ├── modifier
│ │ │ ├── AbstractModifierContributorTest.java
│ │ │ ├── EnumerationStateTest.java
│ │ │ ├── FieldManifestationTest.java
│ │ │ ├── FieldPersistenceTest.java
│ │ │ ├── MandateTest.java
│ │ │ ├── MethodArgumentsTest.java
│ │ │ ├── MethodManifestationTest.java
│ │ │ ├── MethodStrictnessTest.java
│ │ │ ├── ModifierContributorResolverTest.java
│ │ │ ├── ModifierContributorTest.java
│ │ │ ├── OwnershipTest.java
│ │ │ ├── ParameterManifestationTest.java
│ │ │ ├── ProvisioningStateTest.java
│ │ │ ├── SynchronizationStateTest.java
│ │ │ ├── SyntheticStateTest.java
│ │ │ ├── TypeManifestationTest.java
│ │ │ ├── VisibilityExpansionTest.java
│ │ │ └── VisibilityTest.java
│ │ └── type
│ │ │ ├── AbstractPackageDescriptionTest.java
│ │ │ ├── AbstractTypeDescriptionGenericTest.java
│ │ │ ├── AbstractTypeDescriptionGenericVariableDefiningTest.java
│ │ │ ├── AbstractTypeDescriptionTest.java
│ │ │ ├── AbstractTypeListGenericTest.java
│ │ │ ├── AbstractTypeListTest.java
│ │ │ ├── GenericSignatureResolutionTest.java
│ │ │ ├── PackageDescriptionForLoadedPackageTest.java
│ │ │ ├── PackageDescriptionSimpleTest.java
│ │ │ ├── RecordComponentDescriptionTokenTest.java
│ │ │ ├── RecordComponentListEmptyTest.java
│ │ │ ├── TypeDefinitionSortOtherTest.java
│ │ │ ├── TypeDefinitionSortTest.java
│ │ │ ├── TypeDefinitionSuperClassIteratorTest.java
│ │ │ ├── TypeDescriptionArrayProjectionTest.java
│ │ │ ├── TypeDescriptionForLoadedTypeTest.java
│ │ │ ├── TypeDescriptionForPackageDescriptionTest.java
│ │ │ ├── TypeDescriptionGenericAnnotationReaderTest.java
│ │ │ ├── TypeDescriptionGenericBuilderTest.java
│ │ │ ├── TypeDescriptionGenericLazyProjectionWithLazyNavigationTest.java
│ │ │ ├── TypeDescriptionGenericOfNonGenericTypeForReifiedErasureTest.java
│ │ │ ├── TypeDescriptionGenericOfParameterizedTypeForGenerifiedErasureTest.java
│ │ │ ├── TypeDescriptionGenericOfParameterizedTypeForReifiedTypeTest.java
│ │ │ ├── TypeDescriptionGenericOfParameterizedTypeRenderingDelegateTest.java
│ │ │ ├── TypeDescriptionGenericOfTypeVariableSymbolicTest.java
│ │ │ ├── TypeDescriptionGenericOfTypeVariableWithAnnotationOverlayTest.java
│ │ │ ├── TypeDescriptionGenericVisitorAnnotationStripperTest.java
│ │ │ ├── TypeDescriptionGenericVisitorAssignerTest.java
│ │ │ ├── TypeDescriptionGenericVisitorForSignatureVisitorTest.java
│ │ │ ├── TypeDescriptionGenericVisitorNoOpTest.java
│ │ │ ├── TypeDescriptionGenericVisitorReducingTest.java
│ │ │ ├── TypeDescriptionGenericVisitorReifyingTest.java
│ │ │ ├── TypeDescriptionGenericVisitorSubstitutorForAttachmentTest.java
│ │ │ ├── TypeDescriptionGenericVisitorSubstitutorForDetachmentTest.java
│ │ │ ├── TypeDescriptionGenericVisitorSubstitutorForReplacementTest.java
│ │ │ ├── TypeDescriptionGenericVisitorSubstitutorForTokenNormalizationTest.java
│ │ │ ├── TypeDescriptionGenericVisitorSubstitutorForTypeVariableBindingTest.java
│ │ │ ├── TypeDescriptionGenericVisitorTypeErasingTest.java
│ │ │ ├── TypeDescriptionGenericVisitorTypeGeneralizingTest.java
│ │ │ ├── TypeDescriptionGenericVisitorValidatorForTypeAnnotations.java
│ │ │ ├── TypeDescriptionGenericVisitorValidatorTest.java
│ │ │ ├── TypeDescriptionLatentTest.java
│ │ │ ├── TypeInitializerTest.java
│ │ │ ├── TypeListEmptyTest.java
│ │ │ ├── TypeListExplicitTest.java
│ │ │ ├── TypeListForLoadedTest.java
│ │ │ ├── TypeListGenericEmptyTest.java
│ │ │ ├── TypeListGenericExplicitTest.java
│ │ │ ├── TypeListGenericForLoadedTypesTest.java
│ │ │ └── TypeVariableTokenTest.java
│ │ ├── dynamic
│ │ ├── AbstractDynamicTypeBuilderTest.java
│ │ ├── ClassFileLocatorCompoundTest.java
│ │ ├── ClassFileLocatorFilteringTest.java
│ │ ├── ClassFileLocatorForClassLoaderTest.java
│ │ ├── ClassFileLocatorForClassLoaderWeaklyReferencedTest.java
│ │ ├── ClassFileLocatorForFolderTest.java
│ │ ├── ClassFileLocatorForInstrumentationTest.java
│ │ ├── ClassFileLocatorForJarFileTest.java
│ │ ├── ClassFileLocatorForModuleFileTest.java
│ │ ├── ClassFileLocatorForModuleTest.java
│ │ ├── ClassFileLocatorForModuleWeaklyReferencedTest.java
│ │ ├── ClassFileLocatorForUrlTest.java
│ │ ├── ClassFileLocatorNoOpTest.java
│ │ ├── ClassFileLocatorPackageDiscriminatingTest.java
│ │ ├── ClassFileLocatorResolutionTest.java
│ │ ├── ClassFileLocatorSimpleTest.java
│ │ ├── ClassWriterStrategyDefaultTest.java
│ │ ├── DynamicTypeDefaultLoadedTest.java
│ │ ├── DynamicTypeDefaultTest.java
│ │ ├── DynamicTypeDefaultUnloadedTest.java
│ │ ├── NexusTest.java
│ │ ├── TargetTypeTest.java
│ │ ├── TransformerCompoundTest.java
│ │ ├── TransformerForFieldTest.java
│ │ ├── TransformerForMethodTest.java
│ │ ├── TransformerNoOpTest.java
│ │ ├── TypeResolutionStrategyTest.java
│ │ ├── VisibilityBridgeStrategyDefaultTest.java
│ │ ├── loading
│ │ │ ├── ByteArrayClassLoaderChildFirstPrependingEnumerationTest.java
│ │ │ ├── ByteArrayClassLoaderChildFirstTest.java
│ │ │ ├── ByteArrayClassLoaderEmptyEnumerationTest.java
│ │ │ ├── ByteArrayClassLoaderPackageLookupStrategy.java
│ │ │ ├── ByteArrayClassLoaderSingletonEnumerationTest.java
│ │ │ ├── ByteArrayClassLoaderSynchronizationStrategyTest.java
│ │ │ ├── ByteArrayClassLoaderTest.java
│ │ │ ├── ClassFilePostProcessorTest.java
│ │ │ ├── ClassInjectorUsingInstrumentationTest.java
│ │ │ ├── ClassInjectorUsingJnaTest.java
│ │ │ ├── ClassInjectorUsingLookupTest.java
│ │ │ ├── ClassInjectorUsingReflectionTest.java
│ │ │ ├── ClassInjectorUsingUnsafeTest.java
│ │ │ ├── ClassLoadingStrategyDefaultTest.java
│ │ │ ├── ClassLoadingStrategyForBootstrapInjectionTest.java
│ │ │ ├── ClassLoadingStrategyForJnaInjectionTest.java
│ │ │ ├── ClassLoadingStrategyForUnsafeInjectionTest.java
│ │ │ ├── ClassLoadingStrategyUsingLookupTest.java
│ │ │ ├── ClassReloadingStrategyTest.java
│ │ │ ├── InjectionClassLoaderTest.java
│ │ │ ├── MultipleParentClassLoaderTest.java
│ │ │ ├── PackageDefinitionStrategyTypeSimpleTest.java
│ │ │ ├── PackageDefinitionStrategyTypeTrivialTest.java
│ │ │ ├── PackageDefinitionStrategyTypeUndefinedTest.java
│ │ │ ├── PackageDefinitionTrivialTest.java
│ │ │ ├── PackageTypeStrategyManifestReadingTest.java
│ │ │ └── PackageTypeStrategyNoOpTest.java
│ │ └── scaffold
│ │ │ ├── FieldLocatorForClassHierarchyTest.java
│ │ │ ├── FieldLocatorForExactTypeTest.java
│ │ │ ├── FieldLocatorForTopLevelTypeTest.java
│ │ │ ├── FieldLocatorNoOpTest.java
│ │ │ ├── FieldLocatorResolutionTest.java
│ │ │ ├── FieldRegistryCompiledNoOpTest.java
│ │ │ ├── FieldRegistryDefaultTest.java
│ │ │ ├── InstrumentedTypeDefaultTest.java
│ │ │ ├── InstrumentedTypeFactoryDefaultTest.java
│ │ │ ├── InstrumentedTypeFrozenTest.java
│ │ │ ├── InstrumentedTypePrepareableNoOpTest.java
│ │ │ ├── MethodGraphCompilerDefaultHarmonizerForJVMMethodTest.java
│ │ │ ├── MethodGraphCompilerDefaultHarmonizerForJavaMethodTest.java
│ │ │ ├── MethodGraphCompilerDefaultKeyTest.java
│ │ │ ├── MethodGraphCompilerDefaultMergerDirectionalTest.java
│ │ │ ├── MethodGraphCompilerDefaultTest.java
│ │ │ ├── MethodGraphCompilerForDeclaredMethodsTest.java
│ │ │ ├── MethodGraphEmptyTest.java
│ │ │ ├── MethodGraphLinkedDelegationTest.java
│ │ │ ├── MethodGraphNodeListTest.java
│ │ │ ├── MethodGraphNodeSimpleTest.java
│ │ │ ├── MethodGraphNodeSortTest.java
│ │ │ ├── MethodGraphNodeUnresolvedTest.java
│ │ │ ├── MethodGraphSimpleTest.java
│ │ │ ├── MethodRegistryDefaultTest.java
│ │ │ ├── MethodRegistryHandlerTest.java
│ │ │ ├── TypeInitializerDrainDefaultTest.java
│ │ │ ├── TypeValidationTest.java
│ │ │ ├── TypeWriterDeclarationPreservationTest.java
│ │ │ ├── TypeWriterDefaultForInliningWithFullProcessingInitializationHandlerAppendingFrameWriterActiveTest.java
│ │ │ ├── TypeWriterDefaultForInliningWithFullProcessingInitializationHandlerAppendingFrameWriterExpandingTest.java
│ │ │ ├── TypeWriterDefaultForInliningWithFullProcessingInitializationHandlerAppendingFrameWriterNoOpTest.java
│ │ │ ├── TypeWriterDefaultTest.java
│ │ │ ├── TypeWriterFieldPoolDisabledTest.java
│ │ │ ├── TypeWriterFieldPoolRecordTest.java
│ │ │ ├── TypeWriterInitializerRemapperTest.java
│ │ │ ├── TypeWriterMethodPoolRecordTest.java
│ │ │ ├── TypeWriterRecordComponentPoolDisabledTest.java
│ │ │ ├── TypeWriterRecordComponentPoolRecordTest.java
│ │ │ ├── inline
│ │ │ ├── AbstractDynamicTypeBuilderForInliningTest.java
│ │ │ ├── DecoratingDynamicTypeBuilderTest.java
│ │ │ ├── InlineImplementationMatcherTest.java
│ │ │ ├── MethodNameTransformerPrefixingTest.java
│ │ │ ├── MethodNameTransformerSuffixingTest.java
│ │ │ ├── MethodRebaseResolverDefaultTest.java
│ │ │ ├── MethodRebaseResolverDisabledTest.java
│ │ │ ├── MethodRebaseResolverResolutionForRebasedConstructorTest.java
│ │ │ ├── MethodRebaseResolverResolutionForRebasedMethodTest.java
│ │ │ ├── MethodRebaseResolverResolutionPreservedTest.java
│ │ │ ├── RebaseDynamicTypeBuilderTest.java
│ │ │ ├── RebaseImplementationTargetFactoryTest.java
│ │ │ ├── RebaseImplementationTargetSpecialMethodInvocationTest.java
│ │ │ ├── RebaseImplementationTargetTest.java
│ │ │ └── RedefinitionDynamicTypeBuilderTest.java
│ │ │ └── subclass
│ │ │ ├── ConstructorStrategyDefaultTest.java
│ │ │ ├── ConstructorStrategyForDefaultConstructorTest.java
│ │ │ ├── SubclassDynamicTypeBuilderInstrumentableMatcherTest.java
│ │ │ ├── SubclassDynamicTypeBuilderTest.java
│ │ │ ├── SubclassImplementationTargetFactoryTest.java
│ │ │ └── SubclassImplementationTargetTest.java
│ │ ├── implementation
│ │ ├── AbstractImplementationTargetTest.java
│ │ ├── AbstractSpecialMethodInvocationTest.java
│ │ ├── DefaultMethodCallTest.java
│ │ ├── EqualsMethodOtherTest.java
│ │ ├── EqualsMethodTest.java
│ │ ├── ExceptionMethodTest.java
│ │ ├── FieldAccessorFieldNameExtractorForArgumentSubstitutionTest.java
│ │ ├── FieldAccessorFieldNameExtractorForBeanPropertyTest.java
│ │ ├── FieldAccessorOtherTest.java
│ │ ├── FieldAccessorTest.java
│ │ ├── FixedValueConstantPoolTypesTest.java
│ │ ├── FixedValueTest.java
│ │ ├── HashCodeMethodOtherTest.java
│ │ ├── HashCodeMethodTest.java
│ │ ├── ImplementationCompoundComposableTest.java
│ │ ├── ImplementationCompoundTest.java
│ │ ├── ImplementationContextDefaultOtherTest.java
│ │ ├── ImplementationContextDefaultTest.java
│ │ ├── ImplementationContextDisabledTest.java
│ │ ├── ImplementationContextFrameGenerationTest.java
│ │ ├── ImplementationSimpleTest.java
│ │ ├── ImplementationSpecialMethodInvocationIllegalTest.java
│ │ ├── ImplementationSpecialMethodInvocationSimpleTest.java
│ │ ├── ImplementationTargetAbstractBaseDefaultMethodInvocationTest.java
│ │ ├── InvocationHandlerAdapterTest.java
│ │ ├── InvokeDynamicTest.java
│ │ ├── LoadedTypeInitializerCompoundTest.java
│ │ ├── LoadedTypeInitializerForStaticFieldTest.java
│ │ ├── LoadedTypeInitializerNoOpTest.java
│ │ ├── MethodAccessorFactoryAccessTypeTest.java
│ │ ├── MethodAccessorFactoryIllegalTest.java
│ │ ├── MethodCallTest.java
│ │ ├── MethodCallTypeTest.java
│ │ ├── MethodDelegationAllArgumentsTest.java
│ │ ├── MethodDelegationArgumentTest.java
│ │ ├── MethodDelegationBindingPriorityTest.java
│ │ ├── MethodDelegationChainedTest.java
│ │ ├── MethodDelegationCheckedExceptionTest.java
│ │ ├── MethodDelegationConstructionTest.java
│ │ ├── MethodDelegationDefaultCallHandleTest.java
│ │ ├── MethodDelegationDefaultCallTest.java
│ │ ├── MethodDelegationDefaultMethodHandleTest.java
│ │ ├── MethodDelegationDefaultMethodTest.java
│ │ ├── MethodDelegationDefaultTest.java
│ │ ├── MethodDelegationDynamicConstantTest.java
│ │ ├── MethodDelegationExceptionTest.java
│ │ ├── MethodDelegationFieldGetterHandleTest.java
│ │ ├── MethodDelegationFieldProxyTest.java
│ │ ├── MethodDelegationFieldSetterHandleTest.java
│ │ ├── MethodDelegationFieldValueTest.java
│ │ ├── MethodDelegationHandleTest.java
│ │ ├── MethodDelegationIgnoreForBindingTest.java
│ │ ├── MethodDelegationMethodReturnTest.java
│ │ ├── MethodDelegationMorphTest.java
│ │ ├── MethodDelegationOriginTest.java
│ │ ├── MethodDelegationOtherTest.java
│ │ ├── MethodDelegationPipeTest.java
│ │ ├── MethodDelegationRuntimeTypeTest.java
│ │ ├── MethodDelegationStubValueTest.java
│ │ ├── MethodDelegationSuperCallHandleTest.java
│ │ ├── MethodDelegationSuperCallTest.java
│ │ ├── MethodDelegationSuperMethodHandleTest.java
│ │ ├── MethodDelegationSuperMethodTest.java
│ │ ├── MethodDelegationSuperTest.java
│ │ ├── MethodDelegationTest.java
│ │ ├── MethodDelegationThisTest.java
│ │ ├── ModifierReviewableTest.java
│ │ ├── StubMethodOtherTest.java
│ │ ├── StubMethodTest.java
│ │ ├── SuperMethodCallOtherTest.java
│ │ ├── SuperMethodCallTest.java
│ │ ├── ToStringMethodOtherTest.java
│ │ ├── ToStringMethodTest.java
│ │ ├── attribute
│ │ │ ├── AbstractAttributeAppenderTest.java
│ │ │ ├── AbstractFieldAttributeAppenderTest.java
│ │ │ ├── AbstractMethodAttributeAppenderTest.java
│ │ │ ├── AbstractRecordComponentAttributeAppenderTest.java
│ │ │ ├── AbstractTypeAttributeAppenderTest.java
│ │ │ ├── AnnotationAppenderDefaultTest.java
│ │ │ ├── AnnotationAppenderForTypeAnnotationsTest.java
│ │ │ ├── AnnotationAppenderTargetTest.java
│ │ │ ├── AnnotationRetentionTest.java
│ │ │ ├── AnnotationValueFilterDefaultTest.java
│ │ │ ├── FieldAttributeAppenderCompoundTest.java
│ │ │ ├── FieldAttributeAppenderFactoryCompoundTest.java
│ │ │ ├── FieldAttributeAppenderForAnnotationsTest.java
│ │ │ ├── FieldAttributeAppenderForInstrumentedFieldTest.java
│ │ │ ├── FieldAttributeAppenderNoOpTest.java
│ │ │ ├── MethodAttributeAppenderCompoundTest.java
│ │ │ ├── MethodAttributeAppenderExplicitTest.java
│ │ │ ├── MethodAttributeAppenderFactoryCompoundTest.java
│ │ │ ├── MethodAttributeAppenderForInstrumentedMethodOtherTest.java
│ │ │ ├── MethodAttributeAppenderForInstrumentedMethodTest.java
│ │ │ ├── MethodAttributeAppenderForReceiverTypeTest.java
│ │ │ ├── MethodAttributeAppenderNoOpTest.java
│ │ │ ├── RecordComponentAttributeAppenderCompoundTest.java
│ │ │ ├── RecordComponentAttributeAppenderFactoryCompoundTest.java
│ │ │ ├── RecordComponentAttributeAppenderForAnnotationsTest.java
│ │ │ ├── RecordComponentAttributeAppenderForInstrumentedFieldTest.java
│ │ │ ├── RecordComponentAttributeAppenderNoOpTest.java
│ │ │ ├── TypeAttributeAppenderCompoundTest.java
│ │ │ ├── TypeAttributeAppenderExplicitTest.java
│ │ │ ├── TypeAttributeAppenderForInstrumentedTypeDifferentiatingTest.java
│ │ │ ├── TypeAttributeAppenderForInstrumentedTypeTest.java
│ │ │ └── TypeAttributeAppenderNoOpTest.java
│ │ ├── auxiliary
│ │ │ ├── AbstractMethodCallProxyTest.java
│ │ │ ├── AuxiliaryTypeNamingStrategyTest.java
│ │ │ ├── AuxiliaryTypeSignatureRelevantTest.java
│ │ │ ├── MethodCallProxySingleArgumentTest.java
│ │ │ ├── MethodCallProxyTest.java
│ │ │ ├── PrivilegedMemberLookupActionTest.java
│ │ │ ├── TrivialTypeTest.java
│ │ │ ├── TypeProxyCreationTest.java
│ │ │ └── TypeProxyInvocationFactoryDefaultTest.java
│ │ ├── bind
│ │ │ ├── AbstractAmbiguityResolverTest.java
│ │ │ ├── AbstractArgumentTypeResolverTest.java
│ │ │ ├── ArgumentTypeResolverPrimitiveTest.java
│ │ │ ├── ArgumentTypeResolverReferenceTest.java
│ │ │ ├── DeclaringTypeResolverTest.java
│ │ │ ├── MethodBindingAmbiguityResolutionTest.java
│ │ │ ├── MethodBindingBuilderTest.java
│ │ │ ├── MethodDelegationBinderAmbiguityResolverChainTest.java
│ │ │ ├── MethodDelegationBinderAmbiguityResolverDirectionalTest.java
│ │ │ ├── MethodDelegationBinderAmbiguityResolverNoOpTest.java
│ │ │ ├── MethodDelegationBinderBindingResolverDefaultTest.java
│ │ │ ├── MethodDelegationBinderBindingResolverStreamWritingTest.java
│ │ │ ├── MethodDelegationBinderBindingResolverUniqueTest.java
│ │ │ ├── MethodDelegationBinderProcessorTest.java
│ │ │ ├── MethodDelegationBinderTerminationHandlerTest.java
│ │ │ ├── MethodDelegationBinderTest.java
│ │ │ ├── MethodDelegationBindingParameterBindingTest.java
│ │ │ ├── MethodNameEqualityResolverTest.java
│ │ │ ├── ParameterLengthResolverTest.java
│ │ │ ├── ParameterMethodBindingTest.java
│ │ │ └── annotation
│ │ │ │ ├── AbstractAnnotationBinderTest.java
│ │ │ │ ├── AbstractAnnotationTest.java
│ │ │ │ ├── AllArgumentsBinderTest.java
│ │ │ │ ├── ArgumentBinderTest.java
│ │ │ │ ├── BindingPriorityResolverTest.java
│ │ │ │ ├── DefaultBinderTest.java
│ │ │ │ ├── DefaultCallBinderTest.java
│ │ │ │ ├── DefaultCallHandlerBinderTest.java
│ │ │ │ ├── DefaultMethodBinderTest.java
│ │ │ │ ├── DefaultMethodHandlerBinderTest.java
│ │ │ │ ├── DynamicConstantBinderTest.java
│ │ │ │ ├── EmptyBinderTest.java
│ │ │ │ ├── FieldGetterHandleBinderTest.java
│ │ │ │ ├── FieldProxyBinderTest.java
│ │ │ │ ├── FieldSetterHandleBinderTest.java
│ │ │ │ ├── FieldValueBinderTest.java
│ │ │ │ ├── HandleBinderTest.java
│ │ │ │ ├── IgnoreForBindingVerifierTest.java
│ │ │ │ ├── MorphBinderTest.java
│ │ │ │ ├── OriginBinderTest.java
│ │ │ │ ├── PipeBinderTest.java
│ │ │ │ ├── RuntimeTypeVerifierTest.java
│ │ │ │ ├── StubValueBinderTest.java
│ │ │ │ ├── SuperBinderTest.java
│ │ │ │ ├── SuperCallBinderTest.java
│ │ │ │ ├── SuperHandleBinderTest.java
│ │ │ │ ├── SuperMethodBinderTest.java
│ │ │ │ ├── SuperMethodHandleBinderTest.java
│ │ │ │ ├── TargetMethodAnnotationDrivenBinderTest.java
│ │ │ │ ├── TargetMethodAnnotationDriverBinderParameterBinderForFixedValueOfConstantOtherTest.java
│ │ │ │ ├── TargetMethodAnnotationDriverBinderParameterBinderForFixedValueOfConstantTest.java
│ │ │ │ └── ThisBinderTest.java
│ │ └── bytecode
│ │ │ ├── AdditionTest.java
│ │ │ ├── ByteCodeAppenderCompoundTest.java
│ │ │ ├── ByteCodeAppenderSimpleTest.java
│ │ │ ├── ByteCodeAppenderSizeTest.java
│ │ │ ├── DivisionTest.java
│ │ │ ├── DuplicationOtherTest.java
│ │ │ ├── DuplicationTest.java
│ │ │ ├── DuplicationWithFlipTest.java
│ │ │ ├── MultiplicationTest.java
│ │ │ ├── NegationTest.java
│ │ │ ├── RemainderTest.java
│ │ │ ├── RemovalTest.java
│ │ │ ├── ShiftLeftTest.java
│ │ │ ├── ShiftRightTest.java
│ │ │ ├── StackManipulationCompoundTest.java
│ │ │ ├── StackManipulationSimpleTest.java
│ │ │ ├── StackManipulationSizeTest.java
│ │ │ ├── StackManipulationTest.java
│ │ │ ├── StackSizeMaximumTest.java
│ │ │ ├── StackSizeTest.java
│ │ │ ├── SubtractionTest.java
│ │ │ ├── ThrowTest.java
│ │ │ ├── TypeCreationTest.java
│ │ │ ├── assign
│ │ │ ├── AssignerEqualTypesOnlyTest.java
│ │ │ ├── AssignerRefusingTest.java
│ │ │ ├── AssignerTypingTest.java
│ │ │ ├── InstanceCheckTest.java
│ │ │ ├── TypeCastingTest.java
│ │ │ ├── primitive
│ │ │ │ ├── PrimitiveBoxingDelegateTest.java
│ │ │ │ ├── PrimitiveBoxingDelegateTestWithReferenceTest.java
│ │ │ │ ├── PrimitiveNarrowingDelegateIllegalTest.java
│ │ │ │ ├── PrimitiveNarrowingDelegateNontrivialTest.java
│ │ │ │ ├── PrimitiveNarrowingDelegateOtherTest.java
│ │ │ │ ├── PrimitiveNarrowingDelegateTrivialTest.java
│ │ │ │ ├── PrimitiveTypeAwareAssignerBoxingTest.java
│ │ │ │ ├── PrimitiveTypeAwareAssignerImplicitUnboxingTest.java
│ │ │ │ ├── PrimitiveTypeAwareAssignerPrimitiveTest.java
│ │ │ │ ├── PrimitiveTypeAwareAssignerUnboxingTest.java
│ │ │ │ ├── PrimitiveUnboxingDelegateDirectTest.java
│ │ │ │ ├── PrimitiveUnboxingDelegateOtherTest.java
│ │ │ │ ├── PrimitiveUnboxingDelegateWideningTest.java
│ │ │ │ ├── PrimitiveWideningDelegateIllegalTest.java
│ │ │ │ ├── PrimitiveWideningDelegateNontrivialTest.java
│ │ │ │ ├── PrimitiveWideningDelegateOtherTest.java
│ │ │ │ ├── PrimitiveWideningDelegateTrivialTest.java
│ │ │ │ ├── VoidAwareAssignerNonVoidToVoidTest.java
│ │ │ │ ├── VoidAwareAssignerTest.java
│ │ │ │ └── VoidAwareAssignerVoidToNonVoidTest.java
│ │ │ └── reference
│ │ │ │ ├── GenericTypeAwareAssignerTest.java
│ │ │ │ └── ReferenceTypeAwareAssignerTest.java
│ │ │ ├── collection
│ │ │ ├── AbstractArrayFactoryTest.java
│ │ │ ├── ArrayAccessOtherTest.java
│ │ │ ├── ArrayAccessTest.java
│ │ │ ├── ArrayFactoryPrimitiveTest.java
│ │ │ ├── ArrayFactoryReferenceTest.java
│ │ │ └── ArrayLengthTest.java
│ │ │ ├── constant
│ │ │ ├── ClassConstantPrimitiveTest.java
│ │ │ ├── ClassConstantReferenceTest.java
│ │ │ ├── DefaultValueTest.java
│ │ │ ├── DoubleConstantOpcodeTest.java
│ │ │ ├── DoubleConstantTest.java
│ │ │ ├── FieldConstantTest.java
│ │ │ ├── FloatConstantOpcodeTest.java
│ │ │ ├── FloatConstantTest.java
│ │ │ ├── IntegerConstantOpcodeTest.java
│ │ │ ├── IntegerConstantTest.java
│ │ │ ├── JavaConstantValueTest.java
│ │ │ ├── JavaConstantValueVisitorTest.java
│ │ │ ├── LongConstantOpcodeTest.java
│ │ │ ├── LongConstantTest.java
│ │ │ ├── MethodConstantTest.java
│ │ │ ├── NullConstantTest.java
│ │ │ ├── SerializedConstantTest.java
│ │ │ └── TextConstantTest.java
│ │ │ └── member
│ │ │ ├── FieldAccessOtherTest.java
│ │ │ ├── FieldAccessTest.java
│ │ │ ├── HandleInvocationTest.java
│ │ │ ├── InvokedynamicTest.java
│ │ │ ├── MethodInvocationDynamicTest.java
│ │ │ ├── MethodInvocationGenericTest.java
│ │ │ ├── MethodInvocationHandleTest.java
│ │ │ ├── MethodInvocationOtherTest.java
│ │ │ ├── MethodInvocationTest.java
│ │ │ ├── MethodReturnTest.java
│ │ │ ├── MethodVariableAccessOfMethodArgumentsTest.java
│ │ │ ├── MethodVariableAccessOtherTest.java
│ │ │ └── MethodVariableAccessTest.java
│ │ ├── matcher
│ │ ├── AbstractElementMatcherTest.java
│ │ ├── AbstractFilterableListTest.java
│ │ ├── AccessibilityMatcherTest.java
│ │ ├── AnnotationTypeMatcherTest.java
│ │ ├── ArrayTypeMatcherTest.java
│ │ ├── BooleanMatcherTest.java
│ │ ├── CachingMatcherTest.java
│ │ ├── ClassFileVersionMatcherTest.java
│ │ ├── ClassLoaderHierarchyMatcherTest.java
│ │ ├── ClassLoaderParentMatcherTest.java
│ │ ├── CollectionElementMatcherTest.java
│ │ ├── CollectionErasureMatcherTest.java
│ │ ├── CollectionItemMatcherTest.java
│ │ ├── CollectionOneToOneMatcherTest.java
│ │ ├── CollectionSizeMatcherTest.java
│ │ ├── DeclaringAnnotationMatcherTest.java
│ │ ├── DeclaringFieldMatcherTest.java
│ │ ├── DeclaringMethodMatcherTest.java
│ │ ├── DeclaringTypeMatcherTest.java
│ │ ├── DefinedShapeMatcherTest.java
│ │ ├── DescriptorMatcherTest.java
│ │ ├── ElementMatcherJunctionConjunctionTest.java
│ │ ├── ElementMatcherJunctionDisjunctionTest.java
│ │ ├── ElementMatchersTest.java
│ │ ├── EqualityMatcherTest.java
│ │ ├── ErasureMatcherTest.java
│ │ ├── FailSafeMatcherTest.java
│ │ ├── FieldTypeMatcherTest.java
│ │ ├── FilterableListEmptyTest.java
│ │ ├── HasSuperClassMatcherTest.java
│ │ ├── HasSuperTypeMatcherTest.java
│ │ ├── InheritedAnnotationMatcherTest.java
│ │ ├── InstanceTypeMatcherTest.java
│ │ ├── IsNamedMatcherTest.java
│ │ ├── LatentMatcherAccessorTest.java
│ │ ├── LatentMatcherConjunctionTest.java
│ │ ├── LatentMatcherDisjunctionTest.java
│ │ ├── LatentMatcherForFieldTokenTest.java
│ │ ├── LatentMatcherForMethodTokenTest.java
│ │ ├── LatentMatcherForSelfDeclaredMethodTest.java
│ │ ├── MethodExceptionTypeMatcherTest.java
│ │ ├── MethodOverrideMatcherTest.java
│ │ ├── MethodParameterMatcherTest.java
│ │ ├── MethodParameterTypeMatcherTest.java
│ │ ├── MethodParameterTypesMatcherTest.java
│ │ ├── MethodReturnTypeMatcherTest.java
│ │ ├── MethodSortMatcherTest.java
│ │ ├── ModifierMatcherTest.java
│ │ ├── NameMatcherTest.java
│ │ ├── NegatingMatcherTest.java
│ │ ├── NullMatcherTest.java
│ │ ├── PrimitiveTypeMatcherTest.java
│ │ ├── SignatureTokenMatcherTest.java
│ │ ├── StringMatcherTest.java
│ │ ├── StringSetMatcherTest.java
│ │ ├── SubTypeMatcherTest.java
│ │ ├── SuperTypeMatcherTest.java
│ │ ├── TypeSortMatcherTest.java
│ │ └── VisibilityMatcherTest.java
│ │ ├── pool
│ │ ├── TypePoolCacheProviderTest.java
│ │ ├── TypePoolClassLoadingTest.java
│ │ ├── TypePoolDefaultAnnotationDescriptionTest.java
│ │ ├── TypePoolDefaultCacheTest.java
│ │ ├── TypePoolDefaultClassDescriptionTypeListTest.java
│ │ ├── TypePoolDefaultComponentPoolStrategyTest.java
│ │ ├── TypePoolDefaultEnumerationDescriptionTest.java
│ │ ├── TypePoolDefaultFieldDescriptionTest.java
│ │ ├── TypePoolDefaultGenericTypeListTest.java
│ │ ├── TypePoolDefaultHierarchyTest.java
│ │ ├── TypePoolDefaultLazyAnnotationListTest.java
│ │ ├── TypePoolDefaultLazyFieldListTest.java
│ │ ├── TypePoolDefaultLazyMethodListTest.java
│ │ ├── TypePoolDefaultLazyParameterListTest.java
│ │ ├── TypePoolDefaultLazyTypeContainmentTest.java
│ │ ├── TypePoolDefaultLazyTypeDescriptionTest.java
│ │ ├── TypePoolDefaultMethodDescriptionTest.java
│ │ ├── TypePoolDefaultPackageDescriptionTest.java
│ │ ├── TypePoolDefaultParameterBagTest.java
│ │ ├── TypePoolDefaultPrimitiveTypeTest.java
│ │ ├── TypePoolDefaultReaderModeTest.java
│ │ ├── TypePoolDefaultTest.java
│ │ ├── TypePoolDefaultTypeDescriptionSuperClassLoadingTest.java
│ │ ├── TypePoolDefaultTypeDescriptionTest.java
│ │ ├── TypePoolDefaultWithLazyResolutionTypeDescriptionTest.java
│ │ ├── TypePoolEmptyTest.java
│ │ ├── TypePoolExplicitTest.java
│ │ ├── TypePoolLazyFacadeTest.java
│ │ ├── TypePoolLazyFacadeTypeDescriptionTest.java
│ │ └── TypePoolResolutionTest.java
│ │ ├── test
│ │ ├── c
│ │ │ └── NativeSample.java
│ │ ├── packaging
│ │ │ ├── AdviceTestHelper.java
│ │ │ ├── EmptyType.java
│ │ │ ├── FieldDescriptionTestHelper.java
│ │ │ ├── FieldLocatorTestHelper.java
│ │ │ ├── MemberSubstitutionTestHelper.java
│ │ │ ├── MethodDescriptionTestHelper.java
│ │ │ ├── PackagePrivateConstructor.java
│ │ │ ├── PackagePrivateField.java
│ │ │ ├── PackagePrivateMethod.java
│ │ │ ├── PackagePrivateType.java
│ │ │ ├── SimpleOptionalType.java
│ │ │ └── SimpleType.java
│ │ ├── scope
│ │ │ ├── EnclosingType.java
│ │ │ └── GenericType.java
│ │ ├── utility
│ │ │ ├── AccessControllerRule.java
│ │ │ ├── AgentAttachmentRule.java
│ │ │ ├── CallTraceable.java
│ │ │ ├── ClassJnaInjectionAvailableRule.java
│ │ │ ├── ClassReflectionInjectionAvailableRule.java
│ │ │ ├── ClassUnsafeInjectionAvailableRule.java
│ │ │ ├── CustomHamcrestMatchers.java
│ │ │ ├── DebuggingWrapper.java
│ │ │ ├── FieldByFieldComparison.java
│ │ │ ├── InjectionStrategyResolver.java
│ │ │ ├── IntegrationRule.java
│ │ │ ├── JavaVersionRule.java
│ │ │ ├── LegacyGetPackageClassLoader.java
│ │ │ └── NativeSampleRule.java
│ │ └── visibility
│ │ │ ├── PackageAnnotation.java
│ │ │ ├── Sample.java
│ │ │ ├── child
│ │ │ └── Child.java
│ │ │ └── package-info.java
│ │ └── utility
│ │ ├── AsmClassWriterFrameComputingClassWriterTest.java
│ │ ├── CompoundListTest.java
│ │ ├── ConstantValueSimpleTest.java
│ │ ├── ConstructorComparatorTest.java
│ │ ├── FieldComparatorTest.java
│ │ ├── FileSystemTest.java
│ │ ├── GraalImageCodeTest.java
│ │ ├── JavaConstantDynamicTest.java
│ │ ├── JavaConstantMethodHandleTest.java
│ │ ├── JavaConstantMethodTypeTest.java
│ │ ├── JavaConstantSimpleConstantDescriptionTest.java
│ │ ├── JavaConstantSimpleTest.java
│ │ ├── JavaConstantTest.java
│ │ ├── JavaConstantVisitorNoOpTest.java
│ │ ├── JavaModuleTest.java
│ │ ├── JavaTypeTest.java
│ │ ├── MethodComparatorTest.java
│ │ ├── OpenedClassReaderTest.java
│ │ ├── QueueFactoryTest.java
│ │ ├── RandomStringTest.java
│ │ ├── StreamDrainerTest.java
│ │ ├── dispatcher
│ │ ├── JavaDispatcherDefaultsTest.java
│ │ └── JavaDispatcherTest.java
│ │ ├── privilege
│ │ ├── GetMethodActionTest.java
│ │ ├── GetSystemPropertyActionTest.java
│ │ └── SetAccessibleActionTest.java
│ │ └── visitor
│ │ ├── ContextClassVisitorTest.java
│ │ ├── ExceptionTableSensitiveMethodVisitorTest.java
│ │ ├── LineNumberPrependingMethodVisitorTest.java
│ │ ├── LocalVariableAwareMethodVisitorTest.java
│ │ ├── MetadataAwareClassVisitorTest.java
│ │ └── StackAwareMethodVisitorTest.java
│ ├── precompiled-11
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v11
│ │ ├── AdviceDynamicConstant.class
│ │ ├── ClassExtendsTypeReference$1.class
│ │ ├── ClassExtendsTypeReference$TypeAnnotation.class
│ │ ├── ClassExtendsTypeReference.class
│ │ ├── DynamicConstantBootstrap$Other.class
│ │ ├── DynamicConstantBootstrap.class
│ │ ├── MemberSubstitutionDynamicConstant.class
│ │ └── MethodDelegationDynamicConstant.class
│ ├── precompiled-16
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v16
│ │ ├── GenericRecordSample.class
│ │ └── RecordSample.class
│ ├── precompiled-17
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v17
│ │ ├── Sealed$SubFinal.class
│ │ ├── Sealed$SubNonSealed.class
│ │ ├── Sealed$SubSealed$SubSubFinal.class
│ │ ├── Sealed$SubSealed.class
│ │ └── Sealed.class
│ ├── precompiled-4-jsr14
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v4jsr14
│ │ └── Jsr14Sample.class
│ ├── precompiled-4
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v4
│ │ └── TypeConstantSample.class
│ ├── precompiled-6
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v6
│ │ └── LegacyInterface.class
│ ├── precompiled-7
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v7
│ │ ├── AdviceBootstrap.class
│ │ ├── AdviceBootstrapErased.class
│ │ ├── AdviceDynamicConstant.class
│ │ ├── AdviceOriginMethodHandle.class
│ │ ├── AdviceOriginMethodHandlesLookup.class
│ │ ├── AdviceOriginMethodType.class
│ │ ├── DynamicInvokeBootstrap$SampleEnum.class
│ │ ├── DynamicInvokeBootstrap.class
│ │ ├── DynamicSampleBootstrap$1.class
│ │ ├── DynamicSampleBootstrap.class
│ │ ├── MemberSubstitutionBootstrap.class
│ │ ├── MemberSubstitutionDynamicConstant.class
│ │ ├── MemberSubstitutionOriginMethodHandle.class
│ │ ├── MemberSubstitutionOriginMethodHandlesLookup.class
│ │ ├── MemberSubstitutionOriginMethodType.class
│ │ ├── MethodDelegationDynamicConstant.class
│ │ ├── OriginMethodHandle.class
│ │ ├── OriginMethodHandlesLookup.class
│ │ └── OriginMethodType.class
│ ├── precompiled-8-parameters
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v8parameters
│ │ └── ParameterNames.class
│ ├── precompiled-8
│ └── net
│ │ └── bytebuddy
│ │ └── test
│ │ └── precompiled
│ │ └── v8
│ │ ├── DelegationDefaultInterface.class
│ │ ├── DelegationDefaultTarget.class
│ │ ├── DelegationDefaultTargetExplicit.class
│ │ ├── DelegationDefaultTargetSerializable.class
│ │ ├── LambdaSampleFactory.class
│ │ ├── MorphDefaultDelegationTargetExplicit.class
│ │ ├── MorphDefaultDelegationTargetImplicit.class
│ │ ├── MorphDefaultInterface.class
│ │ ├── OriginExecutable.class
│ │ ├── OriginExecutableWithCache.class
│ │ ├── OtherTypeAnnotation.class
│ │ ├── ReceiverTypeSample$Generic$Inner.class
│ │ ├── ReceiverTypeSample$Generic$Nested.class
│ │ ├── ReceiverTypeSample$Generic.class
│ │ ├── ReceiverTypeSample$Inner.class
│ │ ├── ReceiverTypeSample$Nested.class
│ │ ├── ReceiverTypeSample.class
│ │ ├── ReturnTypeInterfaceBridge.class
│ │ ├── ReturnTypeInterfaceBridgeBase.class
│ │ ├── SimpleTypeAnnotatedType.class
│ │ ├── SingleDefaultMethodClass.class
│ │ ├── SingleDefaultMethodConflictingInterface.class
│ │ ├── SingleDefaultMethodConflictingPreferringInterceptor.class
│ │ ├── SingleDefaultMethodInterface.class
│ │ ├── SingleDefaultMethodNonOverridingInterface.class
│ │ ├── SingleDefaultMethodPreferringInterceptor.class
│ │ ├── TypeAnnotation.class
│ │ ├── TypeAnnotationOtherSamples$Bar.class
│ │ ├── TypeAnnotationOtherSamples$Qux$Baz.class
│ │ ├── TypeAnnotationOtherSamples$Qux.class
│ │ ├── TypeAnnotationOtherSamples.class
│ │ ├── TypeAnnotationSamples.class
│ │ ├── TypeVariableInterfaceBridge.class
│ │ └── TypeVariableInterfaceBridgeBase.class
│ └── resources
│ └── net_bytebuddy_test_c_NativeSample.so
├── byte-buddy-gradle-plugin
├── README.md
├── android-plugin-test
│ ├── README.md
│ ├── aar-bytebuddy-plugin
│ │ ├── build.gradle
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ └── net
│ │ │ │ └── bytebuddy
│ │ │ │ └── plugin
│ │ │ │ └── gradle
│ │ │ │ └── test
│ │ │ │ └── aar
│ │ │ │ ├── AarAdvice.java
│ │ │ │ ├── AarPlugin.java
│ │ │ │ └── package-info.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── net.bytebuddy
│ │ │ └── build.plugins
│ ├── aar-bytebuddy-target
│ │ ├── build.gradle
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ └── net
│ │ │ │ └── bytebuddy
│ │ │ │ └── android
│ │ │ │ └── test
│ │ │ │ └── aar
│ │ │ │ └── lib
│ │ │ │ ├── SomeAarClass.java
│ │ │ │ ├── package-info.java
│ │ │ │ └── service
│ │ │ │ └── TargetServiceImplementation.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── services
│ │ │ └── com.service.definition.ServiceDefinition
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ ├── androidTest
│ │ │ └── java
│ │ │ │ └── net
│ │ │ │ └── bytebuddy
│ │ │ │ └── android
│ │ │ │ └── test
│ │ │ │ └── ByteBuddyInstrumentedTest.java
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ └── java
│ │ │ └── net
│ │ │ └── bytebuddy
│ │ │ └── android
│ │ │ └── test
│ │ │ ├── AnotherClass.java
│ │ │ ├── SomeClass.java
│ │ │ └── package-info.java
│ ├── build.gradle
│ ├── bytebuddy.gradle
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── jar-bytebuddy-plugin
│ │ ├── build.gradle
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── net
│ │ │ │ └── bytebuddy
│ │ │ │ └── plugin
│ │ │ │ └── gradle
│ │ │ │ └── test
│ │ │ │ └── jar
│ │ │ │ ├── AdviceForLibClass.java
│ │ │ │ ├── AdviceForLocalClass.java
│ │ │ │ ├── PluginForLibClass.java
│ │ │ │ ├── PluginForLocalClass.java
│ │ │ │ └── package-info.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── net.bytebuddy
│ │ │ └── build.plugins
│ ├── service-definition-lib
│ │ ├── build.gradle
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ ├── com
│ │ │ └── service
│ │ │ │ └── definition
│ │ │ │ └── ServiceDefinition.java
│ │ │ └── module-info.java
│ ├── service-implementation-lib
│ │ ├── build.gradle
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ ├── com
│ │ │ │ └── service
│ │ │ │ │ └── usage
│ │ │ │ │ └── ServiceImplementation.java
│ │ │ └── module-info.java
│ │ │ └── resources
│ │ │ ├── LICENSE
│ │ │ ├── LICENSE.txt
│ │ │ ├── META-INF
│ │ │ └── services
│ │ │ │ └── com.service.definition.ServiceDefinition
│ │ │ ├── NOTICE
│ │ │ └── NOTICE.txt
│ ├── service-implementation2-lib
│ │ ├── build.gradle
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ ├── com
│ │ │ │ └── service
│ │ │ │ │ └── usage2
│ │ │ │ │ └── ServiceImplementation.java
│ │ │ └── module-info.java
│ │ │ └── resources
│ │ │ ├── LICENSE
│ │ │ ├── LICENSE.txt
│ │ │ ├── META-INF
│ │ │ └── services
│ │ │ │ └── com.service.definition.ServiceDefinition
│ │ │ ├── NOTICE
│ │ │ └── NOTICE.txt
│ └── settings.gradle
├── android-plugin
│ ├── README.md
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ └── java
│ │ └── net
│ │ └── bytebuddy
│ │ └── build
│ │ └── gradle
│ │ └── android
│ │ ├── ByteBuddyAndroidPlugin.java
│ │ ├── ByteBuddyAndroidService.java
│ │ ├── ByteBuddyAndroidTaskExtension.java
│ │ ├── ByteBuddyAsmClassVisitorFactory.java
│ │ ├── ByteBuddyInstrumentationParameters.java
│ │ ├── ByteBuddyLocalClassesEnhancerTask.java
│ │ ├── Discovery.java
│ │ ├── LegacyByteBuddyLocalClassesEnhancerTask.java
│ │ ├── PluginArgument.java
│ │ ├── Transformation.java
│ │ └── package-info.java
├── build.gradle
├── build.legacy.gradle
├── bytebuddy.gradle
├── common.gradle
├── gradle.properties
├── gradle
│ ├── verification-metadata.xml
│ ├── wrapper-legacy
│ │ └── gradle-wrapper.properties
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── mavenBridge
│ └── build.gradle
├── pom.xml
├── settings.gradle
└── src
│ ├── main
│ ├── java-gradle-api
│ │ └── org
│ │ │ └── gradle
│ │ │ ├── api
│ │ │ ├── file
│ │ │ │ ├── Directory.java
│ │ │ │ ├── DirectoryProperty.java
│ │ │ │ └── package-info.java
│ │ │ ├── provider
│ │ │ │ ├── Provider.java
│ │ │ │ └── package-info.java
│ │ │ └── tasks
│ │ │ │ ├── CompileClasspath.java
│ │ │ │ ├── Internal.java
│ │ │ │ ├── PathSensitive.java
│ │ │ │ ├── PathSensitivity.java
│ │ │ │ └── package-info.java
│ │ │ └── work
│ │ │ ├── ChangeType.java
│ │ │ ├── FileChange.java
│ │ │ ├── Incremental.java
│ │ │ ├── InputChanges.java
│ │ │ └── package-info.java
│ ├── java
│ │ └── net
│ │ │ └── bytebuddy
│ │ │ └── build
│ │ │ └── gradle
│ │ │ ├── AbstractByteBuddyTask.java
│ │ │ ├── AbstractByteBuddyTaskConfiguration.java
│ │ │ ├── AbstractByteBuddyTaskExtension.java
│ │ │ ├── Adjustment.java
│ │ │ ├── ByteBuddyJarTask.java
│ │ │ ├── ByteBuddyJarTaskExtension.java
│ │ │ ├── ByteBuddyJarsTask.java
│ │ │ ├── ByteBuddyJarsTaskExtension.java
│ │ │ ├── ByteBuddyPlugin.java
│ │ │ ├── ByteBuddySimpleTask.java
│ │ │ ├── ByteBuddySimpleTaskConfiguration.java
│ │ │ ├── ByteBuddySimpleTaskExtension.java
│ │ │ ├── ByteBuddyTask.java
│ │ │ ├── ByteBuddyTaskConfiguration.java
│ │ │ ├── ByteBuddyTaskExtension.java
│ │ │ ├── Discovery.java
│ │ │ ├── GradleBuildLogger.java
│ │ │ ├── IncrementalResolver.java
│ │ │ ├── ObjectFactory.java
│ │ │ ├── PluginArgument.java
│ │ │ ├── Transformation.java
│ │ │ └── package-info.java
│ ├── resources-maven
│ │ └── NOTICE
│ └── resources
│ │ └── META-INF
│ │ └── gradle-plugins
│ │ └── net.bytebuddy.byte-buddy.properties
│ └── test
│ └── java
│ └── net
│ └── bytebuddy
│ ├── build
│ └── gradle
│ │ ├── ByteBuddyPluginTest.java
│ │ ├── ByteBuddyTaskExtensionTest.java
│ │ └── IncrementalResolverForChangedFilesTest.java
│ └── test
│ └── utility
│ └── IntegrationRule.java
├── byte-buddy-maven-plugin
├── README.md
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── net
│ │ │ └── bytebuddy
│ │ │ └── build
│ │ │ └── maven
│ │ │ ├── ByteBuddyMojo.java
│ │ │ ├── ClassLoaderResolver.java
│ │ │ ├── CoordinateConfiguration.java
│ │ │ ├── Discovery.java
│ │ │ ├── Initialization.java
│ │ │ ├── MavenCoordinate.java
│ │ │ ├── PluginArgument.java
│ │ │ ├── Transformation.java
│ │ │ └── package-info.java
│ └── resources
│ │ └── META-INF
│ │ └── m2e
│ │ └── lifecycle-mapping-metadata.xml
│ └── test
│ ├── java
│ └── net
│ │ └── bytebuddy
│ │ ├── build
│ │ └── maven
│ │ │ ├── ByteBuddyMojoTest.java
│ │ │ ├── ClassLoaderResolverTest.java
│ │ │ ├── InitializationTest.java
│ │ │ ├── MavenCoordinateTest.java
│ │ │ └── TransformationTest.java
│ │ └── test
│ │ ├── ArgumentPlugin.java
│ │ ├── IllegalEntryPoint.java
│ │ ├── IllegalPlugin.java
│ │ ├── IllegalTransformEntryPoint.java
│ │ ├── IllegalTransformPlugin.java
│ │ ├── LiveInitializerPlugin.java
│ │ ├── SimpleEntryPoint.java
│ │ └── SimplePlugin.java
│ └── resources
│ └── net
│ └── bytebuddy
│ └── test
│ ├── argument.pom.xml
│ ├── empty.pom.xml
│ ├── entry.illegal.pom.xml
│ ├── entry.illegal.transform.pom.xml
│ ├── entry.pom.xml
│ ├── illegal.apply.pom.xml
│ ├── illegal.pom.xml
│ ├── live.allowed.pom.xml
│ ├── live.pom.xml
│ ├── simple.pom.xml
│ ├── suffix.pom.xml
│ └── test.pom.xml
├── byte-buddy
├── pom.xml
└── src
│ └── main
│ └── resources
│ └── META-INF
│ ├── LICENSE
│ └── licenses
│ └── ASM
├── checkstyle.xml
├── mvnw
├── mvnw.cmd
├── pom.xml
├── release-notes.md
├── spotbugs-exclude.xml
└── version-rules.xml
/.gitattributes:
--------------------------------------------------------------------------------
1 | mvnw linguist-vendored
2 | mvnw.cmd linguist-vendored
3 | .mvn/* linguist-vendored
4 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: raphw
2 | tidelift: maven/net.bytebuddy:byte-buddy
3 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "maven"
4 | directory: "/"
5 | schedule:
6 | interval: "daily"
7 | target-branch: "master"
8 | - package-ecosystem: "github-actions"
9 | directory: "/"
10 | schedule:
11 | interval: "daily"
12 | target-branch: "master"
13 |
--------------------------------------------------------------------------------
/.github/workflows/codeql-analysis.yml:
--------------------------------------------------------------------------------
1 | name: "CodeQL"
2 | on:
3 | push:
4 | branches: [ "master" ]
5 | pull_request:
6 | branches: [ "master" ]
7 | schedule:
8 | - cron: '18 5 * * 1'
9 | permissions: read-all
10 | jobs:
11 | analyze:
12 | name: Analyze
13 | runs-on: ubuntu-24.04
14 | permissions:
15 | actions: read
16 | contents: read
17 | security-events: write
18 | steps:
19 | - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
20 | - uses: github/codeql-action/init@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
21 | with:
22 | languages: 'java'
23 | - name: Build project
24 | run: ./mvnw package -DskipTests
25 | - uses: github/codeql-action/analyze@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
26 |
--------------------------------------------------------------------------------
/.github/workflows/scorecards.yml:
--------------------------------------------------------------------------------
1 | name: Scorecards
2 | on:
3 | branch_protection_rule:
4 | schedule:
5 | - cron: '36 17 * * 5'
6 | push:
7 | branches: [ "master" ]
8 | permissions: read-all
9 | jobs:
10 | analysis:
11 | name: Scorecards analysis
12 | runs-on: ubuntu-24.04
13 | permissions:
14 | security-events: write
15 | id-token: write
16 | steps:
17 | - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
18 | with:
19 | persist-credentials: false
20 | - uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
21 | with:
22 | results_file: results.sarif
23 | results_format: sarif
24 | publish_results: true
25 | - uses: github/codeql-action/upload-sarif@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
26 | with:
27 | sarif_file: results.sarif
28 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Eclipse
2 | .classpath
3 | .project
4 | .settings/
5 |
6 | # Intellij
7 | .idea/
8 | *.iml
9 | *.iws
10 |
11 | # Mac
12 | .DS_Store
13 |
14 | # Maven
15 | log/
16 | target/
17 | site/
18 | maven-wrapper.jar
19 | maven-checksum-extension.jar
20 |
21 | # Gradle
22 | .gradle/
23 | build/
24 | !**/src/**/build/
25 | gradle-*-bin.zip
26 | gradle-wrapper.jar
27 |
28 | # Shade plugin
29 | dependency-reduced-pom.xml
30 |
31 | # Versions plugin
32 | pom.xml.versionsBackup
33 |
34 | # Release plugin
35 | pom.xml.releaseBackup
36 | release.properties
37 |
38 | # Android
39 | */gen/*
40 |
41 | # JVM
42 | .attach*
--------------------------------------------------------------------------------
/.mvn/mvn-collect.sh:
--------------------------------------------------------------------------------
1 | ./mvnw clean jacoco:prepare-agent verify jacoco:report -Pextras -Pchecks -Panalysis -Pintegration -Pmulti-release -Pchecksum-collect -U
2 |
--------------------------------------------------------------------------------
/.mvn/nossl.settings.xml:
--------------------------------------------------------------------------------
1 |
2 | ${user.home}/.m2/repository-no-ssl
3 |
4 |
5 | central-no-ssl
6 | Central without SSL
7 | http://insecure.repo1.maven.org/maven2
8 | central
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.mvn/release.settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | gradle
6 |
7 | ${gradle.key}
8 | ${gradle.secret}
9 |
10 |
11 |
12 |
13 | gradle
14 |
15 |
16 |
17 | gpg.passphrase
18 | ${gpg.passphrase}
19 |
20 |
21 | central
22 | ${central.username}
23 | ${central.password}
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/NOTICE:
--------------------------------------------------------------------------------
1 | Copyright ${project.inceptionYear} - Present ${copyright.holder}
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | Only the latest version is guaranteed to be secure. For this purpose, Byte Buddy maintains backwards compatibility. Please note the [readme of the project](https://github.com/raphw/byte-buddy/blob/master/README.md) for further information.
6 |
7 | ## Reporting a Vulnerability
8 |
9 | Please disclose responsibly by [contacting the maintainer](mailto:rafael.wth@gmail.com). After a fix is released, any vulnerability will be publicly disclosed and registered. As of today, no vulnerabilities are known to exists.
10 |
--------------------------------------------------------------------------------
/byte-buddy-agent/src/main/java/net/bytebuddy/agent/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * The Byte Buddy agent allows the redefinition of classes at runtime.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.agent;
21 |
22 | import net.bytebuddy.agent.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-agent/src/main/java/net/bytebuddy/agent/utility/nullability/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * A package to contain nullability annotations to be used within the Byte Buddy agent project.
18 | */
19 | package net.bytebuddy.agent.utility.nullability;
20 |
--------------------------------------------------------------------------------
/byte-buddy-agent/src/main/resources/win32-x86-64/attach_hotspot_windows.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-agent/src/main/resources/win32-x86-64/attach_hotspot_windows.dll
--------------------------------------------------------------------------------
/byte-buddy-agent/src/main/resources/win32-x86/attach_hotspot_windows.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-agent/src/main/resources/win32-x86/attach_hotspot_windows.dll
--------------------------------------------------------------------------------
/byte-buddy-agent/src/test/java/net/bytebuddy/agent/ByteBuddyAgentAttachmentTypeEvaluator.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.agent;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class ByteBuddyAgentAttachmentTypeEvaluator {
9 |
10 | @Test
11 | public void testDisabled() throws Exception {
12 | assertThat(ByteBuddyAgent.AttachmentTypeEvaluator.Disabled.INSTANCE.requiresExternalAttachment("foo"), is(false));
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/byte-buddy-agent/src/test/java/net/bytebuddy/agent/SampleAgent.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.agent;
2 |
3 | public class SampleAgent {
4 |
5 | public static String argument;
6 |
7 | public static void agentmain(String argument) {
8 | SampleAgent.argument = argument;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/byte-buddy-android-test/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/byte-buddy-android-test/res/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-android-test/res/drawable/icon.png
--------------------------------------------------------------------------------
/byte-buddy-android-test/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Byte Buddy Android test
4 | Build version: %1$s
5 |
6 | This application creates a runtime subclass using Byte Buddy and loads the generated classes using Byte
7 | Buddy\'s class loading strategy for Android. For this, it uses version the Android SDK\'s dex compiler
8 | in the form it is available on Maven Central.
9 |
10 | Run test: wrapping
11 | Run test: injecting
12 |
13 |
--------------------------------------------------------------------------------
/byte-buddy-android-test/src/main/java/net/bytebuddy/android/test/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * This package contains an example application for running Byte Buddy on an Android device.
18 | */
19 | package net.bytebuddy.android.test;
20 |
--------------------------------------------------------------------------------
/byte-buddy-android-test/src/main/resources/maven.properties:
--------------------------------------------------------------------------------
1 | version=${project.version}
2 |
--------------------------------------------------------------------------------
/byte-buddy-android/README.md:
--------------------------------------------------------------------------------
1 | # Byte Buddy Android
2 |
3 | **Byte Buddy Android** allows you to generate classes on Android and to load them into the current Android VM process. To load classes on Android, the `AndroidClassLoadingStrategy` must be used when loading a dynamic type:
4 |
5 | ```java
6 | ClassLoadingStrategy strategy = new AndroidClassLoadingStrategy.Wrapping(context.getDir(
7 | "generated",
8 | Context.MODE_PRIVATE));
9 |
10 | Class> dynamicType = new ByteBuddy()
11 | .subclass(Object.class)
12 | .method(ElementMatchers.named("toString"))
13 | .intercept(FixedValue.value("Hello World!"))
14 | .make()
15 | .load(getClass().getClassLoader(), strategy)
16 | .getLoaded();
17 | assertThat(dynamicType.newInstance().toString(), is("Hello World!"))
18 | ```
19 |
20 | Using the strategy requires Android with support for API version 21 or later. A wrapping and an injecting class loading strategy is offered, similar to Byte Buddy's standard strategies. On Android, it is not possible to transform loaded classes or to register a Java agent.
21 |
--------------------------------------------------------------------------------
/byte-buddy-android/src/main/java/net/bytebuddy/android/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * This package is dedicated to supporting Byte Buddy on Android devices.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.android;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-benchmark/src/main/java/net/bytebuddy/benchmark/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * A package containing benchmarks for Byte Buddy and other code generation libraries.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.benchmark;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-benchmark/src/main/java/net/bytebuddy/benchmark/runner/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * A package dedicated to running benchmarks.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.benchmark.runner;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-benchmark/src/main/java/net/bytebuddy/benchmark/specimen/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * Specimen classes which are required for some benchmarks.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.benchmark.specimen;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-benchmark/src/test/java/net/bytebuddy/benchmark/AbstractBlackHoleTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.benchmark;
2 |
3 | import org.junit.Before;
4 | import org.openjdk.jmh.infra.Blackhole;
5 |
6 | /**
7 | * Unfortunately, the JMH is not very test friendly. Thus, we need to do some tricks to run test cases. Fortunately,
8 | * we are testing a code generation framework such that we already have the tools to generate the required classes
9 | * on our class path.
10 | */
11 | public abstract class AbstractBlackHoleTest {
12 |
13 | protected Blackhole blackHole;
14 |
15 | @Before
16 | public void setUpBlackHole() throws Exception {
17 | blackHole = new Blackhole("Today\'s password is swordfish. I understand instantiating Blackholes directly is dangerous.");
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/asm/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * The ASM package contains classes that are meant for direct interaction with the ASM API.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.asm;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/build/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * A package for types that allow for applying Byte Buddy transformation during a build process.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.build;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/description/annotation/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * Contains descriptions of annotations and annotation values.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.description.annotation;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/description/enumeration/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * A package that contains classes for describing enumeration values.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.description.enumeration;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/description/field/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * Contains descriptions of Java fields.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.description.field;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/description/method/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * Contains descriptions of Java methods and constructors as well as their parameters.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.description.method;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/description/modifier/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * The modifier package contains high-level and type-safe descriptions of Java modifiers.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.description.modifier;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/description/type/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * Contains descriptions of Java types and packages.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.description.type;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/dynamic/loading/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * This package contains classes that are responsible for class loading of classes that are represented by
18 | * {@code byte} arrays.
19 | */
20 | @NeverNull.ByDefault
21 | package net.bytebuddy.dynamic.loading;
22 |
23 | import net.bytebuddy.utility.nullability.NeverNull;
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/dynamic/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * This package contains classes and interfaces that are connected to writing the byte stream that represents a Java
18 | * type that is dynamically created and for loading this type into a running JVM process.
19 | */
20 | @NeverNull.ByDefault
21 | package net.bytebuddy.dynamic;
22 |
23 | import net.bytebuddy.utility.nullability.NeverNull;
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/dynamic/scaffold/inline/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * All classes and types in this package are related to creating a {@link net.bytebuddy.dynamic.DynamicType} by
18 | * enhancing a given type.
19 | */
20 | @NeverNull.ByDefault
21 | package net.bytebuddy.dynamic.scaffold.inline;
22 |
23 | import net.bytebuddy.utility.nullability.NeverNull;
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/dynamic/scaffold/subclass/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * All classes and types in this package are related to creating a {@link net.bytebuddy.dynamic.DynamicType} by
18 | * creating a subclass of a given type.
19 | */
20 | @NeverNull.ByDefault
21 | package net.bytebuddy.dynamic.scaffold.subclass;
22 |
23 | import net.bytebuddy.utility.nullability.NeverNull;
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/bind/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * The types and classes of this package are responsible for binding a method call to calling another method.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.implementation.bind;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/bytecode/assign/reference/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * {@link net.bytebuddy.implementation.bytecode.assign.Assigner} implementations of this package
18 | * are capable of assigning non-primitive types to each other.
19 | */
20 | @NeverNull.ByDefault
21 | package net.bytebuddy.implementation.bytecode.assign.reference;
22 |
23 | import net.bytebuddy.utility.nullability.NeverNull;
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/bytecode/collection/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * This package is dedicated to creating {@link net.bytebuddy.implementation.bytecode.StackManipulation}s
18 | * that create collections or arrays from a given number of values.
19 | */
20 | @NeverNull.ByDefault
21 | package net.bytebuddy.implementation.bytecode.collection;
22 |
23 | import net.bytebuddy.utility.nullability.NeverNull;
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/implementation/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * The implementation package contains any logic for intercepting method calls.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.implementation;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/matcher/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * Contains an API for matching Java byte code entities.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.matcher;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/pool/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * Classes of this package allow for the creating {@link net.bytebuddy.description.type.TypeDescription}s without
18 | * loading any classes.
19 | */
20 | @NeverNull.ByDefault
21 | package net.bytebuddy.pool;
22 |
23 | import net.bytebuddy.utility.nullability.NeverNull;
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/utility/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * This package contains utility classes for common use within any Byte Buddy logic.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.utility;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/utility/privilege/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * A package containing {@link java.security.PrivilegedAction}s that are used for invoking sensitive methods.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.utility.privilege;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/main/java/net/bytebuddy/utility/visitor/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | /**
17 | * A package containing visitor classes for ASM.
18 | */
19 | @NeverNull.ByDefault
20 | package net.bytebuddy.utility.visitor;
21 |
22 | import net.bytebuddy.utility.nullability.NeverNull;
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/c/net_bytebuddy_test_c_NativeSample.c:
--------------------------------------------------------------------------------
1 | #include "net_bytebuddy_test_c_NativeSample.h"
2 |
3 | JNIEXPORT jint JNICALL Java_net_bytebuddy_test_c_NativeSample_foo
4 | (JNIEnv* env, jobject obj, jint left, jint right) {
5 | return left * right;
6 | }
7 |
8 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/c/net_bytebuddy_test_c_NativeSample.h:
--------------------------------------------------------------------------------
1 | #include
2 | #ifndef _Included_net_bytebuddy_test_c_NativeSample
3 | #define _Included_net_bytebuddy_test_c_NativeSample
4 | #ifdef __cplusplus
5 | extern "C" {
6 | #endif
7 | JNIEXPORT jint JNICALL Java_net_bytebuddy_test_c_NativeSample_foo
8 | (JNIEnv *, jobject, jint, jint);
9 |
10 | #ifdef __cplusplus
11 | }
12 | #endif
13 | #endif
14 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-11/net/bytebuddy/test/precompiled/v11/ClassExtendsTypeReference.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.test.precompiled.v11;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 | import java.util.ArrayList;
8 |
9 | public class ClassExtendsTypeReference {
10 |
11 | @Retention(RetentionPolicy.RUNTIME)
12 | @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
13 | public @interface TypeAnnotation {
14 | /* empty */
15 | }
16 |
17 | public Object foo() {
18 | return new ArrayList<@TypeAnnotation Object>() {
19 | /* empty */
20 | };
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-16/net/bytebuddy/test/precompiled/v16/GenericRecordSample.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v16;
17 |
18 | public record GenericRecordSample(T value) {
19 | public static final GenericRecordSample FOO = new GenericRecordSample("value");
20 | }
21 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-4-jsr14/net/bytebuddy/test/precompiled/v4jsr14/Jsr14Sample.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v4jsr14;
17 |
18 | public class Jsr14Sample {
19 |
20 | public Jsr14Sample field;
21 |
22 | public Jsr14Sample method() {
23 | return null;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-4/net/bytebuddy/test/precompiled/v4/TypeConstantSample.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v4;
17 |
18 | public class TypeConstantSample {
19 |
20 | public static Object bar() {
21 | return TypeConstantSample.class;
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-6/net/bytebuddy/test/precompiled/v6/LegacyInterface.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v6;
17 |
18 | public interface LegacyInterface {
19 | /* empty */
20 | }
21 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/DelegationDefaultInterface.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public interface DelegationDefaultInterface {
19 |
20 | static final String FOO = "foo";
21 |
22 | default String foo() {
23 | return FOO;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/MorphDefaultInterface.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public interface MorphDefaultInterface {
19 |
20 | static final String FOO = "foo";
21 |
22 | default String foo(String value) {
23 | return FOO + value;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/ReturnTypeInterfaceBridge.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public interface ReturnTypeInterfaceBridge extends ReturnTypeInterfaceBridgeBase {
19 |
20 | String BAR = "bar";
21 |
22 | @Override
23 | default String foo() {
24 | return BAR;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/ReturnTypeInterfaceBridgeBase.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public interface ReturnTypeInterfaceBridgeBase {
19 |
20 | String FOO = "foo";
21 |
22 | default Object foo() {
23 | return FOO;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/SimpleTypeAnnotatedType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public abstract class SimpleTypeAnnotatedType<@TypeAnnotation(42) foo> implements @TypeAnnotation(84) Runnable {
19 | /* empty */
20 | }
21 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodClass.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public class SingleDefaultMethodClass implements SingleDefaultMethodInterface {
19 | /* empty */
20 | }
21 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodConflictingInterface.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public interface SingleDefaultMethodConflictingInterface {
19 |
20 | static final String QUX = "qux";
21 |
22 | default Object foo() {
23 | return QUX;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodInterface.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public interface SingleDefaultMethodInterface {
19 |
20 | static final String FOO = "foo";
21 |
22 | default Object foo() {
23 | return FOO;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodNonOverridingInterface.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public interface SingleDefaultMethodNonOverridingInterface extends SingleDefaultMethodInterface {
19 | /* empty */
20 | }
21 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/TypeVariableInterfaceBridge.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public interface TypeVariableInterfaceBridge extends TypeVariableInterfaceBridgeBase {
19 |
20 | String FOO = "foo";
21 |
22 | @Override
23 | default String foo(String s) {
24 | return FOO;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java-8/net/bytebuddy/test/precompiled/v8/TypeVariableInterfaceBridgeBase.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 - Present Rafael Winterhalter
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package net.bytebuddy.test.precompiled.v8;
17 |
18 | public interface TypeVariableInterfaceBridgeBase {
19 |
20 | default T foo(T t) {
21 | return t;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/agent/builder/AgentBuilderFallbackStrategySimpleTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.agent.builder;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class AgentBuilderFallbackStrategySimpleTest {
9 |
10 | @Test
11 | public void testEnabled() throws Exception {
12 | assertThat(AgentBuilder.FallbackStrategy.Simple.ENABLED.isFallback(Object.class, new Throwable()), is(true));
13 | }
14 |
15 | @Test
16 | public void testDisabled() throws Exception {
17 | assertThat(AgentBuilder.FallbackStrategy.Simple.DISABLED.isFallback(Object.class, new Throwable()), is(false));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/agent/builder/AgentBuilderLocationStrategyNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.agent.builder;
2 |
3 | import net.bytebuddy.dynamic.ClassFileLocator;
4 | import net.bytebuddy.utility.JavaModule;
5 | import org.junit.Test;
6 |
7 | import static org.hamcrest.CoreMatchers.is;
8 | import static org.hamcrest.MatcherAssert.assertThat;
9 | import static org.mockito.Mockito.mock;
10 |
11 | public class AgentBuilderLocationStrategyNoOpTest {
12 |
13 | @Test
14 | public void testApplication() throws Exception {
15 | assertThat(AgentBuilder.LocationStrategy.NoOp.INSTANCE.classFileLocator(mock(ClassLoader.class), mock(JavaModule.class)),
16 | is((ClassFileLocator) ClassFileLocator.NoOp.INSTANCE));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/agent/builder/AgentBuilderLocationStrategySimpleTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.agent.builder;
2 |
3 | import net.bytebuddy.dynamic.ClassFileLocator;
4 | import net.bytebuddy.utility.JavaModule;
5 | import org.junit.Test;
6 |
7 | import static org.hamcrest.CoreMatchers.is;
8 | import static org.hamcrest.MatcherAssert.assertThat;
9 | import static org.mockito.Mockito.mock;
10 |
11 | public class AgentBuilderLocationStrategySimpleTest {
12 |
13 | @Test
14 | public void testLocation() throws Exception {
15 | ClassFileLocator classFileLocator = mock(ClassFileLocator.class);
16 | assertThat(new AgentBuilder.LocationStrategy.Simple(classFileLocator).classFileLocator(mock(ClassLoader.class), mock(JavaModule.class)), is(classFileLocator));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/build/PluginEngineSourceEmptyTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.build;
2 |
3 | import net.bytebuddy.dynamic.ClassFileLocator;
4 | import org.junit.Test;
5 |
6 | import java.util.jar.Manifest;
7 |
8 | import static org.hamcrest.CoreMatchers.is;
9 | import static org.hamcrest.CoreMatchers.nullValue;
10 | import static org.hamcrest.MatcherAssert.assertThat;
11 |
12 | public class PluginEngineSourceEmptyTest {
13 |
14 | @Test
15 | public void testNonOperational() throws Exception {
16 | assertThat(Plugin.Engine.Source.Empty.INSTANCE.toClassFileLocator(null), is((ClassFileLocator) ClassFileLocator.NoOp.INSTANCE));
17 | assertThat(Plugin.Engine.Source.Empty.INSTANCE.getManifest(), nullValue(Manifest.class));
18 | assertThat(Plugin.Engine.Source.Empty.INSTANCE.iterator().hasNext(), is(false));
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/build/PluginFactorySimpleTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.build;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 | import static org.mockito.Mockito.mock;
8 |
9 | public class PluginFactorySimpleTest {
10 |
11 | @Test
12 | public void testFactory() {
13 | Plugin plugin = mock(Plugin.class);
14 | assertThat(new Plugin.Factory.Simple(plugin).make(), is(plugin));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/annotation/AnnotationDescriptionAnnotationValueStateTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.annotation;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class AnnotationDescriptionAnnotationValueStateTest {
9 |
10 | @Test
11 | public void testIsDefined() throws Exception {
12 | assertThat(AnnotationValue.State.RESOLVED.isResolved(), is(true));
13 | assertThat(AnnotationValue.State.UNRESOLVED.isResolved(), is(false));
14 | assertThat(AnnotationValue.State.UNDEFINED.isResolved(), is(false));
15 | }
16 |
17 | @Test
18 | public void testIsResolved() throws Exception {
19 | assertThat(AnnotationValue.State.RESOLVED.isDefined(), is(true));
20 | assertThat(AnnotationValue.State.UNRESOLVED.isDefined(), is(true));
21 | assertThat(AnnotationValue.State.UNDEFINED.isDefined(), is(false));
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/annotation/AnnotationListExplicitTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.annotation;
2 |
3 | import java.util.List;
4 |
5 | public class AnnotationListExplicitTest extends AbstractAnnotationListTest {
6 |
7 | protected AnnotationDescription getFirst() throws Exception {
8 | return new AnnotationDescription.ForLoadedAnnotation(Holder.class.getAnnotation(Foo.class));
9 | }
10 |
11 | protected AnnotationDescription getSecond() throws Exception {
12 | return new AnnotationDescription.ForLoadedAnnotation(Holder.class.getAnnotation(Bar.class));
13 | }
14 |
15 | protected AnnotationList asList(List elements) {
16 | return new AnnotationList.Explicit(elements);
17 | }
18 |
19 | protected AnnotationDescription asElement(AnnotationDescription element) {
20 | return element;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/annotation/AnnotationListForLoadedAnnotationsTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.annotation;
2 |
3 | import java.lang.annotation.Annotation;
4 | import java.util.List;
5 |
6 | public class AnnotationListForLoadedAnnotationsTest extends AbstractAnnotationListTest {
7 |
8 | protected Annotation getFirst() throws Exception {
9 | return Holder.class.getAnnotation(Foo.class);
10 | }
11 |
12 | protected Annotation getSecond() throws Exception {
13 | return Holder.class.getAnnotation(Bar.class);
14 | }
15 |
16 | protected AnnotationList asList(List elements) {
17 | return new AnnotationList.ForLoadedAnnotations(elements);
18 | }
19 |
20 | protected AnnotationDescription asElement(Annotation element) {
21 | return new AnnotationDescription.ForLoadedAnnotation(element);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/annotation/AnnotationSourceTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.annotation;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 | import static org.mockito.Mockito.mock;
8 |
9 | public class AnnotationSourceTest {
10 |
11 | @Test
12 | public void testEmpty() throws Exception {
13 | assertThat(AnnotationSource.Empty.INSTANCE.getDeclaredAnnotations().size(), is(0));
14 | }
15 |
16 | @Test
17 | public void testExplicit() throws Exception {
18 | AnnotationDescription annotationDescription = mock(AnnotationDescription.class);
19 | assertThat(new AnnotationSource.Explicit(annotationDescription).getDeclaredAnnotations().size(), is(1));
20 | assertThat(new AnnotationSource.Explicit(annotationDescription).getDeclaredAnnotations().getOnly(), is(annotationDescription));
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/enumeration/EnumerationDescriptionForLoadedEnumerationTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.enumeration;
2 |
3 | import net.bytebuddy.description.method.MethodDescription;
4 |
5 | public class EnumerationDescriptionForLoadedEnumerationTest extends AbstractEnumerationDescriptionTest {
6 |
7 | protected EnumerationDescription describe(Enum> enumeration,
8 | Class> carrierType,
9 | MethodDescription.InDefinedShape annotationMethod) {
10 | return new EnumerationDescription.ForLoadedEnumeration(enumeration);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/enumeration/EnumerationDescriptionLatentTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.enumeration;
2 |
3 | import net.bytebuddy.description.method.MethodDescription;
4 | import net.bytebuddy.description.type.TypeDescription;
5 |
6 | public class EnumerationDescriptionLatentTest extends AbstractEnumerationDescriptionTest {
7 |
8 | protected EnumerationDescription describe(Enum> enumeration,
9 | Class> carrierType,
10 | MethodDescription.InDefinedShape annotationMethod) {
11 | return new EnumerationDescription.Latent(TypeDescription.ForLoadedType.of(enumeration.getDeclaringClass()), enumeration.name());
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/field/FieldDescriptionForLoadedFieldsTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.field;
2 |
3 | import java.lang.reflect.Field;
4 |
5 | public class FieldDescriptionForLoadedFieldsTest extends AbstractFieldDescriptionTest {
6 |
7 | protected FieldDescription.InDefinedShape describe(Field field) {
8 | return new FieldDescription.ForLoadedField(field);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/field/FieldDescriptionLatentTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.field;
2 |
3 | import net.bytebuddy.description.annotation.AnnotationList;
4 | import net.bytebuddy.description.type.TypeDefinition;
5 | import net.bytebuddy.description.type.TypeDescription;
6 |
7 | import java.lang.reflect.Field;
8 |
9 | public class FieldDescriptionLatentTest extends AbstractFieldDescriptionTest {
10 |
11 | protected FieldDescription.InDefinedShape describe(Field field) {
12 | return new FieldDescription.Latent(TypeDescription.ForLoadedType.of(field.getDeclaringClass()),
13 | field.getName(),
14 | field.getModifiers(),
15 | TypeDefinition.Sort.describe(field.getGenericType()),
16 | new AnnotationList.ForLoadedAnnotations(field.getDeclaredAnnotations()));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/field/FieldDescriptionSignatureTokenTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.field;
2 |
3 | import net.bytebuddy.description.type.TypeDescription;
4 | import org.junit.Rule;
5 | import org.junit.Test;
6 | import org.junit.rules.MethodRule;
7 | import org.mockito.Mock;
8 | import org.mockito.junit.MockitoJUnit;
9 |
10 | import static org.hamcrest.CoreMatchers.is;
11 | import static org.hamcrest.MatcherAssert.assertThat;
12 |
13 | public class FieldDescriptionSignatureTokenTest {
14 |
15 | private static final String FOO = "foo";
16 |
17 | @Rule
18 | public MethodRule mockitoRule = MockitoJUnit.rule().silent();
19 |
20 | @Mock
21 | private TypeDescription type;
22 |
23 | @Test
24 | public void testProperties() throws Exception {
25 | FieldDescription.SignatureToken token = new FieldDescription.SignatureToken(FOO, type);
26 | assertThat(token.getName(), is(FOO));
27 | assertThat(token.getType(), is(type));
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/field/FieldListEmptyTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.field;
2 |
3 | import org.junit.Test;
4 |
5 | import static net.bytebuddy.matcher.ElementMatchers.none;
6 | import static org.hamcrest.CoreMatchers.is;
7 | import static org.hamcrest.MatcherAssert.assertThat;
8 |
9 | public class FieldListEmptyTest {
10 |
11 | @Test
12 | public void testTokenListWithFilter() throws Exception {
13 | assertThat(new FieldList.Empty().asTokenList(none()).size(), is(0));
14 | }
15 |
16 | @Test
17 | public void testDeclaredList() throws Exception {
18 | assertThat(new FieldList.Empty().asDefined().size(), is(0));
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/field/FieldListExplicitTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.field;
2 |
3 | import java.util.List;
4 |
5 | public class FieldListExplicitTest extends AbstractFieldListTest {
6 |
7 | protected FieldDescription getFirst() throws Exception {
8 | return new FieldDescription.ForLoadedField(Foo.class.getDeclaredField("foo"));
9 | }
10 |
11 | protected FieldDescription getSecond() throws Exception {
12 | return new FieldDescription.ForLoadedField(Foo.class.getDeclaredField("bar"));
13 | }
14 |
15 | protected FieldList asList(List elements) {
16 | return new FieldList.Explicit(elements);
17 | }
18 |
19 | protected FieldDescription asElement(FieldDescription element) {
20 | return element;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/field/FieldListForLoadedFieldsTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.field;
2 |
3 | import java.lang.reflect.Field;
4 | import java.util.List;
5 |
6 | public class FieldListForLoadedFieldsTest extends AbstractFieldListTest {
7 |
8 | protected Field getFirst() throws Exception {
9 | return Foo.class.getDeclaredField("foo");
10 | }
11 |
12 | protected Field getSecond() throws Exception {
13 | return Foo.class.getDeclaredField("bar");
14 | }
15 |
16 | protected FieldList asList(List elements) {
17 | return new FieldList.ForLoadedFields(elements);
18 | }
19 |
20 | protected FieldDescription.InDefinedShape asElement(Field element) {
21 | return new FieldDescription.ForLoadedField(element);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/method/AbstractMethodDescriptionTestNoNestMate.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.method;
2 |
3 | class AbstractMethodDescriptionTestNoNestMate {
4 | /* same package but different class to avoid nest mate visibility rules */
5 | }
6 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/method/MethodListExplicitTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.method;
2 |
3 | import java.util.List;
4 |
5 | public class MethodListExplicitTest extends AbstractMethodListTest {
6 |
7 | protected MethodDescription getFirst() throws Exception {
8 | return new MethodDescription.ForLoadedMethod(Foo.class.getDeclaredMethod("foo"));
9 | }
10 |
11 | protected MethodDescription getSecond() throws Exception {
12 | return new MethodDescription.ForLoadedMethod(Foo.class.getDeclaredMethod("bar"));
13 | }
14 |
15 | protected MethodList asList(List elements) {
16 | return new MethodList.Explicit(elements);
17 | }
18 |
19 | protected MethodDescription asElement(MethodDescription element) {
20 | return element;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/method/MethodListForLoadedTypesTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.method;
2 |
3 | import java.lang.reflect.Constructor;
4 | import java.lang.reflect.Method;
5 | import java.util.List;
6 |
7 | public class MethodListForLoadedTypesTest extends AbstractMethodListTest {
8 |
9 | protected Method getFirst() throws Exception {
10 | return Foo.class.getDeclaredMethod("foo");
11 | }
12 |
13 | protected Method getSecond() throws Exception {
14 | return Foo.class.getDeclaredMethod("bar");
15 | }
16 |
17 | protected MethodList asList(List elements) {
18 | return new MethodList.ForLoadedMethods(new Constructor>[0], elements.toArray(new Method[0]));
19 | }
20 |
21 | protected MethodDescription.InDefinedShape asElement(Method element) {
22 | return new MethodDescription.ForLoadedMethod(element);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/method/ParameterListExplicitTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.method;
2 |
3 | import java.util.List;
4 |
5 | public class ParameterListExplicitTest extends AbstractParameterListTest {
6 |
7 | protected ParameterDescription getFirst() throws Exception {
8 | return new MethodDescription.ForLoadedMethod(Foo.class.getDeclaredMethod("foo", Void.class)).getParameters().getOnly();
9 | }
10 |
11 | protected ParameterDescription getSecond() throws Exception {
12 | return new MethodDescription.ForLoadedMethod(Foo.class.getDeclaredMethod("bar", Void.class)).getParameters().getOnly();
13 | }
14 |
15 | protected ParameterList asList(List elements) {
16 | return new ParameterList.Explicit(elements);
17 | }
18 |
19 | protected ParameterDescription asElement(ParameterDescription element) {
20 | return element;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/PackageDescriptionForLoadedPackageTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | public class PackageDescriptionForLoadedPackageTest extends AbstractPackageDescriptionTest {
4 |
5 | protected PackageDescription describe(Class> type) {
6 | return TypeDescription.ForLoadedType.of(type).getPackage();
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/PackageDescriptionSimpleTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | import net.bytebuddy.description.annotation.AnnotationList;
4 | import org.junit.Test;
5 |
6 | import static org.hamcrest.CoreMatchers.is;
7 | import static org.hamcrest.MatcherAssert.assertThat;
8 |
9 | public class PackageDescriptionSimpleTest {
10 |
11 | private static final String FOO = "foo";
12 |
13 | @Test
14 | public void testPackageName() throws Exception {
15 | assertThat(new PackageDescription.Simple(FOO).getName(), is(FOO));
16 | }
17 |
18 | @Test
19 | public void testPackageAnnotations() throws Exception {
20 | assertThat(new PackageDescription.Simple(FOO).getDeclaredAnnotations(), is((AnnotationList) new AnnotationList.Empty()));
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/RecordComponentListEmptyTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | import org.junit.Test;
4 |
5 | import static net.bytebuddy.matcher.ElementMatchers.none;
6 | import static org.hamcrest.CoreMatchers.is;
7 | import static org.hamcrest.MatcherAssert.assertThat;
8 |
9 | public class RecordComponentListEmptyTest {
10 |
11 | @Test
12 | public void testTokenListWithFilter() throws Exception {
13 | assertThat(new RecordComponentList.Empty().asTokenList(none()).size(), is(0));
14 | }
15 |
16 | @Test
17 | public void testDeclaredList() throws Exception {
18 | assertThat(new RecordComponentList.Empty().asDefined().size(), is(0));
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/TypeDefinitionSortOtherTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | import org.junit.Test;
4 |
5 | import java.lang.reflect.AnnotatedElement;
6 | import java.lang.reflect.Type;
7 |
8 | import static org.mockito.Mockito.mock;
9 |
10 | public class TypeDefinitionSortOtherTest {
11 |
12 | @Test(expected = IllegalArgumentException.class)
13 | public void testUnknownType() throws Exception {
14 | TypeDefinition.Sort.describe(mock(Type.class));
15 | }
16 |
17 | @Test(expected = IllegalArgumentException.class)
18 | public void testNonAnnotatedType() {
19 | TypeDefinition.Sort.describeAnnotated(mock(AnnotatedElement.class));
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/TypeDescriptionGenericVisitorForSignatureVisitorTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | import org.junit.Test;
4 | import org.objectweb.asm.signature.SignatureVisitor;
5 |
6 | import static org.mockito.Mockito.mock;
7 |
8 | public class TypeDescriptionGenericVisitorForSignatureVisitorTest {
9 |
10 | @Test(expected = IllegalStateException.class)
11 | public void testSignatureVisitorTypeVariableThrowsException() throws Exception {
12 | new TypeDescription.Generic.Visitor.ForSignatureVisitor(mock(SignatureVisitor.class)).onWildcard(mock(TypeDescription.Generic.class));
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/TypeListEmptyTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.CoreMatchers.nullValue;
7 | import static org.hamcrest.MatcherAssert.assertThat;
8 |
9 | public class TypeListEmptyTest {
10 |
11 | @Test
12 | public void testInternalName() throws Exception {
13 | assertThat(new TypeList.Empty().toInternalNames(), nullValue(String[].class));
14 | }
15 |
16 | @Test
17 | public void testSize() throws Exception {
18 | assertThat(new TypeList.Empty().getStackSize(), is(0));
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/TypeListExplicitTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | import java.util.List;
4 |
5 | public class TypeListExplicitTest extends AbstractTypeListTest {
6 |
7 | protected TypeDescription getFirst() throws Exception {
8 | return TypeDescription.ForLoadedType.of(Foo.class);
9 | }
10 |
11 | protected TypeDescription getSecond() throws Exception {
12 | return TypeDescription.ForLoadedType.of(Bar.class);
13 | }
14 |
15 | protected TypeList asList(List elements) {
16 | return new TypeList.Explicit(elements);
17 | }
18 |
19 | protected TypeDescription asElement(TypeDescription element) {
20 | return element;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/TypeListForLoadedTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | import java.util.List;
4 |
5 | public class TypeListForLoadedTest extends AbstractTypeListTest> {
6 |
7 | protected Class> getFirst() throws Exception {
8 | return Foo.class;
9 | }
10 |
11 | protected Class> getSecond() throws Exception {
12 | return Bar.class;
13 | }
14 |
15 | protected TypeList asList(List> elements) {
16 | return new TypeList.ForLoadedTypes(elements);
17 | }
18 |
19 | protected TypeDescription asElement(Class> element) {
20 | return TypeDescription.ForLoadedType.of(element);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/TypeListGenericEmptyTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class TypeListGenericEmptyTest {
9 |
10 | @Test
11 | public void testRawTypes() throws Exception {
12 | assertThat(new TypeList.Generic.Empty().asErasures().size(), is(0));
13 | }
14 |
15 | @Test
16 | public void testVisitor() throws Exception {
17 | assertThat(new TypeList.Generic.Empty().accept(TypeDescription.Generic.Visitor.NoOp.INSTANCE).size(), is(0));
18 | }
19 |
20 | @Test
21 | public void testSize() throws Exception {
22 | assertThat(new TypeList.Generic.Empty().getStackSize(), is(0));
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/TypeListGenericExplicitTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | import java.util.List;
4 |
5 | public class TypeListGenericExplicitTest extends AbstractTypeListGenericTest {
6 |
7 | protected TypeDescription.Generic getFirst() throws Exception {
8 | return TypeDefinition.Sort.describe(Holder.class.getGenericInterfaces()[0]);
9 | }
10 |
11 | protected TypeDescription.Generic getSecond() throws Exception {
12 | return TypeDefinition.Sort.describe(Holder.class.getGenericInterfaces()[1]);
13 | }
14 |
15 | protected TypeList.Generic asList(List elements) {
16 | return new TypeList.Generic.Explicit(elements);
17 | }
18 |
19 | protected TypeDescription.Generic asElement(TypeDescription.Generic element) {
20 | return element;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/description/type/TypeListGenericForLoadedTypesTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.description.type;
2 |
3 | import java.lang.reflect.Type;
4 | import java.util.List;
5 |
6 | public class TypeListGenericForLoadedTypesTest extends AbstractTypeListGenericTest {
7 |
8 | protected Type getFirst() throws Exception {
9 | return Holder.class.getGenericInterfaces()[0];
10 | }
11 |
12 | protected Type getSecond() throws Exception {
13 | return Holder.class.getGenericInterfaces()[1];
14 | }
15 |
16 | protected TypeList.Generic asList(List elements) {
17 | return new TypeList.Generic.ForLoadedTypes(elements);
18 | }
19 |
20 | protected TypeDescription.Generic asElement(Type element) {
21 | return TypeDefinition.Sort.describe(element);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/ClassFileLocatorNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class ClassFileLocatorNoOpTest {
9 |
10 | private static final String FOO = "foo";
11 |
12 | @Test
13 | public void testLocation() throws Exception {
14 | assertThat(ClassFileLocator.NoOp.INSTANCE.locate(FOO).isResolved(), is(false));
15 | }
16 |
17 | @Test
18 | public void testClose() throws Exception {
19 | ClassFileLocator.NoOp.INSTANCE.close();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/TransformerNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic;
2 |
3 | import net.bytebuddy.description.type.TypeDescription;
4 | import org.junit.Test;
5 |
6 | import static org.hamcrest.CoreMatchers.is;
7 | import static org.hamcrest.MatcherAssert.assertThat;
8 | import static org.mockito.Mockito.mock;
9 |
10 | public class TransformerNoOpTest {
11 |
12 | @Test
13 | public void testTransformation() throws Exception {
14 | Object target = mock(Object.class);
15 | assertThat(Transformer.NoOp.INSTANCE.transform(mock(TypeDescription.class), target), is(target));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/loading/ByteArrayClassLoaderEmptyEnumerationTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic.loading;
2 |
3 | import org.junit.Test;
4 |
5 | import java.util.NoSuchElementException;
6 |
7 | import static org.hamcrest.CoreMatchers.is;
8 | import static org.hamcrest.MatcherAssert.assertThat;
9 |
10 | public class ByteArrayClassLoaderEmptyEnumerationTest {
11 |
12 | @Test
13 | public void testNoFurtherElements() throws Exception {
14 | assertThat(ByteArrayClassLoader.EmptyEnumeration.INSTANCE.hasMoreElements(), is(false));
15 | }
16 |
17 | @Test(expected = NoSuchElementException.class)
18 | public void testNextElementThrowsException() throws Exception {
19 | ByteArrayClassLoader.EmptyEnumeration.INSTANCE.nextElement();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/loading/ByteArrayClassLoaderPackageLookupStrategy.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic.loading;
2 |
3 | import net.bytebuddy.dynamic.ClassFileLocator;
4 | import org.junit.Test;
5 |
6 | import static org.hamcrest.CoreMatchers.is;
7 | import static org.hamcrest.MatcherAssert.assertThat;
8 |
9 | public class ByteArrayClassLoaderPackageLookupStrategy {
10 |
11 | @Test
12 | public void testGetPackage() throws Exception {
13 | ByteArrayClassLoader byteArrayClassLoader = new ByteArrayClassLoader(ClassLoadingStrategy.BOOTSTRAP_LOADER, ClassFileLocator.ForClassLoader.readToNames(Foo.class));
14 | byteArrayClassLoader.loadClass(Foo.class.getName());
15 | assertThat(ByteArrayClassLoader.PackageLookupStrategy.ForLegacyVm.INSTANCE.apply(byteArrayClassLoader, Foo.class.getPackage().getName()).getName(),
16 | is(Foo.class.getPackage().getName()));
17 | }
18 |
19 | private static class Foo {
20 | /* empty */
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/loading/PackageTypeStrategyNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic.loading;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class PackageTypeStrategyNoOpTest {
9 |
10 | private static final String FOO = "foo", BAR = "bar";
11 |
12 | @Test
13 | public void testPackageNotDefined() throws Exception {
14 | assertThat(PackageDefinitionStrategy.NoOp.INSTANCE.define(getClass().getClassLoader(), FOO, BAR).isDefined(), is(false));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/scaffold/FieldLocatorNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic.scaffold;
2 |
3 | import net.bytebuddy.description.type.TypeDescription;
4 | import org.junit.Test;
5 |
6 | import static org.hamcrest.CoreMatchers.is;
7 | import static org.hamcrest.MatcherAssert.assertThat;
8 |
9 | public class FieldLocatorNoOpTest {
10 |
11 | private static final String FOO = "foo";
12 |
13 | @Test
14 | public void testCannotLocateWithoutType() throws Exception {
15 | assertThat(FieldLocator.NoOp.INSTANCE.locate(FOO).isResolved(), is(false));
16 | }
17 |
18 | @Test
19 | public void testCannotLocateWithType() throws Exception {
20 | assertThat(FieldLocator.NoOp.INSTANCE.locate(FOO, TypeDescription.ForLoadedType.of(Object.class)).isResolved(), is(false));
21 | }
22 |
23 | @Test
24 | public void testFactory() throws Exception {
25 | assertThat(FieldLocator.NoOp.INSTANCE.make(TypeDescription.ForLoadedType.of(Object.class)), is((FieldLocator) FieldLocator.NoOp.INSTANCE));
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/scaffold/InstrumentedTypePrepareableNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic.scaffold;
2 |
3 | import org.junit.Rule;
4 | import org.junit.Test;
5 | import org.junit.rules.MethodRule;
6 | import org.mockito.Mock;
7 | import org.mockito.junit.MockitoJUnit;
8 |
9 | import static org.hamcrest.CoreMatchers.is;
10 | import static org.hamcrest.MatcherAssert.assertThat;
11 |
12 | public class InstrumentedTypePrepareableNoOpTest {
13 |
14 | @Rule
15 | public MethodRule mockitoRule = MockitoJUnit.rule().silent();
16 |
17 | @Mock
18 | private InstrumentedType instrumentedType;
19 |
20 | @Test
21 | public void testNoOp() {
22 | assertThat(InstrumentedType.Prepareable.NoOp.INSTANCE.prepare(instrumentedType), is(instrumentedType));
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/scaffold/MethodGraphCompilerDefaultMergerDirectionalTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic.scaffold;
2 |
3 | import net.bytebuddy.description.method.MethodDescription;
4 | import org.junit.Rule;
5 | import org.junit.Test;
6 | import org.junit.rules.MethodRule;
7 | import org.mockito.Mock;
8 | import org.mockito.junit.MockitoJUnit;
9 |
10 | import static org.hamcrest.CoreMatchers.is;
11 | import static org.hamcrest.MatcherAssert.assertThat;
12 |
13 | public class MethodGraphCompilerDefaultMergerDirectionalTest {
14 |
15 | @Rule
16 | public MethodRule mockitoRule = MockitoJUnit.rule().silent();
17 |
18 | @Mock
19 | private MethodDescription left, right;
20 |
21 | @Test
22 | public void testLeft() throws Exception {
23 | assertThat(MethodGraph.Compiler.Default.Merger.Directional.LEFT.merge(left, right), is(left));
24 | }
25 |
26 | @Test
27 | public void testRight() throws Exception {
28 | assertThat(MethodGraph.Compiler.Default.Merger.Directional.RIGHT.merge(left, right), is(right));
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/scaffold/MethodGraphNodeUnresolvedTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic.scaffold;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class MethodGraphNodeUnresolvedTest {
9 |
10 | @Test
11 | public void testSort() throws Exception {
12 | assertThat(MethodGraph.Node.Unresolved.INSTANCE.getSort(), is(MethodGraph.Node.Sort.UNRESOLVED));
13 | }
14 |
15 | @Test(expected = IllegalStateException.class)
16 | public void testBridgesThrowsException() throws Exception {
17 | MethodGraph.Node.Unresolved.INSTANCE.getMethodTypes();
18 | }
19 |
20 | @Test(expected = IllegalStateException.class)
21 | public void testRepresentativeThrowsException() throws Exception {
22 | MethodGraph.Node.Unresolved.INSTANCE.getRepresentative();
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/scaffold/TypeWriterDefaultForInliningWithFullProcessingInitializationHandlerAppendingFrameWriterNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic.scaffold;
2 |
3 | import org.junit.Test;
4 | import org.objectweb.asm.MethodVisitor;
5 |
6 | import static org.mockito.Mockito.mock;
7 | import static org.mockito.Mockito.verifyNoMoreInteractions;
8 |
9 | public class TypeWriterDefaultForInliningWithFullProcessingInitializationHandlerAppendingFrameWriterNoOpTest {
10 |
11 | @Test
12 | public void testFrame() throws Exception {
13 | TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.FrameWriter.NoOp.INSTANCE.onFrame(0, 0);
14 | MethodVisitor methodVisitor = mock(MethodVisitor.class);
15 | TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.FrameWriter.NoOp.INSTANCE.emitFrame(methodVisitor);
16 | verifyNoMoreInteractions(methodVisitor);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/scaffold/TypeWriterFieldPoolDisabledTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic.scaffold;
2 |
3 | import net.bytebuddy.description.field.FieldDescription;
4 | import org.junit.Test;
5 |
6 | import static org.mockito.Mockito.mock;
7 |
8 | public class TypeWriterFieldPoolDisabledTest {
9 |
10 | @Test(expected = IllegalStateException.class)
11 | public void testCannotLookupField() {
12 | TypeWriter.FieldPool.Disabled.INSTANCE.target(mock(FieldDescription.class));
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/dynamic/scaffold/TypeWriterRecordComponentPoolDisabledTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.dynamic.scaffold;
2 |
3 | import net.bytebuddy.description.type.RecordComponentDescription;
4 | import org.junit.Test;
5 |
6 | import static org.mockito.Mockito.mock;
7 |
8 | public class TypeWriterRecordComponentPoolDisabledTest {
9 |
10 | @Test(expected = IllegalStateException.class)
11 | public void testCannotLookupRecordComponent() {
12 | TypeWriter.RecordComponentPool.Disabled.INSTANCE.target(mock(RecordComponentDescription.class));
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/FieldAccessorFieldNameExtractorForArgumentSubstitutionTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation;
2 |
3 | import net.bytebuddy.description.method.MethodDescription;
4 | import org.junit.Rule;
5 | import org.junit.Test;
6 | import org.junit.rules.MethodRule;
7 | import org.mockito.Mock;
8 | import org.mockito.junit.MockitoJUnit;
9 |
10 | import static org.hamcrest.CoreMatchers.is;
11 | import static org.hamcrest.MatcherAssert.assertThat;
12 |
13 | public class FieldAccessorFieldNameExtractorForArgumentSubstitutionTest {
14 |
15 | private static final String FOO = "foo", FOO_CAPITAL = "Foo";
16 |
17 | @Rule
18 | public MethodRule mockitoRule = MockitoJUnit.rule().silent();
19 |
20 | @Mock
21 | private MethodDescription methodDescription;
22 |
23 | @Test
24 | public void testGetterMethod() throws Exception {
25 | assertThat(new FieldAccessor.FieldNameExtractor.ForFixedValue(FOO).resolve(methodDescription), is(FOO));
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/ImplementationTargetAbstractBaseDefaultMethodInvocationTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation;
2 |
3 | import net.bytebuddy.ClassFileVersion;
4 | import org.junit.Test;
5 |
6 | import static org.hamcrest.CoreMatchers.is;
7 | import static org.hamcrest.MatcherAssert.assertThat;
8 |
9 | public class ImplementationTargetAbstractBaseDefaultMethodInvocationTest {
10 |
11 | @Test
12 | public void testEnabled() throws Exception {
13 | assertThat(Implementation.Target.AbstractBase.DefaultMethodInvocation.of(ClassFileVersion.JAVA_V8),
14 | is(Implementation.Target.AbstractBase.DefaultMethodInvocation.ENABLED));
15 | }
16 |
17 | @Test
18 | public void testDisabled() throws Exception {
19 | assertThat(Implementation.Target.AbstractBase.DefaultMethodInvocation.of(ClassFileVersion.JAVA_V7),
20 | is(Implementation.Target.AbstractBase.DefaultMethodInvocation.DISABLED));
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/LoadedTypeInitializerNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class LoadedTypeInitializerNoOpTest {
9 |
10 | @Test
11 | public void testIsNotAlive() throws Exception {
12 | assertThat(LoadedTypeInitializer.NoOp.INSTANCE.isAlive(), is(false));
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/MethodAccessorFactoryAccessTypeTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation;
2 |
3 | import net.bytebuddy.description.modifier.Visibility;
4 | import org.junit.Test;
5 |
6 | import static org.hamcrest.CoreMatchers.is;
7 | import static org.hamcrest.MatcherAssert.assertThat;
8 |
9 | public class MethodAccessorFactoryAccessTypeTest {
10 |
11 | @Test
12 | public void testVisibility() throws Exception {
13 | assertThat(MethodAccessorFactory.AccessType.DEFAULT.getVisibility(), is(Visibility.PACKAGE_PRIVATE));
14 | assertThat(MethodAccessorFactory.AccessType.PUBLIC.getVisibility(), is(Visibility.PUBLIC));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/attribute/AbstractFieldAttributeAppenderTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.attribute;
2 |
3 | import net.bytebuddy.description.field.FieldDescription;
4 | import org.mockito.Answers;
5 | import org.mockito.Mock;
6 | import org.objectweb.asm.FieldVisitor;
7 |
8 | public abstract class AbstractFieldAttributeAppenderTest extends AbstractAttributeAppenderTest {
9 |
10 | @Mock(answer = Answers.RETURNS_MOCKS)
11 | protected FieldVisitor fieldVisitor;
12 |
13 | @Mock
14 | protected FieldDescription fieldDescription;
15 | }
16 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/attribute/AbstractMethodAttributeAppenderTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.attribute;
2 |
3 | import net.bytebuddy.description.method.MethodDescription;
4 | import org.mockito.Answers;
5 | import org.mockito.Mock;
6 | import org.objectweb.asm.MethodVisitor;
7 |
8 | public class AbstractMethodAttributeAppenderTest extends AbstractAttributeAppenderTest {
9 |
10 | @Mock(answer = Answers.RETURNS_MOCKS)
11 | protected MethodVisitor methodVisitor;
12 |
13 | @Mock
14 | protected MethodDescription methodDescription;
15 | }
16 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/attribute/AbstractRecordComponentAttributeAppenderTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.attribute;
2 |
3 | import net.bytebuddy.description.type.RecordComponentDescription;
4 | import org.mockito.Answers;
5 | import org.mockito.Mock;
6 | import org.objectweb.asm.RecordComponentVisitor;
7 |
8 | public abstract class AbstractRecordComponentAttributeAppenderTest extends AbstractAttributeAppenderTest {
9 |
10 | @Mock(answer = Answers.RETURNS_MOCKS)
11 | protected RecordComponentVisitor recordComponentVisitor;
12 |
13 | @Mock
14 | protected RecordComponentDescription recordComponentDescription;
15 | }
16 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/attribute/AbstractTypeAttributeAppenderTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.attribute;
2 |
3 | import net.bytebuddy.description.type.TypeDescription;
4 | import org.junit.Before;
5 | import org.mockito.Answers;
6 | import org.mockito.Mock;
7 | import org.objectweb.asm.ClassVisitor;
8 |
9 | import static org.mockito.Mockito.when;
10 |
11 | public abstract class AbstractTypeAttributeAppenderTest extends AbstractAttributeAppenderTest {
12 |
13 | @Mock(answer = Answers.RETURNS_MOCKS)
14 | protected ClassVisitor classVisitor;
15 |
16 | @Mock
17 | protected TypeDescription.Generic typeDescription;
18 |
19 | @Before
20 | @Override
21 | public void setUp() throws Exception {
22 | super.setUp();
23 | when(instrumentedType.asGenericType()).thenReturn(typeDescription);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/attribute/FieldAttributeAppenderNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.attribute;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.sameInstance;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 | import static org.mockito.Mockito.verifyNoMoreInteractions;
8 |
9 | public class FieldAttributeAppenderNoOpTest extends AbstractFieldAttributeAppenderTest {
10 |
11 | @Test
12 | public void testApplication() throws Exception {
13 | FieldAttributeAppender.NoOp.INSTANCE.apply(fieldVisitor, fieldDescription, annotationValueFilter);
14 | verifyNoMoreInteractions(fieldVisitor);
15 | verifyNoMoreInteractions(fieldDescription);
16 | }
17 |
18 | @Test
19 | public void testFactory() throws Exception {
20 | assertThat(FieldAttributeAppender.NoOp.INSTANCE.make(instrumentedType), sameInstance((FieldAttributeAppender) FieldAttributeAppender.NoOp.INSTANCE));
21 | verifyNoMoreInteractions(instrumentedType);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/attribute/MethodAttributeAppenderNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.attribute;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 | import static org.mockito.Mockito.verifyNoMoreInteractions;
8 |
9 | public class MethodAttributeAppenderNoOpTest extends AbstractMethodAttributeAppenderTest {
10 |
11 | @Test
12 | public void testApplication() throws Exception {
13 | MethodAttributeAppender.NoOp.INSTANCE.apply(methodVisitor, methodDescription, annotationValueFilter);
14 | verifyNoMoreInteractions(methodVisitor);
15 | verifyNoMoreInteractions(methodDescription);
16 | }
17 |
18 | @Test
19 | public void testFactory() throws Exception {
20 | assertThat(MethodAttributeAppender.NoOp.INSTANCE.make(instrumentedType), is((MethodAttributeAppender) MethodAttributeAppender.NoOp.INSTANCE));
21 | verifyNoMoreInteractions(instrumentedType);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/attribute/TypeAttributeAppenderNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.attribute;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.mockito.Mockito.verifyNoMoreInteractions;
6 |
7 | public class TypeAttributeAppenderNoOpTest extends AbstractTypeAttributeAppenderTest {
8 |
9 | @Test
10 | public void testApplication() throws Exception {
11 | TypeAttributeAppender.NoOp.INSTANCE.apply(classVisitor, instrumentedType, annotationValueFilter);
12 | verifyNoMoreInteractions(classVisitor);
13 | verifyNoMoreInteractions(instrumentedType);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bind/AbstractAmbiguityResolverTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.bind;
2 |
3 | import net.bytebuddy.description.method.MethodDescription;
4 | import org.junit.Before;
5 | import org.junit.Rule;
6 | import org.junit.rules.MethodRule;
7 | import org.mockito.Mock;
8 | import org.mockito.junit.MockitoJUnit;
9 |
10 | import static org.mockito.Mockito.when;
11 |
12 | public abstract class AbstractAmbiguityResolverTest {
13 |
14 | @Rule
15 | public MethodRule mockitoRule = MockitoJUnit.rule().silent();
16 |
17 | @Mock
18 | protected MethodDescription source;
19 |
20 | @Mock
21 | protected MethodDescription leftMethod, rightMethod;
22 |
23 | @Mock
24 | protected MethodDelegationBinder.MethodBinding left, right;
25 |
26 | @Before
27 | public void setUp() throws Exception {
28 | when(left.getTarget()).thenReturn(leftMethod);
29 | when(right.getTarget()).thenReturn(rightMethod);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bind/MethodDelegationBinderAmbiguityResolverNoOpTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.bind;
2 |
3 | import net.bytebuddy.description.method.MethodDescription;
4 | import org.junit.Test;
5 |
6 | import static org.hamcrest.CoreMatchers.is;
7 | import static org.hamcrest.MatcherAssert.assertThat;
8 | import static org.mockito.Mockito.mock;
9 |
10 | public class MethodDelegationBinderAmbiguityResolverNoOpTest {
11 |
12 | @Test
13 | public void testResolution() throws Exception {
14 | assertThat(MethodDelegationBinder.AmbiguityResolver.NoOp.INSTANCE.resolve(mock(MethodDescription.class),
15 | mock(MethodDelegationBinder.MethodBinding.class),
16 | mock(MethodDelegationBinder.MethodBinding.class)),
17 | is(MethodDelegationBinder.AmbiguityResolver.Resolution.UNKNOWN));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bind/annotation/AbstractAnnotationTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.bind.annotation;
2 |
3 | import org.junit.Test;
4 |
5 | import java.lang.annotation.Annotation;
6 | import java.lang.annotation.Retention;
7 | import java.lang.annotation.RetentionPolicy;
8 |
9 | import static org.hamcrest.CoreMatchers.is;
10 | import static org.hamcrest.MatcherAssert.assertThat;
11 |
12 | public abstract class AbstractAnnotationTest {
13 |
14 | protected final Class annotationType;
15 |
16 | protected AbstractAnnotationTest(Class annotationType) {
17 | this.annotationType = annotationType;
18 | }
19 |
20 | @Test
21 | public void testAnnotationVisibility() throws Exception {
22 | assertThat(annotationType.isAnnotationPresent(Retention.class), is(true));
23 | assertThat(annotationType.getAnnotation(Retention.class).value(), is(RetentionPolicy.RUNTIME));
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bytecode/ByteCodeAppenderSizeTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.bytecode;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class ByteCodeAppenderSizeTest {
9 |
10 | private static final int LOWER = 3, BIGGER = 5;
11 |
12 | @Test
13 | public void testMerge() throws Exception {
14 | ByteCodeAppender.Size left = new ByteCodeAppender.Size(LOWER, BIGGER);
15 | ByteCodeAppender.Size right = new ByteCodeAppender.Size(BIGGER, LOWER);
16 | ByteCodeAppender.Size mergedLeft = left.merge(right);
17 | ByteCodeAppender.Size mergedRight = right.merge(left);
18 | assertThat(mergedLeft.getOperandStackSize(), is(BIGGER));
19 | assertThat(mergedLeft.getLocalVariableSize(), is(BIGGER));
20 | assertThat(mergedRight.getOperandStackSize(), is(BIGGER));
21 | assertThat(mergedRight.getLocalVariableSize(), is(BIGGER));
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bytecode/assign/AssignerTypingTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.bytecode.assign;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class AssignerTypingTest {
9 |
10 | @Test
11 | public void testStatic() throws Exception {
12 | assertThat(Assigner.Typing.of(false), is(Assigner.Typing.STATIC));
13 | assertThat(Assigner.Typing.STATIC.isDynamic(), is(false));
14 | }
15 |
16 | @Test
17 | public void testDynamic() throws Exception {
18 | assertThat(Assigner.Typing.of(true), is(Assigner.Typing.DYNAMIC));
19 | assertThat(Assigner.Typing.DYNAMIC.isDynamic(), is(true));
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bytecode/assign/primitive/PrimitiveBoxingDelegateTestWithReferenceTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.bytecode.assign.primitive;
2 |
3 | import net.bytebuddy.description.type.TypeDescription;
4 | import org.junit.Test;
5 |
6 | public class PrimitiveBoxingDelegateTestWithReferenceTest {
7 |
8 | @Test(expected = IllegalArgumentException.class)
9 | public void testThrowsException() throws Exception {
10 | PrimitiveBoxingDelegate.forPrimitive(TypeDescription.ForLoadedType.of(Object.class));
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bytecode/assign/primitive/PrimitiveNarrowingDelegateOtherTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.bytecode.assign.primitive;
2 |
3 | import net.bytebuddy.description.type.TypeDescription;
4 | import org.junit.Test;
5 |
6 | public class PrimitiveNarrowingDelegateOtherTest {
7 |
8 | @Test(expected = IllegalArgumentException.class)
9 | public void testIllegalSourceTypeThrowsException() throws Exception {
10 | PrimitiveNarrowingDelegate.forPrimitive(TypeDescription.ForLoadedType.of(Object.class));
11 | }
12 |
13 | @Test(expected = IllegalArgumentException.class)
14 | public void testIllegalTargetTypeThrowsException() throws Exception {
15 | PrimitiveNarrowingDelegate.forPrimitive(TypeDescription.ForLoadedType.of(int.class)).narrowTo(TypeDescription.ForLoadedType.of(Object.class));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bytecode/assign/primitive/PrimitiveUnboxingDelegateOtherTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.bytecode.assign.primitive;
2 |
3 | import net.bytebuddy.description.type.TypeDescription;
4 | import org.junit.Test;
5 |
6 | public class PrimitiveUnboxingDelegateOtherTest {
7 |
8 | @Test(expected = IllegalArgumentException.class)
9 | public void testIllegalSourceTypeThrowsException() throws Exception {
10 | PrimitiveUnboxingDelegate.forReferenceType(TypeDescription.Generic.OfNonGenericType.ForLoadedType.of(int.class));
11 | }
12 |
13 | @Test(expected = IllegalArgumentException.class)
14 | public void testVoidIllegal() throws Exception {
15 | PrimitiveUnboxingDelegate.forPrimitive(TypeDescription.Generic.OfNonGenericType.ForLoadedType.of(void.class));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/implementation/bytecode/assign/primitive/PrimitiveWideningDelegateOtherTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.implementation.bytecode.assign.primitive;
2 |
3 | import net.bytebuddy.description.type.TypeDescription;
4 | import org.junit.Test;
5 |
6 | public class PrimitiveWideningDelegateOtherTest {
7 |
8 | @Test(expected = IllegalArgumentException.class)
9 | public void testIllegalSourceTypeThrowsException() throws Exception {
10 | PrimitiveWideningDelegate.forPrimitive(TypeDescription.ForLoadedType.of(Object.class));
11 | }
12 |
13 | @Test(expected = IllegalArgumentException.class)
14 | public void testIllegalTargetTypeThrowsException() throws Exception {
15 | PrimitiveWideningDelegate.forPrimitive(TypeDescription.ForLoadedType.of(int.class)).widenTo(TypeDescription.ForLoadedType.of(Object.class));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/byte-buddy-dep/src/test/java/net/bytebuddy/matcher/EqualityMatcherTest.java:
--------------------------------------------------------------------------------
1 | package net.bytebuddy.matcher;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.hamcrest.CoreMatchers.is;
6 | import static org.hamcrest.MatcherAssert.assertThat;
7 |
8 | public class EqualityMatcherTest extends AbstractElementMatcherTest> {
9 |
10 | @SuppressWarnings("unchecked")
11 | public EqualityMatcherTest() {
12 | super((Class>) (Object) EqualityMatcher.class, "is");
13 | }
14 |
15 | @Test
16 | public void testMatch() throws Exception {
17 | Object target = new Object();
18 | assertThat(new EqualityMatcher