Package io.prestosql.sql.gen
Class LambdaBytecodeGenerator
- java.lang.Object
-
- io.prestosql.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.BytecodeNode
generateLambda(BytecodeGeneratorContext context, List<RowExpression> captureExpressions, io.prestosql.sql.gen.LambdaBytecodeGenerator.CompiledLambda compiledLambda, Class<?> lambdaInterface)
static Map<LambdaDefinitionExpression,io.prestosql.sql.gen.LambdaBytecodeGenerator.CompiledLambda>
generateMethodsForLambda(io.airlift.bytecode.ClassDefinition containerClassDefinition, CallSiteBinder callSiteBinder, CachedInstanceBinder cachedInstanceBinder, RowExpression expression, Metadata metadata)
static io.prestosql.sql.gen.LambdaBytecodeGenerator.CompiledLambda
preGenerateLambdaExpression(LambdaDefinitionExpression lambdaExpression, String methodName, io.airlift.bytecode.ClassDefinition classDefinition, Map<LambdaDefinitionExpression,io.prestosql.sql.gen.LambdaBytecodeGenerator.CompiledLambda> compiledLambdaMap, CallSiteBinder callSiteBinder, CachedInstanceBinder cachedInstanceBinder, Metadata metadata)
-
-
-
Method Detail
-
generateMethodsForLambda
public static Map<LambdaDefinitionExpression,io.prestosql.sql.gen.LambdaBytecodeGenerator.CompiledLambda> generateMethodsForLambda(io.airlift.bytecode.ClassDefinition containerClassDefinition, CallSiteBinder callSiteBinder, CachedInstanceBinder cachedInstanceBinder, RowExpression expression, Metadata metadata)
-
preGenerateLambdaExpression
public static io.prestosql.sql.gen.LambdaBytecodeGenerator.CompiledLambda preGenerateLambdaExpression(LambdaDefinitionExpression lambdaExpression, String methodName, io.airlift.bytecode.ClassDefinition classDefinition, Map<LambdaDefinitionExpression,io.prestosql.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.prestosql.sql.gen.LambdaBytecodeGenerator.CompiledLambda compiledLambda, Class<?> lambdaInterface)
-
compileLambdaProvider
public static Class<? extends LambdaProvider> compileLambdaProvider(LambdaDefinitionExpression lambdaExpression, Metadata metadata, Class<?> lambdaInterface)
-
-