public class Initialiser
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
Initialiser.InjectionMode
Strategy for injecting initialiser insns
|
| Modifier and Type | Field and Description |
|---|---|
protected static int[] |
OPCODE_BLACKLIST
List of opcodes which must not appear in a class initialiser, mainly a
sanity check so that if any of the specified opcodes are found, we can
log it as an error condition and then people can bitch at me to fix it.
|
| Constructor and Description |
|---|
Initialiser(MixinTargetContext mixin,
org.objectweb.asm.tree.MethodNode ctor,
InsnRange range) |
| Modifier and Type | Method and Description |
|---|---|
org.objectweb.asm.tree.MethodNode |
getCtor()
Get the source constructor
|
java.util.Deque<org.objectweb.asm.tree.AbstractInsnNode> |
getInsns()
Get the extracted instructions
|
int |
getMaxStack()
Get the MAXS for the original (source) constructor
|
void |
injectInto(Constructor ctor)
Inject initialiser code into the target constructor
|
int |
size()
Get the number of instructions in the extracted initialiser
|
protected static final int[] OPCODE_BLACKLIST
public Initialiser(MixinTargetContext mixin, org.objectweb.asm.tree.MethodNode ctor, InsnRange range)
public int size()
public int getMaxStack()
public org.objectweb.asm.tree.MethodNode getCtor()
public java.util.Deque<org.objectweb.asm.tree.AbstractInsnNode> getInsns()
public void injectInto(Constructor ctor)
ctor - Constructor to inject into