public abstract class BytecodeExpression extends Object implements BytecodeNode
A BytecodeExpression is a BytecodeNode so it works with tools like tree dump.
This abstraction makes it easy to write generic byte code generators that can work with data that may come from a parameter, field or the result of a method invocation.
| Modifier | Constructor and Description |
|---|---|
protected |
BytecodeExpression(ParameterizedType type) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetChildNodesprotected BytecodeExpression(ParameterizedType type)
public final ParameterizedType getType()
public abstract BytecodeNode getBytecode(MethodGenerationContext generationContext)
protected abstract String formatOneLine()
public final BytecodeExpression getField(Class<?> declaringClass, String name)
public final BytecodeExpression getField(String name, Class<?> type)
public final BytecodeExpression getField(Field field)
public final BytecodeExpression getField(FieldDefinition field)
public final BytecodeExpression getField(ParameterizedType declaringClass, String name, ParameterizedType type)
public final BytecodeExpression setField(String name, BytecodeExpression value)
public final BytecodeExpression setField(Field field, BytecodeExpression value)
public final BytecodeExpression setField(FieldDefinition field, BytecodeExpression value)
public final BytecodeExpression cast(Class<?> type)
public final BytecodeExpression cast(ParameterizedType type)
public final BytecodeExpression invoke(Method method, BytecodeExpression... parameters)
public final BytecodeExpression invoke(MethodDefinition method, Iterable<? extends BytecodeExpression> parameters)
public final BytecodeExpression invoke(Method method, Iterable<? extends BytecodeExpression> parameters)
public final BytecodeExpression invoke(String methodName, Class<?> returnType, BytecodeExpression... parameters)
public final BytecodeExpression invoke(String methodName, Class<?> returnType, Iterable<? extends BytecodeExpression> parameters)
public final BytecodeExpression invoke(String methodName, ParameterizedType returnType, Iterable<? extends BytecodeExpression> parameters)
public final BytecodeExpression invoke(String methodName, Class<?> returnType, Iterable<? extends Class<?>> parameterTypes, BytecodeExpression... parameters)
public final BytecodeExpression invoke(String methodName, ParameterizedType returnType, Iterable<ParameterizedType> parameterTypes, BytecodeExpression... parameters)
public final BytecodeExpression invoke(String methodName, ParameterizedType returnType, Iterable<ParameterizedType> parameterTypes, Iterable<? extends BytecodeExpression> parameters)
public final BytecodeExpression getElement(int index)
public final BytecodeExpression getElement(BytecodeExpression index)
public final BytecodeExpression setElement(int index, BytecodeExpression value)
public final BytecodeExpression setElement(BytecodeExpression index, BytecodeExpression value)
public final BytecodeExpression length()
public final BytecodeExpression ret()
public final BytecodeExpression pop()
public final void accept(org.objectweb.asm.MethodVisitor visitor,
MethodGenerationContext generationContext)
accept in interface BytecodeNodepublic final <T> T accept(BytecodeNode parent, BytecodeVisitor<T> visitor)
accept in interface BytecodeNodepublic BytecodeExpression instanceOf(Class<?> type)
Copyright © 2012–2023. All rights reserved.