[AA] Add some tests for synthetic properties
KT-72301
diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveCallTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveCallTestGenerated.java
index ec99371..daefc8e 100644
--- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveCallTestGenerated.java
+++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveCallTestGenerated.java
@@ -3255,6 +3255,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java
index df72592..05368f0 100644
--- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java
+++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java
@@ -3255,6 +3255,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveReferenceTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveReferenceTestGenerated.java
index 0bd30ab..08874a5 100644
--- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveReferenceTestGenerated.java
+++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/components/resolver/Fe10IdeNormalAnalysisSourceModuleResolveReferenceTestGenerated.java
@@ -3255,6 +3255,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeDependentAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeDependentAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java
index bd80962..f5c0d3c 100644
--- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeDependentAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeDependentAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java
@@ -113,6 +113,42 @@
}
@Test
+ @TestMetadata("syntheticProperty.kt")
+ public void testSyntheticProperty() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticProperty.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyJavaOverrideIntersection.kt")
+ public void testSyntheticPropertyJavaOverrideIntersection() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideIntersection.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyJavaOverrideSmartcast.kt")
+ public void testSyntheticPropertyJavaOverrideSmartcast() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideSmartcast.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyKotlinOverrideSmartcast.kt")
+ public void testSyntheticPropertyKotlinOverrideSmartcast() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverrideSmartcast.kt");
+ }
+
+ @Test
@TestMetadata("topLevelFunctionFromInside.kt")
public void testTopLevelFunctionFromInside() {
runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/topLevelFunctionFromInside.kt");
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeNormalAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeNormalAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java
index caf7b13..324962c 100644
--- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeNormalAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirIdeNormalAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java
@@ -113,6 +113,42 @@
}
@Test
+ @TestMetadata("syntheticProperty.kt")
+ public void testSyntheticProperty() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticProperty.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyJavaOverrideIntersection.kt")
+ public void testSyntheticPropertyJavaOverrideIntersection() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideIntersection.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyJavaOverrideSmartcast.kt")
+ public void testSyntheticPropertyJavaOverrideSmartcast() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideSmartcast.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyKotlinOverrideSmartcast.kt")
+ public void testSyntheticPropertyKotlinOverrideSmartcast() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverrideSmartcast.kt");
+ }
+
+ @Test
@TestMetadata("topLevelFunctionFromInside.kt")
public void testTopLevelFunctionFromInside() {
runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/topLevelFunctionFromInside.kt");
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveCallTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveCallTestGenerated.java
index 515c28a..63695cb 100644
--- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveCallTestGenerated.java
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveCallTestGenerated.java
@@ -3133,6 +3133,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveCandidatesTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveCandidatesTestGenerated.java
index d7317c7..6395a86 100644
--- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveCandidatesTestGenerated.java
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveCandidatesTestGenerated.java
@@ -3133,6 +3133,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveReferenceTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveReferenceTestGenerated.java
index 80a3cda..967318a 100644
--- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveReferenceTestGenerated.java
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisLibrarySourceModuleResolveReferenceTestGenerated.java
@@ -3133,6 +3133,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveCallTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveCallTestGenerated.java
index ebccb92..5875091 100644
--- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveCallTestGenerated.java
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveCallTestGenerated.java
@@ -3255,6 +3255,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java
index f303a50..d380526 100644
--- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java
@@ -3255,6 +3255,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveReferenceTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveReferenceTestGenerated.java
index d05980e..b01df26 100644
--- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveReferenceTestGenerated.java
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/resolver/FirIdeNormalAnalysisSourceModuleResolveReferenceTestGenerated.java
@@ -3255,6 +3255,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirStandaloneNormalAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirStandaloneNormalAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java
index 5c69635..f1bede3 100644
--- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirStandaloneNormalAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java
+++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/containingDeclarationProvider/FirStandaloneNormalAnalysisSourceModuleContainingDeclarationProviderByReferenceTestGenerated.java
@@ -113,6 +113,42 @@
}
@Test
+ @TestMetadata("syntheticProperty.kt")
+ public void testSyntheticProperty() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticProperty.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyJavaOverrideIntersection.kt")
+ public void testSyntheticPropertyJavaOverrideIntersection() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideIntersection.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyJavaOverrideSmartcast.kt")
+ public void testSyntheticPropertyJavaOverrideSmartcast() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideSmartcast.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("syntheticPropertyKotlinOverrideSmartcast.kt")
+ public void testSyntheticPropertyKotlinOverrideSmartcast() {
+ runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverrideSmartcast.kt");
+ }
+
+ @Test
@TestMetadata("topLevelFunctionFromInside.kt")
public void testTopLevelFunctionFromInside() {
runTest("analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/topLevelFunctionFromInside.kt");
diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveCallTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveCallTestGenerated.java
index ba9ae45..0bc561b 100644
--- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveCallTestGenerated.java
+++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveCallTestGenerated.java
@@ -3255,6 +3255,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java
index f653914..95937e7 100644
--- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java
+++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveCandidatesTestGenerated.java
@@ -3255,6 +3255,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveReferenceTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveReferenceTestGenerated.java
index 152b638..758e55d 100644
--- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveReferenceTestGenerated.java
+++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/resolver/FirStandaloneNormalAnalysisSourceModuleResolveReferenceTestGenerated.java
@@ -3255,6 +3255,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticProperty.kt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticProperty.kt
new file mode 100644
index 0000000..2d072f8
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticProperty.kt
@@ -0,0 +1,9 @@
+// FILE: J.java
+public abstract class J {
+ public abstract String getString();
+}
+
+// FILE: test.kt
+fun test(j: J) {
+ j.strin<caret>g
+}
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticProperty.txt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticProperty.txt
new file mode 100644
index 0000000..25731a1
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticProperty.txt
@@ -0,0 +1,2 @@
+/J.string
+/J
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverride.kt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverride.kt
new file mode 100644
index 0000000..3db29a0
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverride.kt
@@ -0,0 +1,14 @@
+// FILE: J.java
+public class J extends K {
+ @Override
+ public String getString() { return ""; }
+}
+
+// FILE: test.kt
+abstract class K {
+ abstract val string: String
+}
+
+fun test(j: J) {
+ j.strin<caret>g
+}
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverride.txt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverride.txt
new file mode 100644
index 0000000..25731a1
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverride.txt
@@ -0,0 +1,2 @@
+/J.string
+/J
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideIntersection.kt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideIntersection.kt
new file mode 100644
index 0000000..21a2744
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideIntersection.kt
@@ -0,0 +1,18 @@
+// FILE: J.java
+public class J extends K<String> {
+ @Override
+ public Foo<String> getFoo() { return null; }
+}
+
+// FILE: test.kt
+abstract class K<T> {
+ abstract val foo: Foo<T>
+}
+
+class Foo<T>
+
+fun <T> test(c: K<T>) {
+ if (c is J) {
+ c.fo<caret>o
+ }
+}
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideIntersection.txt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideIntersection.txt
new file mode 100644
index 0000000..c39fbcc
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideIntersection.txt
@@ -0,0 +1,2 @@
+/J.foo
+/J
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideSmartcast.kt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideSmartcast.kt
new file mode 100644
index 0000000..951d4e7
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideSmartcast.kt
@@ -0,0 +1,16 @@
+// FILE: J.java
+public class J extends K {
+ @Override
+ public String getString() { return ""; }
+}
+
+// FILE: test.kt
+abstract class K {
+ abstract val string: String
+}
+
+fun test(c: K) {
+ if (c is J) {
+ c.strin<caret>g
+ }
+}
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideSmartcast.txt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideSmartcast.txt
new file mode 100644
index 0000000..25731a1
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyJavaOverrideSmartcast.txt
@@ -0,0 +1,2 @@
+/J.string
+/J
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverride.kt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverride.kt
new file mode 100644
index 0000000..88d296e
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverride.kt
@@ -0,0 +1,13 @@
+// FILE: J.java
+public abstract class J {
+ public abstract String getString();
+}
+
+// FILE: test.kt
+fun test(k: K) {
+ k.strin<caret>g
+}
+
+class K : J() {
+ override fun getString() = ""
+}
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverride.txt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverride.txt
new file mode 100644
index 0000000..7e6d80f
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverride.txt
@@ -0,0 +1,2 @@
+/K.string
+/K
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverrideSmartcast.kt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverrideSmartcast.kt
new file mode 100644
index 0000000..776485b
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverrideSmartcast.kt
@@ -0,0 +1,15 @@
+// FILE: J.java
+public abstract class J {
+ public abstract String getString();
+}
+
+// FILE: test.kt
+fun test(c: J) {
+ if (c is K) {
+ c.strin<caret>g
+ }
+}
+
+class K : J() {
+ override fun getString() = ""
+}
diff --git a/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverrideSmartcast.txt b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverrideSmartcast.txt
new file mode 100644
index 0000000..7e6d80f
--- /dev/null
+++ b/analysis/analysis-api/testData/components/containingDeclarationProvider/containingDeclarationByReference/syntheticPropertyKotlinOverrideSmartcast.txt
@@ -0,0 +1,2 @@
+/K.string
+/K
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.call.txt
new file mode 100644
index 0000000..6f59256
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.call.txt
@@ -0,0 +1,256 @@
+<caret_1>:
+ KtNameReferenceExpression(147,156): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_2>:
+ KtNameReferenceExpression(172,181): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+
+<caret_3>:
+ KtNameReferenceExpression(200,209): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_4>:
+ KtNameReferenceExpression(229,238): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_5>:
+ KtNameReferenceExpression(257,266): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Write:
+ value = --
+ typeArgumentsMapping = {}
+
+<caret_6>:
+ KtNameReferenceExpression(271,280): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaImplicitReceiverValue:
+ symbol = KaReceiverParameterSymbol:
+ annotations: []
+ callableId: null
+ compilerVisibility: Public
+ contextReceivers: []
+ isActual: false
+ isExpect: false
+ isExtension: false
+ isVal: true
+ location: LOCAL
+ modality: FINAL
+ name: <receiver>
+ origin: SOURCE
+ owningCallableSymbol: KaNamedFunctionSymbol(/foo)
+ receiverParameter: null
+ returnType: KaUsualClassType:
+ annotations: []
+ typeArguments: []
+ type: JavaClass
+ visibility: PUBLIC
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_7>:
+ KtNameReferenceExpression(384,393): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_8>:
+ KtNameReferenceExpression(415,424): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+
+<caret_9>:
+ KtNameReferenceExpression(449,458): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_10>:
+ KtNameReferenceExpression(484,493): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_11>:
+ KtNameReferenceExpression(518,527): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Write:
+ value = --
+ typeArgumentsMapping = {}
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.candidates.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.candidates.txt
new file mode 100644
index 0000000..88e5e58
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.candidates.txt
@@ -0,0 +1,287 @@
+<caret_1>:
+ KtNameReferenceExpression(147,156): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_2>:
+ KtNameReferenceExpression(172,181): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_3>:
+ KtNameReferenceExpression(200,209): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_4>:
+ KtNameReferenceExpression(229,238): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_5>:
+ KtNameReferenceExpression(257,266): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Write:
+ value = --
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_6>:
+ KtNameReferenceExpression(271,280): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaImplicitReceiverValue:
+ symbol = KaReceiverParameterSymbol:
+ annotations: []
+ callableId: null
+ compilerVisibility: Public
+ contextReceivers: []
+ isActual: false
+ isExpect: false
+ isExtension: false
+ isVal: true
+ location: LOCAL
+ modality: FINAL
+ name: <receiver>
+ origin: SOURCE
+ owningCallableSymbol: KaNamedFunctionSymbol(/foo)
+ receiverParameter: null
+ returnType: KaUsualClassType:
+ annotations: []
+ typeArguments: []
+ type: JavaClass
+ visibility: PUBLIC
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_7>:
+ KtNameReferenceExpression(384,393): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = false
+
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_8>:
+ KtNameReferenceExpression(415,424): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_9>:
+ KtNameReferenceExpression(449,458): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_10>:
+ KtNameReferenceExpression(484,493): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_11>:
+ KtNameReferenceExpression(518,527): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Write:
+ value = --
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.descriptors.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.descriptors.call.txt
new file mode 100644
index 0000000..bad2996
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.descriptors.call.txt
@@ -0,0 +1,250 @@
+<caret_1>:
+ KtNameReferenceExpression(147,156): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_2>:
+ KtNameReferenceExpression(172,181): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+
+<caret_3>:
+ KtNameReferenceExpression(200,209): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_4>:
+ KtNameReferenceExpression(229,238): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_5>:
+ KtNameReferenceExpression(257,266): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_6>:
+ KtNameReferenceExpression(271,280): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaImplicitReceiverValue:
+ symbol = KaReceiverParameterSymbol:
+ annotations: []
+ callableId: null
+ compilerVisibility: Local
+ contextReceivers: []
+ isActual: false
+ isExpect: false
+ isExtension: false
+ isVal: true
+ location: LOCAL
+ modality: FINAL
+ name: <receiver>
+ origin: SOURCE
+ owningCallableSymbol: KaNamedFunctionSymbol(/foo)
+ receiverParameter: null
+ returnType: KaUsualClassType:
+ annotations: []
+ typeArguments: []
+ type: JavaClass
+ visibility: LOCAL
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_7>:
+ KtNameReferenceExpression(384,393): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_8>:
+ KtNameReferenceExpression(415,424): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+
+<caret_9>:
+ KtNameReferenceExpression(449,458): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_10>:
+ KtNameReferenceExpression(484,493): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_11>:
+ KtNameReferenceExpression(518,527): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.descriptors.candidates.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.descriptors.candidates.txt
new file mode 100644
index 0000000..a691ca9
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.descriptors.candidates.txt
@@ -0,0 +1,261 @@
+<caret_1>:
+ KtNameReferenceExpression(147,156): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_2>:
+ KtNameReferenceExpression(172,181): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_3>:
+ KtNameReferenceExpression(200,209): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_4>:
+ KtNameReferenceExpression(229,238): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_5>:
+ KtNameReferenceExpression(257,266): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_6>:
+ KtNameReferenceExpression(271,280): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaImplicitReceiverValue:
+ symbol = KaReceiverParameterSymbol:
+ annotations: []
+ callableId: null
+ compilerVisibility: Local
+ contextReceivers: []
+ isActual: false
+ isExpect: false
+ isExtension: false
+ isVal: true
+ location: LOCAL
+ modality: FINAL
+ name: <receiver>
+ origin: SOURCE
+ owningCallableSymbol: KaNamedFunctionSymbol(/foo)
+ receiverParameter: null
+ returnType: KaUsualClassType:
+ annotations: []
+ typeArguments: []
+ type: JavaClass
+ visibility: LOCAL
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /JavaClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_7>:
+ KtNameReferenceExpression(384,393): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_8>:
+ KtNameReferenceExpression(415,424): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_9>:
+ KtNameReferenceExpression(449,458): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_10>:
+ KtNameReferenceExpression(484,493): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_11>:
+ KtNameReferenceExpression(518,527): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.descriptors.references.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.descriptors.references.txt
new file mode 100644
index 0000000..fa4635b
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.descriptors.references.txt
@@ -0,0 +1,112 @@
+<caret_1>:
+ KtNameReferenceExpression(147,156): 'something'
+ KtSimpleNameReference:
+ (in <local>: JavaClass.something) get()
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_2>:
+ KtNameReferenceExpression(172,181): 'something'
+ KtSimpleNameReference:
+ (in <local>: JavaClass.something) set(value: kotlin.Int)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_3>:
+ KtNameReferenceExpression(200,209): 'something'
+ KtSimpleNameReference:
+ 0: (in <local>: JavaClass.something) get()
+ 1: (in <local>: JavaClass.something) set(value: kotlin.Int)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_4>:
+ KtNameReferenceExpression(229,238): 'something'
+ KtSimpleNameReference:
+ 0: (in <local>: JavaClass.something) get()
+ 1: (in <local>: JavaClass.something) set(value: kotlin.Int)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_5>:
+ KtNameReferenceExpression(257,266): 'something'
+ KtSimpleNameReference:
+ 0: (in <local>: JavaClass.something) get()
+ 1: (in <local>: JavaClass.something) set(value: kotlin.Int)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_6>:
+ KtNameReferenceExpression(271,280): 'something'
+ KtSimpleNameReference:
+ 0: (in <local>: JavaClass.something) get()
+ 1: (in <local>: JavaClass.something) set(value: kotlin.Int)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_7>:
+ KtNameReferenceExpression(384,393): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) open var something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_8>:
+ KtNameReferenceExpression(415,424): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) open var something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_9>:
+ KtNameReferenceExpression(449,458): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) open var something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_10>:
+ KtNameReferenceExpression(484,493): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) open var something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_11>:
+ KtNameReferenceExpression(518,527): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) open var something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt
new file mode 100644
index 0000000..45f3d76
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt
@@ -0,0 +1,31 @@
+// FILE: JavaClass.java
+public class JavaClass extends KotlinClass {
+ @Override
+ public int getSomething() { return 1; }
+ @Override
+ public void setSomething(int value) {}
+}
+
+// FILE: main.kt
+open class KotlinClass {
+ open var something: Int = 1
+}
+
+fun JavaClass.foo(javaClass: JavaClass) {
+ print(javaClass.<caret_1>something)
+ javaClass.<caret_2>something = 1
+ javaClass.<caret_3>something += 1
+ javaClass.<caret_4>something++
+ --javaClass.<caret_5>something
+ <caret_6>something++
+}
+
+fun bar(kotlinClass: KotlinClass) {
+ if (kotlinClass is JavaClass) {
+ print(kotlinClass.<caret_7>something)
+ kotlinClass.<caret_8>something = 1
+ kotlinClass.<caret_9>something += 1
+ kotlinClass.<caret_10>something++
+ --kotlinClass.<caret_11>something
+ }
+}
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.references.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.references.txt
new file mode 100644
index 0000000..71ad927
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.references.txt
@@ -0,0 +1,75 @@
+<caret_1>:
+ KtNameReferenceExpression(147,156): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+<caret_2>:
+ KtNameReferenceExpression(172,181): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+<caret_3>:
+ KtNameReferenceExpression(200,209): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+<caret_4>:
+ KtNameReferenceExpression(229,238): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+<caret_5>:
+ KtNameReferenceExpression(257,266): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+<caret_6>:
+ KtNameReferenceExpression(271,280): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+<caret_7>:
+ KtNameReferenceExpression(384,393): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+<caret_8>:
+ KtNameReferenceExpression(415,424): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+<caret_9>:
+ KtNameReferenceExpression(449,458): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+<caret_10>:
+ KtNameReferenceExpression(484,493): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+<caret_11>:
+ KtNameReferenceExpression(518,527): 'something'
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in JavaClass) open var something: kotlin.Int
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.call.txt
new file mode 100644
index 0000000..c3e7740
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.call.txt
@@ -0,0 +1,65 @@
+<caret_1>:
+ KtNameReferenceExpression(192,195): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = @EnhancedNullability Foo<kotlin.String!>
+ symbol = var foo: @EnhancedNullability Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_2>:
+ KtNameReferenceExpression(211,214): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = @EnhancedNullability Foo<kotlin.String!>
+ symbol = var foo: @EnhancedNullability Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Write:
+ value = foo
+ typeArgumentsMapping = {}
+
+<caret_3>:
+ KtNameReferenceExpression(329,332): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass<T>
+ type = it(JavaClass & KotlinClass<T>)
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = @EnhancedNullability Foo<kotlin.String!>
+ symbol = var foo: @EnhancedNullability Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.candidates.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.candidates.txt
new file mode 100644
index 0000000..1d54193
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.candidates.txt
@@ -0,0 +1,88 @@
+<caret_1>:
+ KtNameReferenceExpression(192,195): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = @EnhancedNullability Foo<kotlin.String!>
+ symbol = var foo: @EnhancedNullability Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_2>:
+ KtNameReferenceExpression(211,214): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = @EnhancedNullability Foo<kotlin.String!>
+ symbol = var foo: @EnhancedNullability Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Write:
+ value = foo
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_3>:
+ KtNameReferenceExpression(329,332): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass<T>
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<T>
+ symbol = var foo: Foo<T>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = false
+
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass<T>
+ type = it(JavaClass & KotlinClass<T>)
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = @EnhancedNullability Foo<kotlin.String!>
+ symbol = var foo: @EnhancedNullability Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.descriptors.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.descriptors.call.txt
new file mode 100644
index 0000000..43cd315
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.descriptors.call.txt
@@ -0,0 +1,65 @@
+<caret_1>:
+ KtNameReferenceExpression(192,195): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.String!>
+ symbol = var foo: Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_2>:
+ KtNameReferenceExpression(211,214): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.String!>
+ symbol = var foo: Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Write:
+ value = foo
+ typeArgumentsMapping = {}
+
+<caret_3>:
+ KtNameReferenceExpression(329,332): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass<T>
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.String!>
+ symbol = var foo: Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.descriptors.candidates.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.descriptors.candidates.txt
new file mode 100644
index 0000000..90d8e92
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.descriptors.candidates.txt
@@ -0,0 +1,68 @@
+<caret_1>:
+ KtNameReferenceExpression(192,195): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.String!>
+ symbol = var foo: Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_2>:
+ KtNameReferenceExpression(211,214): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.String!>
+ symbol = var foo: Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Write:
+ value = foo
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_3>:
+ KtNameReferenceExpression(329,332): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass<T>
+ type = JavaClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.String!>
+ symbol = var foo: Foo<kotlin.String!>
+ contextParameters = []
+ callableId = /JavaClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.descriptors.references.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.descriptors.references.txt
new file mode 100644
index 0000000..c90d7ec
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.descriptors.references.txt
@@ -0,0 +1,23 @@
+<caret_1>:
+ KtNameReferenceExpression(192,195): 'foo'
+ KtSimpleNameReference:
+ (in <local>: JavaClass.foo) get()
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_2>:
+ KtNameReferenceExpression(211,214): 'foo'
+ KtSimpleNameReference:
+ (in <local>: JavaClass.foo) set(value: (Foo<kotlin.String!>..Foo<kotlin.String!>?))
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
+
+<caret_3>:
+ KtNameReferenceExpression(329,332): 'foo'
+ KtSimpleNameReference:
+ (in <local>: JavaClass.foo) get()
+
+ SyntheticPropertyAccessorReference:
+ Nothing (Unresolved reference)
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt
new file mode 100644
index 0000000..6d803ff
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt
@@ -0,0 +1,26 @@
+// FILE: JavaClass.java
+public class JavaClass extends KotlinClass<String> {
+ @Override
+ public Foo<String> getFoo() { return null; }
+ @Override
+ public void setFoo(Foo<String> foo) {}
+}
+
+// FILE: main.kt
+abstract class KotlinClass<T> {
+ abstract var foo: Foo<T>
+}
+
+interface Foo<T> {
+}
+
+fun JavaClass.test(javaClass: JavaClass, foo: Foo<String>) {
+ print(javaClass.<caret_1>foo)
+ javaClass.<caret_2>foo = foo
+}
+
+fun <T> bar(kotlinClass: KotlinClass<T>) {
+ if (kotlinClass is JavaClass) {
+ print(kotlinClass.<caret_3>foo)
+ }
+}
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.references.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.references.txt
new file mode 100644
index 0000000..af65479
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.references.txt
@@ -0,0 +1,14 @@
+<caret_1>:
+ KtNameReferenceExpression(192,195): 'foo'
+ KtSimpleNameReference:
+ (in JavaClass) open var foo: Foo<kotlin.String!>
+
+<caret_2>:
+ KtNameReferenceExpression(211,214): 'foo'
+ KtSimpleNameReference:
+ (in JavaClass) open var foo: Foo<kotlin.String!>
+
+<caret_3>:
+ KtNameReferenceExpression(329,332): 'foo'
+ KtSimpleNameReference:
+ (in JavaClass) override var foo: Foo<kotlin.String!>
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.call.txt
new file mode 100644
index 0000000..4eceaf8
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.call.txt
@@ -0,0 +1,256 @@
+<caret_1>:
+ KtNameReferenceExpression(268,277): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_2>:
+ KtNameReferenceExpression(295,304): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+
+<caret_3>:
+ KtNameReferenceExpression(325,334): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_4>:
+ KtNameReferenceExpression(356,365): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_5>:
+ KtNameReferenceExpression(386,395): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = --
+ typeArgumentsMapping = {}
+
+<caret_6>:
+ KtNameReferenceExpression(400,409): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaImplicitReceiverValue:
+ symbol = KaReceiverParameterSymbol:
+ annotations: []
+ callableId: null
+ compilerVisibility: Public
+ contextReceivers: []
+ isActual: false
+ isExpect: false
+ isExtension: false
+ isVal: true
+ location: LOCAL
+ modality: FINAL
+ name: <receiver>
+ origin: SOURCE
+ owningCallableSymbol: KaNamedFunctionSymbol(/foo)
+ receiverParameter: null
+ returnType: KaUsualClassType:
+ annotations: []
+ typeArguments: []
+ type: KotlinClass
+ visibility: PUBLIC
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_7>:
+ KtNameReferenceExpression(507,516): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_8>:
+ KtNameReferenceExpression(536,545): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+
+<caret_9>:
+ KtNameReferenceExpression(568,577): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_10>:
+ KtNameReferenceExpression(601,610): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_11>:
+ KtNameReferenceExpression(633,642): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = --
+ typeArgumentsMapping = {}
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.candidates.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.candidates.txt
new file mode 100644
index 0000000..09827e3
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.candidates.txt
@@ -0,0 +1,267 @@
+<caret_1>:
+ KtNameReferenceExpression(268,277): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_2>:
+ KtNameReferenceExpression(295,304): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_3>:
+ KtNameReferenceExpression(325,334): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_4>:
+ KtNameReferenceExpression(356,365): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_5>:
+ KtNameReferenceExpression(386,395): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = --
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_6>:
+ KtNameReferenceExpression(400,409): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaImplicitReceiverValue:
+ symbol = KaReceiverParameterSymbol:
+ annotations: []
+ callableId: null
+ compilerVisibility: Public
+ contextReceivers: []
+ isActual: false
+ isExpect: false
+ isExtension: false
+ isVal: true
+ location: LOCAL
+ modality: FINAL
+ name: <receiver>
+ origin: SOURCE
+ owningCallableSymbol: KaNamedFunctionSymbol(/foo)
+ receiverParameter: null
+ returnType: KaUsualClassType:
+ annotations: []
+ typeArguments: []
+ type: KotlinClass
+ visibility: PUBLIC
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_7>:
+ KtNameReferenceExpression(507,516): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_8>:
+ KtNameReferenceExpression(536,545): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_9>:
+ KtNameReferenceExpression(568,577): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_10>:
+ KtNameReferenceExpression(601,610): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_11>:
+ KtNameReferenceExpression(633,642): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = --
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.descriptors.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.descriptors.call.txt
new file mode 100644
index 0000000..62426f3
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.descriptors.call.txt
@@ -0,0 +1,260 @@
+<caret_1>:
+ KtNameReferenceExpression(268,277): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_2>:
+ KtNameReferenceExpression(295,304): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+
+<caret_3>:
+ KtNameReferenceExpression(325,334): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_4>:
+ KtNameReferenceExpression(356,365): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_5>:
+ KtNameReferenceExpression(386,395): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_6>:
+ KtNameReferenceExpression(400,409): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaImplicitReceiverValue:
+ symbol = KaReceiverParameterSymbol:
+ annotations: []
+ callableId: null
+ compilerVisibility: Local
+ contextReceivers: []
+ isActual: false
+ isExpect: false
+ isExtension: false
+ isVal: true
+ location: LOCAL
+ modality: FINAL
+ name: <receiver>
+ origin: SOURCE
+ owningCallableSymbol: KaNamedFunctionSymbol(/foo)
+ receiverParameter: null
+ returnType: KaUsualClassType:
+ annotations: []
+ typeArguments: []
+ type: KotlinClass
+ visibility: LOCAL
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_7>:
+ KtNameReferenceExpression(507,516): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_8>:
+ KtNameReferenceExpression(536,545): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+
+<caret_9>:
+ KtNameReferenceExpression(568,577): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_10>:
+ KtNameReferenceExpression(601,610): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_11>:
+ KtNameReferenceExpression(633,642): 'something'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.descriptors.candidates.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.descriptors.candidates.txt
new file mode 100644
index 0000000..42aaa05
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.descriptors.candidates.txt
@@ -0,0 +1,271 @@
+<caret_1>:
+ KtNameReferenceExpression(268,277): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_2>:
+ KtNameReferenceExpression(295,304): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_3>:
+ KtNameReferenceExpression(325,334): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_4>:
+ KtNameReferenceExpression(356,365): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_5>:
+ KtNameReferenceExpression(386,395): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_6>:
+ KtNameReferenceExpression(400,409): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaImplicitReceiverValue:
+ symbol = KaReceiverParameterSymbol:
+ annotations: []
+ callableId: null
+ compilerVisibility: Local
+ contextReceivers: []
+ isActual: false
+ isExpect: false
+ isExtension: false
+ isVal: true
+ location: LOCAL
+ modality: FINAL
+ name: <receiver>
+ origin: SOURCE
+ owningCallableSymbol: KaNamedFunctionSymbol(/foo)
+ receiverParameter: null
+ returnType: KaUsualClassType:
+ annotations: []
+ typeArguments: []
+ type: KotlinClass
+ visibility: LOCAL
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_7>:
+ KtNameReferenceExpression(507,516): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_8>:
+ KtNameReferenceExpression(536,545): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Write:
+ value = 1
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_9>:
+ KtNameReferenceExpression(568,577): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_10>:
+ KtNameReferenceExpression(601,610): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_11>:
+ KtNameReferenceExpression(633,642): 'something'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = something
+ receiverType = null
+ returnType = kotlin.Int
+ symbol = var something: kotlin.Int
+ contextParameters = []
+ callableId = /KotlinClass.something
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.descriptors.references.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.descriptors.references.txt
new file mode 100644
index 0000000..880cc01
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.descriptors.references.txt
@@ -0,0 +1,108 @@
+<caret_1>:
+ KtNameReferenceExpression(268,277): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getSomething(): kotlin.Int
+
+<caret_2>:
+ KtNameReferenceExpression(295,304): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun setSomething(value: kotlin.Int)
+
+<caret_3>:
+ KtNameReferenceExpression(325,334): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getSomething(): kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun setSomething(value: kotlin.Int)
+
+<caret_4>:
+ KtNameReferenceExpression(356,365): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getSomething(): kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun setSomething(value: kotlin.Int)
+
+<caret_5>:
+ KtNameReferenceExpression(386,395): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getSomething(): kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun setSomething(value: kotlin.Int)
+
+<caret_6>:
+ KtNameReferenceExpression(400,409): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getSomething(): kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun setSomething(value: kotlin.Int)
+
+<caret_7>:
+ KtNameReferenceExpression(507,516): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getSomething(): kotlin.Int
+
+<caret_8>:
+ KtNameReferenceExpression(536,545): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun setSomething(value: kotlin.Int)
+
+<caret_9>:
+ KtNameReferenceExpression(568,577): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getSomething(): kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun setSomething(value: kotlin.Int)
+
+<caret_10>:
+ KtNameReferenceExpression(601,610): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getSomething(): kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun setSomething(value: kotlin.Int)
+
+<caret_11>:
+ KtNameReferenceExpression(633,642): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.something: kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getSomething(): kotlin.Int
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun setSomething(value: kotlin.Int)
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt
new file mode 100644
index 0000000..80c1f65
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt
@@ -0,0 +1,35 @@
+// IGNORE_STABILITY_K2: candidates
+
+// FILE: main.kt
+class KotlinClass : JavaClass() {
+ override fun getSomething(): Int {
+ return 2
+ }
+
+ override fun setSomething(value: Int) {}
+}
+
+fun KotlinClass.foo(kotlinClass: KotlinClass) {
+ print(kotlinClass.<caret_1>something)
+ kotlinClass.<caret_2>something = 1
+ kotlinClass.<caret_3>something += 1
+ kotlinClass.<caret_4>something++
+ --kotlinClass.<caret_5>something
+ <caret_6>something++
+}
+
+fun bar(javaClass: JavaClass) {
+ if (javaClass is KotlinClass) {
+ print(javaClass.<caret_7>something)
+ javaClass.<caret_8>something = 1
+ javaClass.<caret_9>something += 1
+ javaClass.<caret_10>something++
+ --javaClass.<caret_11>something
+ }
+}
+
+// FILE: JavaClass.java
+public class JavaClass {
+ public int getSomething() { return 1; }
+ public void setSomething(int value) {}
+}
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.references.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.references.txt
new file mode 100644
index 0000000..e2e7ac0
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.references.txt
@@ -0,0 +1,75 @@
+<caret_1>:
+ KtNameReferenceExpression(268,277): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+<caret_2>:
+ KtNameReferenceExpression(295,304): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+<caret_3>:
+ KtNameReferenceExpression(325,334): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+<caret_4>:
+ KtNameReferenceExpression(356,365): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+<caret_5>:
+ KtNameReferenceExpression(386,395): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+<caret_6>:
+ KtNameReferenceExpression(400,409): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+<caret_7>:
+ KtNameReferenceExpression(507,516): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+<caret_8>:
+ KtNameReferenceExpression(536,545): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+<caret_9>:
+ KtNameReferenceExpression(568,577): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+<caret_10>:
+ KtNameReferenceExpression(601,610): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+<caret_11>:
+ KtNameReferenceExpression(633,642): 'something'
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
+
+ KtSimpleNameReference:
+ (in KotlinClass) override var something: kotlin.Int
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.call.txt
new file mode 100644
index 0000000..2c89091
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.call.txt
@@ -0,0 +1,65 @@
+<caret_1>:
+ KtNameReferenceExpression(309,312): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.Any>
+ symbol = var foo: Foo<kotlin.Any>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_2>:
+ KtNameReferenceExpression(330,333): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.Any>
+ symbol = var foo: Foo<kotlin.Any>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Write:
+ value = foo
+ typeArgumentsMapping = {}
+
+<caret_3>:
+ KtNameReferenceExpression(442,445): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass<T>
+ type = it(KotlinClass & JavaClass<T>)
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = it(Foo<kotlin.Any> & Foo<T!>)
+ symbol = var foo: it(Foo<kotlin.Any> & Foo<T!>)
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.candidates.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.candidates.txt
new file mode 100644
index 0000000..2ba3894
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.candidates.txt
@@ -0,0 +1,68 @@
+<caret_1>:
+ KtNameReferenceExpression(309,312): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.Any>
+ symbol = var foo: Foo<kotlin.Any>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_2>:
+ KtNameReferenceExpression(330,333): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.Any>
+ symbol = var foo: Foo<kotlin.Any>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Write:
+ value = foo
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_3>:
+ KtNameReferenceExpression(442,445): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass<T>
+ type = it(KotlinClass & JavaClass<T>)
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = it(Foo<kotlin.Any> & Foo<T!>)
+ symbol = var foo: it(Foo<kotlin.Any> & Foo<T!>)
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.descriptors.call.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.descriptors.call.txt
new file mode 100644
index 0000000..b1136f7
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.descriptors.call.txt
@@ -0,0 +1,65 @@
+<caret_1>:
+ KtNameReferenceExpression(309,312): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.Any>
+ symbol = var foo: Foo<kotlin.Any>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+
+<caret_2>:
+ KtNameReferenceExpression(330,333): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.Any>
+ symbol = var foo: Foo<kotlin.Any>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Write:
+ value = foo
+ typeArgumentsMapping = {}
+
+<caret_3>:
+ KtNameReferenceExpression(442,445): 'foo'
+ KaSuccessCallInfo:
+ call = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass<T>
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.Any>
+ symbol = var foo: Foo<kotlin.Any>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.descriptors.candidates.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.descriptors.candidates.txt
new file mode 100644
index 0000000..0c6fec4
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.descriptors.candidates.txt
@@ -0,0 +1,68 @@
+<caret_1>:
+ KtNameReferenceExpression(309,312): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.Any>
+ symbol = var foo: Foo<kotlin.Any>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_2>:
+ KtNameReferenceExpression(330,333): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaExplicitReceiverValue:
+ expression = kotlinClass
+ isSafeNavigation = false
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.Any>
+ symbol = var foo: Foo<kotlin.Any>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Write:
+ value = foo
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
+
+<caret_3>:
+ KtNameReferenceExpression(442,445): 'foo'
+ KaApplicableCallCandidateInfo:
+ candidate = KaSimpleVariableAccessCall:
+ partiallyAppliedSymbol = KaPartiallyAppliedSymbol:
+ contextArguments = []
+ dispatchReceiver = KaSmartCastedReceiverValue:
+ original = KaExplicitReceiverValue:
+ expression = javaClass
+ isSafeNavigation = false
+ type = JavaClass<T>
+ type = KotlinClass
+ extensionReceiver = null
+ signature = KaVariableSignature:
+ name = foo
+ receiverType = null
+ returnType = Foo<kotlin.Any>
+ symbol = var foo: Foo<kotlin.Any>
+ contextParameters = []
+ callableId = /KotlinClass.foo
+ simpleAccess = Read
+ typeArgumentsMapping = {}
+ isInBestCandidates = true
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.descriptors.references.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.descriptors.references.txt
new file mode 100644
index 0000000..8fec211
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.descriptors.references.txt
@@ -0,0 +1,23 @@
+<caret_1>:
+ KtNameReferenceExpression(309,312): 'foo'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.foo: Foo<kotlin.Any>
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getFoo(): Foo<kotlin.Any>
+
+<caret_2>:
+ KtNameReferenceExpression(330,333): 'foo'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.foo: Foo<kotlin.Any>
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun setFoo(foo: Foo<kotlin.Any>)
+
+<caret_3>:
+ KtNameReferenceExpression(442,445): 'foo'
+ KtSimpleNameReference:
+ (in KotlinClass) var KotlinClass.foo: Foo<kotlin.Any>
+
+ SyntheticPropertyAccessorReference:
+ (in KotlinClass) override fun getFoo(): Foo<kotlin.Any>
\ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt
new file mode 100644
index 0000000..420a4aa
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt
@@ -0,0 +1,32 @@
+// IGNORE_STABILITY_K2: candidates
+
+// FILE: main.kt
+class KotlinClass : JavaClass<Any>() {
+ override fun getFoo(): Foo<Any> {
+ TODO("Not yet implemented")
+ }
+
+ override fun setFoo(foo: Foo<Any>) {
+ }
+}
+
+fun KotlinClass.test(kotlinClass: KotlinClass, foo: Foo<Any>) {
+ print(kotlinClass.<caret_1>foo)
+ kotlinClass.<caret_2>foo = foo
+}
+
+fun <T> bar(javaClass: JavaClass<T>) {
+ if (javaClass is KotlinClass) {
+ print(javaClass.<caret_3>foo)
+ }
+}
+
+// FILE: JavaClass.java
+public abstract class JavaClass<T> {
+ public abstract Foo<T> getFoo();
+ public abstract void setFoo(Foo<T> foo);
+}
+
+// FILE: Foo.java
+public interface Foo<T> {
+}
diff --git a/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.references.txt b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.references.txt
new file mode 100644
index 0000000..20806d4
--- /dev/null
+++ b/analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.references.txt
@@ -0,0 +1,14 @@
+<caret_1>:
+ KtNameReferenceExpression(309,312): 'foo'
+ KtSimpleNameReference:
+ (in KotlinClass) override var foo: Foo<kotlin.Any>
+
+<caret_2>:
+ KtNameReferenceExpression(330,333): 'foo'
+ KtSimpleNameReference:
+ (in KotlinClass) override var foo: Foo<kotlin.Any>
+
+<caret_3>:
+ KtNameReferenceExpression(442,445): 'foo'
+ KtSimpleNameReference:
+ (in KotlinClass) override var foo: Foo<kotlin.Any> & Foo<T!>
\ No newline at end of file
diff --git a/analysis/low-level-api-fir/tests-gen/org/jetbrains/kotlin/analysis/low/level/api/fir/resolve/SourceResolveCandidatesFirTreeConsistencyTestGenerated.java b/analysis/low-level-api-fir/tests-gen/org/jetbrains/kotlin/analysis/low/level/api/fir/resolve/SourceResolveCandidatesFirTreeConsistencyTestGenerated.java
index 69a0b77..341ac46 100644
--- a/analysis/low-level-api-fir/tests-gen/org/jetbrains/kotlin/analysis/low/level/api/fir/resolve/SourceResolveCandidatesFirTreeConsistencyTestGenerated.java
+++ b/analysis/low-level-api-fir/tests-gen/org/jetbrains/kotlin/analysis/low/level/api/fir/resolve/SourceResolveCandidatesFirTreeConsistencyTestGenerated.java
@@ -3233,6 +3233,30 @@
runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticProperty.kt");
}
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverride.kt")
+ public void testSyntheticPropertyJavaOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyJavaOverrideGeneric.kt")
+ public void testSyntheticPropertyJavaOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyJavaOverrideGeneric.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverride.kt")
+ public void testSyntheticPropertyKotlinOverride() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverride.kt");
+ }
+
+ @Test
+ @TestMetadata("SyntheticPropertyKotlinOverrideGeneric.kt")
+ public void testSyntheticPropertyKotlinOverrideGeneric() {
+ runTest("analysis/analysis-api/testData/components/resolver/singleByPsi/java/SyntheticPropertyKotlinOverrideGeneric.kt");
+ }
+
@Nested
@TestMetadata("analysis/analysis-api/testData/components/resolver/singleByPsi/java/enumWithCustomGetName")
@TestDataPath("$PROJECT_ROOT")