All Classes and Interfaces
Class
Description
There two core parts to the cache...
Locate resources with the loading class loader.
This class contains class references for objects shared by the agent installer as well as muzzle
(both compile and runtime).
This SPI can be used to find a class loader which can be used to look up bootstrap resources.
Provides the bytecode and the original resource URL for loaded and not-yet loaded classes.
This class verifies that a given
ClassLoader satisfies all expectations of a given InstrumentationModule.Represents a reference to a class used in the instrumentation advice or helper class code (or the
helper class itself).
The builder of
ClassRef.Represents a reference to a field used in the instrumentation advice or helper class code.
Expected flag (or lack of flag) on a class, method or field reference.
The constants of this enum describe whether a method or class is abstract, final or non-final.
The constants of this enum represent the minimum visibility flag required by a type access,
method call or field access.
The constants of this enum describe whether a method/field is static or not.
The constants of this enum represent the exact visibility of a referenced class, method or
field.
Injects instrumentation helper classes into the user's class loader.
This listener can be registered in an agent extension by setting the
HelperInjector.helperInjectorListener field.
This interface contains methods that muzzle automatically adds to the
InstrumentationModule.Represents a reference to a method used in the instrumentation advice or helper class code.
A mismatch between a
ClassRef and a runtime class.Represents failure to inject
InstrumentationModuleMuzzle.getMuzzleHelperClassNames()
into some class loader.Represents failure of some class loader to satisfy
InstrumentationModule.classLoaderMatcher().Fallback mismatch in case an unexpected exception occurs during reference checking.
This class is a ByteBuddy build plugin that is responsible for generating actual implementation
of some
InstrumentationModule methods.Skip muzzle checks for methods annotated with this annotation.
LinkedHashMap is used for reference map to guarantee a deterministic order of iteration,
so that bytecode generated based on it would also be deterministic.Matches a set of references against a class loader.
Represents the source (file name, line number) of a reference.
Debug logging that is performed under class file transform needs to use this class, because
gradle deadlocks sporadically under the following sequence:
Gradle triggers a class to load while it is holding a lock
Class file transform occurs (under this lock) and the agent writes to System.out
(Because gradle hijacks System.out), gradle is called from inside of the class file transform
Gradle tries to grab a different lock during it's implementation of System.out
This interface allows registering
VirtualField class pairs.