Package io.ran
Class MethodWriter
java.lang.Object
io.ran.MethodWriter
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAnnotation
(Clazz<?> annotation, boolean visibleAtRuntime) void
void
void
Define a named entry on the registervoid
dup()
void
end()
void
<E extends Throwable>
voidifElse
(ThrowingConsumer<MethodWriter, E> t, ThrowingConsumer<MethodWriter, E> f) <E extends Throwable>
voidifInstanceOf
(Clazz<?> clazz, ThrowingConsumer<MethodWriter, E> i, ThrowingConsumer<MethodWriter, E> e) <E extends Throwable>
void<E extends Throwable>
void<E extends Throwable>
void<E extends Throwable>
voidifSame
(ThrowingConsumer<MethodWriter, E> i, ThrowingConsumer<MethodWriter, E> e) <E extends Throwable>
voidvoid
invoke
(MethodSignature methodSignature) void
void
invokeSuper
(MethodSignature methodSignature) void
iStore
(int pos) void
load
(int arg) void
void
void
newInstance
(Clazz<?> of) void
void
objectLoad
(int pos) void
objectStore
(int pos) void
void
push
(boolean b) void
void
void
void
void
void
void
void
returnPrimitive
(Clazz<?> of) void
throwException
(Clazz<?> ex, ThrowingConsumer<MethodWriter, ReflectiveOperationException> messageGenerator) void
-
Constructor Details
-
MethodWriter
public MethodWriter(org.objectweb.asm.MethodVisitor mv, int parameterCount)
-
-
Method Details
-
load
public void load(int arg) -
load
-
invoke
-
invokeSuper
-
invoke
-
dup
public void dup() -
push
-
push
public void push(boolean b) -
push
-
push
-
ifNonNull
- Throws:
E extends Throwable
-
ifNegateBoolean
- Throws:
E extends Throwable
-
ifNull
- Throws:
E extends Throwable
-
ifThen
- Throws:
E extends Throwable
-
ifElse
public <E extends Throwable> void ifElse(ThrowingConsumer<MethodWriter, E> t, ThrowingConsumer<MethodWriter, throws EE> f) - Throws:
E extends Throwable
-
ifSame
public <E extends Throwable> void ifSame(ThrowingConsumer<MethodWriter, E> i, ThrowingConsumer<MethodWriter, throws EE> e) - Throws:
E extends Throwable
-
ifInstanceOf
public <E extends Throwable> void ifInstanceOf(Clazz<?> clazz, ThrowingConsumer<MethodWriter, E> i, ThrowingConsumer<MethodWriter, throws EE> e) - Throws:
E extends Throwable
-
cast
-
returnNothing
public void returnNothing() -
load
-
defineVar
Define a named entry on the registerThis will not affect the name in the generated code, but is used with
load(String)
to load the variable by name instead of by register position- Parameters:
name
- the name of the variablei
- the position in the register
-
objectVar
-
objectStore
public void objectStore(int pos) -
iStore
public void iStore(int pos) -
objectLoad
public void objectLoad(int pos) -
nullConst
public void nullConst() -
returnObject
public void returnObject() -
returnPrimitive
-
returnOf
-
end
public void end() -
box
-
unbox
-
throwException
public void throwException(Clazz<?> ex, ThrowingConsumer<MethodWriter, ReflectiveOperationException> messageGenerator) -
addAnnotation
-
putField
-
getField
-
newInstance
-