diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java index 3ad5f6fe20c..ba9439dd4bf 100644 --- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java @@ -88,6 +88,12 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated ext runTest("analysis/analysis-api/testData/symbols/symbolByReference/implicitLambdaParameter.kt"); } + @Test + @TestMetadata("javaField.kt") + public void testJavaField() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt"); + } + @Test @TestMetadata("propertyReceiverParameter.kt") public void testPropertyReceiverParameter() throws Exception { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/scopes/FirIdeNormalAnalysisSourceModuleMemberScopeByFqNameTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/scopes/FirIdeNormalAnalysisSourceModuleMemberScopeByFqNameTestGenerated.java index d5726987f74..db06e3c43bb 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/scopes/FirIdeNormalAnalysisSourceModuleMemberScopeByFqNameTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/scopes/FirIdeNormalAnalysisSourceModuleMemberScopeByFqNameTestGenerated.java @@ -64,6 +64,12 @@ public class FirIdeNormalAnalysisSourceModuleMemberScopeByFqNameTestGenerated ex runTest("analysis/analysis-api/testData/scopes/memberScopeByFqName/Int.kt"); } + @Test + @TestMetadata("javaFieldClash.kt") + public void testJavaFieldClash() throws Exception { + runTest("analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.kt"); + } + @Test @TestMetadata("java.lang.String.kt") public void testJava_lang_String() throws Exception { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java index c38a25b6a86..33c4fe51702 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java @@ -88,6 +88,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte runTest("analysis/analysis-api/testData/symbols/symbolByReference/implicitLambdaParameter.kt"); } + @Test + @TestMetadata("javaField.kt") + public void testJavaField() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt"); + } + @Test @TestMetadata("propertyReceiverParameter.kt") public void testPropertyReceiverParameter() throws Exception { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/scopes/FirStandaloneNormalAnalysisSourceModuleMemberScopeByFqNameTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/scopes/FirStandaloneNormalAnalysisSourceModuleMemberScopeByFqNameTestGenerated.java index 4e97eaa5f99..c47092384a0 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/scopes/FirStandaloneNormalAnalysisSourceModuleMemberScopeByFqNameTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/scopes/FirStandaloneNormalAnalysisSourceModuleMemberScopeByFqNameTestGenerated.java @@ -64,6 +64,12 @@ public class FirStandaloneNormalAnalysisSourceModuleMemberScopeByFqNameTestGener runTest("analysis/analysis-api/testData/scopes/memberScopeByFqName/Int.kt"); } + @Test + @TestMetadata("javaFieldClash.kt") + public void testJavaFieldClash() throws Exception { + runTest("analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.kt"); + } + @Test @TestMetadata("java.lang.String.kt") public void testJava_lang_String() throws Exception { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java index 25b9c389f5c..f94effa16e1 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java @@ -88,6 +88,12 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerat runTest("analysis/analysis-api/testData/symbols/symbolByReference/implicitLambdaParameter.kt"); } + @Test + @TestMetadata("javaField.kt") + public void testJavaField() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt"); + } + @Test @TestMetadata("propertyReceiverParameter.kt") public void testPropertyReceiverParameter() throws Exception { diff --git a/analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.kt b/analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.kt new file mode 100644 index 00000000000..f9f01d3c124 --- /dev/null +++ b/analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.kt @@ -0,0 +1,9 @@ +// class: JavaClass +// DO_NOT_CHECK_SYMBOL_RESTORE +// FILE: main.kt + +// FILE: JavaClass.java +public class JavaClass { + public int field = 1; + public String field = "S"; +} diff --git a/analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.pretty.txt b/analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.pretty.txt new file mode 100644 index 00000000000..631699396e8 --- /dev/null +++ b/analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.pretty.txt @@ -0,0 +1,11 @@ +open var field: kotlin.Int + +open var field: kotlin.String! + +open operator fun equals(other: kotlin.Any?): kotlin.Boolean + +open fun hashCode(): kotlin.Int + +open fun toString(): kotlin.String + +constructor() \ No newline at end of file diff --git a/analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.txt b/analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.txt new file mode 100644 index 00000000000..8eb56f43fe8 --- /dev/null +++ b/analysis/analysis-api/testData/scopes/memberScopeByFqName/javaFieldClash.txt @@ -0,0 +1,156 @@ +KtJavaFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: /JavaClass.field + contextReceivers: [] + isExtension: false + isStatic: false + isVal: false + modality: OPEN + name: field + origin: JAVA + receiverType: null + returnType: kotlin/Int + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): JavaClass + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + +KtJavaFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: /JavaClass.field + contextReceivers: [] + isExtension: false + isStatic: false + isVal: false + modality: OPEN + name: field + origin: JAVA + receiverType: null + returnType: kotlin/String! + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): JavaClass + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + +KtFunctionSymbol: + annotationsList: [] + callableIdIfNonLocal: kotlin/Any.equals + contextReceivers: [] + hasStableParameterNames: true + isBuiltinFunctionInvoke: false + isExtension: false + isExternal: false + isInfix: false + isInline: false + isOperator: true + isOverride: false + isStatic: false + isSuspend: false + modality: OPEN + name: equals + origin: LIBRARY + receiverType: null + returnType: kotlin/Boolean + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: other + origin: LIBRARY + receiverType: null + returnType: kotlin/Any? + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtBinaryModule "Builtins for JVM (1.8)" + deprecationStatus: null + ] + visibility: Public + getDispatchReceiver(): kotlin/Any + getContainingModule: KtBinaryModule "Builtins for JVM (1.8)" + deprecationStatus: null + +KtFunctionSymbol: + annotationsList: [] + callableIdIfNonLocal: kotlin/Any.hashCode + contextReceivers: [] + hasStableParameterNames: true + isBuiltinFunctionInvoke: false + isExtension: false + isExternal: false + isInfix: false + isInline: false + isOperator: false + isOverride: false + isStatic: false + isSuspend: false + modality: OPEN + name: hashCode + origin: LIBRARY + receiverType: null + returnType: kotlin/Int + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): kotlin/Any + getContainingModule: KtBinaryModule "Builtins for JVM (1.8)" + deprecationStatus: null + +KtFunctionSymbol: + annotationsList: [] + callableIdIfNonLocal: kotlin/Any.toString + contextReceivers: [] + hasStableParameterNames: true + isBuiltinFunctionInvoke: false + isExtension: false + isExternal: false + isInfix: false + isInline: false + isOperator: false + isOverride: false + isStatic: false + isSuspend: false + modality: OPEN + name: toString + origin: LIBRARY + receiverType: null + returnType: kotlin/String + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): kotlin/Any + getContainingModule: KtBinaryModule "Builtins for JVM (1.8)" + deprecationStatus: null + +KtConstructorSymbol: + annotationsList: [] + callableIdIfNonLocal: null + containingClassIdIfNonLocal: JavaClass + contextReceivers: [] + hasStableParameterNames: false + isExtension: false + isPrimary: true + origin: JAVA + receiverType: null + returnType: JavaClass + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaField.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByReference/javaField.descriptors.pretty.txt new file mode 100644 index 00000000000..e54bb282da5 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaField.descriptors.pretty.txt @@ -0,0 +1 @@ +var field: kotlin.Int \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaField.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/javaField.descriptors.txt new file mode 100644 index 00000000000..5f2d01f50b6 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaField.descriptors.txt @@ -0,0 +1,18 @@ +KtJavaFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: /JavaClass.field + contextReceivers: [] + isExtension: false + isStatic: false + isVal: false + modality: FINAL + name: field + origin: JAVA + receiverType: null + returnType: kotlin/Int + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): JavaClass + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt b/analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt new file mode 100644 index 00000000000..c565bc2eb8c --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt @@ -0,0 +1,11 @@ +// DO_NOT_CHECK_SYMBOL_RESTORE_K1 +// FILE: main.kt +fun some() { + val jClass = JavaClass() + jClass.field; +} + +// FILE: JavaClass.java +public class JavaClass { + public int field = 1; +} diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaField.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByReference/javaField.pretty.txt new file mode 100644 index 00000000000..8366924abf4 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaField.pretty.txt @@ -0,0 +1 @@ +open var field: kotlin.Int \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaField.txt b/analysis/analysis-api/testData/symbols/symbolByReference/javaField.txt new file mode 100644 index 00000000000..4c33b00b42d --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaField.txt @@ -0,0 +1,18 @@ +KtJavaFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: /JavaClass.field + contextReceivers: [] + isExtension: false + isStatic: false + isVal: false + modality: OPEN + name: field + origin: JAVA + receiverType: null + returnType: kotlin/Int + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): JavaClass + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file