summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Pennekamp <marco.pennekamp@jetbrains.com>2023-09-13 21:15:01 +0200
committerSpace Team <noreply@jetbrains.team>2023-10-10 13:38:00 +0000
commit21efd6aff318d41b0d74460773833932a061fa6a (patch)
tree614e535dd6bf907c1b9c2e5902222ff5e6c930f6
parent4ba0aef23bdc68f124c427ce5f319a100e45ec51 (diff)
downloadkotlin-21efd6aff318d41b0d74460773833932a061fa6a.tar.gz
[AA] Add tests for *static* (declared) member scopes
^KT-61900 ^KT-61800
-rw-r--r--analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisScriptSourceModuleStaticDeclaredMemberScopeTestGenerated.java48
-rw-r--r--analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisScriptSourceModuleStaticMemberScopeTestGenerated.java48
-rw-r--r--analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisSourceModuleStaticDeclaredMemberScopeTestGenerated.java72
-rw-r--r--analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisSourceModuleStaticMemberScopeTestGenerated.java72
-rw-r--r--analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeTests.kt10
-rw-r--r--analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/scopeProvider/FirStandaloneNormalAnalysisSourceModuleStaticDeclaredMemberScopeTestGenerated.java72
-rw-r--r--analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/scopeProvider/FirStandaloneNormalAnalysisSourceModuleStaticMemberScopeTestGenerated.java72
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.kt31
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.pretty.txt5
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.txt86
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.kt35
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.pretty.txt5
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.txt86
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.kt10
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.pretty.txt9
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.txt200
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.kt38
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.pretty.txt3
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.txt51
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.kt31
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.pretty.txt5
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.txt86
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.kt37
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.pretty.txt5
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.txt86
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.kt10
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.pretty.txt9
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.txt200
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.kt50
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.pretty.txt9
-rw-r--r--analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.txt132
-rw-r--r--generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/analysisApi.kt14
32 files changed, 1627 insertions, 0 deletions
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisScriptSourceModuleStaticDeclaredMemberScopeTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisScriptSourceModuleStaticDeclaredMemberScopeTestGenerated.java
new file mode 100644
index 00000000000..890bcacfddb
--- /dev/null
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisScriptSourceModuleStaticDeclaredMemberScopeTestGenerated.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.analysis.api.fir.test.cases.generated.cases.components.scopeProvider;
+
+import com.intellij.testFramework.TestDataPath;
+import org.jetbrains.kotlin.test.util.KtTestUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.kotlin.analysis.api.fir.test.configurators.AnalysisApiFirTestConfiguratorFactory;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfiguratorFactoryData;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.TestModuleKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.FrontendKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisSessionMode;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiMode;
+import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.scopeProvider.AbstractStaticDeclaredMemberScopeTest;
+import org.jetbrains.kotlin.test.TestMetadata;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.util.regex.Pattern;
+
+/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
+@SuppressWarnings("all")
+@TestMetadata("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope")
+@TestDataPath("$PROJECT_ROOT")
+public class FirIdeNormalAnalysisScriptSourceModuleStaticDeclaredMemberScopeTestGenerated extends AbstractStaticDeclaredMemberScopeTest {
+ @NotNull
+ @Override
+ public AnalysisApiTestConfigurator getConfigurator() {
+ return AnalysisApiFirTestConfiguratorFactory.INSTANCE.createConfigurator(
+ new AnalysisApiTestConfiguratorFactoryData(
+ FrontendKind.Fir,
+ TestModuleKind.ScriptSource,
+ AnalysisSessionMode.Normal,
+ AnalysisApiMode.Ide
+ )
+ );
+ }
+
+ @Test
+ public void testAllFilesPresentInStaticDeclaredMemberScope() throws Exception {
+ KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope"), Pattern.compile("^(.+)\\.kts$"), null, true);
+ }
+}
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisScriptSourceModuleStaticMemberScopeTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisScriptSourceModuleStaticMemberScopeTestGenerated.java
new file mode 100644
index 00000000000..cfbae5716da
--- /dev/null
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisScriptSourceModuleStaticMemberScopeTestGenerated.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.analysis.api.fir.test.cases.generated.cases.components.scopeProvider;
+
+import com.intellij.testFramework.TestDataPath;
+import org.jetbrains.kotlin.test.util.KtTestUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.kotlin.analysis.api.fir.test.configurators.AnalysisApiFirTestConfiguratorFactory;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfiguratorFactoryData;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.TestModuleKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.FrontendKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisSessionMode;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiMode;
+import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.scopeProvider.AbstractStaticMemberScopeTest;
+import org.jetbrains.kotlin.test.TestMetadata;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.util.regex.Pattern;
+
+/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
+@SuppressWarnings("all")
+@TestMetadata("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope")
+@TestDataPath("$PROJECT_ROOT")
+public class FirIdeNormalAnalysisScriptSourceModuleStaticMemberScopeTestGenerated extends AbstractStaticMemberScopeTest {
+ @NotNull
+ @Override
+ public AnalysisApiTestConfigurator getConfigurator() {
+ return AnalysisApiFirTestConfiguratorFactory.INSTANCE.createConfigurator(
+ new AnalysisApiTestConfiguratorFactoryData(
+ FrontendKind.Fir,
+ TestModuleKind.ScriptSource,
+ AnalysisSessionMode.Normal,
+ AnalysisApiMode.Ide
+ )
+ );
+ }
+
+ @Test
+ public void testAllFilesPresentInStaticMemberScope() throws Exception {
+ KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope"), Pattern.compile("^(.+)\\.kts$"), null, true);
+ }
+}
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisSourceModuleStaticDeclaredMemberScopeTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisSourceModuleStaticDeclaredMemberScopeTestGenerated.java
new file mode 100644
index 00000000000..31255039ed2
--- /dev/null
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisSourceModuleStaticDeclaredMemberScopeTestGenerated.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.analysis.api.fir.test.cases.generated.cases.components.scopeProvider;
+
+import com.intellij.testFramework.TestDataPath;
+import org.jetbrains.kotlin.test.util.KtTestUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.kotlin.analysis.api.fir.test.configurators.AnalysisApiFirTestConfiguratorFactory;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfiguratorFactoryData;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.TestModuleKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.FrontendKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisSessionMode;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiMode;
+import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.scopeProvider.AbstractStaticDeclaredMemberScopeTest;
+import org.jetbrains.kotlin.test.TestMetadata;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.util.regex.Pattern;
+
+/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
+@SuppressWarnings("all")
+@TestMetadata("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope")
+@TestDataPath("$PROJECT_ROOT")
+public class FirIdeNormalAnalysisSourceModuleStaticDeclaredMemberScopeTestGenerated extends AbstractStaticDeclaredMemberScopeTest {
+ @NotNull
+ @Override
+ public AnalysisApiTestConfigurator getConfigurator() {
+ return AnalysisApiFirTestConfiguratorFactory.INSTANCE.createConfigurator(
+ new AnalysisApiTestConfiguratorFactoryData(
+ FrontendKind.Fir,
+ TestModuleKind.Source,
+ AnalysisSessionMode.Normal,
+ AnalysisApiMode.Ide
+ )
+ );
+ }
+
+ @Test
+ public void testAllFilesPresentInStaticDeclaredMemberScope() throws Exception {
+ KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope"), Pattern.compile("^(.+)\\.kt$"), null, true);
+ }
+
+ @Test
+ @TestMetadata("class.kt")
+ public void testClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.kt");
+ }
+
+ @Test
+ @TestMetadata("classWithJavaSuperclass.kt")
+ public void testClassWithJavaSuperclass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.kt");
+ }
+
+ @Test
+ @TestMetadata("enumClass.kt")
+ public void testEnumClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.kt");
+ }
+
+ @Test
+ @TestMetadata("javaClass.kt")
+ public void testJavaClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.kt");
+ }
+}
diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisSourceModuleStaticMemberScopeTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisSourceModuleStaticMemberScopeTestGenerated.java
new file mode 100644
index 00000000000..dc5e2c5b604
--- /dev/null
+++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/scopeProvider/FirIdeNormalAnalysisSourceModuleStaticMemberScopeTestGenerated.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.analysis.api.fir.test.cases.generated.cases.components.scopeProvider;
+
+import com.intellij.testFramework.TestDataPath;
+import org.jetbrains.kotlin.test.util.KtTestUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.kotlin.analysis.api.fir.test.configurators.AnalysisApiFirTestConfiguratorFactory;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfiguratorFactoryData;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.TestModuleKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.FrontendKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisSessionMode;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiMode;
+import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.scopeProvider.AbstractStaticMemberScopeTest;
+import org.jetbrains.kotlin.test.TestMetadata;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.util.regex.Pattern;
+
+/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
+@SuppressWarnings("all")
+@TestMetadata("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope")
+@TestDataPath("$PROJECT_ROOT")
+public class FirIdeNormalAnalysisSourceModuleStaticMemberScopeTestGenerated extends AbstractStaticMemberScopeTest {
+ @NotNull
+ @Override
+ public AnalysisApiTestConfigurator getConfigurator() {
+ return AnalysisApiFirTestConfiguratorFactory.INSTANCE.createConfigurator(
+ new AnalysisApiTestConfiguratorFactoryData(
+ FrontendKind.Fir,
+ TestModuleKind.Source,
+ AnalysisSessionMode.Normal,
+ AnalysisApiMode.Ide
+ )
+ );
+ }
+
+ @Test
+ public void testAllFilesPresentInStaticMemberScope() throws Exception {
+ KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope"), Pattern.compile("^(.+)\\.kt$"), null, true);
+ }
+
+ @Test
+ @TestMetadata("class.kt")
+ public void testClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.kt");
+ }
+
+ @Test
+ @TestMetadata("classWithJavaSuperclass.kt")
+ public void testClassWithJavaSuperclass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.kt");
+ }
+
+ @Test
+ @TestMetadata("enumClass.kt")
+ public void testEnumClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.kt");
+ }
+
+ @Test
+ @TestMetadata("javaClass.kt")
+ public void testJavaClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.kt");
+ }
+}
diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeTests.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeTests.kt
index ee44f6f0290..93062256076 100644
--- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeTests.kt
+++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeTests.kt
@@ -32,11 +32,21 @@ abstract class AbstractMemberScopeByFqNameTest : AbstractMemberScopeTestBase() {
override fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence<KtDeclarationSymbol> = getMemberScope().getAllSymbols()
}
+abstract class AbstractStaticMemberScopeTest : AbstractMemberScopeTestBase() {
+ context(KtAnalysisSession)
+ override fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence<KtDeclarationSymbol> = getStaticMemberScope().getAllSymbols()
+}
+
abstract class AbstractDeclaredMemberScopeTest : AbstractMemberScopeTestBase() {
context(KtAnalysisSession)
override fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence<KtDeclarationSymbol> = getDeclaredMemberScope().getAllSymbols()
}
+abstract class AbstractStaticDeclaredMemberScopeTest : AbstractMemberScopeTestBase() {
+ context(KtAnalysisSession)
+ override fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence<KtDeclarationSymbol> = getStaticDeclaredMemberScope().getAllSymbols()
+}
+
abstract class AbstractDelegateMemberScopeTest : AbstractMemberScopeTestBase() {
context(KtAnalysisSession)
override fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence<KtDeclarationSymbol> = getDelegatedMemberScope().getCallableSymbols()
diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/scopeProvider/FirStandaloneNormalAnalysisSourceModuleStaticDeclaredMemberScopeTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/scopeProvider/FirStandaloneNormalAnalysisSourceModuleStaticDeclaredMemberScopeTestGenerated.java
new file mode 100644
index 00000000000..542d03f8347
--- /dev/null
+++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/scopeProvider/FirStandaloneNormalAnalysisSourceModuleStaticDeclaredMemberScopeTestGenerated.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.analysis.api.standalone.fir.test.cases.generated.cases.components.scopeProvider;
+
+import com.intellij.testFramework.TestDataPath;
+import org.jetbrains.kotlin.test.util.KtTestUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.kotlin.analysis.api.standalone.fir.test.AnalysisApiFirStandaloneModeTestConfiguratorFactory;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfiguratorFactoryData;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.TestModuleKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.FrontendKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisSessionMode;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiMode;
+import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.scopeProvider.AbstractStaticDeclaredMemberScopeTest;
+import org.jetbrains.kotlin.test.TestMetadata;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.util.regex.Pattern;
+
+/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
+@SuppressWarnings("all")
+@TestMetadata("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope")
+@TestDataPath("$PROJECT_ROOT")
+public class FirStandaloneNormalAnalysisSourceModuleStaticDeclaredMemberScopeTestGenerated extends AbstractStaticDeclaredMemberScopeTest {
+ @NotNull
+ @Override
+ public AnalysisApiTestConfigurator getConfigurator() {
+ return AnalysisApiFirStandaloneModeTestConfiguratorFactory.INSTANCE.createConfigurator(
+ new AnalysisApiTestConfiguratorFactoryData(
+ FrontendKind.Fir,
+ TestModuleKind.Source,
+ AnalysisSessionMode.Normal,
+ AnalysisApiMode.Standalone
+ )
+ );
+ }
+
+ @Test
+ public void testAllFilesPresentInStaticDeclaredMemberScope() throws Exception {
+ KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope"), Pattern.compile("^(.+)\\.kt$"), null, true);
+ }
+
+ @Test
+ @TestMetadata("class.kt")
+ public void testClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.kt");
+ }
+
+ @Test
+ @TestMetadata("classWithJavaSuperclass.kt")
+ public void testClassWithJavaSuperclass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.kt");
+ }
+
+ @Test
+ @TestMetadata("enumClass.kt")
+ public void testEnumClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.kt");
+ }
+
+ @Test
+ @TestMetadata("javaClass.kt")
+ public void testJavaClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.kt");
+ }
+}
diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/scopeProvider/FirStandaloneNormalAnalysisSourceModuleStaticMemberScopeTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/scopeProvider/FirStandaloneNormalAnalysisSourceModuleStaticMemberScopeTestGenerated.java
new file mode 100644
index 00000000000..6584c108295
--- /dev/null
+++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/components/scopeProvider/FirStandaloneNormalAnalysisSourceModuleStaticMemberScopeTestGenerated.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.analysis.api.standalone.fir.test.cases.generated.cases.components.scopeProvider;
+
+import com.intellij.testFramework.TestDataPath;
+import org.jetbrains.kotlin.test.util.KtTestUtil;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.kotlin.analysis.api.standalone.fir.test.AnalysisApiFirStandaloneModeTestConfiguratorFactory;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfiguratorFactoryData;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.TestModuleKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.FrontendKind;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisSessionMode;
+import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiMode;
+import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.scopeProvider.AbstractStaticMemberScopeTest;
+import org.jetbrains.kotlin.test.TestMetadata;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.io.File;
+import java.util.regex.Pattern;
+
+/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
+@SuppressWarnings("all")
+@TestMetadata("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope")
+@TestDataPath("$PROJECT_ROOT")
+public class FirStandaloneNormalAnalysisSourceModuleStaticMemberScopeTestGenerated extends AbstractStaticMemberScopeTest {
+ @NotNull
+ @Override
+ public AnalysisApiTestConfigurator getConfigurator() {
+ return AnalysisApiFirStandaloneModeTestConfiguratorFactory.INSTANCE.createConfigurator(
+ new AnalysisApiTestConfiguratorFactoryData(
+ FrontendKind.Fir,
+ TestModuleKind.Source,
+ AnalysisSessionMode.Normal,
+ AnalysisApiMode.Standalone
+ )
+ );
+ }
+
+ @Test
+ public void testAllFilesPresentInStaticMemberScope() throws Exception {
+ KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope"), Pattern.compile("^(.+)\\.kt$"), null, true);
+ }
+
+ @Test
+ @TestMetadata("class.kt")
+ public void testClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.kt");
+ }
+
+ @Test
+ @TestMetadata("classWithJavaSuperclass.kt")
+ public void testClassWithJavaSuperclass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.kt");
+ }
+
+ @Test
+ @TestMetadata("enumClass.kt")
+ public void testEnumClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.kt");
+ }
+
+ @Test
+ @TestMetadata("javaClass.kt")
+ public void testJavaClass() throws Exception {
+ runTest("analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.kt");
+ }
+}
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.kt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.kt
new file mode 100644
index 00000000000..84cb02bfc49
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.kt
@@ -0,0 +1,31 @@
+package test
+
+abstract class A {
+ fun perform() { }
+
+ val x: Int = 0
+
+ class C1
+
+ object O1
+
+ companion object {
+ val y: Int = 0
+ }
+}
+
+class C : A() {
+ fun foo(): Int = 5
+
+ val bar: String = ""
+
+ class C2
+
+ object O2
+
+ companion object {
+ val baz: String = ""
+ }
+}
+
+// class: test/C
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.pretty.txt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.pretty.txt
new file mode 100644
index 00000000000..0d6079e3c27
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.pretty.txt
@@ -0,0 +1,5 @@
+class C2
+
+object O2
+
+companion object
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.txt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.txt
new file mode 100644
index 00000000000..4da0d3d56c4
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/class.txt
@@ -0,0 +1,86 @@
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/C.C2
+ classKind: CLASS
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: C2
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
+
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/C.O2
+ classKind: OBJECT
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: O2
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
+
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/C.Companion
+ classKind: COMPANION_OBJECT
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: Companion
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.kt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.kt
new file mode 100644
index 00000000000..aafd74379b4
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.kt
@@ -0,0 +1,35 @@
+// class: test/KotlinClass
+// FILE: JavaClass.java
+package test
+
+public abstract class JavaClass {
+ public void perform() {
+ }
+
+ public int x = 0;
+
+ public static void hello() {
+ }
+
+ public static int y = 1;
+
+ public class C1 {
+ }
+}
+
+// FILE: KotlinClass.kt
+package test
+
+class KotlinClass : JavaClass() {
+ fun foo(): Int = 5
+
+ val bar: String = ""
+
+ class C2
+
+ object O2
+
+ companion object {
+ val baz: String = ""
+ }
+}
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.pretty.txt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.pretty.txt
new file mode 100644
index 00000000000..0d6079e3c27
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.pretty.txt
@@ -0,0 +1,5 @@
+class C2
+
+object O2
+
+companion object
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.txt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.txt
new file mode 100644
index 00000000000..23b6affde24
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/classWithJavaSuperclass.txt
@@ -0,0 +1,86 @@
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/KotlinClass.C2
+ classKind: CLASS
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: C2
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
+
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/KotlinClass.O2
+ classKind: OBJECT
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: O2
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
+
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/KotlinClass.Companion
+ classKind: COMPANION_OBJECT
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: Companion
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.kt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.kt
new file mode 100644
index 00000000000..441beb5821b
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.kt
@@ -0,0 +1,10 @@
+package test
+
+enum class E {
+ A {
+ val x: String = ""
+ },
+ B
+}
+
+// class: test/E
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.pretty.txt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.pretty.txt
new file mode 100644
index 00000000000..e6881708552
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.pretty.txt
@@ -0,0 +1,9 @@
+A
+
+B
+
+fun values(): kotlin.Array<test.E>
+
+fun valueOf(value: kotlin.String): test.E
+
+val entries: kotlin.enums.EnumEntries<test.E>
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.txt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.txt
new file mode 100644
index 00000000000..00c5a97e119
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/enumClass.txt
@@ -0,0 +1,200 @@
+KtEnumEntrySymbol:
+ annotationsList: []
+ callableIdIfNonLocal: test/E.A
+ containingEnumClassIdIfNonLocal: test/E
+ contextReceivers: []
+ enumEntryInitializer: KtAnonymousObjectSymbol(<local>/<no name provided>)
+ isExtension: false
+ name: A
+ origin: SOURCE
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtEnumEntrySymbol:
+ annotationsList: []
+ callableIdIfNonLocal: test/E.B
+ containingEnumClassIdIfNonLocal: test/E
+ contextReceivers: []
+ enumEntryInitializer: null
+ isExtension: false
+ name: B
+ origin: SOURCE
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtFunctionSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: test/E.values
+ contextReceivers: []
+ contractEffects: []
+ hasStableParameterNames: true
+ isActual: false
+ isBuiltinFunctionInvoke: false
+ isExpect: false
+ isExtension: false
+ isExternal: false
+ isInfix: false
+ isInline: false
+ isOperator: false
+ isOverride: false
+ isStatic: true
+ isSuspend: false
+ modality: FINAL
+ name: values
+ origin: SOURCE_MEMBER_GENERATED
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ ]
+ type: kotlin/Array<test/E>
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ valueParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtFunctionSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: test/E.valueOf
+ contextReceivers: []
+ contractEffects: []
+ hasStableParameterNames: true
+ isActual: false
+ isBuiltinFunctionInvoke: false
+ isExpect: false
+ isExtension: false
+ isExternal: false
+ isInfix: false
+ isInline: false
+ isOperator: false
+ isOverride: false
+ isStatic: true
+ isSuspend: false
+ modality: FINAL
+ name: valueOf
+ origin: SOURCE_MEMBER_GENERATED
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ 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: value
+ origin: SOURCE_MEMBER_GENERATED
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/String
+ symbolKind: LOCAL
+ typeParameters: []
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+ ]
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtKotlinPropertySymbol:
+ annotationsList: []
+ backingFieldSymbol: null
+ callableIdIfNonLocal: test/E.entries
+ contextReceivers: []
+ getter: KtPropertyGetterSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: null
+ contextReceivers: []
+ hasBody: false
+ hasStableParameterNames: true
+ isDefault: true
+ isExtension: false
+ isInline: false
+ isOverride: false
+ modality: FINAL
+ origin: SOURCE_MEMBER_GENERATED
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ ]
+ type: kotlin/enums/EnumEntries<test/E>
+ symbolKind: ACCESSOR
+ typeParameters: []
+ valueParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+ hasBackingField: false
+ hasGetter: true
+ hasSetter: false
+ initializer: null
+ isActual: false
+ isConst: false
+ isDelegatedProperty: false
+ isExpect: false
+ isExtension: false
+ isFromPrimaryConstructor: false
+ isLateInit: false
+ isOverride: false
+ isStatic: true
+ isVal: true
+ modality: FINAL
+ name: entries
+ origin: SOURCE_MEMBER_GENERATED
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ ]
+ type: kotlin/enums/EnumEntries<test/E>
+ setter: null
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+ getterDeprecationStatus: null
+ javaGetterName: getEntries
+ javaSetterName: null
+ setterDeprecationStatus: null
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.kt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.kt
new file mode 100644
index 00000000000..3e7577c221b
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.kt
@@ -0,0 +1,38 @@
+// class: JavaClass
+// FILE: main.kt
+
+// FILE: SuperInterface.java
+public interface SuperInterface {
+ public int getActualRandomNumber();
+
+ public static int getRandomNumber() {
+ return 3; // Decided by a fair dice roll.
+ }
+}
+
+// FILE: SuperClass.java
+public abstract class SuperClass implements SuperInterface {
+ @Override
+ public int getActualRandomNumber() {
+ return getRandomNumber();
+ }
+
+ public static int superFoo = 5;
+
+ public static String superBar() {
+ return "superBar";
+ }
+}
+
+// FILE: JavaClass.java
+public class JavaClass extends SuperClass {
+ public static int foo = 1;
+
+ public static String bar() {
+ return "bar";
+ }
+
+ public void hello() {
+ System.out.println("hello");
+ }
+}
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.pretty.txt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.pretty.txt
new file mode 100644
index 00000000000..f93ecd8f1c1
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.pretty.txt
@@ -0,0 +1,3 @@
+open var foo: kotlin.Int
+
+open fun bar(): kotlin.String! \ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.txt b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.txt
new file mode 100644
index 00000000000..953ab3728aa
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticDeclaredMemberScope/javaClass.txt
@@ -0,0 +1,51 @@
+KtJavaFieldSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: /JavaClass.foo
+ contextReceivers: []
+ isExtension: false
+ isStatic: true
+ isVal: false
+ modality: OPEN
+ name: foo
+ origin: JAVA
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Int
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtFunctionSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: /JavaClass.bar
+ contextReceivers: []
+ contractEffects: []
+ hasStableParameterNames: false
+ isActual: false
+ isBuiltinFunctionInvoke: false
+ isExpect: false
+ isExtension: false
+ isExternal: false
+ isInfix: false
+ isInline: false
+ isOperator: false
+ isOverride: false
+ isStatic: true
+ isSuspend: false
+ modality: OPEN
+ name: bar
+ origin: JAVA
+ receiverParameter: null
+ returnType: KtFlexibleType:
+ annotationsList: []
+ type: kotlin/String!
+ 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/components/scopeProvider/staticMemberScope/class.kt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.kt
new file mode 100644
index 00000000000..84cb02bfc49
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.kt
@@ -0,0 +1,31 @@
+package test
+
+abstract class A {
+ fun perform() { }
+
+ val x: Int = 0
+
+ class C1
+
+ object O1
+
+ companion object {
+ val y: Int = 0
+ }
+}
+
+class C : A() {
+ fun foo(): Int = 5
+
+ val bar: String = ""
+
+ class C2
+
+ object O2
+
+ companion object {
+ val baz: String = ""
+ }
+}
+
+// class: test/C
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.pretty.txt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.pretty.txt
new file mode 100644
index 00000000000..0d6079e3c27
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.pretty.txt
@@ -0,0 +1,5 @@
+class C2
+
+object O2
+
+companion object
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.txt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.txt
new file mode 100644
index 00000000000..4da0d3d56c4
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/class.txt
@@ -0,0 +1,86 @@
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/C.C2
+ classKind: CLASS
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: C2
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
+
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/C.O2
+ classKind: OBJECT
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: O2
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
+
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/C.Companion
+ classKind: COMPANION_OBJECT
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: Companion
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.kt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.kt
new file mode 100644
index 00000000000..2d55a6ff29f
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.kt
@@ -0,0 +1,37 @@
+// class: test/KotlinClass
+// FILE: JavaClass.java
+package test
+
+public abstract class JavaClass {
+ public void perform() {
+ }
+
+ public int x = 0;
+
+ public static void hello() {
+ }
+
+ public static int y = 1;
+
+ public class C1 {
+ }
+}
+
+// FILE: KotlinClass.kt
+package test
+
+// When a java class inherits from `JavaClass`, its static member scope contains `hello` and `y`. However, when a Kotlin class inherits from
+// `JavaClass`, like this class, its static member scope does not contain the Java super-class's static callables.
+class KotlinClass : JavaClass() {
+ fun foo(): Int = 5
+
+ val bar: String = ""
+
+ class C2
+
+ object O2
+
+ companion object {
+ val baz: String = ""
+ }
+}
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.pretty.txt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.pretty.txt
new file mode 100644
index 00000000000..0d6079e3c27
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.pretty.txt
@@ -0,0 +1,5 @@
+class C2
+
+object O2
+
+companion object
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.txt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.txt
new file mode 100644
index 00000000000..23b6affde24
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/classWithJavaSuperclass.txt
@@ -0,0 +1,86 @@
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/KotlinClass.C2
+ classKind: CLASS
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: C2
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
+
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/KotlinClass.O2
+ classKind: OBJECT
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: O2
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
+
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: test/KotlinClass.Companion
+ classKind: COMPANION_OBJECT
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: false
+ modality: FINAL
+ name: Companion
+ origin: SOURCE
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.kt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.kt
new file mode 100644
index 00000000000..441beb5821b
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.kt
@@ -0,0 +1,10 @@
+package test
+
+enum class E {
+ A {
+ val x: String = ""
+ },
+ B
+}
+
+// class: test/E
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.pretty.txt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.pretty.txt
new file mode 100644
index 00000000000..e6881708552
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.pretty.txt
@@ -0,0 +1,9 @@
+A
+
+B
+
+fun values(): kotlin.Array<test.E>
+
+fun valueOf(value: kotlin.String): test.E
+
+val entries: kotlin.enums.EnumEntries<test.E>
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.txt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.txt
new file mode 100644
index 00000000000..00c5a97e119
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/enumClass.txt
@@ -0,0 +1,200 @@
+KtEnumEntrySymbol:
+ annotationsList: []
+ callableIdIfNonLocal: test/E.A
+ containingEnumClassIdIfNonLocal: test/E
+ contextReceivers: []
+ enumEntryInitializer: KtAnonymousObjectSymbol(<local>/<no name provided>)
+ isExtension: false
+ name: A
+ origin: SOURCE
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtEnumEntrySymbol:
+ annotationsList: []
+ callableIdIfNonLocal: test/E.B
+ containingEnumClassIdIfNonLocal: test/E
+ contextReceivers: []
+ enumEntryInitializer: null
+ isExtension: false
+ name: B
+ origin: SOURCE
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtFunctionSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: test/E.values
+ contextReceivers: []
+ contractEffects: []
+ hasStableParameterNames: true
+ isActual: false
+ isBuiltinFunctionInvoke: false
+ isExpect: false
+ isExtension: false
+ isExternal: false
+ isInfix: false
+ isInline: false
+ isOperator: false
+ isOverride: false
+ isStatic: true
+ isSuspend: false
+ modality: FINAL
+ name: values
+ origin: SOURCE_MEMBER_GENERATED
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ ]
+ type: kotlin/Array<test/E>
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ valueParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtFunctionSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: test/E.valueOf
+ contextReceivers: []
+ contractEffects: []
+ hasStableParameterNames: true
+ isActual: false
+ isBuiltinFunctionInvoke: false
+ isExpect: false
+ isExtension: false
+ isExternal: false
+ isInfix: false
+ isInline: false
+ isOperator: false
+ isOverride: false
+ isStatic: true
+ isSuspend: false
+ modality: FINAL
+ name: valueOf
+ origin: SOURCE_MEMBER_GENERATED
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ 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: value
+ origin: SOURCE_MEMBER_GENERATED
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/String
+ symbolKind: LOCAL
+ typeParameters: []
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+ ]
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtKotlinPropertySymbol:
+ annotationsList: []
+ backingFieldSymbol: null
+ callableIdIfNonLocal: test/E.entries
+ contextReceivers: []
+ getter: KtPropertyGetterSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: null
+ contextReceivers: []
+ hasBody: false
+ hasStableParameterNames: true
+ isDefault: true
+ isExtension: false
+ isInline: false
+ isOverride: false
+ modality: FINAL
+ origin: SOURCE_MEMBER_GENERATED
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ ]
+ type: kotlin/enums/EnumEntries<test/E>
+ symbolKind: ACCESSOR
+ typeParameters: []
+ valueParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+ hasBackingField: false
+ hasGetter: true
+ hasSetter: false
+ initializer: null
+ isActual: false
+ isConst: false
+ isDelegatedProperty: false
+ isExpect: false
+ isExtension: false
+ isFromPrimaryConstructor: false
+ isLateInit: false
+ isOverride: false
+ isStatic: true
+ isVal: true
+ modality: FINAL
+ name: entries
+ origin: SOURCE_MEMBER_GENERATED
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: test/E
+ ]
+ type: kotlin/enums/EnumEntries<test/E>
+ setter: null
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+ getterDeprecationStatus: null
+ javaGetterName: getEntries
+ javaSetterName: null
+ setterDeprecationStatus: null
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.kt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.kt
new file mode 100644
index 00000000000..5e37b1879ff
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.kt
@@ -0,0 +1,50 @@
+// class: JavaClass
+// FILE: main.kt
+
+// FILE: SuperInterface.java
+public interface SuperInterface {
+ public int getActualRandomNumber();
+
+ // This static method will not be included in JavaClass's static member scope, because static interface methods are not propagated to
+ // their implementing class's namespaces (i.e., `JavaClass.getRandomNumber()` is an error in Kotlin and Java).
+ public static int getRandomNumber() {
+ return 3; // Decided by a fair dice roll.
+ }
+}
+
+// FILE: SuperClass.java
+public abstract class SuperClass implements SuperInterface {
+ // NestedSuperClass will not be included in JavaClass's static member scope, because Kotlin does not propagate static nested classes
+ // defined in super-classes to sub-classes, unlike Java. So `JavaClass.SuperClass` is valid in Java, but an error in Kotlin.
+ class NestedSuperClass {
+ }
+
+ @Override
+ public int getActualRandomNumber() {
+ return getRandomNumber();
+ }
+
+ // Both static callables will be included in JavaClass's static member scope, because Kotlin propagates static methods from
+ // super-classes to sub-classes, just like Java. So `JavaClass.superBar()` will be a valid call in Kotlin and Java.
+ public static int superFoo = 5;
+
+ public static String superBar() {
+ return "superBar";
+ }
+}
+
+// FILE: JavaClass.java
+public class JavaClass extends SuperClass {
+ class NestedClass {
+ }
+
+ public static int foo = 1;
+
+ public static String bar() {
+ return "bar";
+ }
+
+ public void hello() {
+ System.out.println("hello");
+ }
+}
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.pretty.txt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.pretty.txt
new file mode 100644
index 00000000000..89848f81b97
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.pretty.txt
@@ -0,0 +1,9 @@
+open fun bar(): kotlin.String!
+
+open var superFoo: kotlin.Int
+
+open fun superBar(): kotlin.String!
+
+open var foo: kotlin.Int
+
+open inner class NestedClass \ No newline at end of file
diff --git a/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.txt b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.txt
new file mode 100644
index 00000000000..041ae4893fc
--- /dev/null
+++ b/analysis/analysis-api/testData/components/scopeProvider/staticMemberScope/javaClass.txt
@@ -0,0 +1,132 @@
+KtFunctionSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: /JavaClass.bar
+ contextReceivers: []
+ contractEffects: []
+ hasStableParameterNames: false
+ isActual: false
+ isBuiltinFunctionInvoke: false
+ isExpect: false
+ isExtension: false
+ isExternal: false
+ isInfix: false
+ isInline: false
+ isOperator: false
+ isOverride: false
+ isStatic: true
+ isSuspend: false
+ modality: OPEN
+ name: bar
+ origin: JAVA
+ receiverParameter: null
+ returnType: KtFlexibleType:
+ annotationsList: []
+ type: kotlin/String!
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ valueParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtJavaFieldSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: /SuperClass.superFoo
+ contextReceivers: []
+ isExtension: false
+ isStatic: true
+ isVal: false
+ modality: OPEN
+ name: superFoo
+ origin: JAVA
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Int
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtFunctionSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: /SuperClass.superBar
+ contextReceivers: []
+ contractEffects: []
+ hasStableParameterNames: false
+ isActual: false
+ isBuiltinFunctionInvoke: false
+ isExpect: false
+ isExtension: false
+ isExternal: false
+ isInfix: false
+ isInline: false
+ isOperator: false
+ isOverride: false
+ isStatic: true
+ isSuspend: false
+ modality: OPEN
+ name: superBar
+ origin: JAVA
+ receiverParameter: null
+ returnType: KtFlexibleType:
+ annotationsList: []
+ type: kotlin/String!
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ valueParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtJavaFieldSymbol:
+ annotationsList: []
+ callableIdIfNonLocal: /JavaClass.foo
+ contextReceivers: []
+ isExtension: false
+ isStatic: true
+ isVal: false
+ modality: OPEN
+ name: foo
+ origin: JAVA
+ receiverParameter: null
+ returnType: KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Int
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: Public
+ getContainingModule: KtSourceModule "Sources of main"
+ deprecationStatus: null
+
+KtNamedClassOrObjectSymbol:
+ annotationsList: []
+ classIdIfNonLocal: JavaClass.NestedClass
+ classKind: CLASS
+ companionObject: null
+ contextReceivers: []
+ isActual: false
+ isData: false
+ isExpect: false
+ isExternal: false
+ isFun: false
+ isInline: false
+ isInner: true
+ modality: OPEN
+ name: NestedClass
+ origin: JAVA
+ superTypes: [
+ KtUsualClassType:
+ annotationsList: []
+ ownTypeArguments: []
+ type: kotlin/Any
+ ]
+ symbolKind: CLASS_MEMBER
+ typeParameters: []
+ visibility: PackageVisibility
+ getContainingModule: KtSourceModule "Sources of main"
+ annotationApplicableTargets: null
+ deprecationStatus: null \ No newline at end of file
diff --git a/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/analysisApi.kt b/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/analysisApi.kt
index f21875115e7..ba2a2a11d02 100644
--- a/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/analysisApi.kt
+++ b/generators/analysis-api-generator/tests/org/jetbrains/kotlin/generators/tests/analysis/api/analysisApi.kt
@@ -487,6 +487,13 @@ private fun AnalysisApiTestGroup.generateAnalysisApiComponentsTests() {
}
}
+ test(
+ AbstractStaticMemberScopeTest::class,
+ filter = frontendIs(FrontendKind.Fir),
+ ) {
+ model(it, "staticMemberScope")
+ }
+
test(AbstractFileScopeTest::class) {
model(it, "fileScopeTest")
}
@@ -501,6 +508,13 @@ private fun AnalysisApiTestGroup.generateAnalysisApiComponentsTests() {
) {
model(it, "declaredMemberScope")
}
+
+ test(
+ AbstractStaticDeclaredMemberScopeTest::class,
+ filter = frontendIs(FrontendKind.Fir),
+ ) {
+ model(it, "staticDeclaredMemberScope")
+ }
}
}
}