Package io.trino.sql.gen
Class LambdaBytecodeGenerator
- java.lang.Object
-
- io.trino.sql.gen.LambdaBytecodeGenerator
-
public final class LambdaBytecodeGenerator extends Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Class<? extends LambdaProvider>compileLambdaProvider(LambdaDefinitionExpression lambdaExpression, Metadata metadata, Class<?> lambdaInterface)static io.airlift.bytecode.BytecodeNodegenerateLambda(BytecodeGeneratorContext context, List<RowExpression> captureExpressions, io.trino.sql.gen.LambdaBytecodeGenerator.CompiledLambda compiledLambda, Class<?> lambdaInterface)static Map<LambdaDefinitionExpression,io.trino.sql.gen.LambdaBytecodeGenerator.CompiledLambda>generateMethodsForLambda(io.airlift.bytecode.ClassDefinition containerClassDefinition, CallSiteBinder callSiteBinder, CachedInstanceBinder cachedInstanceBinder, RowExpression expression, Metadata metadata)static io.trino.sql.gen.LambdaBytecodeGenerator.CompiledLambdapreGenerateLambdaExpression(LambdaDefinitionExpression lambdaExpression, String methodName, io.airlift.bytecode.ClassDefinition classDefinition, Map<LambdaDefinitionExpression,io.trino.sql.gen.LambdaBytecodeGenerator.CompiledLambda> compiledLambdaMap, CallSiteBinder callSiteBinder, CachedInstanceBinder cachedInstanceBinder, Metadata metadata)
-
-
-
Method Detail
-
generateMethodsForLambda
public static Map<LambdaDefinitionExpression,io.trino.sql.gen.LambdaBytecodeGenerator.CompiledLambda> generateMethodsForLambda(io.airlift.bytecode.ClassDefinition containerClassDefinition, CallSiteBinder callSiteBinder, CachedInstanceBinder cachedInstanceBinder, RowExpression expression, Metadata metadata)
-
preGenerateLambdaExpression
public static io.trino.sql.gen.LambdaBytecodeGenerator.CompiledLambda preGenerateLambdaExpression(LambdaDefinitionExpression lambdaExpression, String methodName, io.airlift.bytecode.ClassDefinition classDefinition, Map<LambdaDefinitionExpression,io.trino.sql.gen.LambdaBytecodeGenerator.CompiledLambda> compiledLambdaMap, CallSiteBinder callSiteBinder, CachedInstanceBinder cachedInstanceBinder, Metadata metadata)
- Returns:
- a MethodHandle field that represents the lambda expression
-
generateLambda
public static io.airlift.bytecode.BytecodeNode generateLambda(BytecodeGeneratorContext context, List<RowExpression> captureExpressions, io.trino.sql.gen.LambdaBytecodeGenerator.CompiledLambda compiledLambda, Class<?> lambdaInterface)
-
compileLambdaProvider
public static Class<? extends LambdaProvider> compileLambdaProvider(LambdaDefinitionExpression lambdaExpression, Metadata metadata, Class<?> lambdaInterface)
-
-