├── .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(target).matches(target), is(true)); 19 | } 20 | 21 | @Test 22 | public void testNoMatch() throws Exception { 23 | assertThat(new EqualityMatcher(new Object()).matches(new Object()), is(false)); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/pool/TypePoolDefaultAnnotationDescriptionTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.pool; 2 | 3 | import net.bytebuddy.description.annotation.AbstractAnnotationDescriptionTest; 4 | import net.bytebuddy.description.annotation.AnnotationDescription; 5 | 6 | import java.lang.annotation.Annotation; 7 | 8 | public class TypePoolDefaultAnnotationDescriptionTest extends AbstractAnnotationDescriptionTest { 9 | 10 | protected AnnotationDescription describe(Annotation annotation, Class declaringType) { 11 | TypePool typePool = TypePool.Default.of(declaringType.getClassLoader()); 12 | try { 13 | return typePool.describe(declaringType.getName()).resolve().getDeclaredAnnotations().ofType(annotation.annotationType()); 14 | } finally { 15 | typePool.clear(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/pool/TypePoolDefaultCacheTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.pool; 2 | 3 | import net.bytebuddy.description.type.TypeDescription; 4 | import org.junit.Test; 5 | 6 | import static org.hamcrest.CoreMatchers.not; 7 | import static org.hamcrest.CoreMatchers.sameInstance; 8 | import static org.hamcrest.MatcherAssert.assertThat; 9 | 10 | public class TypePoolDefaultCacheTest { 11 | 12 | @Test 13 | public void testCache() throws Exception { 14 | TypePool typePool = TypePool.Default.ofSystemLoader(); 15 | TypeDescription typeDescription = typePool.describe(Void.class.getName()).resolve(); 16 | assertThat(typePool.describe(Void.class.getName()).resolve(), sameInstance(typeDescription)); 17 | typePool.clear(); 18 | assertThat(typePool.describe(Void.class.getName()).resolve(), not(sameInstance(typeDescription))); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/pool/TypePoolDefaultPackageDescriptionTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.pool; 2 | 3 | import net.bytebuddy.description.type.AbstractPackageDescriptionTest; 4 | import net.bytebuddy.description.type.PackageDescription; 5 | import org.junit.After; 6 | import org.junit.Before; 7 | 8 | public class TypePoolDefaultPackageDescriptionTest extends AbstractPackageDescriptionTest { 9 | 10 | protected PackageDescription describe(Class type) { 11 | return TypePool.Default.of(type.getClassLoader()).describe(type.getName()).resolve().getPackage(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/pool/TypePoolDefaultReaderModeTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.pool; 2 | 3 | import org.junit.Test; 4 | import org.objectweb.asm.ClassReader; 5 | 6 | import static org.hamcrest.CoreMatchers.is; 7 | import static org.hamcrest.MatcherAssert.assertThat; 8 | 9 | public class TypePoolDefaultReaderModeTest { 10 | 11 | @Test 12 | public void testDefinition() throws Exception { 13 | assertThat(TypePool.Default.ReaderMode.EXTENDED.isExtended(), is(true)); 14 | assertThat(TypePool.Default.ReaderMode.FAST.isExtended(), is(false)); 15 | } 16 | 17 | @Test 18 | public void testFlags() throws Exception { 19 | assertThat(TypePool.Default.ReaderMode.EXTENDED.getFlags(), is(ClassReader.SKIP_FRAMES)); 20 | assertThat(TypePool.Default.ReaderMode.FAST.getFlags(), is(ClassReader.SKIP_CODE)); 21 | } 22 | } -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/pool/TypePoolEmptyTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.pool; 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 TypePoolEmptyTest { 9 | 10 | private static final String FOO = "foo"; 11 | 12 | @Test 13 | public void testResolutionUnresolved() throws Exception { 14 | assertThat(TypePool.Empty.INSTANCE.describe(FOO).isResolved(), is(false)); 15 | } 16 | 17 | @Test(expected = IllegalStateException.class) 18 | public void testResolutionThrowsException() throws Exception { 19 | TypePool.Empty.INSTANCE.describe(FOO).resolve(); 20 | } 21 | 22 | @Test 23 | public void testClearNoEffect() throws Exception { 24 | TypePool.Empty.INSTANCE.clear(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/AdviceTestHelper.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | import net.bytebuddy.asm.Advice; 4 | 5 | public class AdviceTestHelper { 6 | 7 | private Object object; 8 | 9 | @Advice.OnMethodEnter(inline = false) 10 | private static void enter() { 11 | /* empty */ 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/EmptyType.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | public class EmptyType { 4 | /* empty */ 5 | } 6 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/FieldDescriptionTestHelper.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | import net.bytebuddy.description.field.AbstractFieldDescriptionTest; 4 | 5 | public class FieldDescriptionTestHelper extends AbstractFieldDescriptionTest.PublicType { 6 | /* empty */ 7 | } 8 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/FieldLocatorTestHelper.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | import net.bytebuddy.dynamic.scaffold.FieldLocatorForClassHierarchyTest; 4 | 5 | public class FieldLocatorTestHelper extends FieldLocatorForClassHierarchyTest { 6 | /* empty */ 7 | } 8 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/MemberSubstitutionTestHelper.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | public class MemberSubstitutionTestHelper { 4 | 5 | private static String foo; 6 | } 7 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/MethodDescriptionTestHelper.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | import net.bytebuddy.description.method.AbstractMethodDescriptionTest; 4 | 5 | public abstract class MethodDescriptionTestHelper extends AbstractMethodDescriptionTest.PublicType { 6 | /* empty */ 7 | } 8 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/PackagePrivateConstructor.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | @SuppressWarnings("unused") 4 | public class PackagePrivateConstructor { 5 | 6 | PackagePrivateConstructor() { 7 | /* do nothing */ 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/PackagePrivateField.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | @SuppressWarnings("unused") 4 | public class PackagePrivateField { 5 | 6 | public static final String PROTECTED_FIELD_NAME = "foo"; 7 | 8 | public static final String PACKAGE_PRIVATE_FIELD_NAME = "bar"; 9 | 10 | public static final String PRIVATE_FIELD_NAME = "qux"; 11 | 12 | public static final String FIELD_VALUE = "baz"; 13 | 14 | protected String foo = FIELD_VALUE; 15 | 16 | String bar = FIELD_VALUE; 17 | 18 | private String qux = FIELD_VALUE; 19 | } 20 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/PackagePrivateMethod.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | @SuppressWarnings("unused") 4 | public class PackagePrivateMethod { 5 | 6 | public static final String PROTECTED_METHOD_NAME = "foo"; 7 | 8 | public static final String PACKAGE_PRIVATE_METHOD_NAME = "bar"; 9 | 10 | public static final String PRIVATE_METHOD_NAME = "qux"; 11 | 12 | protected void foo() { 13 | /* do nothing */ 14 | } 15 | 16 | void bar() { 17 | /* do nothing */ 18 | } 19 | 20 | private void qux() { 21 | /* do nothing */ 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/PackagePrivateType.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | @SuppressWarnings("unused") 4 | public class PackagePrivateType { 5 | 6 | public static final Class TYPE = Type.class; 7 | 8 | public static final Class EXCEPTION_TYPE = ExceptionType.class; 9 | 10 | public static final Class INTERFACE_TYPE = InterfaceType.class; 11 | 12 | static class Type { 13 | /* empty */ 14 | } 15 | 16 | interface InterfaceType { 17 | /* empty */ 18 | } 19 | 20 | static class ExceptionType extends Exception { 21 | 22 | private static final long serialVersionUID = 1L; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/SimpleOptionalType.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | public class SimpleOptionalType { 4 | 5 | private SimpleType simpleType; 6 | 7 | private static final String FOO = "foo"; 8 | 9 | public String foo() { 10 | return FOO; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/packaging/SimpleType.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.packaging; 2 | 3 | public class SimpleType { 4 | 5 | private static final String FOO = "foo"; 6 | 7 | public String foo() { 8 | return FOO; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/scope/GenericType.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.scope; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | import java.util.concurrent.Callable; 6 | 7 | public class GenericType { 8 | 9 | public class Inner extends GenericType.Inner> implements Callable> { 10 | 11 | List foo(V value) throws W { 12 | return null; 13 | } 14 | 15 | public Map call() throws Exception { 16 | return null; 17 | } 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/visibility/PackageAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.visibility; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface PackageAnnotation { 8 | /* empty */ 9 | } 10 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/visibility/Sample.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.visibility; 2 | 3 | public class Sample { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/visibility/child/Child.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test.visibility.child; 2 | 3 | public class Child { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/test/visibility/package-info.java: -------------------------------------------------------------------------------- 1 | @PackageAnnotation 2 | package net.bytebuddy.test.visibility; 3 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/utility/JavaModuleTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.utility; 2 | 3 | import org.junit.Test; 4 | 5 | import java.lang.reflect.AnnotatedElement; 6 | 7 | import static org.hamcrest.CoreMatchers.sameInstance; 8 | import static org.hamcrest.MatcherAssert.assertThat; 9 | import static org.mockito.Mockito.mock; 10 | 11 | public class JavaModuleTest { 12 | 13 | @Test(expected = IllegalArgumentException.class) 14 | public void testExtractModule() throws Exception { 15 | JavaModule.of(mock(Object.class)); 16 | } 17 | 18 | @Test 19 | public void testUnwrap() throws Exception { 20 | AnnotatedElement object = mock(AnnotatedElement.class); 21 | JavaModule module = new JavaModule(object); 22 | assertThat(module.unwrap(), sameInstance((Object) object)); 23 | } 24 | } -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/utility/OpenedClassReaderTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.utility; 2 | 3 | import org.junit.Test; 4 | import org.objectweb.asm.Opcodes; 5 | 6 | import java.lang.reflect.Field; 7 | import java.util.regex.Pattern; 8 | 9 | import static org.hamcrest.CoreMatchers.is; 10 | import static org.hamcrest.MatcherAssert.assertThat; 11 | 12 | public class OpenedClassReaderTest { 13 | 14 | @Test 15 | public void testAsmApiVersion() throws Exception { 16 | int version = 0; 17 | Pattern pattern = Pattern.compile("ASM[0-9]+"); 18 | for (Field field : Opcodes.class.getFields()) { 19 | if (pattern.matcher(field.getName()).matches()) { 20 | version = Math.max(version, field.getInt(null)); 21 | } 22 | } 23 | assertThat(OpenedClassReader.ASM_API, is(version)); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/utility/QueueFactoryTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.utility; 2 | 3 | import org.junit.Test; 4 | 5 | import java.util.ArrayDeque; 6 | import java.util.Collections; 7 | import java.util.Queue; 8 | 9 | import static org.hamcrest.CoreMatchers.instanceOf; 10 | import static org.hamcrest.CoreMatchers.is; 11 | import static org.hamcrest.MatcherAssert.assertThat; 12 | 13 | public class QueueFactoryTest { 14 | 15 | @Test 16 | public void testMakeQueueWithoutElements() { 17 | Queue queue = QueueFactory.make(); 18 | assertThat(queue.size(), is(0)); 19 | assertThat(queue, instanceOf(ArrayDeque.class)); 20 | } 21 | 22 | @Test 23 | public void testMakeQueueWithElements() { 24 | Object element = new Object(); 25 | Queue queue = QueueFactory.make(Collections.singleton(element)); 26 | assertThat(queue.size(), is(1)); 27 | assertThat(queue.iterator().next(), is(element)); 28 | assertThat(queue, instanceOf(ArrayDeque.class)); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/utility/StreamDrainerTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.utility; 2 | 3 | import org.junit.Test; 4 | 5 | import java.io.ByteArrayInputStream; 6 | 7 | import static org.hamcrest.CoreMatchers.is; 8 | import static org.hamcrest.MatcherAssert.assertThat; 9 | 10 | public class StreamDrainerTest { 11 | 12 | @Test 13 | public void testDrainage() throws Exception { 14 | byte[] input = new byte[]{1, 2, 3, 4}; 15 | assertThat(new StreamDrainer(1).drain(new ByteArrayInputStream(input)), is(input)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/utility/privilege/GetMethodActionTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.utility.privilege; 2 | 3 | import org.junit.Test; 4 | 5 | import java.lang.reflect.Method; 6 | 7 | import static org.hamcrest.CoreMatchers.is; 8 | import static org.hamcrest.CoreMatchers.nullValue; 9 | import static org.hamcrest.MatcherAssert.assertThat; 10 | 11 | public class GetMethodActionTest { 12 | 13 | private static final String FOO = "foo"; 14 | 15 | @Test 16 | public void testTypeAndMethodExist() throws Exception { 17 | assertThat(new GetMethodAction(Object.class.getName(), "toString").run(), is(Object.class.getMethod("toString"))); 18 | } 19 | 20 | @Test 21 | public void testTypeDoesNotExist() throws Exception { 22 | assertThat(new GetMethodAction("net.bytebuddy.inexistent.Type", "toString").run(), nullValue(Method.class)); 23 | } 24 | 25 | @Test 26 | public void testMethodDoesNotExist() throws Exception { 27 | assertThat(new GetMethodAction(Object.class.getName(), "other").run(), nullValue(Method.class)); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/utility/privilege/GetSystemPropertyActionTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.utility.privilege; 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 GetSystemPropertyActionTest { 9 | 10 | private static final String FOO = "foo", BAR = "bar"; 11 | 12 | @Test 13 | public void testRun() throws Exception { 14 | System.setProperty(FOO, BAR); 15 | try { 16 | assertThat(new GetSystemPropertyAction(FOO).run(), is(BAR)); 17 | } finally { 18 | System.clearProperty(FOO); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/java/net/bytebuddy/utility/visitor/LineNumberPrependingMethodVisitorTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.utility.visitor; 2 | 3 | import org.junit.Test; 4 | import org.objectweb.asm.Label; 5 | import org.objectweb.asm.MethodVisitor; 6 | 7 | import static org.mockito.AdditionalMatchers.not; 8 | import static org.mockito.Mockito.*; 9 | 10 | public class LineNumberPrependingMethodVisitorTest { 11 | 12 | private static final int LINE = 42; 13 | 14 | @Test 15 | public void testPrepending() throws Exception { 16 | MethodVisitor delegate = mock(MethodVisitor.class); 17 | LineNumberPrependingMethodVisitor methodVisitor = new LineNumberPrependingMethodVisitor(delegate); 18 | methodVisitor.onAfterExceptionTable(); 19 | Label label = new Label(); 20 | methodVisitor.visitLineNumber(LINE, label); 21 | verify(delegate, times(2)).visitLabel(any(Label.class)); 22 | verify(delegate).visitLineNumber(eq(LINE), not(eq(label))); 23 | verifyNoMoreInteractions(delegate); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/AdviceDynamicConstant.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/AdviceDynamicConstant.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/ClassExtendsTypeReference$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/ClassExtendsTypeReference$1.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/ClassExtendsTypeReference$TypeAnnotation.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/ClassExtendsTypeReference$TypeAnnotation.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/ClassExtendsTypeReference.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/ClassExtendsTypeReference.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/DynamicConstantBootstrap$Other.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/DynamicConstantBootstrap$Other.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/DynamicConstantBootstrap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/DynamicConstantBootstrap.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/MemberSubstitutionDynamicConstant.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/MemberSubstitutionDynamicConstant.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/MethodDelegationDynamicConstant.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-11/net/bytebuddy/test/precompiled/v11/MethodDelegationDynamicConstant.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-16/net/bytebuddy/test/precompiled/v16/GenericRecordSample.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-16/net/bytebuddy/test/precompiled/v16/GenericRecordSample.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-16/net/bytebuddy/test/precompiled/v16/RecordSample.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-16/net/bytebuddy/test/precompiled/v16/RecordSample.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-17/net/bytebuddy/test/precompiled/v17/Sealed$SubFinal.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-17/net/bytebuddy/test/precompiled/v17/Sealed$SubFinal.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-17/net/bytebuddy/test/precompiled/v17/Sealed$SubNonSealed.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-17/net/bytebuddy/test/precompiled/v17/Sealed$SubNonSealed.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-17/net/bytebuddy/test/precompiled/v17/Sealed$SubSealed$SubSubFinal.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-17/net/bytebuddy/test/precompiled/v17/Sealed$SubSealed$SubSubFinal.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-17/net/bytebuddy/test/precompiled/v17/Sealed$SubSealed.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-17/net/bytebuddy/test/precompiled/v17/Sealed$SubSealed.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-17/net/bytebuddy/test/precompiled/v17/Sealed.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-17/net/bytebuddy/test/precompiled/v17/Sealed.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-4-jsr14/net/bytebuddy/test/precompiled/v4jsr14/Jsr14Sample.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-4-jsr14/net/bytebuddy/test/precompiled/v4jsr14/Jsr14Sample.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-4/net/bytebuddy/test/precompiled/v4/TypeConstantSample.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-4/net/bytebuddy/test/precompiled/v4/TypeConstantSample.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-6/net/bytebuddy/test/precompiled/v6/LegacyInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-6/net/bytebuddy/test/precompiled/v6/LegacyInterface.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceBootstrap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceBootstrap.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceBootstrapErased.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceBootstrapErased.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceDynamicConstant.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceDynamicConstant.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceOriginMethodHandle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceOriginMethodHandle.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceOriginMethodHandlesLookup.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceOriginMethodHandlesLookup.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceOriginMethodType.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/AdviceOriginMethodType.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/DynamicInvokeBootstrap$SampleEnum.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/DynamicInvokeBootstrap$SampleEnum.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/DynamicInvokeBootstrap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/DynamicInvokeBootstrap.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/DynamicSampleBootstrap$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/DynamicSampleBootstrap$1.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/DynamicSampleBootstrap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/DynamicSampleBootstrap.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MemberSubstitutionBootstrap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MemberSubstitutionBootstrap.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MemberSubstitutionDynamicConstant.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MemberSubstitutionDynamicConstant.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MemberSubstitutionOriginMethodHandle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MemberSubstitutionOriginMethodHandle.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MemberSubstitutionOriginMethodHandlesLookup.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MemberSubstitutionOriginMethodHandlesLookup.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MemberSubstitutionOriginMethodType.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MemberSubstitutionOriginMethodType.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MethodDelegationDynamicConstant.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/MethodDelegationDynamicConstant.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/OriginMethodHandle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/OriginMethodHandle.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/OriginMethodHandlesLookup.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/OriginMethodHandlesLookup.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/OriginMethodType.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-7/net/bytebuddy/test/precompiled/v7/OriginMethodType.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8-parameters/net/bytebuddy/test/precompiled/v8parameters/ParameterNames.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8-parameters/net/bytebuddy/test/precompiled/v8parameters/ParameterNames.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/DelegationDefaultInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/DelegationDefaultInterface.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/DelegationDefaultTarget.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/DelegationDefaultTarget.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/DelegationDefaultTargetExplicit.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/DelegationDefaultTargetExplicit.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/DelegationDefaultTargetSerializable.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/DelegationDefaultTargetSerializable.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/LambdaSampleFactory.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/LambdaSampleFactory.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/MorphDefaultDelegationTargetExplicit.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/MorphDefaultDelegationTargetExplicit.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/MorphDefaultDelegationTargetImplicit.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/MorphDefaultDelegationTargetImplicit.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/MorphDefaultInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/MorphDefaultInterface.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/OriginExecutable.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/OriginExecutable.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/OriginExecutableWithCache.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/OriginExecutableWithCache.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/OtherTypeAnnotation.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/OtherTypeAnnotation.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample$Generic$Inner.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample$Generic$Inner.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample$Generic$Nested.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample$Generic$Nested.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample$Generic.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample$Generic.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample$Inner.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample$Inner.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample$Nested.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample$Nested.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReceiverTypeSample.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReturnTypeInterfaceBridge.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReturnTypeInterfaceBridge.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReturnTypeInterfaceBridgeBase.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/ReturnTypeInterfaceBridgeBase.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SimpleTypeAnnotatedType.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SimpleTypeAnnotatedType.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodClass.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodClass.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodConflictingInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodConflictingInterface.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodConflictingPreferringInterceptor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodConflictingPreferringInterceptor.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodInterface.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodNonOverridingInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodNonOverridingInterface.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodPreferringInterceptor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/SingleDefaultMethodPreferringInterceptor.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotation.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotation.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotationOtherSamples$Bar.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotationOtherSamples$Bar.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotationOtherSamples$Qux$Baz.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotationOtherSamples$Qux$Baz.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotationOtherSamples$Qux.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotationOtherSamples$Qux.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotationOtherSamples.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotationOtherSamples.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotationSamples.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeAnnotationSamples.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeVariableInterfaceBridge.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeVariableInterfaceBridge.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeVariableInterfaceBridgeBase.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/precompiled-8/net/bytebuddy/test/precompiled/v8/TypeVariableInterfaceBridgeBase.class -------------------------------------------------------------------------------- /byte-buddy-dep/src/test/resources/net_bytebuddy_test_c_NativeSample.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raphw/byte-buddy/d40ad564834e12ab7d78d4ac100f5c72bd3cca69/byte-buddy-dep/src/test/resources/net_bytebuddy_test_c_NativeSample.so -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/README.md: -------------------------------------------------------------------------------- 1 | How to run the tests 2 | --- 3 | 4 | ### Environment setup 5 | 6 | * The environment var `ANDROID_HOME` must be set and pointing to the Android SDK dir. 7 | * Java 11 is required, more 8 | info [here](https://developer.android.com/studio/releases/gradle-plugin#jdk-11). 9 | * There must be an Android device connected 10 | through [ADB](https://developer.android.com/studio/command-line/adb), either 11 | a running Emulator or a real device plugged in with 12 | [USB debugging](https://developer.android.com/studio/command-line/adb#Enabling) enabled. 13 | 14 | ### Steps 15 | 16 | * Build Byte Buddy alongside the Byte Buddy Gradle plugin. 17 | * Located in the root dir of this test project, run the following command: 18 | dir: `./gradlew connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=net.bytebuddy.android.test.ByteBuddyInstrumentedTest` 19 | * Optionally, you can also open up this test project with Android Studio, open up the test class and 20 | run it through the IDE. -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/aar-bytebuddy-plugin/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.library' 3 | } 4 | apply from: "$rootDir/bytebuddy.gradle" 5 | 6 | android { 7 | compileSdk 32 8 | defaultConfig { 9 | minSdk 21 10 | targetSdk 32 11 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 12 | consumerProguardFiles "consumer-rules.pro" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | compileOptions { 21 | sourceCompatibility = javaVersion 22 | targetCompatibility = javaVersion 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/aar-bytebuddy-plugin/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/aar-bytebuddy-plugin/src/main/java/net/bytebuddy/plugin/gradle/test/aar/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 a simple plugin to apply on an AAR target. 18 | */ 19 | package net.bytebuddy.plugin.gradle.test.aar; 20 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/aar-bytebuddy-plugin/src/main/resources/META-INF/net.bytebuddy/build.plugins: -------------------------------------------------------------------------------- 1 | net.bytebuddy.plugin.gradle.test.aar.AarPlugin 2 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/aar-bytebuddy-target/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'com.android.library' 3 | } 4 | apply from: "$rootDir/bytebuddy.gradle" 5 | 6 | android { 7 | compileSdk 32 8 | defaultConfig { 9 | minSdk 21 10 | targetSdk 32 11 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 12 | consumerProguardFiles "consumer-rules.pro" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | compileOptions { 21 | sourceCompatibility = javaVersion 22 | targetCompatibility = javaVersion 23 | } 24 | } 25 | 26 | dependencies { 27 | implementation group: 'com.google.android.material', name: 'material', version: '1.6.1' 28 | implementation project(":service-definition-lib") 29 | } 30 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/aar-bytebuddy-target/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/aar-bytebuddy-target/src/main/java/net/bytebuddy/android/test/aar/lib/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 a simple target class to bundle in an AAR. 18 | */ 19 | package net.bytebuddy.android.test.aar.lib; 20 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/aar-bytebuddy-target/src/main/resources/META-INF/services/com.service.definition.ServiceDefinition: -------------------------------------------------------------------------------- 1 | net.bytebuddy.android.test.aar.lib.service.TargetServiceImplementation -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/app/src/main/java/net/bytebuddy/android/test/AnotherClass.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.android.test; 17 | 18 | public class AnotherClass { 19 | 20 | public String method() { 21 | return "foo"; 22 | } 23 | } -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/app/src/main/java/net/bytebuddy/android/test/SomeClass.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.android.test; 17 | 18 | public class SomeClass { 19 | 20 | public String method() { 21 | return "foo"; 22 | } 23 | } -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/app/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 | * A package containing a sample application for testing the Byte Buddy plugin on Android. 18 | */ 19 | package net.bytebuddy.android.test; 20 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext { 3 | outerPom = new groovy.xml.XmlSlurper().parse(rootProject.file('../pom.xml')) 4 | byteBuddyVersion = outerPom.parent.version.text().toString() 5 | } 6 | repositories { 7 | mavenCentral() 8 | google() 9 | } 10 | dependencies { 11 | classpath group: 'com.android.tools.build', name: 'gradle', version: '7.4.0' 12 | def byteBuddyPlugin = new File("${rootDir}/../build/libs/byte-buddy-gradle-plugin-${byteBuddyVersion}.jar").canonicalFile 13 | def byteBuddyLib = new File("$rootDir/../../byte-buddy/target/byte-buddy-${byteBuddyVersion}.jar").canonicalFile 14 | classpath files(byteBuddyPlugin) 15 | classpath files(byteBuddyLib.absolutePath) 16 | } 17 | } 18 | 19 | ext.javaVersion = JavaVersion.VERSION_11 20 | 21 | subprojects { 22 | repositories { 23 | mavenCentral() 24 | google() 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/bytebuddy.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | def location = new File("$rootDir/../../byte-buddy/target/byte-buddy-${byteBuddyVersion}.jar").canonicalFile 3 | implementation files(location.absolutePath) 4 | } -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/gradle.properties: -------------------------------------------------------------------------------- 1 | android.useAndroidX=true 2 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/jar-bytebuddy-plugin/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java-library' 3 | } 4 | apply from: "$rootDir/bytebuddy.gradle" 5 | 6 | java { 7 | sourceCompatibility = javaVersion 8 | targetCompatibility = javaVersion 9 | } 10 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/jar-bytebuddy-plugin/src/main/java/net/bytebuddy/plugin/gradle/test/jar/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 a simple plugin to apply on a JAR target. 18 | */ 19 | package net.bytebuddy.plugin.gradle.test.jar; 20 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/jar-bytebuddy-plugin/src/main/resources/META-INF/net.bytebuddy/build.plugins: -------------------------------------------------------------------------------- 1 | net.bytebuddy.plugin.gradle.test.jar.PluginForLocalClass 2 | net.bytebuddy.plugin.gradle.test.jar.PluginForLibClass 3 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-definition-lib/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id "java-library" 3 | } 4 | 5 | java { 6 | sourceCompatibility = javaVersion 7 | targetCompatibility = javaVersion 8 | } -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-definition-lib/src/main/java/com/service/definition/ServiceDefinition.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 com.service.definition; 17 | 18 | public interface ServiceDefinition { 19 | 20 | String getValue(); 21 | } 22 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-definition-lib/src/main/java/module-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 | module serviceDefinitionModule { 17 | exports com.service.definition; 18 | } -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id "java-library" 3 | } 4 | 5 | java { 6 | sourceCompatibility = javaVersion 7 | targetCompatibility = javaVersion 8 | } 9 | 10 | dependencies { 11 | implementation project(":service-definition-lib") 12 | } -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/java/com/service/usage/ServiceImplementation.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 com.service.usage; 17 | 18 | import com.service.definition.ServiceDefinition; 19 | 20 | public class ServiceImplementation implements ServiceDefinition { 21 | 22 | public String getValue() { 23 | return "Service implementation"; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/java/module-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 | module serviceImplModule { 17 | exports com.service.usage; 18 | requires serviceDefinitionModule; 19 | } -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/LICENSE: -------------------------------------------------------------------------------- 1 | A license -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/LICENSE.txt: -------------------------------------------------------------------------------- 1 | A license -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/META-INF/services/com.service.definition.ServiceDefinition: -------------------------------------------------------------------------------- 1 | com.service.usage.ServiceImplementation -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/NOTICE: -------------------------------------------------------------------------------- 1 | A notice -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/NOTICE.txt: -------------------------------------------------------------------------------- 1 | A notice -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id "java-library" 3 | } 4 | 5 | java { 6 | sourceCompatibility = javaVersion 7 | targetCompatibility = javaVersion 8 | } 9 | 10 | dependencies { 11 | implementation project(":service-definition-lib") 12 | } -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/java/com/service/usage2/ServiceImplementation.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 com.service.usage2; 17 | 18 | import com.service.definition.ServiceDefinition; 19 | 20 | public class ServiceImplementation implements ServiceDefinition { 21 | 22 | public String getValue() { 23 | return "Service implementation2"; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/java/module-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 | module serviceImpl2Module { 17 | exports com.service.usage2; 18 | requires serviceDefinitionModule; 19 | } -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/LICENSE: -------------------------------------------------------------------------------- 1 | A license -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/LICENSE.txt: -------------------------------------------------------------------------------- 1 | A license -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/META-INF/services/com.service.definition.ServiceDefinition: -------------------------------------------------------------------------------- 1 | com.service.usage2.ServiceImplementation -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/NOTICE: -------------------------------------------------------------------------------- 1 | A notice -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/NOTICE.txt: -------------------------------------------------------------------------------- 1 | A notice -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin-test/settings.gradle: -------------------------------------------------------------------------------- 1 | include ":app" 2 | include ":aar-bytebuddy-target" 3 | include ":aar-bytebuddy-plugin" 4 | include ":jar-bytebuddy-plugin" 5 | include ":service-definition-lib" 6 | include ":service-implementation-lib" 7 | include ":service-implementation2-lib" 8 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id "java-library" 3 | } 4 | 5 | apply from: "$rootDir/bytebuddy.gradle" 6 | 7 | java { 8 | targetCompatibility = JavaVersion.VERSION_1_8 9 | sourceCompatibility = JavaVersion.VERSION_1_8 10 | } 11 | 12 | repositories { 13 | mavenCentral() 14 | google() 15 | } 16 | 17 | dependencies { 18 | api gradleApi() 19 | compileOnly group: 'com.android.tools.build', name: 'gradle', version: '7.3.0' 20 | } 21 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/android-plugin/src/main/java/net/bytebuddy/build/gradle/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 | * A package for Byte Buddy's integration with Android's instrumentation API. 18 | */ 19 | @NeverNull.ByDefault 20 | package net.bytebuddy.build.gradle.android; 21 | 22 | import net.bytebuddy.utility.nullability.NeverNull; 23 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.welcome=never 2 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/mavenBridge/build.gradle: -------------------------------------------------------------------------------- 1 | version = pom.parent.version.toString() 2 | 3 | configurations { 4 | mavenBridge { 5 | canBeResolved = false 6 | canBeConsumed = true 7 | attributes { 8 | attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage, 'java-runtime')) 9 | } 10 | outgoing.artifact(objects.fileProperty().fileProvider(providers.provider { 11 | def file = rootProject.file("../byte-buddy/target/byte-buddy-${version}.jar") 12 | if (!file.exists()) { 13 | throw new GradleException("Cannot resolve ${version} of byte-buddy artifact what is required for a substitution") 14 | } 15 | file 16 | })) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/settings.gradle: -------------------------------------------------------------------------------- 1 | include "mavenBridge" 2 | // Gradle cannot process all version strings such that JavaVersion.current() fails. 3 | def raw = System.getProperty("java.version") 4 | def current 5 | if (!raw.startsWith("1.") && raw.contains(".")) { 6 | current = JavaVersion.toVersion(raw.substring(0, raw.indexOf('.'))) 7 | } else { 8 | current = JavaVersion.toVersion(raw) 9 | } 10 | // The Android plugin requires at least Java 8 and does not work with Java 9 for an obscure error. 11 | if (current > JavaVersion.VERSION_1_7 && current != JavaVersion.VERSION_1_9) { 12 | include "android-plugin" 13 | } 14 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/src/main/java-gradle-api/org/gradle/api/file/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 substitution package for {@code org.gradle.api.file} used for legacy compilation. 18 | */ 19 | package org.gradle.api.file; 20 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/src/main/java-gradle-api/org/gradle/api/provider/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 substitution package for {@code org.gradle.api.provider} used for legacy compilation. 18 | */ 19 | package org.gradle.api.provider; 20 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/src/main/java-gradle-api/org/gradle/api/tasks/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 substitution package for {@code org.gradle.api.tasks} used for legacy compilation. 18 | */ 19 | package org.gradle.api.tasks; 20 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/src/main/java-gradle-api/org/gradle/work/ChangeType.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 org.gradle.work; 17 | 18 | /** 19 | * A placeholder representation of Gradle's {@code org.gradle.work.ChangeType} type. 20 | */ 21 | public enum ChangeType { 22 | 23 | /** 24 | * A placeholder representation of Gradle's {@code org.gradle.work.ChangeType#REMOVED} value. 25 | */ 26 | REMOVED 27 | } 28 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/src/main/java-gradle-api/org/gradle/work/Incremental.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 org.gradle.work; 17 | 18 | import java.lang.annotation.*; 19 | 20 | /** 21 | * A placeholder representation of Gradle's {@code org.gradle.work.Incremental} type. 22 | */ 23 | @Documented 24 | @Retention(RetentionPolicy.RUNTIME) 25 | @Target({ElementType.METHOD, ElementType.FIELD}) 26 | public @interface Incremental { 27 | /* empty */ 28 | } 29 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/src/main/java-gradle-api/org/gradle/work/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 substitution package for {@code org.gradle.work} used for legacy compilation. 18 | */ 19 | package org.gradle.work; 20 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/src/main/java/net/bytebuddy/build/gradle/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 classes for applying Byte Buddy transformers within a Gradle build. 18 | */ 19 | @NeverNull.ByDefault 20 | package net.bytebuddy.build.gradle; 21 | 22 | import net.bytebuddy.utility.nullability.NeverNull; 23 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/src/main/resources-maven/NOTICE: -------------------------------------------------------------------------------- 1 | This jar file is a mere placeholder and should be replaced by a Gradle-built jar file. 2 | If this file is included in a resulting build, something went wrong in the build process. 3 | -------------------------------------------------------------------------------- /byte-buddy-gradle-plugin/src/main/resources/META-INF/gradle-plugins/net.bytebuddy.byte-buddy.properties: -------------------------------------------------------------------------------- 1 | implementation-class=net.bytebuddy.build.gradle.ByteBuddyPlugin 2 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/main/java/net/bytebuddy/build/maven/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 classes for applying Byte Buddy transformers within a Maven build. 18 | */ 19 | @NeverNull.ByDefault 20 | package net.bytebuddy.build.maven; 21 | 22 | import net.bytebuddy.utility.nullability.NeverNull; 23 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | transform 7 | transform-runtime 8 | transform-extended 9 | transform-test 10 | transform-location 11 | 12 | 13 | 14 | 15 | true 16 | true 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/java/net/bytebuddy/build/maven/MavenCoordinateTest.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.build.maven; 2 | 3 | import org.eclipse.aether.artifact.Artifact; 4 | import org.junit.Test; 5 | 6 | import static org.hamcrest.CoreMatchers.is; 7 | import static org.hamcrest.MatcherAssert.assertThat; 8 | 9 | public class MavenCoordinateTest { 10 | 11 | private static final String FOO = "foo", BAR = "bar", QUX = "qux", JAR = "jar"; 12 | 13 | @Test 14 | public void testAsArtifact() throws Exception { 15 | Artifact artifact = new MavenCoordinate(FOO, BAR, QUX, JAR).asArtifact(); 16 | assertThat(artifact.getGroupId(), is(FOO)); 17 | assertThat(artifact.getArtifactId(), is(BAR)); 18 | assertThat(artifact.getVersion(), is(QUX)); 19 | assertThat(artifact.getExtension(), is(JAR)); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/java/net/bytebuddy/test/ArgumentPlugin.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test; 2 | 3 | import net.bytebuddy.build.Plugin; 4 | import net.bytebuddy.description.type.TypeDescription; 5 | import net.bytebuddy.dynamic.ClassFileLocator; 6 | import net.bytebuddy.dynamic.DynamicType; 7 | import net.bytebuddy.implementation.FixedValue; 8 | 9 | import static net.bytebuddy.matcher.ElementMatchers.named; 10 | 11 | public class ArgumentPlugin implements Plugin { 12 | 13 | private final int value; 14 | 15 | public ArgumentPlugin(int value) { 16 | this.value = value; 17 | } 18 | 19 | public boolean matches(TypeDescription target) { 20 | return target.getName().equals("foo.Bar"); 21 | } 22 | 23 | public DynamicType.Builder apply(DynamicType.Builder builder, TypeDescription typeDescription, ClassFileLocator classFileLocator) { 24 | return builder.method(named("foo")).intercept(FixedValue.value(String.valueOf(value))); 25 | } 26 | 27 | public void close() { 28 | /* do nothing */ 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/java/net/bytebuddy/test/IllegalPlugin.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test; 2 | 3 | import net.bytebuddy.build.Plugin; 4 | import net.bytebuddy.description.type.TypeDescription; 5 | import net.bytebuddy.dynamic.ClassFileLocator; 6 | import net.bytebuddy.dynamic.DynamicType; 7 | 8 | public class IllegalPlugin implements Plugin { 9 | 10 | public boolean matches(TypeDescription target) { 11 | throw new RuntimeException(); 12 | } 13 | 14 | public DynamicType.Builder apply(DynamicType.Builder builder, TypeDescription typeDescription, ClassFileLocator classFileLocator) { 15 | throw new RuntimeException(); 16 | } 17 | 18 | public void close() { 19 | /* do nothing */ 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/java/net/bytebuddy/test/IllegalTransformPlugin.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test; 2 | 3 | import net.bytebuddy.build.Plugin; 4 | import net.bytebuddy.description.type.TypeDescription; 5 | import net.bytebuddy.dynamic.ClassFileLocator; 6 | import net.bytebuddy.dynamic.DynamicType; 7 | 8 | public class IllegalTransformPlugin implements Plugin { 9 | 10 | public IllegalTransformPlugin() { 11 | throw new RuntimeException(); 12 | } 13 | 14 | public boolean matches(TypeDescription target) { 15 | throw new AssertionError(); 16 | } 17 | 18 | public DynamicType.Builder apply(DynamicType.Builder builder, TypeDescription typeDescription, ClassFileLocator classFileLocator) { 19 | throw new AssertionError(); 20 | } 21 | 22 | public void close() { 23 | /* do nothing */ 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/java/net/bytebuddy/test/LiveInitializerPlugin.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test; 2 | 3 | import net.bytebuddy.build.Plugin; 4 | import net.bytebuddy.description.type.TypeDescription; 5 | import net.bytebuddy.dynamic.ClassFileLocator; 6 | import net.bytebuddy.dynamic.DynamicType; 7 | import net.bytebuddy.implementation.MethodDelegation; 8 | 9 | import static net.bytebuddy.matcher.ElementMatchers.named; 10 | 11 | public class LiveInitializerPlugin implements Plugin { 12 | 13 | public boolean matches(TypeDescription target) { 14 | return target.getName().equals("foo.Bar"); 15 | } 16 | 17 | public DynamicType.Builder apply(DynamicType.Builder builder, TypeDescription typeDescription, ClassFileLocator classFileLocator) { 18 | return builder.method(named("foo")).intercept(MethodDelegation.to(new LiveInitializerPlugin())); 19 | } 20 | 21 | public String intercept() { 22 | return "qux"; 23 | } 24 | 25 | public void close() { 26 | /* do nothing */ 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/java/net/bytebuddy/test/SimplePlugin.java: -------------------------------------------------------------------------------- 1 | package net.bytebuddy.test; 2 | 3 | import net.bytebuddy.build.Plugin; 4 | import net.bytebuddy.description.type.TypeDescription; 5 | import net.bytebuddy.dynamic.ClassFileLocator; 6 | import net.bytebuddy.dynamic.DynamicType; 7 | import net.bytebuddy.implementation.FixedValue; 8 | 9 | import static net.bytebuddy.matcher.ElementMatchers.named; 10 | 11 | public class SimplePlugin implements Plugin { 12 | 13 | public boolean matches(TypeDescription target) { 14 | return target.getName().equals("foo.Bar"); 15 | } 16 | 17 | public DynamicType.Builder apply(DynamicType.Builder builder, TypeDescription typeDescription, ClassFileLocator classFileLocator) { 18 | return builder.method(named("foo")).intercept(FixedValue.value("qux")); 19 | } 20 | 21 | public void close() { 22 | /* do nothing */ 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/resources/net/bytebuddy/test/empty.pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | 9 | net.bytebuddy 10 | byte-buddy-maven-plugin 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/resources/net/bytebuddy/test/illegal.apply.pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | 9 | net.bytebuddy 10 | byte-buddy-maven-plugin 11 | 12 | 13 | 14 | net.bytebuddy.test.IllegalPlugin 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/resources/net/bytebuddy/test/illegal.pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | 9 | net.bytebuddy 10 | byte-buddy-maven-plugin 11 | 12 | 13 | 14 | net.bytebuddy.test.IllegalTransformPlugin 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/resources/net/bytebuddy/test/live.allowed.pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | 9 | net.bytebuddy 10 | byte-buddy-maven-plugin 11 | 12 | false 13 | 14 | 15 | net.bytebuddy.test.LiveInitializerPlugin 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/resources/net/bytebuddy/test/live.pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | 9 | net.bytebuddy 10 | byte-buddy-maven-plugin 11 | 12 | true 13 | 14 | 15 | net.bytebuddy.test.LiveInitializerPlugin 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/resources/net/bytebuddy/test/simple.pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | 9 | net.bytebuddy 10 | byte-buddy-maven-plugin 11 | 12 | 13 | 14 | net.bytebuddy.test.SimplePlugin 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/resources/net/bytebuddy/test/suffix.pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | 9 | net.bytebuddy 10 | byte-buddy-maven-plugin 11 | 12 | qux 13 | 14 | 15 | net.bytebuddy.test.SimplePlugin 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /byte-buddy-maven-plugin/src/test/resources/net/bytebuddy/test/test.pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | 9 | net.bytebuddy 10 | byte-buddy-maven-plugin 11 | 12 | 13 | 14 | net.bytebuddy.test.SimplePlugin 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /byte-buddy/src/main/resources/META-INF/LICENSE: -------------------------------------------------------------------------------- 1 | This product bundles ASM ${version.asm}, which is available under a "3-clause BSD" 2 | license. For details, see licenses/ASM. For more information visit ${asm.url}. 3 | -------------------------------------------------------------------------------- /spotbugs-exclude.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | --------------------------------------------------------------------------------