From 4ffab5fe5a3b36e74d2f6a6e93d60bb35c452908 Mon Sep 17 00:00:00 2001 From: Ivan Kochurkin Date: Tue, 30 Mar 2021 15:31:10 +0300 Subject: [PATCH] [FIR] Add new test `argParamTypeMismatch.kt` for ARGUMENT_TYPE_MISMATCH diagnostics --- ...otTouchedTilContractsPhaseTestGenerated.java | 5 +++++ .../arguments/argParamTypeMismatch.fir.txt | 17 +++++++++++++++++ .../resolve/arguments/argParamTypeMismatch.kt | 13 +++++++++++++ .../runners/FirDiagnosticTestGenerated.java | 6 ++++++ ...irDiagnosticsWithLightTreeTestGenerated.java | 6 ++++++ 5 files changed, 47 insertions(+) create mode 100644 compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.fir.txt create mode 100644 compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.kt diff --git a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java b/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java index 261cc2fea08..e247a275ab5 100644 --- a/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java +++ b/compiler/fir/analysis-tests/legacy-fir-tests/tests-gen/org/jetbrains/kotlin/fir/LazyBodyIsNotTouchedTilContractsPhaseTestGenerated.java @@ -496,6 +496,11 @@ public class LazyBodyIsNotTouchedTilContractsPhaseTestGenerated extends Abstract runTest("compiler/fir/analysis-tests/testData/resolve/arguments/ambiguityOnJavaOverride.kt"); } + @TestMetadata("argParamTypeMismatch.kt") + public void testArgParamTypeMismatch() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.kt"); + } + @TestMetadata("argumentsOfAnnotations.kt") public void testArgumentsOfAnnotations() throws Exception { runTest("compiler/fir/analysis-tests/testData/resolve/arguments/argumentsOfAnnotations.kt"); diff --git a/compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.fir.txt b/compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.fir.txt new file mode 100644 index 00000000000..118a68db748 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.fir.txt @@ -0,0 +1,17 @@ +FILE: argParamTypeMismatch.kt + public final fun foo(first: R|kotlin/String|): R|kotlin/Unit| { + } + public final fun foo2(first: R|kotlin/String|, second: R|kotlin/Int|): R|kotlin/Unit| { + } + public final fun test(): R|kotlin/Unit| { + lval int: R|kotlin/Int| = Int(1) + #(R|/int|) + #(Int(2)) + #(R|kotlin/run|( = run@fun (): R|kotlin/Int| { + ^ Int(20) + } + )) + R|/foo2|(String(asdf), Int(3)) + #(Int(4), String(asdf)) + #(Int(5), Int(6)) + } diff --git a/compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.kt b/compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.kt new file mode 100644 index 00000000000..b21efcc3402 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.kt @@ -0,0 +1,13 @@ +fun foo(first: String) {} +fun foo2(first: String, second: Int) {} + +fun test() { + val int = 1 + foo(int) + foo(2) + foo(run { 20 }) + + foo2("asdf", 3) + foo2(4, "asdf") + foo2(5, 6) +} diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java index 4bf14320b0c..ba8244871df 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticTestGenerated.java @@ -581,6 +581,12 @@ public class FirDiagnosticTestGenerated extends AbstractFirDiagnosticTest { runTest("compiler/fir/analysis-tests/testData/resolve/arguments/ambiguityOnJavaOverride.kt"); } + @Test + @TestMetadata("argParamTypeMismatch.kt") + public void testArgParamTypeMismatch() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.kt"); + } + @Test @TestMetadata("argumentsOfAnnotations.kt") public void testArgumentsOfAnnotations() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java index 41b38bbd84a..8ef5438e748 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirDiagnosticsWithLightTreeTestGenerated.java @@ -585,6 +585,12 @@ public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnos runTest("compiler/fir/analysis-tests/testData/resolve/arguments/ambiguityOnJavaOverride.kt"); } + @Test + @TestMetadata("argParamTypeMismatch.kt") + public void testArgParamTypeMismatch() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/arguments/argParamTypeMismatch.kt"); + } + @Test @TestMetadata("argumentsOfAnnotations.kt") public void testArgumentsOfAnnotations() throws Exception {