public final class TransformerHelper
extends java.lang.Object
Designed for cases where you cannot use Mixin, but still want Java-agent style class mutation via NilLoader's transformer pipeline.
Important: register transformers during premain/hijack entrypoint. Registering too late will throw from NilLoader.
| Modifier and Type | Class and Description |
|---|---|
static interface |
TransformerHelper.AsmPatch
Functional callback for ASM tree patching.
|
static interface |
TransformerHelper.BytecodePatch
Functional callback for byte[] class patching.
|
| Modifier and Type | Method and Description |
|---|---|
static boolean |
classNameEquals(java.lang.String a,
java.lang.String b)
True if two class names match after normalizing to internal slash format.
|
static java.lang.String |
normalizeClassName(java.lang.String className)
Converts class names to internal slash format expected by transformers.
|
static void |
registerAsmPatch(java.lang.String className,
TransformerHelper.AsmPatch patch)
Register an ASM ClassNode patch for one class.
|
static void |
registerBytecodePatch(java.lang.String className,
TransformerHelper.BytecodePatch patch)
Register a simple raw-bytecode patch for one class.
|
public static void registerBytecodePatch(java.lang.String className,
TransformerHelper.BytecodePatch patch)
className - dot or slash notation is accepted.public static void registerAsmPatch(java.lang.String className,
TransformerHelper.AsmPatch patch)
className - dot or slash notation is accepted.public static boolean classNameEquals(java.lang.String a,
java.lang.String b)
public static java.lang.String normalizeClassName(java.lang.String className)