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 310d90d8fab..52b7cde86ab 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 @@ -88,6 +88,18 @@ public class Fe10IdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated ex runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/incompleteFor.kt"); } + @Test + @TestMetadata("inferTypeFromGetValueDelegate.kt") + public void testInferTypeFromGetValueDelegate() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegate.kt"); + } + + @Test + @TestMetadata("inferTypeFromGetValueDelegateLibrary.kt") + public void testInferTypeFromGetValueDelegateLibrary() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.kt"); + } + @Test @TestMetadata("overrideProtectedClassReturnFromLibrary.kt") public void testOverrideProtectedClassReturnFromLibrary() 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 d03939528cd..e90cbdb335c 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 @@ -88,6 +88,18 @@ public class FirIdeNormalAnalysisSourceModuleCollectDiagnosticsTestGenerated ext runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/incompleteFor.kt"); } + @Test + @TestMetadata("inferTypeFromGetValueDelegate.kt") + public void testInferTypeFromGetValueDelegate() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegate.kt"); + } + + @Test + @TestMetadata("inferTypeFromGetValueDelegateLibrary.kt") + public void testInferTypeFromGetValueDelegateLibrary() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.kt"); + } + @Test @TestMetadata("overrideProtectedClassReturnFromLibrary.kt") public void testOverrideProtectedClassReturnFromLibrary() 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 9f28497ddb4..7711de1756c 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 @@ -88,6 +88,18 @@ public class FirStandaloneNormalAnalysisSourceModuleCollectDiagnosticsTestGenera runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/incompleteFor.kt"); } + @Test + @TestMetadata("inferTypeFromGetValueDelegate.kt") + public void testInferTypeFromGetValueDelegate() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegate.kt"); + } + + @Test + @TestMetadata("inferTypeFromGetValueDelegateLibrary.kt") + public void testInferTypeFromGetValueDelegateLibrary() throws Exception { + runTest("analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.kt"); + } + @Test @TestMetadata("overrideProtectedClassReturnFromLibrary.kt") public void testOverrideProtectedClassReturnFromLibrary() throws Exception { diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegate.kt b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegate.kt new file mode 100644 index 00000000000..8005a4dd385 --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegate.kt @@ -0,0 +1,12 @@ +import kotlin.reflect.KMutableProperty + +class SimpleVarClass(var constructorVariable: Boolean) { + var memberVariable: Boolean = constructorVariable +} + +fun moreFun(a: KMutableProperty) = a + +fun testMutableProp() { + moreFun(SimpleVarClass::constructorVariable) + moreFun(SimpleVarClass::memberVariable) +} diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegate.txt b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegate.txt new file mode 100644 index 00000000000..9f370a89565 --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegate.txt @@ -0,0 +1 @@ +Diagnostics from elements: diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.kt b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.kt new file mode 100644 index 00000000000..59ec0cb9fb3 --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.kt @@ -0,0 +1,20 @@ +// IGNORE_FE10 +// KT-64503 + +// MODULE: lib +// MODULE_KIND: LibraryBinary +// FILE: Lib.kt +class SimpleVarClass(var constructorVariable: Boolean) { + var memberVariable: Boolean = constructorVariable +} + +// MODULE: main(lib) +// FILE: usage.kt +import kotlin.reflect.KMutableProperty + +fun moreFun(a: KMutableProperty) = a + +fun testMutableProp() { + moreFun(SimpleVarClass::constructorVariable) + moreFun(SimpleVarClass::memberVariable) +} diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.standalone.fir.txt b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.standalone.fir.txt new file mode 100644 index 00000000000..9f370a89565 --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.standalone.fir.txt @@ -0,0 +1 @@ +Diagnostics from elements: diff --git a/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.txt b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.txt new file mode 100644 index 00000000000..071a7299fd8 --- /dev/null +++ b/analysis/analysis-api/testData/components/diagnosticsProvider/diagnostics/inferTypeFromGetValueDelegateLibrary.txt @@ -0,0 +1,7 @@ +Diagnostics from elements: + for PSI element of type KtNameReferenceExpression at (18,29-48) + INAPPLICABLE_CANDIDATE text ranges: [(188,207)] + PSI: KtNameReferenceExpression at (18,29-48) + for PSI element of type KtNameReferenceExpression at (19,29-43) + INAPPLICABLE_CANDIDATE text ranges: [(237,251)] + PSI: KtNameReferenceExpression at (19,29-43)