Merge branch 'refs/heads/kt-master'

GitOrigin-RevId: a14cf24aa1eba4addd4f4f5469a8fa130152dfdf
This commit is contained in:
Roman Golyshev
2024-03-21 08:54:38 +01:00
committed by intellij-monorepo-bot
120 changed files with 414 additions and 777 deletions
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.allopen-compiler-plugin" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:allopen-compiler-plugin-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.0-dev-18189/allopen-compiler-plugin-for-ide-2.0.0-dev-18189.jar">
<sha256sum>928539220011e6f1974ad011960a9701fd7d08a365d1302fc7a48faad02e8407</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.allopen-compiler-plugin">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.0-dev-18189/allopen-compiler-plugin-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.255-dev-255/allopen-compiler-plugin-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.0-dev-18189/allopen-compiler-plugin-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.255-dev-255/allopen-compiler-plugin-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.analysis-api-providers" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:analysis-api-providers-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.0-dev-18189/analysis-api-providers-for-ide-2.0.0-dev-18189.jar">
<sha256sum>5b2d0f7f1c745a2e88dd47c69c32f17caacfd74924f91a95a0468c31e45af09a</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.analysis-api-providers">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.0-dev-18189/analysis-api-providers-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.255-dev-255/analysis-api-providers-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.0-dev-18189/analysis-api-providers-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.255-dev-255/analysis-api-providers-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.analysis-project-structure" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:analysis-project-structure-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.0-dev-18189/analysis-project-structure-for-ide-2.0.0-dev-18189.jar">
<sha256sum>f18de922e93c64767670992f3aba7379f8b9df04fc2612bd03a86e0c0c86b831</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.analysis-project-structure">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.0-dev-18189/analysis-project-structure-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.255-dev-255/analysis-project-structure-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.0-dev-18189/analysis-project-structure-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.255-dev-255/analysis-project-structure-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.android-extensions-compiler-plugin" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:android-extensions-compiler-plugin-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.0-dev-18189/android-extensions-compiler-plugin-for-ide-2.0.0-dev-18189.jar">
<sha256sum>b9cb3b9ab11432f7f7cbcc3acc064925a63d705f0dd23aea8220b529caefeb3f</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.android-extensions-compiler-plugin">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.0-dev-18189/android-extensions-compiler-plugin-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.255-dev-255/android-extensions-compiler-plugin-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.0-dev-18189/android-extensions-compiler-plugin-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.255-dev-255/android-extensions-compiler-plugin-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.assignment-compiler-plugin" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:assignment-compiler-plugin-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.0-dev-18189/assignment-compiler-plugin-for-ide-2.0.0-dev-18189.jar">
<sha256sum>f441e426f0c7370e86789296ac54089bac68b088e51b3ac89074e36ff1b85186</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.assignment-compiler-plugin">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.0-dev-18189/assignment-compiler-plugin-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.255-dev-255/assignment-compiler-plugin-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.0-dev-18189/assignment-compiler-plugin-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.255-dev-255/assignment-compiler-plugin-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.high-level-api" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/2.0.0-dev-18189/high-level-api-for-ide-2.0.0-dev-18189.jar">
<sha256sum>ac8771b2f05801b233d6148109b8f781985212c766993a4c9e1e3058d17e8a18</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.high-level-api">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/2.0.0-dev-18189/high-level-api-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-for-ide/2.0.255-dev-255/high-level-api-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/2.0.0-dev-18189/high-level-api-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-for-ide/2.0.255-dev-255/high-level-api-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.high-level-api-fe10" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fe10-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.0-dev-18189/high-level-api-fe10-for-ide-2.0.0-dev-18189.jar">
<sha256sum>8212d64fe0b78ebc4a76b35a904952f6087027897091eaf8a9b5bbeae446eab2</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.high-level-api-fe10">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.0-dev-18189/high-level-api-fe10-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.255-dev-255/high-level-api-fe10-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.0-dev-18189/high-level-api-fe10-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.255-dev-255/high-level-api-fe10-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.high-level-api-fir" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fir-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.0-dev-18189/high-level-api-fir-for-ide-2.0.0-dev-18189.jar">
<sha256sum>e74a515cfb60612b90dc9d6ed4f8104790c3f863dad1ea8dacada9a9cc8a7cc0</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.high-level-api-fir">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.0-dev-18189/high-level-api-fir-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.255-dev-255/high-level-api-fir-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.0-dev-18189/high-level-api-fir-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.255-dev-255/high-level-api-fir-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.high-level-api-fir-tests" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fir-tests-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.0-dev-18189/high-level-api-fir-tests-for-ide-2.0.0-dev-18189.jar">
<sha256sum>9563a0cbfc3ab7c908e67ff7c7056552294219642b171d368626516c46433a12</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.high-level-api-fir-tests">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.0-dev-18189/high-level-api-fir-tests-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.255-dev-255/high-level-api-fir-tests-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.0-dev-18189/high-level-api-fir-tests-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.255-dev-255/high-level-api-fir-tests-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.high-level-api-impl-base" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-impl-base-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.0-dev-18189/high-level-api-impl-base-for-ide-2.0.0-dev-18189.jar">
<sha256sum>b88883527dceb053cd812a4031432f2d2e7fa9c2a1c41a6b0e1a9a4aa49178e1</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.high-level-api-impl-base">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.0-dev-18189/high-level-api-impl-base-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.255-dev-255/high-level-api-impl-base-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.0-dev-18189/high-level-api-impl-base-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.255-dev-255/high-level-api-impl-base-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.high-level-api-impl-base-tests" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-impl-base-tests-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.0-dev-18189/high-level-api-impl-base-tests-for-ide-2.0.0-dev-18189.jar">
<sha256sum>24e3f416c34a6928c73bb5a0a203374c1a328fcfedc959c32418dfa6faf051b4</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.high-level-api-impl-base-tests">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.0-dev-18189/high-level-api-impl-base-tests-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.255-dev-255/high-level-api-impl-base-tests-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.0-dev-18189/high-level-api-impl-base-tests-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.255-dev-255/high-level-api-impl-base-tests-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.incremental-compilation-impl-tests" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:incremental-compilation-impl-tests-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.0-dev-18189/incremental-compilation-impl-tests-for-ide-2.0.0-dev-18189.jar">
<sha256sum>974457ddd47ec3400e986c2ba0a299e6cf37c48b9c816eae108032060c9182d4</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.incremental-compilation-impl-tests">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.0-dev-18189/incremental-compilation-impl-tests-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.255-dev-255/incremental-compilation-impl-tests-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.0-dev-18189/incremental-compilation-impl-tests-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.255-dev-255/incremental-compilation-impl-tests-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-build-common-tests" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-build-common-tests-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.0-dev-18189/kotlin-build-common-tests-for-ide-2.0.0-dev-18189.jar">
<sha256sum>7ba70053a5cd92f40fd2c82e9ac4c1910c3adeed5a33697295d648627d09e288</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-build-common-tests">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.0-dev-18189/kotlin-build-common-tests-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.255-dev-255/kotlin-build-common-tests-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.0-dev-18189/kotlin-build-common-tests-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.255-dev-255/kotlin-build-common-tests-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-compiler-cli" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-cli-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.0-dev-18189/kotlin-compiler-cli-for-ide-2.0.0-dev-18189.jar">
<sha256sum>b462d08827d60ba74e7ecdc7f4a7ec8cf182307494763bca0593be426b0b81a7</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-compiler-cli">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.0-dev-18189/kotlin-compiler-cli-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.255-dev-255/kotlin-compiler-cli-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.0-dev-18189/kotlin-compiler-cli-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.255-dev-255/kotlin-compiler-cli-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-compiler-common" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-common-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.0-dev-18189/kotlin-compiler-common-for-ide-2.0.0-dev-18189.jar">
<sha256sum>1cdf2dc5e607dd3968049e4b68ab16ad38773b061af24e1a9e57fd360069b375</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-compiler-common">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.0-dev-18189/kotlin-compiler-common-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.255-dev-255/kotlin-compiler-common-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.0-dev-18189/kotlin-compiler-common-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.255-dev-255/kotlin-compiler-common-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-compiler-fe10" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-fe10-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.0-dev-18189/kotlin-compiler-fe10-for-ide-2.0.0-dev-18189.jar">
<sha256sum>9349a7fe89c7fb16cf92ac7dd698677261eedcb53fb5e0f42af3ac37669cd158</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-compiler-fe10">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.0-dev-18189/kotlin-compiler-fe10-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.255-dev-255/kotlin-compiler-fe10-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.0-dev-18189/kotlin-compiler-fe10-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.255-dev-255/kotlin-compiler-fe10-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-compiler-fir" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-fir-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.0-dev-18189/kotlin-compiler-fir-for-ide-2.0.0-dev-18189.jar">
<sha256sum>44426b835d6b326a0b72886bc064e611a337d2b81e8e88c4035c4ba6bc0c3d26</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-compiler-fir">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.0-dev-18189/kotlin-compiler-fir-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.255-dev-255/kotlin-compiler-fir-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.0-dev-18189/kotlin-compiler-fir-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.255-dev-255/kotlin-compiler-fir-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-compiler-ir" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-ir-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.0-dev-18189/kotlin-compiler-ir-for-ide-2.0.0-dev-18189.jar">
<sha256sum>3d409e17d8eff5d300dbe671e5f14f5d7c84073e81e021513c5e6c21d35788f0</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-compiler-ir">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.0-dev-18189/kotlin-compiler-ir-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.255-dev-255/kotlin-compiler-ir-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.0-dev-18189/kotlin-compiler-ir-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.255-dev-255/kotlin-compiler-ir-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-compiler-tests" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-tests-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.0-dev-18189/kotlin-compiler-tests-for-ide-2.0.0-dev-18189.jar">
<sha256sum>3ea1c3b4d400289776110ce92e3cb9e1ecf3da8b421a22585c6479e49a9c66d5</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-compiler-tests">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.0-dev-18189/kotlin-compiler-tests-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.255-dev-255/kotlin-compiler-tests-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.0-dev-18189/kotlin-compiler-tests-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.255-dev-255/kotlin-compiler-tests-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-gradle-statistics" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-gradle-statistics-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.0-dev-18189/kotlin-gradle-statistics-for-ide-2.0.0-dev-18189.jar">
<sha256sum>69c9ec39a529c03de146522b0bd9810710da7d313f4fa89a6152e92a2a7cff56</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-gradle-statistics">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.0-dev-18189/kotlin-gradle-statistics-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.255-dev-255/kotlin-gradle-statistics-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.0-dev-18189/kotlin-gradle-statistics-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.255-dev-255/kotlin-gradle-statistics-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-jps-common" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-jps-common-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.0-dev-18189/kotlin-jps-common-for-ide-2.0.0-dev-18189.jar">
<sha256sum>24828bbb5474c58277df57679de2c0ab4c16a65c563c6db19caa7820996e5e13</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-jps-common">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.0-dev-18189/kotlin-jps-common-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.255-dev-255/kotlin-jps-common-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.0-dev-18189/kotlin-jps-common-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.255-dev-255/kotlin-jps-common-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-jps-plugin-classpath-bootstrap-for-tests" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-jps-plugin-classpath:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.0-dev-18189/kotlin-jps-plugin-classpath-2.0.0-dev-18189.jar">
<sha256sum>ad23c0abeace5eafb042903ee3ccdab31e6bfc272c2671143e5d66bb547e1a50</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-jps-plugin-classpath-bootstrap-for-tests">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.0-dev-18189/kotlin-jps-plugin-classpath-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.255-dev-255/kotlin-jps-plugin-classpath-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.0-dev-18189/kotlin-jps-plugin-classpath-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.255-dev-255/kotlin-jps-plugin-classpath-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-script-runtime" type="repository">
<properties maven-id="org.jetbrains.kotlin:kotlin-script-runtime:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2.0.0-dev-18189/kotlin-script-runtime-2.0.0-dev-18189.jar">
<sha256sum>5ee44f41eb737e66c5b922b6d1a5283588fe5c6b41b4727d3a96e70e861b57c4</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-script-runtime">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2.0.0-dev-18189/kotlin-script-runtime-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-script-runtime/2.0.255-dev-255/kotlin-script-runtime-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2.0.0-dev-18189/kotlin-script-runtime-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-script-runtime/2.0.255-dev-255/kotlin-script-runtime-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-scripting-common" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-common:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/2.0.0-dev-18189/kotlin-scripting-common-2.0.0-dev-18189.jar">
<sha256sum>fd7739d357d1945a0a4c278465cc6c1a9fe1e550da277d9bf9c71509d3a9ea28</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-scripting-common">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/2.0.0-dev-18189/kotlin-scripting-common-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-scripting-common/2.0.255-dev-255/kotlin-scripting-common-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/2.0.0-dev-18189/kotlin-scripting-common-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-scripting-common/2.0.255-dev-255/kotlin-scripting-common-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-scripting-compiler-impl" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-compiler-impl:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.0-dev-18189/kotlin-scripting-compiler-impl-2.0.0-dev-18189.jar">
<sha256sum>63e640edf491bfde5df60a518c01ceb0ab67dfe4f94a188f12af4a5993237487</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-scripting-compiler-impl">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.0-dev-18189/kotlin-scripting-compiler-impl-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.255-dev-255/kotlin-scripting-compiler-impl-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.0-dev-18189/kotlin-scripting-compiler-impl-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.255-dev-255/kotlin-scripting-compiler-impl-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-scripting-jvm" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-jvm:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.0-dev-18189/kotlin-scripting-jvm-2.0.0-dev-18189.jar">
<sha256sum>f9ff67aa7dd909cf2be9e404d78c18dac58c51e6846350a602160c0b61f80c7f</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlin-scripting-jvm">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.0-dev-18189/kotlin-scripting-jvm-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.255-dev-255/kotlin-scripting-jvm-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.0-dev-18189/kotlin-scripting-jvm-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.255-dev-255/kotlin-scripting-jvm-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.kotlinx-serialization-compiler-plugin" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlinx-serialization-compiler-plugin-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.0-dev-18189/kotlinx-serialization-compiler-plugin-for-ide-2.0.0-dev-18189.jar">
<sha256sum>b12f89a6e93b5d3e8d8ef3935385ef8180875ef980280af66be21e0f50db015c</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.kotlinx-serialization-compiler-plugin">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.0-dev-18189/kotlinx-serialization-compiler-plugin-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.255-dev-255/kotlinx-serialization-compiler-plugin-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.0-dev-18189/kotlinx-serialization-compiler-plugin-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.255-dev-255/kotlinx-serialization-compiler-plugin-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.lombok-compiler-plugin" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:lombok-compiler-plugin-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.0-dev-18189/lombok-compiler-plugin-for-ide-2.0.0-dev-18189.jar">
<sha256sum>3108fdad9fb74ffe8b001384125545e36a2ff6393e1656939b6d756f2a58542a</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.lombok-compiler-plugin">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.0-dev-18189/lombok-compiler-plugin-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.255-dev-255/lombok-compiler-plugin-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.0-dev-18189/lombok-compiler-plugin-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.255-dev-255/lombok-compiler-plugin-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.low-level-api-fir" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:low-level-api-fir-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.0-dev-18189/low-level-api-fir-for-ide-2.0.0-dev-18189.jar">
<sha256sum>d4cd6dc81b67b8f91f323071a40f9a294c91cd0233d15155f7310ffb92dd1664</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.low-level-api-fir">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.0-dev-18189/low-level-api-fir-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.255-dev-255/low-level-api-fir-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.0-dev-18189/low-level-api-fir-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.255-dev-255/low-level-api-fir-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.noarg-compiler-plugin" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:noarg-compiler-plugin-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.0-dev-18189/noarg-compiler-plugin-for-ide-2.0.0-dev-18189.jar">
<sha256sum>ed18cbd31c81b2bba374d111603c7c3cdd9aa45de01f3f9b371b3f335943ac70</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.noarg-compiler-plugin">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.0-dev-18189/noarg-compiler-plugin-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.255-dev-255/noarg-compiler-plugin-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.0-dev-18189/noarg-compiler-plugin-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.255-dev-255/noarg-compiler-plugin-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.parcelize-compiler-plugin" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:parcelize-compiler-plugin-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.0-dev-18189/parcelize-compiler-plugin-for-ide-2.0.0-dev-18189.jar">
<sha256sum>9fd40bc1a633be83dfbf8f56bd483fb6ed0662400e59047304ec9660ea48a231</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.parcelize-compiler-plugin">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.0-dev-18189/parcelize-compiler-plugin-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.255-dev-255/parcelize-compiler-plugin-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.0-dev-18189/parcelize-compiler-plugin-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.255-dev-255/parcelize-compiler-plugin-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.sam-with-receiver-compiler-plugin" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:sam-with-receiver-compiler-plugin-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.0-dev-18189/sam-with-receiver-compiler-plugin-for-ide-2.0.0-dev-18189.jar">
<sha256sum>16aaf2b81ac559cd7de467be17c925b7e11a72cb9973f7da5fec446496ab5e00</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.sam-with-receiver-compiler-plugin">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.0-dev-18189/sam-with-receiver-compiler-plugin-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.255-dev-255/sam-with-receiver-compiler-plugin-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.0-dev-18189/sam-with-receiver-compiler-plugin-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.255-dev-255/sam-with-receiver-compiler-plugin-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.scripting-compiler-plugin" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:scripting-compiler-plugin-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.0-dev-18189/scripting-compiler-plugin-for-ide-2.0.0-dev-18189.jar">
<sha256sum>4c86a41c02b3261433026cd88b7fea12c5fdb99aaa95496a14a4e23b98b64501</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.scripting-compiler-plugin">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.0-dev-18189/scripting-compiler-plugin-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.255-dev-255/scripting-compiler-plugin-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.0-dev-18189/scripting-compiler-plugin-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.255-dev-255/scripting-compiler-plugin-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
+3 -10
View File
@@ -1,18 +1,11 @@
<component name="libraryTable">
<library name="kotlinc.symbol-light-classes" type="repository">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:symbol-light-classes-for-ide:2.0.0-dev-18189">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.0-dev-18189/symbol-light-classes-for-ide-2.0.0-dev-18189.jar">
<sha256sum>ac4bb8dcc54145a55ccaab10fe5d4873cf5fa0a41dabd9e3ab9e6fc0bebca185</sha256sum>
</artifact>
</verification>
</properties>
<library name="kotlinc.symbol-light-classes">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.0-dev-18189/symbol-light-classes-for-ide-2.0.0-dev-18189.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.255-dev-255/symbol-light-classes-for-ide-2.0.255-dev-255.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.0-dev-18189/symbol-light-classes-for-ide-2.0.0-dev-18189-sources.jar!/" />
<root url="jar://$PROJECT_DIR$/../build/repo/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.255-dev-255/symbol-light-classes-for-ide-2.0.255-dev-255-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -88,7 +88,7 @@ class KotlinTestRunLineMarkerContributor : RunLineMarkerContributor() {
listOf(
KonanTarget.IOS_X64,
KonanTarget.MACOS_X64,
KonanTarget.WATCHOS_X64, KonanTarget.WATCHOS_X86,
KonanTarget.WATCHOS_X64,
KonanTarget.TVOS_X64
)
}
@@ -96,7 +96,7 @@ class KotlinTestRunLineMarkerContributor : RunLineMarkerContributor() {
}
HostManager.hostIsLinux -> target == KonanTarget.LINUX_X64
HostManager.hostIsMingw -> target in listOf(KonanTarget.MINGW_X86, KonanTarget.MINGW_X64)
HostManager.hostIsMingw -> target in listOf(KonanTarget.MINGW_X64)
else -> false
}
}
@@ -55,7 +55,7 @@ class JsResolverForModuleFactory(
val container = createContainerForLazyResolve(
moduleContext,
declarationProviderFactory,
BindingTraceContext(/* allowSliceRewrite = */ true),
BindingTraceContext(/* allowSliceRewrite = */ true, project),
moduleDescriptor.platform!!,
JsPlatformAnalyzerServices,
targetEnvironment,
@@ -46,7 +46,7 @@ class WasmResolverForModuleFactory(
val container = createContainerForLazyResolve(
moduleContext,
declarationProviderFactory,
BindingTraceContext(/* allowSliceRewrite = */ true),
BindingTraceContext(/* allowSliceRewrite = */ true, project),
moduleDescriptor.platform!!,
WasmPlatformAnalyzerServices,
targetEnvironment,
@@ -170,7 +170,7 @@ fun KtDeclaration.safeAnalyzeWithContentNonSourceRootCode(
fun KtExpression.computeTypeInfoInContext(
scope: LexicalScope,
contextExpression: KtExpression = this,
trace: BindingTrace = BindingTraceContext(),
trace: BindingTrace = BindingTraceContext(this.project),
dataFlowInfo: DataFlowInfo = DataFlowInfo.EMPTY,
expectedType: KotlinType = TypeUtils.NO_EXPECTED_TYPE,
isStatement: Boolean = false,
@@ -188,7 +188,7 @@ fun KtExpression.computeTypeInfoInContext(
fun KtExpression.analyzeInContext(
scope: LexicalScope,
contextExpression: KtExpression = this,
trace: BindingTrace = BindingTraceContext(),
trace: BindingTrace = BindingTraceContext(this.project),
dataFlowInfo: DataFlowInfo = DataFlowInfo.EMPTY,
expectedType: KotlinType = TypeUtils.NO_EXPECTED_TYPE,
isStatement: Boolean = false,
@@ -212,7 +212,7 @@ fun KtExpression.analyzeInContext(
fun KtExpression.computeTypeInContext(
scope: LexicalScope,
contextExpression: KtExpression = this,
trace: BindingTrace = BindingTraceContext(),
trace: BindingTrace = BindingTraceContext(this.project),
dataFlowInfo: DataFlowInfo = DataFlowInfo.EMPTY,
expectedType: KotlinType = TypeUtils.NO_EXPECTED_TYPE
): KotlinType? = computeTypeInfoInContext(scope, contextExpression, trace, dataFlowInfo, expectedType).type
@@ -244,4 +244,4 @@ fun KtExpression.analyzeAsReplacement(
): BindingContext {
val scope = expressionToBeReplaced.getResolutionScope(bindingContext, resolutionFacade)
return analyzeAsReplacement(expressionToBeReplaced, bindingContext, scope, trace, contextDependency)
}
}
@@ -418,7 +418,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
private val kotlinSuppressCache: CachedValue<KotlinSuppressCache> = CachedValuesManager.getManager(project).createCachedValue(
{
CachedValueProvider.Result(
object : KotlinSuppressCache() {
object : KotlinSuppressCache(project) {
override fun getSuppressionAnnotations(annotated: PsiElement): List<AnnotationDescriptor> {
if (annotated !is KtAnnotated) return emptyList()
if (!KotlinPsiHeuristics.hasSuppressAnnotation(annotated)) {
@@ -613,4 +613,4 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
?: throw AssertionError("Analyzing kotlin code fragment of type ${this::class.java} with java context of type ${contextElement::class.java}")
return if (contextFile is KtCodeFragment) contextFile.getContextFile() else contextFile
}
}
}
@@ -510,6 +510,10 @@ private class StackedCompositeBindingContextTrace(
}
override fun addOwnDataTo(trace: BindingTrace, commitDiagnostics: Boolean) = throw UnsupportedOperationException()
override fun getProject(): Project? {
return this@StackedCompositeBindingContextTrace.project
}
}
override fun <K : Any?, V : Any?> get(slice: ReadOnlySlice<K, V>, key: K): V? =
@@ -203,7 +203,7 @@ fun ResolutionFacade.resolveImportReference(
return qualifiedExpressionResolver.processImportReference(
importDirective,
moduleDescriptor,
BindingTraceContext(),
BindingTraceContext(project),
excludedImportNames = emptyList(),
packageFragmentForVisibilityCheck = null
)?.getContributedDescriptors() ?: emptyList()
@@ -67,7 +67,7 @@ class IterableTypesDetection(
val expression = KtPsiFactory(project).createExpression("fake")
val context = ExpressionTypingContext.newContext(
BindingTraceContext(), scope, DataFlowInfo.EMPTY, TypeUtils.NO_EXPECTED_TYPE, languageVersionSettings, dataFlowValueFactory
BindingTraceContext(project), scope, DataFlowInfo.EMPTY, TypeUtils.NO_EXPECTED_TYPE, languageVersionSettings, dataFlowValueFactory
)
val expressionReceiver = ExpressionReceiver.create(expression, type.type, context.trace.bindingContext)
val elementType = forLoopConventionsChecker.checkIterableConvention(expressionReceiver, context)
@@ -91,4 +91,4 @@ interface IterableTypesDetector {
fun isIterable(type: FuzzyType, loopVarType: KotlinType? = null): Boolean
fun elementType(type: KotlinType): FuzzyType?
}
}
@@ -7,9 +7,10 @@
<projectService
serviceInterface="org.jetbrains.kotlin.analysis.providers.KotlinGlobalModificationService"
serviceImplementation="org.jetbrains.kotlin.idea.base.fir.analysisApiProviders.FirIdeKotlinGlobalModificationService"/>
<projectService
serviceInterface="org.jetbrains.kotlin.analysis.providers.KotlinSealedInheritorsProviderFactory"
serviceImplementation="org.jetbrains.kotlin.idea.base.fir.analysisApiProviders.FirIdeKotlinSealedInheritorsProviderFactory"/>
serviceInterface="org.jetbrains.kotlin.analysis.providers.KotlinDirectInheritorsProvider"
serviceImplementation="org.jetbrains.kotlin.idea.base.fir.analysisApiProviders.FirIdeKotlinDirectInheritorsProvider"/>
<projectService
serviceImplementation="org.jetbrains.kotlin.analysis.low.level.api.fir.file.structure.LLFirDeclarationModificationService"/>
@@ -0,0 +1,24 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.base.fir.analysisApiProviders
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.analysis.providers.KotlinDirectInheritorsProvider
import org.jetbrains.kotlin.idea.searching.inheritors.DirectKotlinClassInheritorsSearch
import org.jetbrains.kotlin.psi.KtClass
import org.jetbrains.kotlin.psi.KtClassOrObject
class FirIdeKotlinDirectInheritorsProvider : KotlinDirectInheritorsProvider {
override fun getDirectKotlinInheritors(
ktClass: KtClass,
scope: GlobalSearchScope,
includeLocalInheritors: Boolean
): Iterable<KtClassOrObject> {
val searchParameters = DirectKotlinClassInheritorsSearch.SearchParameters(
ktClass = ktClass,
searchScope = scope,
includeLocal = includeLocalInheritors,
)
return DirectKotlinClassInheritorsSearch.search(searchParameters).filterIsInstance<KtClassOrObject>().toList()
}
}
@@ -1,79 +0,0 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.base.fir.analysisApiProviders
import com.intellij.openapi.project.Project
import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider
import org.jetbrains.kotlin.analysis.providers.KotlinSealedInheritorsProvider
import org.jetbrains.kotlin.analysis.providers.KotlinSealedInheritorsProviderFactory
import org.jetbrains.kotlin.idea.base.projectStructure.getDependentDependsOnKtModules
import org.jetbrains.kotlin.idea.base.psi.classIdIfNonLocal
import org.jetbrains.kotlin.idea.base.psi.isExpectDeclaration
import org.jetbrains.kotlin.idea.searching.inheritors.DirectKotlinClassInheritorsSearch
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.psi.KtClass
import org.jetbrains.kotlin.psi.KtClassOrObject
import java.util.concurrent.ConcurrentHashMap
internal class FirIdeKotlinSealedInheritorsProviderFactory(val project: Project) : KotlinSealedInheritorsProviderFactory {
override fun createSealedInheritorsProvider(): KotlinSealedInheritorsProvider = FirIdeKotlinSealedInheritorsProvider()
}
private class FirIdeKotlinSealedInheritorsProvider : KotlinSealedInheritorsProvider {
val cache = ConcurrentHashMap<ClassId, List<ClassId>>()
override fun getSealedInheritors(ktClass: KtClass): List<ClassId> {
require(ktClass.isSealed())
val classId = ktClass.classIdIfNonLocal ?: return emptyList() // Local classes cannot be sealed.
return cache.computeIfAbsent(classId) { getInheritors(classId, ktClass) }
}
/**
* Some notes about the search:
* - A Java class cannot legally extend a sealed Kotlin class (even in the same package),
* so we don't need to search for Java class inheritors.
* - Technically, we could use a package scope to narrow the search, but the search is already sufficiently narrow because it
* uses `KotlinSuperClassIndex` and is confined to the current `KtModule` in most cases (except for 'expect' classes).
* Finding a `PsiPackage` for a `PackageScope` is not cheap, hence the decision to avoid it.
* If a `PackageScope` is needed in the future, it'd be best to extract a `PackageNameScope`
* which operates just with the qualified package name, to avoid `PsiPackage`.
* (At the time of writing, this is possible with the implementation of `PackageScope`.)
* - We ignore local classes to avoid lazy resolve contract violations.
* See KT-63795.
* - For 'expect' declarations, the search scope includes all modules with a dependsOn dependency on the containing module.
* At the same time, 'actual' declarations are restricted to the same module and require no special handling.
* See KT-45842.
* - KMP libraries are not yet supported.
* See KT-65591.
*/
private fun getInheritors(classId: ClassId, ktClass: KtClass): List<ClassId> {
val ktModule = ProjectStructureProvider.getModule(ktClass.project, ktClass, contextualModule = null)
val scope = if (ktClass.isExpectDeclaration()) {
val dependentDependsOnModules = ktModule.getDependentDependsOnKtModules()
GlobalSearchScope.union(dependentDependsOnModules.map { it.contentScope } + ktModule.contentScope)
} else {
ktModule.contentScope
}
return searchInScope(ktClass, classId, scope)
}
private fun searchInScope(ktClass: KtClass, classId: ClassId, scope: GlobalSearchScope): List<ClassId> {
val searchParameters = DirectKotlinClassInheritorsSearch.SearchParameters(
ktClass = ktClass,
searchScope = scope,
includeLocal = false,
)
val classIds = DirectKotlinClassInheritorsSearch.search(searchParameters)
.mapNotNull { (it as? KtClassOrObject)?.classIdIfNonLocal }
.filter { it.packageFqName == classId.packageFqName }
.toMutableList()
// Enforce a deterministic order on the result.
classIds.sortBy { it.toString() }
return classIds
}
}
@@ -12,8 +12,6 @@ import org.jetbrains.kotlin.idea.base.test.KotlinRoot
import org.jetbrains.kotlin.idea.base.util.getAsJsonObjectList
import org.jetbrains.kotlin.idea.base.util.getAsStringList
import org.jetbrains.kotlin.idea.test.projectStructureTest.AbstractProjectStructureTest
import org.jetbrains.kotlin.idea.test.projectStructureTest.ModulesByName
import org.jetbrains.kotlin.idea.test.projectStructureTest.ProjectLibrariesByName
import org.jetbrains.kotlin.idea.test.projectStructureTest.TestProjectEntityReference
import org.jetbrains.kotlin.idea.test.projectStructureTest.TestProjectEntityReferenceParser
import org.jetbrains.kotlin.idea.test.projectStructureTest.TestProjectLibrary
@@ -23,7 +21,9 @@ import org.jetbrains.kotlin.idea.test.projectStructureTest.TestProjectModuleRefe
import org.jetbrains.kotlin.idea.test.projectStructureTest.TestProjectStructure
import org.jetbrains.kotlin.idea.test.projectStructureTest.TestProjectStructureParser
abstract class AbstractModuleDependentsTest : AbstractProjectStructureTest<ModuleDependentsTestProjectStructure>() {
abstract class AbstractModuleDependentsTest : AbstractProjectStructureTest<ModuleDependentsTestProjectStructure>(
ModuleDependentsTestProjectStructureParser,
) {
override fun isFirPlugin(): Boolean = true
override fun getTestDataDirectory(): File =
@@ -31,20 +31,12 @@ abstract class AbstractModuleDependentsTest : AbstractProjectStructureTest<Modul
private val moduleDependentsProvider get() = KotlinModuleDependentsProvider.getInstance(project)
protected fun doTest(path: String) {
val (testStructure, projectLibrariesByName, modulesByName) =
initializeProjectStructure(path, ModuleDependentsTestProjectStructureParser)
assertNotEmpty(testStructure.targets)
testStructure.targets.forEach { checkTarget(it, projectLibrariesByName, modulesByName) }
override fun doTestWithProjectStructure(testDirectory: String) {
assertNotEmpty(testProjectStructure.targets)
testProjectStructure.targets.forEach(::checkTarget)
}
private fun checkTarget(
target: ModuleDependentsTestTarget,
projectLibrariesByName: ProjectLibrariesByName,
modulesByName: ModulesByName,
) {
private fun checkTarget(target: ModuleDependentsTestTarget) {
val entityReference = target.entityReference
val targetModule = when (entityReference) {
@@ -4,14 +4,13 @@ package org.jetbrains.kotlin.idea.fir.analysis.providers.sealedInheritors
import com.google.gson.JsonObject
import com.intellij.openapi.application.readAction
import kotlinx.coroutines.runBlocking
import org.jetbrains.kotlin.analysis.providers.KotlinSealedInheritorsProviderFactory
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.idea.base.psi.classIdIfNonLocal
import org.jetbrains.kotlin.idea.base.test.KotlinRoot
import org.jetbrains.kotlin.idea.base.util.getAsJsonObjectList
import org.jetbrains.kotlin.idea.base.util.getString
import org.jetbrains.kotlin.idea.test.KotlinTestUtils
import org.jetbrains.kotlin.idea.test.projectStructureTest.AbstractProjectStructureTest
import org.jetbrains.kotlin.idea.test.projectStructureTest.ModulesByName
import org.jetbrains.kotlin.idea.test.projectStructureTest.TestProjectLibrary
import org.jetbrains.kotlin.idea.test.projectStructureTest.TestProjectModule
import org.jetbrains.kotlin.idea.test.projectStructureTest.TestProjectStructure
@@ -21,20 +20,19 @@ import org.jetbrains.kotlin.psi.KtClass
import java.io.File
import kotlin.io.path.Path
abstract class AbstractSealedInheritorsProviderTest : AbstractProjectStructureTest<SealedInheritorsProviderTestProjectStructure>() {
abstract class AbstractSealedInheritorsProviderTest : AbstractProjectStructureTest<SealedInheritorsProviderTestProjectStructure>(
SealedInheritorsProviderTestProjectStructureParser,
) {
override fun isFirPlugin(): Boolean = true
override fun getTestDataDirectory(): File =
KotlinRoot.DIR.resolve("fir-low-level-api-ide-impl").resolve("testData").resolve("sealedInheritors")
KotlinRoot.DIR.resolve("base").resolve("fir").resolve("analysis-api-providers").resolve("testData").resolve("sealedInheritors")
protected fun doTest(testDirectory: String) {
val (testStructure, _, modulesByName) =
initializeProjectStructure(testDirectory, SealedInheritorsProviderTestProjectStructureParser)
testStructure.targets.forEach { checkTargetFile(it, modulesByName, testDirectory) }
override fun doTestWithProjectStructure(testDirectory: String) {
testProjectStructure.targets.forEach { checkTargetFile(it, testDirectory) }
}
private fun checkTargetFile(testTarget: SealedInheritorsProviderTestTarget, modulesByName: ModulesByName, testDirectory: String) {
private fun checkTargetFile(testTarget: SealedInheritorsProviderTestTarget, testDirectory: String) {
val module = modulesByName[testTarget.moduleName] ?: error("The target module `${testTarget.moduleName}` does not exist.")
val ktFile = module.findSourceKtFile(testTarget.filePath)
@@ -50,9 +48,13 @@ abstract class AbstractSealedInheritorsProviderTest : AbstractProjectStructureTe
private fun resolveActualInheritors(targetClass: KtClass): List<ClassId> = runBlocking {
readAction {
assertTrue("Expected the target type `${targetClass.classIdIfNonLocal}` to be sealed.", targetClass.isSealed())
KotlinSealedInheritorsProviderFactory.getInstance(project)!!
.createSealedInheritorsProvider()
.getSealedInheritors(targetClass)
analyze(targetClass) {
val classSymbol = targetClass.getNamedClassOrObjectSymbol()
?: error("Expected the target class `${targetClass.classIdIfNonLocal}` to have a class or object symbol.")
classSymbol.getSealedClassInheritors().map { it.classIdIfNonLocal ?: error("Sealed class inheritors should not be local.") }
}
}
}
}
@@ -4,26 +4,19 @@ package org.jetbrains.kotlin.idea.fir.analysis.providers.sessions
import com.intellij.openapi.application.runWriteAction
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSession
import org.jetbrains.kotlin.analysis.providers.KotlinGlobalModificationService
import org.jetbrains.kotlin.idea.test.projectStructureTest.ModulesByName
import org.jetbrains.kotlin.idea.test.projectStructureTest.ProjectLibrariesByName
/**
* Checks that *all* sessions for all modules in the test project structure are invalidated after publishing a global module state
* modification event.
*/
abstract class AbstractGlobalSessionInvalidationTest : AbstractSessionInvalidationTest() {
override fun publishModificationEvents(
testStructure: SessionInvalidationTestProjectStructure,
projectLibrariesByName: ProjectLibrariesByName,
modulesByName: ModulesByName,
) {
override fun publishModificationEvents() {
runWriteAction {
KotlinGlobalModificationService.getInstance(project).publishGlobalModuleStateModification()
}
}
override fun checkSessions(
testStructure: SessionInvalidationTestProjectStructure,
sessionsBeforeModification: List<LLFirSession>,
sessionsAfterModification: List<LLFirSession>,
) {
@@ -6,8 +6,6 @@ import com.intellij.openapi.application.runWriteAction
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirModuleSession
import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSession
import org.jetbrains.kotlin.analysis.project.structure.KtSourceModule
import org.jetbrains.kotlin.idea.test.projectStructureTest.ModulesByName
import org.jetbrains.kotlin.idea.test.projectStructureTest.ProjectLibrariesByName
import org.jetbrains.kotlin.idea.util.publishModuleOutOfBlockModification
/**
@@ -15,12 +13,8 @@ import org.jetbrains.kotlin.idea.util.publishModuleOutOfBlockModification
* structure.
*/
abstract class AbstractLocalSessionInvalidationTest : AbstractSessionInvalidationTest() {
override fun publishModificationEvents(
testStructure: SessionInvalidationTestProjectStructure,
projectLibrariesByName: ProjectLibrariesByName,
modulesByName: ModulesByName,
) {
val modulesToMakeOOBM = testStructure.modulesToMakeOOBM.map(modulesByName::getValue)
override fun publishModificationEvents() {
val modulesToMakeOOBM = testProjectStructure.modulesToMakeOOBM.map(modulesByName::getValue)
runWriteAction {
modulesToMakeOOBM.forEach { module ->
module.publishModuleOutOfBlockModification()
@@ -29,16 +23,14 @@ abstract class AbstractLocalSessionInvalidationTest : AbstractSessionInvalidatio
}
override fun checkSessions(
testStructure: SessionInvalidationTestProjectStructure,
sessionsBeforeModification: List<LLFirSession>,
sessionsAfterModification: List<LLFirSession>,
) {
checkInvalidatedModules(testStructure, sessionsBeforeModification, sessionsAfterModification)
checkInvalidatedModules(sessionsBeforeModification, sessionsAfterModification)
checkSessionsMarkedInvalid(sessionsBeforeModification, sessionsAfterModification)
}
private fun checkInvalidatedModules(
testStructure: SessionInvalidationTestProjectStructure,
sessionsBeforeModification: List<LLFirSession>,
sessionsAfterModification: List<LLFirSession>,
) {
@@ -57,6 +49,6 @@ abstract class AbstractLocalSessionInvalidationTest : AbstractSessionInvalidatio
.distinct()
.sorted()
assertEquals(testStructure.expectedInvalidatedModules, changedSessionsModuleNames)
assertEquals(testProjectStructure.expectedInvalidatedModules, changedSessionsModuleNames)
}
}
@@ -10,24 +10,19 @@ import org.jetbrains.kotlin.idea.base.projectStructure.sourceModuleInfos
import org.jetbrains.kotlin.idea.base.projectStructure.toKtModule
import org.jetbrains.kotlin.idea.base.test.KotlinRoot
import org.jetbrains.kotlin.idea.test.projectStructureTest.AbstractProjectStructureTest
import org.jetbrains.kotlin.idea.test.projectStructureTest.ModulesByName
import org.jetbrains.kotlin.idea.test.projectStructureTest.ProjectLibrariesByName
import java.io.File
sealed class AbstractSessionInvalidationTest : AbstractProjectStructureTest<SessionInvalidationTestProjectStructure>() {
sealed class AbstractSessionInvalidationTest : AbstractProjectStructureTest<SessionInvalidationTestProjectStructure>(
SessionInvalidationTestProjectStructureParser,
) {
override fun isFirPlugin(): Boolean = true
override fun getTestDataDirectory(): File =
KotlinRoot.DIR.resolve("base").resolve("fir").resolve("analysis-api-providers").resolve("testData").resolve("sessionInvalidation")
protected abstract fun publishModificationEvents(
testStructure: SessionInvalidationTestProjectStructure,
projectLibrariesByName: ProjectLibrariesByName,
modulesByName: ModulesByName,
)
protected abstract fun publishModificationEvents()
protected abstract fun checkSessions(
testStructure: SessionInvalidationTestProjectStructure,
sessionsBeforeModification: List<LLFirSession>,
sessionsAfterModification: List<LLFirSession>,
)
@@ -46,20 +41,17 @@ sealed class AbstractSessionInvalidationTest : AbstractProjectStructureTest<Sess
}
}
protected fun doTest(path: String) {
val (testStructure, projectLibrariesByName, modulesByName) =
initializeProjectStructure(path, SessionInvalidationTestProjectStructureParser)
val rootIdeaModule = modulesByName.getValue(testStructure.rootModule)
override fun doTestWithProjectStructure(testDirectory: String) {
val rootIdeaModule = modulesByName.getValue(testProjectStructure.rootModule)
val rootModule = rootIdeaModule.getMainKtSourceModule()!!
val sessionsBeforeModification = getAllModuleSessions(rootModule)
publishModificationEvents(testStructure, projectLibrariesByName, modulesByName)
publishModificationEvents()
val sessionsAfterModification = getAllModuleSessions(rootModule)
checkSessions(testStructure, sessionsBeforeModification, sessionsAfterModification)
checkSessions(sessionsBeforeModification, sessionsAfterModification)
}
private fun getAllModuleSessions(mainModule: KtModule): List<LLFirSession> {
@@ -71,4 +63,3 @@ sealed class AbstractSessionInvalidationTest : AbstractProjectStructureTest<Sess
return projectModules.map(resolveSession::getSessionFor)
}
}
@@ -1,4 +1,6 @@
{
"is_disabled": "true",
"is_disabled_reason": "KT-66248",
"modules": [
{ "name": "common", "platform": "common" },
{ "name": "intermediate", "platform": "common", "refinement_dependencies": ["common"] },
@@ -45,20 +45,6 @@ class IdeKotlinVersion private constructor(
return parse(rawVersion).getOrNull()
}
@JvmStatic
fun fromKotlinVersion(version: KotlinVersion): IdeKotlinVersion {
val languageVersion = LanguageVersion.values().first { it.major == version.major && it.minor == version.minor }
return IdeKotlinVersion(
rawVersion = version.toString(),
kotlinVersion = version,
kind = Kind.Release,
requireBuildNumberForArtifact = false,
buildNumber = null,
languageVersion = languageVersion,
apiVersion = ApiVersion.createByLanguageVersion(languageVersion)
)
}
@JvmStatic
fun fromLanguageVersion(languageVersion: LanguageVersion): IdeKotlinVersion {
return IdeKotlinVersion(
@@ -119,6 +105,7 @@ class IdeKotlinVersion private constructor(
kindSuffix.startsWith("beta") -> parseKind(kindSuffix, "beta") { Kind.Beta(it) }
kindSuffix.startsWith("m") -> parseKind(kindSuffix, "m") { Kind.Milestone(it) }
kindSuffix.startsWith("eap") -> parseKind(kindSuffix, "eap") { Kind.Eap(it) }
kindSuffix.matches(Regex("ij\\d+")) -> Kind.ForIde(kindSuffix)
else -> null
} ?: return Result.failure(IllegalArgumentException("Unsupported version kind suffix: \"$kindSuffix\" ($rawVersion)"))
@@ -146,6 +133,7 @@ class IdeKotlinVersion private constructor(
// M should always have a number, so default to M1
data class Milestone(val number: Int?) : Kind(artifactSuffix = if (number == null) "M1" else "M$number")
data class Eap(val number: Int?) : Kind(artifactSuffix = if (number == null) "eap" else "eap$number")
data class ForIde(val platform: String) : Kind(artifactSuffix = platform)
object Dev : Kind(artifactSuffix = "dev")
object Snapshot : Kind(artifactSuffix = "SNAPSHOT")
@@ -21,10 +21,12 @@ import org.jetbrains.kotlin.analysis.project.structure.KtScriptDependencyModule
import org.jetbrains.kotlin.analysis.project.structure.KtScriptModule
import org.jetbrains.kotlin.analysis.project.structure.KtSdkModule
import org.jetbrains.kotlin.analysis.project.structure.impl.KotlinModuleDependentsProviderBase
import org.jetbrains.kotlin.idea.base.facet.implementingModules
import org.jetbrains.kotlin.idea.base.projectStructure.libraryToSourceAnalysis.ResolutionAnchorCacheService
import org.jetbrains.kotlin.idea.base.projectStructure.moduleInfo.ModuleProductionSourceInfo
import org.jetbrains.kotlin.idea.base.projectStructure.moduleInfo.ModuleSourceInfo
import org.jetbrains.kotlin.idea.base.projectStructure.util.getTransitiveLibraryDependencyInfos
import org.jetbrains.kotlin.idea.base.util.Frontend10ApiUsage
import org.jetbrains.kotlin.utils.KotlinExceptionWithAttachments
import org.jetbrains.kotlin.utils.addIfNotNull
@@ -137,4 +139,11 @@ internal class IdeKotlinModuleDependentsProvider(private val project: Project) :
// computed for select modules, so the performance impact of this computation is expected to be negligible.
computeTransitiveDependents(it)
}
@OptIn(Frontend10ApiUsage::class)
override fun getRefinementDependents(module: KtModule): Set<KtModule> {
val moduleInfo = module.moduleInfo as? ModuleSourceInfo ?: return emptySet()
val implementingModules = moduleInfo.module.implementingModules
return implementingModules.mapNotNullTo(mutableSetOf()) { it.productionOrTestSourceModuleInfo?.toKtModule() }.ifEmpty { emptySet() }
}
}
@@ -1,20 +0,0 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.base.projectStructure
import org.jetbrains.kotlin.analysis.project.structure.KtModule
import org.jetbrains.kotlin.idea.base.facet.implementingModules
import org.jetbrains.kotlin.idea.base.projectStructure.moduleInfo.ModuleSourceInfo
import org.jetbrains.kotlin.idea.base.util.Frontend10ApiUsage
/**
* The list of [KtModule]s which have this [KtModule] in its dependsOn (aka refinement) dependencies.
* For instance, for a [KtModule] corresponding to a 'commonMain' KMP source set, the list will include all modules
* from the same source set tree (production source sets), because 'commonMain' is the root source set.
*/
@OptIn(Frontend10ApiUsage::class)
fun KtModule.getDependentDependsOnKtModules(): List<KtModule> {
val moduleInfo = this.moduleInfo as? ModuleSourceInfo ?: return emptyList()
val implementingModules = moduleInfo.module.implementingModules
return implementingModules.mapNotNull { it.productionOrTestSourceModuleInfo?.toKtModule() }
}
@@ -80,6 +80,33 @@ object IgnoreTests {
)
}
/**
* Runs [test] normally if it is enabled via [isEnabled]. If not, runs the disabled test experimentally and reports an error if it
* passes unexpectedly.
*
* [runTestIfEnabled] should be used instead of a directive function if an enable/disable directive is not suitable for the test data.
*
* @param testFile A path to the file which contains the "enable" or "disable" setting.
*/
fun runTestIfEnabled(
isEnabled: Boolean,
testFile: Path,
test: () -> Unit
) {
if (isEnabled) {
test()
return
}
try {
test()
} catch (_: Throwable) {
return
}
throw AssertionError("The test passes but is disabled. Please enable the test in the following file: `$testFile`.")
}
private fun runTestIfEnabledByDirective(
testFile: Path,
directive: EnableOrDisableTestDirective,
@@ -8,6 +8,11 @@ import org.junit.Assert
import java.io.File
object JUnit4Assertions : Assertions() {
override fun doesEqualToFile(expectedFile: File, actual: String, sanitizer: (String) -> String): Boolean {
val expectedPath = expectedFile.toPath()
return KotlinTestHelpers.doesEqualsToPath(expectedPath, actual, sanitizer).yes
}
override fun assertEqualsToFile(expectedFile: File, actual: String, sanitizer: (String) -> String, message: () -> String) {
val expectedPath = expectedFile.toPath()
KotlinTestHelpers.assertEqualsToPath(expectedPath, actual, sanitizer, message)
@@ -30,7 +30,9 @@ object KotlinTestHelpers {
assertEqualsToPath(expectedPath, actual, { it }) { "Expected file content differs from the actual result" }
}
fun assertEqualsToPath(expectedPath: Path, actual: String, sanitizer: (String) -> String, message: () -> String) {
data class DoesEqual(val yes: Boolean, val processedExpected: String, val processedActual: String)
fun doesEqualsToPath(expectedPath: Path, actual: String, sanitizer: (String) -> String): DoesEqual {
if (!expectedPath.exists()) {
expectedPath.writeText(actual)
TestCase.fail("File didn't exist. New file was created (${expectedPath.absolutePathString()}).")
@@ -46,8 +48,18 @@ object KotlinTestHelpers {
val processedExpected = process(expectedPath.readText())
val processedActual = process(actual)
if (processedExpected != processedActual) {
throw FileComparisonFailedError(message(), processedExpected, processedActual, expectedPath.absolutePathString())
return DoesEqual(processedExpected == processedActual, processedExpected, processedActual)
}
fun assertEqualsToPath(expectedPath: Path, actual: String, sanitizer: (String) -> String, message: () -> String) {
val equalsToPath = doesEqualsToPath(expectedPath, actual, sanitizer)
if (!equalsToPath.yes) {
throw FileComparisonFailedError(
message(),
equalsToPath.processedExpected,
equalsToPath.processedActual,
expectedPath.absolutePathString()
)
}
}
}
@@ -14,7 +14,7 @@ class UnclearPrecedenceOfBinaryExpressionInspectionTest : KotlinLightCodeInsight
fun `test elvis elvis`() = doTest("fun foo(i: Int?, j: Int?, k: Int?) = i ?: j <caret>?: k")
fun `test elvis as`() = doTest(
"fun foo(i: Int?, j: Int?) = i ?: j<caret> as String?",
"fun foo(i: Int?, j: Int?) = i ?: j<caret> <warning descr=\"[USELESS_CAST] No cast needed.\">as String?</warning>",
"fun foo(i: Int?, j: Int?) = i ?: (j as String?)"
)
@@ -41,5 +41,6 @@
<orderEntry type="module" module-name="kotlin.compiler-plugins.parcelize.common" />
<orderEntry type="module" module-name="kotlin.idea" />
<orderEntry type="module" module-name="intellij.platform.editor" />
<orderEntry type="library" name="kotlinc.kotlin-compiler-ir" level="project" />
</component>
</module>
@@ -3,7 +3,7 @@
<xi:include href="parcelize.xml" xpointer="xpointer(/idea-plugin/*)"/>
<extensions defaultExtensionNs="org.jetbrains.kotlin">
<irGenerationExtension implementation="org.jetbrains.kotlin.parcelize.ParcelizeIrGeneratorExtension"/>
<irGenerationExtension implementation="org.jetbrains.kotlin.idea.compilerPlugin.parcelize.IdeParcelizeIrGeneratorExtension"/>
<syntheticResolveExtension implementation="org.jetbrains.kotlin.idea.compilerPlugin.parcelize.IdeParcelizeResolveExtension"/>
<storageComponentContainerContributor
implementation="org.jetbrains.kotlin.idea.compilerPlugin.parcelize.IdeParcelizeDeclarationCheckerComponentContainerContributor"/>
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.extensions.StorageComponentContainerContributor
import org.jetbrains.kotlin.idea.base.projectStructure.moduleInfo.ModuleSourceInfo
import org.jetbrains.kotlin.parcelize.ParcelizeAnnotationChecker
import org.jetbrains.kotlin.parcelize.ParcelizeDeclarationChecker
import org.jetbrains.kotlin.parcelize.ParcelizeNames
import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.jvm.isJvm
@@ -21,8 +22,8 @@ class IdeParcelizeDeclarationCheckerComponentContainerContributor : StorageCompo
if (platform.isJvm()) {
val moduleInfo = moduleDescriptor.moduleInfo
if (moduleInfo is ModuleSourceInfo && ParcelizeAvailability.isAvailable(moduleInfo.module)) {
container.useInstance(ParcelizeDeclarationChecker())
container.useInstance(ParcelizeAnnotationChecker())
container.useInstance(ParcelizeDeclarationChecker(ParcelizeNames.PARCELIZE_CLASS_FQ_NAMES))
container.useInstance(ParcelizeAnnotationChecker(ParcelizeNames.PARCELIZE_CLASS_FQ_NAMES))
}
}
}
@@ -0,0 +1,7 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.compilerPlugin.parcelize
import org.jetbrains.kotlin.parcelize.ParcelizeIrGeneratorExtension
import org.jetbrains.kotlin.parcelize.ParcelizeNames
internal class IdeParcelizeIrGeneratorExtension : ParcelizeIrGeneratorExtension(ParcelizeNames.PARCELIZE_CLASS_FQ_NAMES)
@@ -3,9 +3,10 @@
package org.jetbrains.kotlin.idea.compilerPlugin.parcelize
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.parcelize.ParcelizeNames
import org.jetbrains.kotlin.parcelize.ParcelizeResolveExtension
class IdeParcelizeResolveExtension : ParcelizeResolveExtension() {
class IdeParcelizeResolveExtension : ParcelizeResolveExtension(ParcelizeNames.PARCELIZE_CLASS_FQ_NAMES) {
override fun isAvailable(element: PsiElement): Boolean {
return ParcelizeAvailability.isAvailable(element)
}
@@ -14,7 +14,9 @@ import org.jetbrains.kotlin.asJava.elements.KtLightMethod
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.idea.base.util.module
import org.jetbrains.kotlin.parcelize.ParcelizeNames
import org.jetbrains.kotlin.parcelize.ParcelizeSyntheticComponent
import org.jetbrains.kotlin.parcelize.isParcelize
import org.jetbrains.kotlin.parcelize.serializers.ParcelizeExtensionBase
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
@@ -35,7 +37,7 @@ class ParcelizeUltraLightClassModifierExtension : ParcelizeExtensionBase, UltraL
val descriptorValue = descriptor.value ?: return null
val parcelizeClass = (descriptorValue as? ClassDescriptor) ?: descriptorValue.containingDeclaration as? ClassDescriptor
if (parcelizeClass == null || !parcelizeClass.isParcelizeClassDescriptor) {
if (parcelizeClass == null || !parcelizeClass.isParcelizeClassDescriptor(ParcelizeNames.PARCELIZE_CLASS_FQ_NAMES)) {
return null
}
@@ -6,6 +6,7 @@ import com.intellij.testFramework.ExtensionTestUtil
import com.intellij.testFramework.common.runAll
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrarAdapter
import org.jetbrains.kotlin.idea.k2.quickfix.tests.AbstractK2QuickFixTest
import org.jetbrains.kotlin.parcelize.ParcelizeNames
import org.jetbrains.kotlin.parcelize.fir.FirParcelizeExtensionRegistrar
abstract class AbstractParcelizeK2QuickFixTest : AbstractK2QuickFixTest() {
@@ -15,7 +16,10 @@ abstract class AbstractParcelizeK2QuickFixTest : AbstractK2QuickFixTest() {
if (!project.extensionArea.hasExtensionPoint(FirExtensionRegistrarAdapter.extensionPointName)) {
FirExtensionRegistrarAdapter.registerExtensionPoint(project)
}
FirExtensionRegistrarAdapter.registerExtension(project, FirParcelizeExtensionRegistrar())
FirExtensionRegistrarAdapter.registerExtension(
project,
FirParcelizeExtensionRegistrar(ParcelizeNames.PARCELIZE_CLASS_FQ_NAMES)
)
}
override fun tearDown() {
@@ -73,7 +73,7 @@ internal class KtCompilerPluginsProviderIdeImpl(private val project: Project, cs
change.facetTypes.any { it == KotlinFacetType.ID }
}
if (hasChanges) {
pluginsCacheCachedValue.drop()
resetPluginsCache()
}
}
}
@@ -82,7 +82,7 @@ internal class KtCompilerPluginsProviderIdeImpl(private val project: Project, cs
messageBusConnection.subscribe(KotlinCompilerSettingsListener.TOPIC,
object : KotlinCompilerSettingsListener {
override fun <T> settingsChanged(oldSettings: T?, newSettings: T?) {
pluginsCacheCachedValue.drop()
resetPluginsCache()
}
}
)
@@ -90,7 +90,7 @@ internal class KtCompilerPluginsProviderIdeImpl(private val project: Project, cs
onlyBundledPluginsEnabledRegistryValue.addListener(
object : RegistryValueListener {
override fun afterValueChanged(value: RegistryValue) {
pluginsCacheCachedValue.drop()
resetPluginsCache()
}
},
this
@@ -236,7 +236,25 @@ internal class KtCompilerPluginsProviderIdeImpl(private val project: Project, cs
}
override fun dispose() {
pluginsCacheCachedValue.drop()
resetPluginsCache()
}
/**
* Throws away the cache for all the registered plugins, and executes all the disposables
* registered in the corresponding [CompilerPluginRegistrar.ExtensionStorage]s.
*/
private fun resetPluginsCache() {
val droppedCache = pluginsCacheCachedValue.drop() ?: return
val extensionStorages = droppedCache.registrarForModule.values.mapNotNull { it.orNull() }
for (storage in extensionStorages) {
for (disposable in storage.disposables) {
LOG.runAndLogException {
disposable.dispose()
}
}
}
}
companion object {
@@ -1,47 +0,0 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.fir.classes
import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.asJava.KotlinAsJavaSupport
import org.jetbrains.kotlin.asJava.classes.AbstractIdeLightClassesByPsiTest
import org.jetbrains.kotlin.asJava.classes.UltraLightChecker.allClasses
import org.jetbrains.kotlin.asJava.classes.UltraLightChecker.getJavaFileForTest
import org.jetbrains.kotlin.asJava.classes.UltraLightChecker.renderLightClasses
import org.jetbrains.kotlin.executeOnPooledThreadInReadAction
import org.jetbrains.kotlin.idea.fir.findUsages.doTestWithFIRFlagsByPath
import org.jetbrains.kotlin.idea.test.Directives
import org.jetbrains.kotlin.idea.test.KotlinTestUtils
import org.jetbrains.kotlin.idea.test.util.slashedPath
import org.jetbrains.kotlin.idea.test.withCustomCompilerOptions
import org.jetbrains.kotlin.psi.KtFile
import java.io.File
abstract class AbstractFirClassLoadingTest : AbstractIdeLightClassesByPsiTest() {
override fun isFirPlugin(): Boolean = true
override fun doMultiFileTest(files: List<PsiFile>, globalDirectives: Directives) = doTestWithFIRFlagsByPath(testDataDirectory.slashedPath) {
doTestImpl(testDataDirectory.slashedPath)
}
private fun doTestImpl(testDataPath: String) {
val testDataFile = File(testDataPath)
val sourceText = testDataFile.readText()
withCustomCompilerOptions(sourceText, project, module) {
val file = myFixture.addFileToProject(testDataPath, sourceText) as KtFile
val classFabric = KotlinAsJavaSupport.getInstance(project)
val expectedTextFile = getJavaFileForTest(testDataPath)
val renderedClasses = executeOnPooledThreadInReadAction {
val lightClasses = allClasses(file).mapNotNull { classFabric.getLightClass(it) }
renderLightClasses(testDataPath, lightClasses)
}
KotlinTestUtils.assertEqualsToFile(expectedTextFile, renderedClasses)
}
}
}
@@ -1,71 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.fir.classes
import com.intellij.util.ThrowableRunnable
import org.jetbrains.kotlin.asJava.classes.LightClassTestCommon
import org.jetbrains.kotlin.asJava.classes.PsiElementChecker
import org.jetbrains.kotlin.asJava.classes.findLightClass
import org.jetbrains.kotlin.executeOnPooledThreadInReadAction
import org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager
import org.jetbrains.kotlin.idea.fir.findUsages.doTestWithFIRFlagsByPath
import org.jetbrains.kotlin.idea.fir.invalidateCaches
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
import org.jetbrains.kotlin.idea.test.KotlinTestUtils
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
import org.jetbrains.kotlin.idea.test.runAll
import org.jetbrains.kotlin.psi.KtFile
import java.io.File
abstract class AbstractFirLightClassTest : KotlinLightCodeInsightFixtureTestCase() {
override fun isFirPlugin(): Boolean = true
fun doTest(path: String) = doTestWithFIRFlagsByPath(path) {
doTestImpl()
}
override fun tearDown() {
runAll(
ThrowableRunnable { project.invalidateCaches() },
ThrowableRunnable { super.tearDown() },
)
}
private fun doTestImpl() {
val fileName = fileName()
val extraFilePath = when {
fileName.endsWith(fileExtension) -> fileName.replace(fileExtension, ".extra$fileExtension")
else -> error("Invalid test data extension")
}
val testFiles = if (File(testDataDirectory, extraFilePath).isFile) listOf(fileName, extraFilePath) else listOf(fileName)
myFixture.configureByFiles(*testFiles.toTypedArray())
if ((myFixture.file as? KtFile)?.isScript() == true) {
error { "FIR for scripts does not supported yet" }
ScriptConfigurationManager.updateScriptDependenciesSynchronously(myFixture.file)
}
val ktFile = myFixture.file as KtFile
val testData = dataFile()
val actual = executeOnPooledThreadInReadAction {
LightClassTestCommon.getActualLightClassText(
testData,
{ fqName ->
findLightClass(fqName, ktFile, project)?.apply {
PsiElementChecker.checkPsiElementStructure(this)
}
},
{ it }
)
}
KotlinTestUtils.assertEqualsToFile(KotlinTestUtils.replaceExtension(testData, "java"), actual)
}
override fun getProjectDescriptor() = KotlinWithJdkAndRuntimeLightProjectDescriptor.getInstance()
open val fileExtension = ".kt"
}
@@ -47,13 +47,6 @@ class KlibInfoProviderTest : TestCase() {
potentialKlibPaths += resolve(KONAN_DISTRIBUTION_PLATFORM_LIBS_DIR, "ios_arm64").children()
potentialKlibPaths += resolve(KONAN_DISTRIBUTION_PLATFORM_LIBS_DIR, "ios_x64").children()
}
with(resolve(KONAN_DISTRIBUTION_COMMONIZED_LIBS_DIR, "ios_arm32-ios_arm64-ios_x64-discriminator")) {
potentialKlibPaths += resolve(KONAN_DISTRIBUTION_COMMON_LIBS_DIR).children()
potentialKlibPaths += resolve(KONAN_DISTRIBUTION_PLATFORM_LIBS_DIR, "ios_arm32").children()
potentialKlibPaths += resolve(KONAN_DISTRIBUTION_PLATFORM_LIBS_DIR, "ios_arm64").children()
potentialKlibPaths += resolve(KONAN_DISTRIBUTION_PLATFORM_LIBS_DIR, "ios_x64").children()
}
}
val actualKlibs = potentialKlibPaths.mapNotNull { klibProvider.getKlibInfo(it) }
@@ -139,7 +132,6 @@ class KlibInfoProviderTest : TestCase() {
val targets = rawTargets.map {
when (it) {
"ios_x64" -> KonanTarget.IOS_X64
"ios_arm32" -> KonanTarget.IOS_ARM32
"ios_arm64" -> KonanTarget.IOS_ARM64
else -> error("Unexpected target: $it")
}
@@ -172,8 +164,7 @@ class KlibInfoProviderTest : TestCase() {
return result.associateBy { it.path.relativeTo(kotlinNativeHome) }
}
return generateCommonizedKlibsForDir("ios_arm64-ios_x64-discriminator") +
generateCommonizedKlibsForDir("ios_arm32-ios_arm64-ios_x64-discriminator")
return generateCommonizedKlibsForDir("ios_arm64-ios_x64-discriminator")
}
companion object {
@@ -78,13 +78,13 @@ class KotlinNativeLibraryNameUtilTest : TestCase() {
)
assertEquals(
Triple("1.3.60-eap-23", "Accelerate", "ios_arm32, ios_arm64, ios_x64"),
parseIDELibraryName("Kotlin/Native 1.3.60-eap-23 - Accelerate [ios_arm32, ios_arm64, ios_x64]")
Triple("1.3.60-eap-23", "Accelerate", "ios_arm64, ios_x64"),
parseIDELibraryName("Kotlin/Native 1.3.60-eap-23 - Accelerate [ios_arm64, ios_x64]")
)
assertEquals(
Triple("1.3.60-eap-23", "Accelerate", "ios_arm32, ios_arm64(*), ios_x64"),
parseIDELibraryName("Kotlin/Native 1.3.60-eap-23 - Accelerate [ios_arm32, ios_arm64(*), ios_x64]")
Triple("1.3.60-eap-23", "Accelerate", "ios_arm64(*), ios_x64"),
parseIDELibraryName("Kotlin/Native 1.3.60-eap-23 - Accelerate [ios_arm64(*), ios_x64]")
)
assertNull(parseIDELibraryName("Kotlin/Native - something unexpected"))
@@ -104,4 +104,3 @@ class KotlinNativeLibraryNameUtilTest : TestCase() {
assertTrue(isGradleLibraryName("Gradle: some:third-party-library:1.2"))
}
}
@@ -229,7 +229,7 @@ class OptimizedImportsBuilder(
expressionToAnalyze,
bindingContext,
newScope,
trace = BindingTraceContext()
trace = BindingTraceContext(bindingContext.project)
)
testLog?.append("Additional checking of reference $ref\n")
@@ -136,7 +136,7 @@ class RedundantSamConstructorInspection : AbstractKotlinInspection() {
val expectedType = context[BindingContext.EXPECTED_EXPRESSION_TYPE, qualifiedExpression] ?: TypeUtils.NO_EXPECTED_TYPE
val resolutionResults =
callResolver.resolveFunctionCall(BindingTraceContext(), scope, newCall, expectedType, dataFlow, false, null)
callResolver.resolveFunctionCall(BindingTraceContext(context.project), scope, newCall, expectedType, dataFlow, false, null)
if (!resolutionResults.isSuccess) return false
@@ -168,7 +168,7 @@ private fun KtAnnotationEntry.getActualTargetList(): List<KotlinTarget> {
?: getStrictParentOfType<KtFile>()
?: return emptyList()
val targetList = AnnotationChecker.getActualTargetList(annotatedElement, null, BindingTraceContext().bindingContext)
val targetList = AnnotationChecker.getActualTargetList(annotatedElement, null, BindingTraceContext(this.project).bindingContext)
val useSiteTarget = this.useSiteTarget ?: return targetList.defaultTargets
val annotationUseSiteTarget = useSiteTarget.getAnnotationUseSiteTarget()
@@ -91,7 +91,7 @@ object ReplaceWithAnnotationAnalyzer {
val scope = buildScope(resolutionFacade, replaceWith, symbolDescriptor) ?: return null
val typeResolver = resolutionFacade.getFrontendService(TypeResolver::class.java)
val bindingTrace = BindingTraceContext()
val bindingTrace = BindingTraceContext(resolutionFacade.project)
typeResolver.resolvePossiblyBareType(TypeResolutionContext(scope, bindingTrace, false, true, false), typeReference)
val typesToQualify = ArrayList<Pair<KtNameReferenceExpression, FqName>>()
@@ -198,7 +198,7 @@ object K1IntroduceVariableHandler : KotlinIntroduceVariableHandler() {
val scope = physicalExpression.getResolutionScope(bindingContext, resolutionFacade)
val dataFlowInfo = bindingContext.getDataFlowInfoAfter(physicalExpression)
val bindingTrace = ObservableBindingTrace(BindingTraceContext())
val bindingTrace = ObservableBindingTrace(BindingTraceContext(project))
val typeInfoComputable = {
physicalExpression.computeTypeInfoInContext(scope, physicalExpression, bindingTrace, dataFlowInfo).type
}
@@ -453,7 +453,7 @@ fun dropOverrideKeywordIfNecessary(element: KtNamedDeclaration) {
fun dropOperatorKeywordIfNecessary(element: KtNamedDeclaration) {
val callableDescriptor = element.resolveToDescriptorIfAny() as? CallableDescriptor ?: return
val diagnosticHolder = BindingTraceContext()
val diagnosticHolder = BindingTraceContext(element.project)
OperatorModifierChecker.check(element, callableDescriptor, diagnosticHolder, element.languageVersionSettings)
if (diagnosticHolder.bindingContext.diagnostics.any { it.factory == Errors.INAPPLICABLE_OPERATOR_MODIFIER }) {
element.removeModifier(KtTokens.OPERATOR_KEYWORD)
@@ -664,4 +664,4 @@ fun VirtualFile.toPsiDirectory(project: Project): PsiDirectory? {
)
fun VirtualFile.toPsiFile(project: Project): PsiFile? {
return newToPsiFile(project)
}
}
@@ -435,6 +435,11 @@ public abstract class IdeCompiledLightClassesByFqNameTestGenerated extends Abstr
runTest(compilerTestData("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedObjects.kt"));
}
@TestMetadata("NestedTypeAnnotations.kt")
public void testNestedTypeAnnotations() throws Exception {
runTest(compilerTestData("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt"));
}
@TestMetadata("NonDataClassWithComponentFunctions.kt")
public void testNonDataClassWithComponentFunctions() throws Exception {
runTest(compilerTestData("compiler/testData/asJava/lightClasses/lightClassByFqName/NonDataClassWithComponentFunctions.kt"));
@@ -682,6 +682,11 @@ public abstract class IdeLightClassesByFqNameTestGenerated extends AbstractIdeLi
runTest(compilerTestData("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedObjects.kt"));
}
@TestMetadata("NestedTypeAnnotations.kt")
public void testNestedTypeAnnotations() throws Exception {
runTest(compilerTestData("compiler/testData/asJava/lightClasses/lightClassByFqName/NestedTypeAnnotations.kt"));
}
@TestMetadata("NonDataClassWithComponentFunctions.kt")
public void testNonDataClassWithComponentFunctions() throws Exception {
runTest(compilerTestData("compiler/testData/asJava/lightClasses/lightClassByFqName/NonDataClassWithComponentFunctions.kt"));
@@ -11,7 +11,6 @@ import com.intellij.util.ref.DebugReflectionUtil
import org.jetbrains.kotlin.asJava.KotlinAsJavaSupport
import org.jetbrains.kotlin.asJava.KotlinAsJavaSupportBase
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.idea.asJava.PsiClassRenderer
import org.jetbrains.kotlin.idea.asJava.renderClass
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCaseBase
import org.jetbrains.kotlin.idea.test.KotlinTestUtils
@@ -35,7 +34,6 @@ object UltraLightChecker {
fun checkByJavaFile(testDataPath: String, lightClasses: List<PsiClass>) {
val expectedTextFile = getJavaFileForTest(testDataPath)
val renderedResult = renderLightClasses(
testDataPath,
lightClasses.sortedBy { it.qualifiedName ?: it.name.toString() },
)
@@ -53,14 +51,8 @@ object UltraLightChecker {
fun getJavaFileForTest(testDataPath: String): File = getJavaFileForTest(File(testDataPath))
fun renderLightClasses(testDataPath: String, lightClasses: List<PsiClass>): String {
val extendedTypeRendererOld = PsiClassRenderer.extendedTypeRenderer
return try {
PsiClassRenderer.extendedTypeRenderer = testDataPath.endsWith("typeAnnotations.kt")
lightClasses.sortedBy { it.name }.joinToString("\n\n") { it.renderClass() }
} finally {
PsiClassRenderer.extendedTypeRenderer = extendedTypeRendererOld
}
fun renderLightClasses(lightClasses: List<PsiClass>): String {
return lightClasses.sortedBy { it.name }.joinToString("\n\n") { it.renderClass() }
}
fun checkClassEquivalence(ktClass: KtClassOrObject): PsiClass? {
@@ -45,7 +45,7 @@ class DecompiledTextConsistencyTest : LightJavaCodeInsightFixtureTestCase() {
val classFile = VirtualFileFinder.SERVICE.getInstance(project).findVirtualFileWithHeader(classId)!!
val module = TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
project, listOf(), BindingTraceContext(), KotlinTestUtils.newConfiguration(), ::IDEPackagePartProvider
project, listOf(), BindingTraceContext(project), KotlinTestUtils.newConfiguration(), ::IDEPackagePartProvider
).moduleDescriptor
val projectBasedText = buildDecompiledTextForClassFile(classFile, ResolverForDecompilerImpl(module)).text
@@ -29,7 +29,7 @@ object JvmResolveUtil {
targetEnvironment: TargetEnvironment = CompilerEnvironment
): ComponentProvider =
TopDownAnalyzerFacadeForJVM.createContainer(
environment.project, files, NoScopeRecordCliBindingTrace(),
environment.project, files, NoScopeRecordCliBindingTrace(environment.project),
environment.configuration, { PackagePartProvider.Empty }, ::FileBasedDeclarationProviderFactory,
targetEnvironment
)
@@ -40,7 +40,7 @@ object JvmResolveUtil {
files: Collection<KtFile>,
configuration: CompilerConfiguration,
packagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
trace: BindingTrace = CliBindingTrace(),
trace: BindingTrace = CliBindingTrace(project),
klibList: List<KotlinLibrary> = emptyList()
): AnalysisResult {
for (file in files) {
@@ -82,7 +82,7 @@ object JvmResolveUtil {
files: Collection<KtFile>,
configuration: CompilerConfiguration,
packagePartProviderFactory: (GlobalSearchScope) -> PackagePartProvider,
trace: BindingTrace = CliBindingTrace(),
trace: BindingTrace = CliBindingTrace(project),
klibList: List<KotlinLibrary> = emptyList()
): AnalysisResult {
return TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(

Some files were not shown because too many files have changed in this diff Show More