[java] expand error message about incompatible lambda expression (IDEA-282399)

GitOrigin-RevId: 39b243021881564fea9e2b359433ab79632697f4
This commit is contained in:
Anna Kozlova
2021-11-15 21:56:00 +01:00
committed by intellij-monorepo-bot
parent 2c5e6f1f84
commit 846afc113d
3 changed files with 4 additions and 4 deletions

View File

@@ -180,7 +180,7 @@ error.incompatible.type.parameter.type.is.not.yet.inferred=Parameter type is not
error.incompatible.type.return.type.is.not.yet.inferred=Return type is not yet inferred: {0}
error.incompatible.type.unhandled.exception=Unhandled exception: {0}
error.incompatible.type.failed.to.resolve.argument=Failed to resolve argument
error.incompatible.type.incompatible.parameter.types.in.lambda=Incompatible parameter types in lambda expression
error.incompatible.type.incompatible.parameter.types.in.lambda=Incompatible parameter types in lambda expression: wrong number of parameters: expected {0} but found {1}
error.incompatible.type.incompatible.types.expected.void.lambda=Incompatible types: expected void but the lambda body is neither a statement expression nor a void-compatible block
error.incompatible.type.expected.value.lambda=Incompatible types: expected not void but the lambda body is a block that is not value-compatible
error.incompatible.type.bad.lambda.return.type=Bad return type in lambda expression: {0} cannot be converted to {1}

View File

@@ -1,7 +1,7 @@
// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.psi.impl.source.resolve.graphInference.constraints;
import com.intellij.core.JavaPsiBundle;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.psi.*;
import com.intellij.psi.impl.source.resolve.graphInference.FunctionalInterfaceParameterizationUtil;
import com.intellij.psi.impl.source.resolve.graphInference.InferenceSession;
@@ -42,7 +42,7 @@ public class LambdaExpressionCompatibilityConstraint implements ConstraintFormul
final PsiParameter[] lambdaParameters = myExpression.getParameterList().getParameters();
if (lambdaParameters.length != parameters.length) {
session.registerIncompatibleErrorMessage(JavaPsiBundle.message("error.incompatible.type.incompatible.parameter.types.in.lambda"));
session.registerIncompatibleErrorMessage(JavaPsiBundle.message("error.incompatible.type.incompatible.parameter.types.in.lambda", parameters.length, lambdaParameters.length));
return false;
}
if (myExpression.hasFormalParameterTypes()) {

View File

@@ -20,7 +20,7 @@ class Test5 {
static <T> void bar(I<T> i){}
{
bar(<error descr="Incompatible parameter types in lambda expression">() -> null</error>);
bar(<error descr="Incompatible parameter types in lambda expression: wrong number of parameters: expected 1 but found 0">() -> null</error>);
}
}
class Test6 {