cadenza / org.intelligence.asm

Package org.intelligence.asm

A lightweight dsl wrapper around objectweb's assembler

Types

Assembly

interface Assembly : Block

Block

interface Block

GuardedAssembly

class GuardedAssembly : Assembly

Mod

class Mod

SimpleAssembly

class SimpleAssembly : Assembly

Extensions for External Classes

kotlin.reflect.KClass

org.objectweb.asm.tree.ClassNode

org.objectweb.asm.tree.MethodNode

org.objectweb.asm.Type

Properties

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

Functions

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