Add diagnostics for default lambda inlining
This commit is contained in:
@@ -70,6 +70,7 @@ import static org.jetbrains.kotlin.codegen.AsmUtil.getMethodAsmFlags;
|
||||
import static org.jetbrains.kotlin.codegen.AsmUtil.isPrimitive;
|
||||
import static org.jetbrains.kotlin.codegen.inline.InlineCodegenUtil.*;
|
||||
import static org.jetbrains.kotlin.descriptors.annotations.AnnotationUtilKt.isInlineOnly;
|
||||
import static org.jetbrains.kotlin.resolve.inline.InlineUtil.isInlinableParameterExpression;
|
||||
import static org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils.isFunctionLiteral;
|
||||
|
||||
public class InlineCodegen extends CallGenerator {
|
||||
@@ -783,12 +784,6 @@ public class InlineCodegen extends CallGenerator {
|
||||
isInlinableParameterExpression(deparenthesized);
|
||||
}
|
||||
|
||||
private static boolean isInlinableParameterExpression(@Nullable KtExpression deparenthesized) {
|
||||
return deparenthesized instanceof KtLambdaExpression ||
|
||||
deparenthesized instanceof KtNamedFunction ||
|
||||
deparenthesized instanceof KtCallableReferenceExpression;
|
||||
}
|
||||
|
||||
private LambdaInfo rememberClosure(@NotNull KtExpression expression, @NotNull Type type, @NotNull ValueParameterDescriptor parameter) {
|
||||
KtExpression lambda = KtPsiUtil.deparenthesize(expression);
|
||||
assert isInlinableParameterExpression(lambda) : "Couldn't find inline expression in " + expression.getText();
|
||||
|
||||
Reference in New Issue
Block a user