public final class BytecodeUtils extends Object
| Modifier and Type | Method and Description |
|---|---|
static io.airlift.bytecode.BytecodeNode |
boxPrimitive(Class<?> type) |
static io.airlift.bytecode.BytecodeNode |
boxPrimitiveIfNecessary(io.airlift.bytecode.Scope scope,
Class<?> type) |
static io.airlift.bytecode.BytecodeNode |
generateInvocation(io.airlift.bytecode.Scope scope,
String name,
ScalarFunctionImplementation function,
Optional<io.airlift.bytecode.BytecodeNode> instance,
List<io.airlift.bytecode.BytecodeNode> arguments,
CallSiteBinder binder) |
static io.airlift.bytecode.BytecodeNode |
generateWrite(CallSiteBinder callSiteBinder,
io.airlift.bytecode.Scope scope,
io.airlift.bytecode.Variable wasNullVariable,
Type type) |
static io.airlift.bytecode.BytecodeNode |
handleNullValue(io.airlift.bytecode.Scope scope,
io.airlift.bytecode.instruction.LabelNode label,
Class<?> returnType,
List<Class<?>> stackArgsToPop,
boolean clearNullFlag) |
static io.airlift.bytecode.BytecodeNode |
ifWasNullClearPopAndGoto(io.airlift.bytecode.Scope scope,
io.airlift.bytecode.instruction.LabelNode label,
Class<?> returnType,
Class<?>... stackArgsToPop) |
static io.airlift.bytecode.BytecodeNode |
ifWasNullPopAndGoto(io.airlift.bytecode.Scope scope,
io.airlift.bytecode.instruction.LabelNode label,
Class<?> returnType,
Class<?>... stackArgsToPop) |
static io.airlift.bytecode.BytecodeNode |
ifWasNullPopAndGoto(io.airlift.bytecode.Scope scope,
io.airlift.bytecode.instruction.LabelNode label,
Class<?> returnType,
Iterable<? extends Class<?>> stackArgsToPop) |
static io.airlift.bytecode.expression.BytecodeExpression |
invoke(Binding binding,
Signature signature) |
static io.airlift.bytecode.expression.BytecodeExpression |
invoke(Binding binding,
String name) |
static io.airlift.bytecode.expression.BytecodeExpression |
loadConstant(Binding binding) |
static io.airlift.bytecode.expression.BytecodeExpression |
loadConstant(CallSiteBinder callSiteBinder,
Object constant,
Class<?> type) |
static io.airlift.bytecode.BytecodeNode |
unboxPrimitive(Class<?> unboxedType) |
static io.airlift.bytecode.BytecodeBlock |
unboxPrimitiveIfNecessary(io.airlift.bytecode.Scope scope,
Class<?> boxedType) |
public static io.airlift.bytecode.BytecodeNode ifWasNullPopAndGoto(io.airlift.bytecode.Scope scope,
io.airlift.bytecode.instruction.LabelNode label,
Class<?> returnType,
Class<?>... stackArgsToPop)
public static io.airlift.bytecode.BytecodeNode ifWasNullPopAndGoto(io.airlift.bytecode.Scope scope,
io.airlift.bytecode.instruction.LabelNode label,
Class<?> returnType,
Iterable<? extends Class<?>> stackArgsToPop)
public static io.airlift.bytecode.BytecodeNode ifWasNullClearPopAndGoto(io.airlift.bytecode.Scope scope,
io.airlift.bytecode.instruction.LabelNode label,
Class<?> returnType,
Class<?>... stackArgsToPop)
public static io.airlift.bytecode.BytecodeNode handleNullValue(io.airlift.bytecode.Scope scope,
io.airlift.bytecode.instruction.LabelNode label,
Class<?> returnType,
List<Class<?>> stackArgsToPop,
boolean clearNullFlag)
public static io.airlift.bytecode.BytecodeNode boxPrimitive(Class<?> type)
public static io.airlift.bytecode.BytecodeNode unboxPrimitive(Class<?> unboxedType)
public static io.airlift.bytecode.expression.BytecodeExpression loadConstant(CallSiteBinder callSiteBinder, Object constant, Class<?> type)
public static io.airlift.bytecode.expression.BytecodeExpression loadConstant(Binding binding)
public static io.airlift.bytecode.BytecodeNode generateInvocation(io.airlift.bytecode.Scope scope,
String name,
ScalarFunctionImplementation function,
Optional<io.airlift.bytecode.BytecodeNode> instance,
List<io.airlift.bytecode.BytecodeNode> arguments,
CallSiteBinder binder)
public static io.airlift.bytecode.BytecodeBlock unboxPrimitiveIfNecessary(io.airlift.bytecode.Scope scope,
Class<?> boxedType)
public static io.airlift.bytecode.BytecodeNode boxPrimitiveIfNecessary(io.airlift.bytecode.Scope scope,
Class<?> type)
public static io.airlift.bytecode.expression.BytecodeExpression invoke(Binding binding, String name)
public static io.airlift.bytecode.expression.BytecodeExpression invoke(Binding binding, Signature signature)
public static io.airlift.bytecode.BytecodeNode generateWrite(CallSiteBinder callSiteBinder, io.airlift.bytecode.Scope scope, io.airlift.bytecode.Variable wasNullVariable, Type type)
Copyright © 2012–2019. All rights reserved.