From 266447120dd18f7504dba6cd49423c9dbab1977d Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Wed, 14 Feb 2024 17:52:02 +0100 Subject: [PATCH] K2 scripting: treat default import similarly to K1 namely, add them to importing scopes directly and according to the schema used for other implicit imports, rather than adding them to the regular script file imports. See KT-65982 for explanation. #KT-65982 fixed --- .../scripts/insideClassBody.copy.txt | 16 +++--- .../scripts/insideClassBody.txt | 16 +++--- .../scripts/insideClassMember.copy.txt | 18 ++++--- .../scripts/insideClassMember.txt | 18 ++++--- .../scripts/insideTopLevelFunction.copy.txt | 16 +++--- .../scripts/insideTopLevelFunction.txt | 16 +++--- .../scripts/lastStatement.copy.txt | 12 +++-- .../scripts/lastStatement.txt | 12 +++-- .../scriptInsideLastStatement.copy.txt | 16 +++--- .../scripts/scriptInsideLastStatement.txt | 16 +++--- .../scripts/statement.copy.txt | 16 +++--- .../contextCollector/scripts/statement.txt | 16 +++--- .../scripts/topLevel.copy.txt | 16 +++--- .../contextCollector/scripts/topLevel.txt | 16 +++--- .../fir/extensions/FirExtensionRegistrar.kt | 11 ++++ ...rScriptResolutionConfigurationExtension.kt | 30 +++++++++++ .../kotlin/fir/scopes/ImportingScopes.kt | 30 ++++++++++- .../FirScriptingCompilerExtensionRegistrar.kt | 2 + .../FirScriptConfigurationExtensionImpl.kt | 18 ------- ...iptResolutionConfigurationExtensionImpl.kt | 52 +++++++++++++++++++ .../conflictingImportsWithJava.test.kts | 15 ++++++ ...CustomDefDiagnosticsTestBaseGenerated.java | 6 +++ 22 files changed, 282 insertions(+), 102 deletions(-) create mode 100644 compiler/fir/resolve/src/org/jetbrains/kotlin/fir/extensions/FirScriptResolutionConfigurationExtension.kt create mode 100644 plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/services/FirScriptResolutionConfigurationExtensionImpl.kt create mode 100644 plugins/scripting/scripting-tests/testData/diagnostics/testScripts/conflictingImportsWithJava.test.kts diff --git a/analysis/low-level-api-fir/testData/contextCollector/scripts/insideClassBody.copy.txt b/analysis/low-level-api-fir/testData/contextCollector/scripts/insideClassBody.copy.txt index 96a55f9e3ec..1551d840542 100644 --- a/analysis/low-level-api-fir/testData/contextCollector/scripts/insideClassBody.copy.txt +++ b/analysis/low-level-api-fir/testData/contextCollector/scripts/insideClassBody.copy.txt @@ -4,22 +4,26 @@ Tower Data Context: Element 1 Scope: FirExplicitStarImportingScope Element 2 - Scope: FirDefaultSimpleImportingScope + Scope: FirExplicitStarImportingScope Element 3 Scope: FirDefaultSimpleImportingScope Element 4 - Scope: FirPackageMemberScope + Scope: FirDefaultSimpleImportingScope Element 5 Scope: FirExplicitSimpleImportingScope Element 6 + Scope: FirPackageMemberScope + Element 7 + Scope: FirExplicitSimpleImportingScope + Element 8 Scope: FirScriptDeclarationsScope Classifiers: FirRegularClassSymbol public final class Foo : R|kotlin/Any| - Element 7 + Element 9 Scope: FirLocalScope Classifiers: FirRegularClassSymbol public final class Foo : R|kotlin/Any| - Element 8 + Element 10 Context receivers: FirScriptSymbol context(