diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java index 601afe58779..2ae05411e81 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallResolver.java @@ -32,6 +32,7 @@ import org.jetbrains.kotlin.psi.*; import org.jetbrains.kotlin.resolve.*; import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilsKt; import org.jetbrains.kotlin.resolve.calls.callResolverUtil.CallResolverUtilKt; +import org.jetbrains.kotlin.resolve.calls.callResolverUtil.ResolveArgumentsMode; import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt; import org.jetbrains.kotlin.resolve.calls.checkers.CallChecker; import org.jetbrains.kotlin.resolve.calls.context.*; @@ -574,7 +575,7 @@ public class CallResolver { } private OverloadResolutionResultsImpl checkArgumentTypesAndFail(BasicCallResolutionContext context) { - argumentTypeResolver.checkTypesWithNoCallee(context); + argumentTypeResolver.checkTypesWithNoCallee(context, ResolveArgumentsMode.RESOLVE_FUNCTION_ARGUMENTS); return OverloadResolutionResultsImpl.nameNotFound(); } diff --git a/idea/testData/checker/regression/FunctionLiteralInsideAnnotation.kt b/idea/testData/checker/regression/FunctionLiteralInsideAnnotation.kt new file mode 100644 index 00000000000..57115c44b99 --- /dev/null +++ b/idea/testData/checker/regression/FunctionLiteralInsideAnnotation.kt @@ -0,0 +1,4 @@ +package foo + +@Anno ({ val x: Int }) +fun f() {} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java b/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java index e3c13c5defc..4dad86e9d3a 100644 --- a/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java @@ -466,6 +466,12 @@ public class PsiCheckerTestGenerated extends AbstractPsiCheckerTest { doTest(fileName); } + @TestMetadata("FunctionLiteralInsideAnnotation.kt") + public void testFunctionLiteralInsideAnnotation() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/regression/FunctionLiteralInsideAnnotation.kt"); + doTest(fileName); + } + @TestMetadata("InterfaceDeclarationAsExpression.kt") public void testInterfaceDeclarationAsExpression() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/regression/InterfaceDeclarationAsExpression.kt");