A lightweight dsl wrapper around objectweb's assembler
Assembly |
interface Assembly : Block |
Block |
interface Block |
GuardedAssembly |
class GuardedAssembly : Assembly |
Mod |
class Mod |
SimpleAssembly |
class SimpleAssembly : Assembly |
kotlin.reflect.KClass |
|
org.objectweb.asm.tree.ClassNode |
|
org.objectweb.asm.tree.MethodNode |
|
org.objectweb.asm.Type |
aaload |
val Block.aaload: Unit |
aastore |
val Block.aastore: Unit |
abstract |
val abstract: Mod |
aconst_null |
val Block.aconst_null: Unit |
aload_0 |
val Block.aload_0: Unit |
aload_1 |
val Block.aload_1: Unit |
aload_2 |
val Block.aload_2: Unit |
aload_3 |
val Block.aload_3: Unit |
areturn |
val Block.areturn: Unit |
arraylength |
val Block.arraylength: Unit |
astore_0 |
val Block.astore_0: Unit |
astore_1 |
val Block.astore_1: Unit |
astore_2 |
val Block.astore_2: Unit |
astore_3 |
val Block.astore_3: Unit |
athrow |
val Block.athrow: Unit |
baload |
val Block.baload: Unit |
bastore |
val Block.bastore: Unit |
boolean |
val boolean: Type |
byte |
val byte: Type |
caload |
val Block.caload: Unit |
castore |
val Block.castore: Unit |
char |
val char: Type |
class |
val class: Type |
d2f |
val Block.d2f: Unit |
d2i |
val Block.d2i: Unit |
d2l |
val Block.d2l: Unit |
dadd |
val Block.dadd: Unit |
daload |
val Block.daload: Unit |
dastore |
val Block.dastore: Unit |
dcmpg |
val Block.dcmpg: Unit |
dcmpl |
val Block.dcmpl: Unit |
dconst_0 |
val Block.dconst_0: Unit |
dconst_1 |
val Block.dconst_1: Unit |
ddiv |
val Block.ddiv: Unit |
dload_0 |
val Block.dload_0: Unit |
dload_1 |
val Block.dload_1: Unit |
dload_2 |
val Block.dload_2: Unit |
dload_3 |
val Block.dload_3: Unit |
dmul |
val Block.dmul: Unit |
dneg |
val Block.dneg: Unit |
double |
val double: Type |
drem |
val Block.drem: Unit |
dreturn |
val Block.dreturn: Unit |
dstore_0 |
val Block.dstore_0: Unit |
dstore_1 |
val Block.dstore_1: Unit |
dstore_2 |
val Block.dstore_2: Unit |
dstore_3 |
val Block.dstore_3: Unit |
dsub |
val Block.dsub: Unit |
dup |
val Block.dup: Unit |
dup2 |
val Block.dup2: Unit |
dup2_x1 |
val Block.dup2_x1: Unit |
dup2_x2 |
val Block.dup2_x2: Unit |
dup_x1 |
val Block.dup_x1: Unit |
dup_x2 |
val Block.dup_x2: Unit |
enum |
val enum: Mod |
f2d |
val Block.f2d: Unit |
f2i |
val Block.f2i: Unit |
f2l |
val Block.f2l: Unit |
fadd |
val Block.fadd: Unit |
faload |
val Block.faload: Unit |
fastore |
val Block.fastore: Unit |
fcmpg |
val Block.fcmpg: Unit |
fcmpl |
val Block.fcmpl: Unit |
fconst_0 |
val Block.fconst_0: Unit |
fconst_1 |
val Block.fconst_1: Unit |
fconst_2 |
val Block.fconst_2: Unit |
fdiv |
val Block.fdiv: Unit |
final |
val final: Mod |
fload_0 |
val Block.fload_0: Unit |
fload_1 |
val Block.fload_1: Unit |
fload_2 |
val Block.fload_2: Unit |
fload_3 |
val Block.fload_3: Unit |
float |
val float: Type |
fmul |
val Block.fmul: Unit |
fneg |
val Block.fneg: Unit |
frem |
val Block.frem: Unit |
freturn |
val Block.freturn: Unit |
fstore_0 |
val Block.fstore_0: Unit |
fstore_1 |
val Block.fstore_1: Unit |
fstore_2 |
val Block.fstore_2: Unit |
fstore_3 |
val Block.fstore_3: Unit |
fsub |
val Block.fsub: Unit |
i2b |
val Block.i2b: Unit |
i2c |
val Block.i2c: Unit |
i2d |
val Block.i2d: Unit |
i2f |
val Block.i2f: Unit |
i2l |
val Block.i2l: Unit |
i2s |
val Block.i2s: Unit |
iadd |
val Block.iadd: Unit |
iaload |
val Block.iaload: Unit |
iand |
val Block.iand: Unit |
iastore |
val Block.iastore: Unit |
iconst_0 |
val Block.iconst_0: Unit |
iconst_1 |
val Block.iconst_1: Unit |
iconst_2 |
val Block.iconst_2: Unit |
iconst_3 |
val Block.iconst_3: Unit |
iconst_4 |
val Block.iconst_4: Unit |
iconst_5 |
val Block.iconst_5: Unit |
iconst_m1 |
val Block.iconst_m1: Unit |
idiv |
val Block.idiv: Unit |
iload_0 |
val Block.iload_0: Unit |
iload_1 |
val Block.iload_1: Unit |
iload_2 |
val Block.iload_2: Unit |
iload_3 |
val Block.iload_3: Unit |
imul |
val Block.imul: Unit |
ineg |
val Block.ineg: Unit |
int |
val int: Type |
interface |
val interface: Mod |
ior |
val Block.ior: Unit |
irem |
val Block.irem: Unit |
ireturn |
val Block.ireturn: Unit |
ishl |
val Block.ishl: Unit |
ishr |
val Block.ishr: Unit |
istore_0 |
val Block.istore_0: Unit |
istore_1 |
val Block.istore_1: Unit |
istore_2 |
val Block.istore_2: Unit |
istore_3 |
val Block.istore_3: Unit |
isub |
val Block.isub: Unit |
iushr |
val Block.iushr: Unit |
ixor |
val Block.ixor: Unit |
l2d |
val Block.l2d: Unit |
l2f |
val Block.l2f: Unit |
l2i |
val Block.l2i: Unit |
ladd |
val Block.ladd: Unit |
laload |
val Block.laload: Unit |
land |
val Block.land: Unit |
lastore |
val Block.lastore: Unit |
lcmp |
val Block.lcmp: Unit |
lconst_0 |
val Block.lconst_0: Unit |
lconst_1 |
val Block.lconst_1: Unit |
ldiv |
val Block.ldiv: Unit |
lload_0 |
val Block.lload_0: Unit |
lload_1 |
val Block.lload_1: Unit |
lload_2 |
val Block.lload_2: Unit |
lload_3 |
val Block.lload_3: Unit |
lmul |
val Block.lmul: Unit |
lneg |
val Block.lneg: Unit |
long |
val long: Type |
lor |
val Block.lor: Unit |
lrem |
val Block.lrem: Unit |
lreturn |
val Block.lreturn: Unit |
lshl |
val Block.lshl: Unit |
lshr |
val Block.lshr: Unit |
lstore_0 |
val Block.lstore_0: Unit |
lstore_1 |
val Block.lstore_1: Unit |
lstore_2 |
val Block.lstore_2: Unit |
lstore_3 |
val Block.lstore_3: Unit |
lsub |
val Block.lsub: Unit |
lushr |
val Block.lushr: Unit |
lxor |
val Block.lxor: Unit |
module |
val module: Mod |
none |
val none: Mod |
nop |
val Block.nop: Unit |
object |
val object: Type |
open |
val open: Mod |
pop |
val Block.pop: Unit |
pop2 |
val Block.pop2: Unit |
private |
val private: Mod |
public |
val public: Mod |
return |
val Block.return: Unit |
saload |
val Block.saload: Unit |
sastore |
val Block.sastore: Unit |
static |
val static: Mod |
string |
val string: Type |
super |
val super: Mod |
swap |
val Block.swap: Unit |
void |
val void: Type |
add |
fun Block.add(it: AbstractInsnNode): Unit fun Block.add(many: InsnList): Unit |
aload |
fun Block.aload(slot: Int): Unit |
anewarray |
fun Block.anewarray(type: Type): Unit |
annotationNode |
fun annotationNode(type: Type, vararg parameters: Any): AnnotationNode |
areturn |
fun <T : Block, A> T.areturn(of: T.() -> A): A |
astore |
fun Block.astore(slot: Int): Unit |
bipush |
fun Block.bipush(v: Int): Unit |
checkcast |
fun Block.checkcast(type: Type): Unit fun <T : Block, A> T.checkcast(type: Type, of: T.() -> A): A |
class |
fun class(access: Mod, name: String, version: Int = 49, superName: String = "java/lang/Object", f: ClassNode.() -> Unit): ByteArray |
classNode |
fun classNode(access: Mod, name: String, version: Int = 49, superName: String = "java/lang/Object", f: ClassNode.() -> Unit): ClassNode |
constructorNode |
fun constructorNode(access: Mod, vararg parameterTypes: Type, f: MethodNode.() -> Unit): MethodNode |
dload |
fun Block.dload(slot: Int): Unit |
dreturn |
fun <T : Block, A> T.dreturn(of: T.() -> A): A |
dstore |
fun Block.dstore(slot: Int): Unit |
enum |
fun enum(access: Mod = public, name: String, vararg members: String): ByteArray |
enumNode |
fun enumNode(access: Mod = public and final and `super` and `enum`, name: String, vararg members: String): ClassNode |
fload |
fun Block.fload(slot: Int): Unit |
freturn |
fun <T : Block, A> T.freturn(of: T.() -> A): A |
fstore |
fun Block.fstore(slot: Int): Unit |
getfield |
fun Block.getfield(owner: Type, name: String, type: Type): Unit |
getstatic |
fun Block.getstatic(owner: Type, name: String, type: Type): Unit |
goto |
fun Block.goto(label: LabelNode): Unit |
guard |
fun Assembly.guard(f: GuardedAssembly.() -> Unit): GuardedAssembly |
if_acmpeq |
fun Block.if_acmpeq(label: LabelNode): Unit |
if_acmpne |
fun Block.if_acmpne(label: LabelNode): Unit |
if_icmpeq |
fun Block.if_icmpeq(label: LabelNode): Unit |
if_icmpge |
fun Block.if_icmpge(label: LabelNode): Unit |
if_icmpgt |
fun Block.if_icmpgt(label: LabelNode): Unit |
if_icmple |
fun Block.if_icmple(label: LabelNode): Unit |
if_icmplt |
fun Block.if_icmplt(label: LabelNode): Unit |
if_icmpne |
fun Block.if_icmpne(label: LabelNode): Unit |
ifeq |
fun Block.ifeq(label: LabelNode): Unit |
ifge |
fun Block.ifge(label: LabelNode): Unit |
ifgt |
fun Block.ifgt(label: LabelNode): Unit |
ifle |
fun Block.ifle(label: LabelNode): Unit |
iflt |
fun Block.iflt(label: LabelNode): Unit |
ifne |
fun Block.ifne(label: LabelNode): Unit |
ifnonnull |
fun Block.ifnonnull(label: LabelNode): Unit |
ifnull |
fun Block.ifnull(label: LabelNode): Unit |
iinc |
fun Block.iinc(slot: Int): Unit fun Block.iinc(slot: Int, amount: Int): Unit |
iload |
fun Block.iload(slot: Int): Unit |
instanceof |
fun Block.instanceof(type: Type): Unit |
invokeinterface |
fun Block.invokeinterface(owner: Type, returnType: Type, name: String, vararg parameterTypes: Type): Unit |
invokespecial |
fun Block.invokespecial(owner: Type, returnType: Type, name: String, vararg parameterTypes: Type): Unit |
invokestatic |
fun Block.invokestatic(owner: Type, returnType: Type, name: String, vararg parameterTypes: Type): Unit |
invokevirtual |
fun Block.invokevirtual(owner: Type, returnType: Type, name: String, vararg parameterTypes: Type): Unit |
ireturn |
fun <T : Block, A> T.ireturn(of: T.() -> A): A |
istore |
fun Block.istore(slot: Int): Unit |
jsr |
fun Block.jsr(label: LabelNode): Unit |
ldc |
fun Block.ldc(v: Any): Unit |
lload |
fun Block.lload(slot: Int): Unit |
lookupswitch |
fun Block.lookupswitch(defaultLabel: LabelNode, vararg branches: Pair<Int, LabelNode>): Unit |
lreturn |
fun <T : Block, A> T.lreturn(of: T.() -> A): A |
lstore |
fun Block.lstore(slot: Int): Unit |
methodNode |
fun methodNode(access: Mod, returnType: Type, name: String, vararg parameterTypes: Type, f: MethodNode.() -> Unit): MethodNode |
multianewarray |
fun Block.multianewarray(type: Type, dimensions: Int): Unit |
new |
fun Block.new(type: Type): Unit |
newarray |
fun Block.newarray(type: Type): Unit |
push |
fun Block.push(i: Int): Unit |
putfield |
fun Block.putfield(owner: Type, name: String, type: Type): Unit |
putstatic |
fun Block.putstatic(owner: Type, name: String, type: Type): Unit |
ret |
fun Block.ret(slot: Int): Unit |
return |
fun <T : Block, A> T.return(of: T.() -> A): A |
sipush |
fun Block.sipush(v: Int): Unit |
tableswitch |
fun Block.tableswitch(min: Int, max: Int, defaultLabel: LabelNode, vararg labels: LabelNode): Unit |
type |
fun type(k: KClass<*>): Type fun type(t: String): Type |