From e3841a1728355b9216ff7fa1ea16e315bbd426a0 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Tue, 19 Dec 2023 19:04:46 +0100 Subject: [PATCH] [Analysis API] add test for duplicated callable during implicit type ^KT-63547 --- ...ModuleCollectDiagnosticsTestGenerated.java | 6 + ...ModuleCollectDiagnosticsTestGenerated.java | 6 + ...ModuleCollectDiagnosticsTestGenerated.java | 6 + ...edCallableWithImplicitType.descriptors.txt | 13 ++ .../duplicatedCallableWithImplicitType.kt | 27 +++ .../duplicatedCallableWithImplicitType.txt | 4 + ...licitTypeFromFunctionWithDuplicatedName.kt | 28 +++ ...icitTypeFromFunctionWithDuplicatedName.txt | 195 ++++++++++++++++++ ...otLazyDeclarationResolveTestGenerated.java | 6 + ...ceLazyDeclarationResolveTestGenerated.java | 6 + 10 files changed, 297 insertions(+) create mode 100644 analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.descriptors.txt create mode 100644 analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.kt create mode 100644 analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.txt create mode 100644 analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.kt create mode 100644 analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.txt diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/diagnosticProvider/Fe10IdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/diagnosticProvider/Fe10IdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java index 87e4d286e4a..98e238eb204 100644 --- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/diagnosticProvider/Fe10IdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/diagnosticProvider/Fe10IdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java @@ -58,6 +58,12 @@ public class Fe10IdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated ex runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/declarationErrors.kt"); } + @Test + @TestMetadata("duplicatedCallableWithImplicitType.kt") + public void testDuplicatedCallableWithImplicitType() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.kt"); + } + @Test @TestMetadata("incompleteDelegation.kt") public void testIncompleteDelegation() throws Exception { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/diagnosticProvider/FirIdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/diagnosticProvider/FirIdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java index 9e63e322fd4..ff99f6ae44f 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/diagnosticProvider/FirIdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/diagnosticProvider/FirIdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java @@ -58,6 +58,12 @@ public class FirIdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated ext runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/declarationErrors.kt"); } + @Test + @TestMetadata("duplicatedCallableWithImplicitType.kt") + public void testDuplicatedCallableWithImplicitType() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.kt"); + } + @Test @TestMetadata("incompleteDelegation.kt") public void testIncompleteDelegation() throws Exception { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/diagnosticProvider/FirStandaloneNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/diagnosticProvider/FirStandaloneNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java index 5f299748861..34bbdd58d4c 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/diagnosticProvider/FirStandaloneNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/diagnosticProvider/FirStandaloneNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated.java @@ -58,6 +58,12 @@ public class FirStandaloneNormalAnalysisSourceModuleCollectDiagnosticsTestGenera runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/declarationErrors.kt"); } + @Test + @TestMetadata("duplicatedCallableWithImplicitType.kt") + public void testDuplicatedCallableWithImplicitType() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.kt"); + } + @Test @TestMetadata("incompleteDelegation.kt") public void testIncompleteDelegation() throws Exception { diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.descriptors.txt b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.descriptors.txt new file mode 100644 index 00000000000..c383bbc5d4c --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.descriptors.txt @@ -0,0 +1,13 @@ +Diagnostics from elements: + for PSI element of type KtCallExpression at (24,20) - (27,2) + TYPE_MISMATCH text ranges: [(98,160)] + PSI: KtCallExpression at (24,20) - (27,2) + for PSI element of type KtLambdaExpression at (24,24) - (27,2) + TYPE_MISMATCH text ranges: [(102,160)] + PSI: KtLambdaExpression at (24,24) - (27,2) + for PSI element of type KtNameReferenceExpression at (25,5-17) + UNRESOLVED_REFERENCE text ranges: [(108,120)] + PSI: KtNameReferenceExpression at (25,5-17) + for PSI element of type KtNameReferenceExpression at (26,5-34) + UNRESOLVED_REFERENCE text ranges: [(127,156)] + PSI: KtNameReferenceExpression at (26,5-34) diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.kt b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.kt new file mode 100644 index 00000000000..f7ad7f26aa2 --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.kt @@ -0,0 +1,27 @@ +// DISABLE_SEALED_INHERITOR_CALCULATOR +// MODULE: lib1 +// FILE: dependency.kt +package usage + +fun implicitType() = 1 + +// MODULE: dep(lib1) +// FILE: annotation.kt +package usage + +fun implicitTypeFromAnotherModule() = implicitType() + +// MODULE: lib2 +// FILE: dependency.kt +package usage + +fun implicitType() = "str" + +// MODULE: main(lib2, dep) +// FILE: usage.kt +package usage + +fun usage(): Int = run { + implicitType() + implicitTypeFromAnotherModule() +} \ No newline at end of file diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.txt b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.txt new file mode 100644 index 00000000000..94a2abfbb76 --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/duplicatedCallableWithImplicitType.txt @@ -0,0 +1,4 @@ +Diagnostics from elements: + for PSI element of type KtCallExpression at (26,5-36) + ARGUMENT_TYPE_MISMATCH text ranges: [(127,158)] + PSI: KtCallExpression at (26,5-36) diff --git a/analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.kt b/analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.kt new file mode 100644 index 00000000000..f4b17659c7f --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.kt @@ -0,0 +1,28 @@ +// SKIP_WHEN_OUT_OF_CONTENT_ROOT +// DISABLE_SEALED_INHERITOR_CALCULATOR +// MODULE: lib1 +// FILE: dependency.kt +package usage + +fun implicitType() = 1 + +// MODULE: dep(lib1) +// FILE: annotation.kt +package usage + +fun implicitTypeFromAnotherModule() = implicitType() + +// MODULE: lib2 +// FILE: dependency.kt +package usage + +fun implicitType() = "str" + +// MODULE: main(lib2, dep) +// FILE: usage.kt +package usage + +fun usage() = run { + implicitType() + implicitTypeFromAnotherModule() +} \ No newline at end of file diff --git a/analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.txt b/analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.txt new file mode 100644 index 00000000000..984402c669b --- /dev/null +++ b/analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.txt @@ -0,0 +1,195 @@ +RAW_FIR: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] annotation.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitTypeFromAnotherModule(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] usage.kt + public? final? [ResolvedTo(RAW_FIR)] fun usage(): { LAZY_BLOCK } + +IMPORTS: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] annotation.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitTypeFromAnotherModule(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public? final? [ResolvedTo(RAW_FIR)] fun usage(): { LAZY_BLOCK } + +COMPILER_REQUIRED_ANNOTATIONS: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] annotation.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitTypeFromAnotherModule(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun usage(): { LAZY_BLOCK } + +COMPANION_GENERATION: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] annotation.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitTypeFromAnotherModule(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public? final? [ResolvedTo(COMPANION_GENERATION)] fun usage(): { LAZY_BLOCK } + +SUPER_TYPES: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] annotation.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitTypeFromAnotherModule(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public? final? [ResolvedTo(SUPER_TYPES)] fun usage(): { LAZY_BLOCK } + +TYPES: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] annotation.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitTypeFromAnotherModule(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public? final? [ResolvedTo(TYPES)] fun usage(): { LAZY_BLOCK } + +STATUS: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] annotation.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitTypeFromAnotherModule(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public final [ResolvedTo(STATUS)] fun usage(): { LAZY_BLOCK } + +EXPECT_ACTUAL_MATCHING: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] annotation.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitTypeFromAnotherModule(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun usage(): { LAZY_BLOCK } + +CONTRACTS: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] annotation.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitTypeFromAnotherModule(): { LAZY_BLOCK } + +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public final [ResolvedTo(CONTRACTS)] fun usage(): { LAZY_BLOCK } + +IMPLICIT_TYPES_BODY_RESOLVE: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] annotation.kt + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun implicitTypeFromAnotherModule(): R|kotlin/String| { + ^implicitTypeFromAnotherModule R|usage/implicitType|() + } + +FILE: [ResolvedTo(IMPORTS)] dependency.kt + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun implicitType(): R|kotlin/String| { + ^implicitType String(str) + } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun usage(): R|kotlin/String| { + ^usage R|kotlin/run|( = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0] run@fun (): R|kotlin/String| { + R|usage/implicitType|() + ^ R|usage/implicitTypeFromAnotherModule|() + } + ) + } + +ANNOTATION_ARGUMENTS: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] annotation.kt + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun implicitTypeFromAnotherModule(): R|kotlin/String| { + ^implicitTypeFromAnotherModule R|usage/implicitType|() + } + +FILE: [ResolvedTo(IMPORTS)] dependency.kt + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun implicitType(): R|kotlin/String| { + ^implicitType String(str) + } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun usage(): R|kotlin/String| { + ^usage R|kotlin/run|( = [ResolvedTo(RAW_FIR)] [MatchingParameterFunctionTypeKey=kotlin/Function0] run@fun (): R|kotlin/String| { + R|usage/implicitType|() + ^ R|usage/implicitTypeFromAnotherModule|() + } + ) + } + +BODY_RESOLVE: +FILE: [ResolvedTo(RAW_FIR)] dependency.kt + public? final? [ResolvedTo(RAW_FIR)] fun implicitType(): { LAZY_BLOCK } + +FILE: [ResolvedTo(IMPORTS)] annotation.kt + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun implicitTypeFromAnotherModule(): R|kotlin/String| { + ^implicitTypeFromAnotherModule R|usage/implicitType|() + } + +FILE: [ResolvedTo(IMPORTS)] dependency.kt + public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun implicitType(): R|kotlin/String| { + ^implicitType String(str) + } + +FILE: [ResolvedTo(IMPORTS)] usage.kt + public final [ResolvedTo(BODY_RESOLVE)] fun usage(): R|kotlin/String| { + ^usage R|kotlin/run|( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function0] run@fun (): R|kotlin/String| { + R|usage/implicitType|() + ^ R|usage/implicitTypeFromAnotherModule|() + } + ) + } + +FILE RAW TO BODY: +FILE: [ResolvedTo(BODY_RESOLVE)] usage.kt + public final [ResolvedTo(BODY_RESOLVE)] fun usage(): R|kotlin/String| { + ^usage R|kotlin/run|( = [ResolvedTo(BODY_RESOLVE)] [MatchingParameterFunctionTypeKey=kotlin/Function0] run@fun (): R|kotlin/String| { + R|usage/implicitType|() + ^ R|usage/implicitTypeFromAnotherModule|() + } + ) + } diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirOutOfContentRootLazyDeclarationResolveTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirOutOfContentRootLazyDeclarationResolveTestGenerated.java index a32951315d1..864da292bd9 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirOutOfContentRootLazyDeclarationResolveTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirOutOfContentRootLazyDeclarationResolveTestGenerated.java @@ -945,6 +945,12 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/hierarchyWithOverrideAndNestedClass3.kt"); } + @Test + @TestMetadata("implicitTypeFromFunctionWithDuplicatedName.kt") + public void testImplicitTypeFromFunctionWithDuplicatedName() throws Exception { + runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.kt"); + } + @Test @TestMetadata("simpleLoopInOverride.kt") public void testSimpleLoopInOverride() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirSourceLazyDeclarationResolveTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirSourceLazyDeclarationResolveTestGenerated.java index 6a54a84c8ac..42a3aa0011a 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirSourceLazyDeclarationResolveTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/FirSourceLazyDeclarationResolveTestGenerated.java @@ -945,6 +945,12 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/hierarchyWithOverrideAndNestedClass3.kt"); } + @Test + @TestMetadata("implicitTypeFromFunctionWithDuplicatedName.kt") + public void testImplicitTypeFromFunctionWithDuplicatedName() throws Exception { + runTest("analysis/low-level-api-fir/testData/lazyResolve/functions/implicitTypeFromFunctionWithDuplicatedName.kt"); + } + @Test @TestMetadata("simpleLoopInOverride.kt") public void testSimpleLoopInOverride() throws Exception {