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 new file mode 100644 index 00000000000..ae860df00d6 --- /dev/null +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java @@ -0,0 +1,106 @@ +/* + * Copyright 2010-2022 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.fe10.test.cases.generated.cases.symbols; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.util.KtTestUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.kotlin.analysis.api.fe10.test.configurator.AnalysisApiFe10TestConfiguratorFactory; +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.symbols.AbstractSymbolByReferenceTest; +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/symbols/symbolByReference") +@TestDataPath("$PROJECT_ROOT") +public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated extends AbstractSymbolByReferenceTest { + @NotNull + @Override + public AnalysisApiTestConfigurator getConfigurator() { + return AnalysisApiFe10TestConfiguratorFactory.INSTANCE.createConfigurator( + new AnalysisApiTestConfiguratorFactoryData( + FrontendKind.Fe10, + TestModuleKind.Source, + AnalysisSessionMode.Normal, + AnalysisApiMode.Ide + ) + ); + } + + @Test + @TestMetadata("accessorField.kt") + public void testAccessorField() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/accessorField.kt"); + } + + @Test + public void testAllFilesPresentInSymbolByReference() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/symbols/symbolByReference"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("constructorViaTypeAlias.kt") + public void testConstructorViaTypeAlias() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt"); + } + + @Test + @TestMetadata("explicitLambdaParameter.kt") + public void testExplicitLambdaParameter() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/explicitLambdaParameter.kt"); + } + + @Test + @TestMetadata("genericFromFunctionInLocalClass.kt") + public void testGenericFromFunctionInLocalClass() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/genericFromFunctionInLocalClass.kt"); + } + + @Test + @TestMetadata("genericFromOuterClassInInnerClass.kt") + public void testGenericFromOuterClassInInnerClass() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/genericFromOuterClassInInnerClass.kt"); + } + + @Test + @TestMetadata("implicitLambdaParameter.kt") + public void testImplicitLambdaParameter() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/implicitLambdaParameter.kt"); + } + + @Test + @TestMetadata("samConstructor.kt") + public void testSamConstructor() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/samConstructor.kt"); + } + + @Nested + @TestMetadata("analysis/analysis-api/testData/symbols/symbolByReference/withTestCompilerPluginEnabled") + @TestDataPath("$PROJECT_ROOT") + public class WithTestCompilerPluginEnabled { + @Test + public void testAllFilesPresentInWithTestCompilerPluginEnabled() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/symbols/symbolByReference/withTestCompilerPluginEnabled"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("generatedCompanionWorksAsValue.kt") + public void testGeneratedCompanionWorksAsValue() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/withTestCompilerPluginEnabled/generatedCompanionWorksAsValue.kt"); + } + } +} diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.descriptors.txt index 2ca4ea94d5c..0444130fcc5 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/accessorField.descriptors.txt @@ -1,13 +1,132 @@ KtBackingFieldSymbol: annotationsList: [] callableIdIfNonLocal: null + contextReceivers: [] isExtension: false name: field origin: PROPERTY_BACKING_FIELD - owningProperty: KtKotlinPropertySymbol(/x) + owningProperty: KtKotlinPropertySymbol: + annotationsList: [ + PropertyAnnotation() + psi: KtAnnotationEntry + ] + callableIdIfNonLocal: /x + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [ + GetAnnotation() + psi: KtAnnotationEntry + ExplicitGetAnnotation() + psi: KtAnnotationEntry + ] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: true + hasStableParameterNames: false + isDefault: false + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + hasBackingField: true + hasGetter: true + hasSetter: true + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: false + modality: FINAL + name: x + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: KtPropertySetterSymbol: + annotationsList: [ + SetAnnotation() + psi: KtAnnotationEntry + ExplicitSetAnnotation() + psi: KtAnnotationEntry + ] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: true + hasStableParameterNames: false + isDefault: false + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + parameter: KtValueParameterSymbol: + annotationsList: [ + ExplicitSetparamAnnotation() + psi: KtAnnotationEntry + SetparamAnnotation() + psi: KtAnnotationEntry + ] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + receiverType: null + returnType: kotlin/Unit + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [ + ExplicitSetparamAnnotation() + psi: KtAnnotationEntry + SetparamAnnotation() + psi: KtAnnotationEntry + ] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + ] + visibility: Public + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public receiverType: null returnType: kotlin/Int symbolKind: LOCAL - getContainingModule: Could not render due to java.lang.IllegalStateException: Unexpected KtSymbol KtFe10DescSyntheticFieldSymbol + typeParameters: [] + getContainingModule: Could not render due to org.jetbrains.kotlin.utils.KotlinExceptionWithAttachments: Unexpected KtSymbol KtFe10DescSyntheticFieldSymbol - deprecationStatus: null + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.descriptors.txt index d4a0e4a2aed..a711df25b2b 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.descriptors.txt @@ -2,6 +2,7 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null containingClassIdIfNonLocal: java/util/ArrayList + contextReceivers: [] hasStableParameterNames: false isExtension: false isPrimary: false @@ -13,9 +14,25 @@ KtConstructorSymbol: KtTypeParameterSymbol(E) ] valueParameters: [ - KtValueParameterSymbol(c) + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: c + origin: JAVA + receiverType: null + returnType: (kotlin/collections/MutableCollection..kotlin/collections/Collection?) + symbolKind: LOCAL + typeParameters: [] ] visibility: Public getContainingModule: Could not render due to java.util.NoSuchElementException: Collection contains no element matching the predicate. - deprecationStatus: null + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt b/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt index b5ae39c4e73..d1b6b8f9b38 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt @@ -1,4 +1,5 @@ // WITH_STDLIB +// DO_NOT_CHECK_SYMBOL_RESTORE_K1 fun x() { val a = ArrayList(listOf(1)) diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/genericFromFunctionInLocalClass.kt b/analysis/analysis-api/testData/symbols/symbolByReference/genericFromFunctionInLocalClass.kt index e148d7afb89..02fa570673d 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/genericFromFunctionInLocalClass.kt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/genericFromFunctionInLocalClass.kt @@ -1,3 +1,5 @@ +// IGNORE_FE10 + package test class SomeClass diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/genericFromOuterClassInInnerClass.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/genericFromOuterClassInInnerClass.descriptors.txt index 7de0dba5771..d78f7d8c915 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/genericFromOuterClassInInnerClass.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/genericFromOuterClassInInnerClass.descriptors.txt @@ -1,6 +1,7 @@ KtFunctionSymbol: annotationsList: [] callableIdIfNonLocal: test/TopLevel.Base.withOuter + contextReceivers: [] hasStableParameterNames: true isBuiltinFunctionInvoke: false isExtension: false diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/samConstructor.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/samConstructor.descriptors.txt index 3fca5bf4c15..8b51735d4ac 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/samConstructor.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/samConstructor.descriptors.txt @@ -1,6 +1,7 @@ KtSamConstructorSymbol: annotationsList: [] callableIdIfNonLocal: java/lang/Runnable + contextReceivers: [] hasStableParameterNames: true isExtension: false name: Runnable @@ -8,9 +9,26 @@ KtSamConstructorSymbol: receiverType: null returnType: java/lang/Runnable symbolKind: SAM_CONSTRUCTOR + typeParameters: [] valueParameters: [ - KtValueParameterSymbol(function) + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: function + origin: SOURCE + receiverType: null + returnType: kotlin/Function0 + symbolKind: LOCAL + typeParameters: [] ] getContainingModule: Could not render due to java.util.NoSuchElementException: Collection contains no element matching the predicate. - deprecationStatus: null + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/withTestCompilerPluginEnabled/generatedCompanionWorksAsValue.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/withTestCompilerPluginEnabled/generatedCompanionWorksAsValue.descriptors.txt index 37a653ba768..f30135bf238 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/withTestCompilerPluginEnabled/generatedCompanionWorksAsValue.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/withTestCompilerPluginEnabled/generatedCompanionWorksAsValue.descriptors.txt @@ -6,6 +6,7 @@ KtNamedClassOrObjectSymbol: classIdIfNonLocal: test/WithGeneratedCompanion classKind: CLASS companionObject: null + contextReceivers: [] isData: false isExternal: false isFun: false 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 0d8d1e126a3..74d18d385c2 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 @@ -127,7 +127,7 @@ private fun AnalysisApiTestGroup.generateAnalysisApiNonComponentsTests() { } } - test(AbstractSymbolByReferenceTest::class, filter = frontendIs(FrontendKind.Fir)) { + test(AbstractSymbolByReferenceTest::class) { when (it.analysisApiMode) { AnalysisApiMode.Ide -> model("symbolByReference")