Proper read instructions for function literals
This commit is contained in:
@@ -88,6 +88,7 @@ public interface JetControlFlowBuilder {
|
||||
void loadUnit(@NotNull JetExpression expression);
|
||||
void loadConstant(@NotNull JetExpression expression, @Nullable CompileTimeConstant<?> constant);
|
||||
void createAnonymousObject(@NotNull JetObjectLiteralExpression expression);
|
||||
void createFunctionLiteral(@NotNull JetFunctionLiteralExpression expression);
|
||||
void loadStringTemplate(@NotNull JetStringTemplateExpression expression);
|
||||
|
||||
void readThis(@NotNull JetExpression expression, @Nullable ReceiverParameterDescriptor parameterDescriptor);
|
||||
|
||||
@@ -47,6 +47,11 @@ public abstract class JetControlFlowBuilderAdapter implements JetControlFlowBuil
|
||||
getDelegateBuilder().createAnonymousObject(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createFunctionLiteral(@NotNull JetFunctionLiteralExpression expression) {
|
||||
getDelegateBuilder().createFunctionLiteral(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadStringTemplate(@NotNull JetStringTemplateExpression expression) {
|
||||
getDelegateBuilder().loadStringTemplate(expression);
|
||||
|
||||
@@ -700,6 +700,7 @@ public class JetControlFlowProcessor {
|
||||
public void visitFunctionLiteralExpression(@NotNull JetFunctionLiteralExpression expression) {
|
||||
JetFunctionLiteral functionLiteral = expression.getFunctionLiteral();
|
||||
processLocalDeclaration(functionLiteral);
|
||||
builder.createFunctionLiteral(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
@@ -346,6 +346,11 @@ public class JetControlFlowInstructionsGenerator extends JetControlFlowBuilderAd
|
||||
read(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createFunctionLiteral(@NotNull JetFunctionLiteralExpression expression) {
|
||||
read(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadStringTemplate(@NotNull JetStringTemplateExpression expression) {
|
||||
read(expression);
|
||||
|
||||
Reference in New Issue
Block a user