Package io.trino.sql.gen
Class BytecodeGeneratorContext
- java.lang.Object
-
- io.trino.sql.gen.BytecodeGeneratorContext
-
public class BytecodeGeneratorContext extends Object
-
-
Constructor Summary
Constructors Constructor Description BytecodeGeneratorContext(RowExpressionCompiler rowExpressionCompiler, io.airlift.bytecode.Scope scope, CallSiteBinder callSiteBinder, CachedInstanceBinder cachedInstanceBinder, Metadata metadata)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.airlift.bytecode.BytecodeNodegenerate(RowExpression expression)io.airlift.bytecode.BytecodeNodegenerateCall(ResolvedFunction resolvedFunction, List<io.airlift.bytecode.BytecodeNode> arguments)Generates a function call with null handling, automatic binding of session parameter, etc.io.airlift.bytecode.BytecodeNodegenerateFullCall(ResolvedFunction resolvedFunction, List<RowExpression> arguments)CallSiteBindergetCallSiteBinder()FunctionInvokergetScalarFunctionInvoker(ResolvedFunction resolvedFunction, InvocationConvention invocationConvention)io.airlift.bytecode.ScopegetScope()io.airlift.bytecode.VariablewasNull()
-
-
-
Constructor Detail
-
BytecodeGeneratorContext
public BytecodeGeneratorContext(RowExpressionCompiler rowExpressionCompiler, io.airlift.bytecode.Scope scope, CallSiteBinder callSiteBinder, CachedInstanceBinder cachedInstanceBinder, Metadata metadata)
-
-
Method Detail
-
getScope
public io.airlift.bytecode.Scope getScope()
-
getCallSiteBinder
public CallSiteBinder getCallSiteBinder()
-
generate
public io.airlift.bytecode.BytecodeNode generate(RowExpression expression)
-
getScalarFunctionInvoker
public FunctionInvoker getScalarFunctionInvoker(ResolvedFunction resolvedFunction, InvocationConvention invocationConvention)
-
generateCall
public io.airlift.bytecode.BytecodeNode generateCall(ResolvedFunction resolvedFunction, List<io.airlift.bytecode.BytecodeNode> arguments)
Generates a function call with null handling, automatic binding of session parameter, etc.
-
generateFullCall
public io.airlift.bytecode.BytecodeNode generateFullCall(ResolvedFunction resolvedFunction, List<RowExpression> arguments)
-
wasNull
public io.airlift.bytecode.Variable wasNull()
-
-