Safe-Push into master

GitOrigin-RevId: dda27fb046c46fd089d037ef41fb66fd7427285f
This commit is contained in:
Anna Kozlova
2024-05-02 10:43:58 +00:00
committed by intellij-monorepo-bot
81 changed files with 457 additions and 367 deletions
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:allopen-compiler-plugin-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.20-dev-2192/allopen-compiler-plugin-for-ide-2.0.20-dev-2192.jar">
<sha256sum>887a2bbd8d8bb333520eedffdb10b9dfe98f8a6a0a009ef07ec85eb14faad14c</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.20-dev-2794/allopen-compiler-plugin-for-ide-2.0.20-dev-2794.jar">
<sha256sum>4b6f71c4c5a7a48e086e743a9d4ca54dd90e630060bcf87dbd6819758c036520</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.20-dev-2192/allopen-compiler-plugin-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.20-dev-2794/allopen-compiler-plugin-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.20-dev-2192/allopen-compiler-plugin-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2.0.20-dev-2794/allopen-compiler-plugin-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:analysis-api-providers-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.20-dev-2192/analysis-api-providers-for-ide-2.0.20-dev-2192.jar">
<sha256sum>2aef188e9c37940e9704d2308e1f172fe789e1ae921c804d43da438dbc5d613f</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.20-dev-2794/analysis-api-providers-for-ide-2.0.20-dev-2794.jar">
<sha256sum>af7be4f3bddcfd36113601b7ab312e5fab657186373e125a3954d4fe9b2dedd4</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.20-dev-2192/analysis-api-providers-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.20-dev-2794/analysis-api-providers-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.20-dev-2192/analysis-api-providers-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/2.0.20-dev-2794/analysis-api-providers-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+4 -4
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:analysis-project-structure-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.20-dev-2192/analysis-project-structure-for-ide-2.0.20-dev-2192.jar">
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.20-dev-2794/analysis-project-structure-for-ide-2.0.20-dev-2794.jar">
<sha256sum>cee2ed7f9023a371850c84823cc38357885a3bae286c0d5b69b26d6bd3b49b4a</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.20-dev-2192/analysis-project-structure-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.20-dev-2794/analysis-project-structure-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.20-dev-2192/analysis-project-structure-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/2.0.20-dev-2794/analysis-project-structure-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:android-extensions-compiler-plugin-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.20-dev-2192/android-extensions-compiler-plugin-for-ide-2.0.20-dev-2192.jar">
<sha256sum>1e0615aa54d80d98aa5a39d86f735418fa7ed6fb1cfae25af19e15500b52451f</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.20-dev-2794/android-extensions-compiler-plugin-for-ide-2.0.20-dev-2794.jar">
<sha256sum>7075f7976e6e9778e33c04b4cdf4eb453e385dca08f6d5ed4b59ef7969911024</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.20-dev-2192/android-extensions-compiler-plugin-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.20-dev-2794/android-extensions-compiler-plugin-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.20-dev-2192/android-extensions-compiler-plugin-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2.0.20-dev-2794/android-extensions-compiler-plugin-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:assignment-compiler-plugin-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.20-dev-2192/assignment-compiler-plugin-for-ide-2.0.20-dev-2192.jar">
<sha256sum>3eed42d90d9d5643137010025f47caf27bef8ec14d19458c0ab4333780307ad8</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.20-dev-2794/assignment-compiler-plugin-for-ide-2.0.20-dev-2794.jar">
<sha256sum>dcb82b05707abb41bf95dc3bb2a0d1f203e293d3cc693494763820f4ce38fcc6</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.20-dev-2192/assignment-compiler-plugin-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.20-dev-2794/assignment-compiler-plugin-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.20-dev-2192/assignment-compiler-plugin-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2.0.20-dev-2794/assignment-compiler-plugin-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/2.0.20-dev-2192/high-level-api-for-ide-2.0.20-dev-2192.jar">
<sha256sum>15ff30641208ff6949950e76fd0a41feade4fb6d8597e16f4fb5a9a9231c4f3b</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/2.0.20-dev-2794/high-level-api-for-ide-2.0.20-dev-2794.jar">
<sha256sum>bfcfa5886e90b7b09bdf4daedff0fa381b8ef11ab6cf65116db8dc078911ad9b</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/2.0.20-dev-2192/high-level-api-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/2.0.20-dev-2794/high-level-api-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/2.0.20-dev-2192/high-level-api-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/2.0.20-dev-2794/high-level-api-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fe10-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.20-dev-2192/high-level-api-fe10-for-ide-2.0.20-dev-2192.jar">
<sha256sum>ae61ffe8994a222c95c2ddcdaf1215c9d1502b81e588b3768a676b04e86cec52</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.20-dev-2794/high-level-api-fe10-for-ide-2.0.20-dev-2794.jar">
<sha256sum>5231fa4cba7050f5f7585c6a6989bc3d6c628210ed3124c8c2c12df91d42b96b</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.20-dev-2192/high-level-api-fe10-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.20-dev-2794/high-level-api-fe10-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.20-dev-2192/high-level-api-fe10-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/2.0.20-dev-2794/high-level-api-fe10-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fir-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.20-dev-2192/high-level-api-fir-for-ide-2.0.20-dev-2192.jar">
<sha256sum>e377ad4b7456629dda54771b005e629398c8bf166c0f77046907c5f490433365</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.20-dev-2794/high-level-api-fir-for-ide-2.0.20-dev-2794.jar">
<sha256sum>7a57bc41c87e0809e1ff8a514d90ee337d9dac270ce971769d81458f7436a9a1</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.20-dev-2192/high-level-api-fir-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.20-dev-2794/high-level-api-fir-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.20-dev-2192/high-level-api-fir-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/2.0.20-dev-2794/high-level-api-fir-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fir-tests-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.20-dev-2192/high-level-api-fir-tests-for-ide-2.0.20-dev-2192.jar">
<sha256sum>5d5fdde8b0816ce4b10a24fab4d727a8b8d2bb099d7a876293ce868f20c9bd08</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.20-dev-2794/high-level-api-fir-tests-for-ide-2.0.20-dev-2794.jar">
<sha256sum>5557165fc0c270000843a1720c525b42118f870f19d26646d5d1244e6371bfbb</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.20-dev-2192/high-level-api-fir-tests-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.20-dev-2794/high-level-api-fir-tests-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.20-dev-2192/high-level-api-fir-tests-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/2.0.20-dev-2794/high-level-api-fir-tests-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-impl-base-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.20-dev-2192/high-level-api-impl-base-for-ide-2.0.20-dev-2192.jar">
<sha256sum>fdf2f2ad50ed19159d6b760b1db96b85588d860c61ee6a07a531239390d73786</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.20-dev-2794/high-level-api-impl-base-for-ide-2.0.20-dev-2794.jar">
<sha256sum>d9ad61106023c956b0740db65e8d5742a03d9fac884fa95a00f76bba62f888cc</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.20-dev-2192/high-level-api-impl-base-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.20-dev-2794/high-level-api-impl-base-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.20-dev-2192/high-level-api-impl-base-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/2.0.20-dev-2794/high-level-api-impl-base-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-impl-base-tests-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.20-dev-2192/high-level-api-impl-base-tests-for-ide-2.0.20-dev-2192.jar">
<sha256sum>f9379ccf26f25458f0576f68fdfb2f4cabb890d19c0bbeee56282c5af6c42204</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.20-dev-2794/high-level-api-impl-base-tests-for-ide-2.0.20-dev-2794.jar">
<sha256sum>a327cbbb2fa2b8dd2377d3bc9649fe7a4f892055674282ee2393ad489583193c</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.20-dev-2192/high-level-api-impl-base-tests-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.20-dev-2794/high-level-api-impl-base-tests-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.20-dev-2192/high-level-api-impl-base-tests-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/2.0.20-dev-2794/high-level-api-impl-base-tests-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:incremental-compilation-impl-tests-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.20-dev-2192/incremental-compilation-impl-tests-for-ide-2.0.20-dev-2192.jar">
<sha256sum>a1c7b435662d3863f9cd69af64c247e4c9d65f8337458e11c48e6178f8cd3fb2</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.20-dev-2794/incremental-compilation-impl-tests-for-ide-2.0.20-dev-2794.jar">
<sha256sum>39ef63fa8c4dd786c0b89045ca5be6f871076068d8ebbbcfbb3d12ac1ebc4e19</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.20-dev-2192/incremental-compilation-impl-tests-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.20-dev-2794/incremental-compilation-impl-tests-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.20-dev-2192/incremental-compilation-impl-tests-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/2.0.20-dev-2794/incremental-compilation-impl-tests-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-build-common-tests-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.20-dev-2192/kotlin-build-common-tests-for-ide-2.0.20-dev-2192.jar">
<sha256sum>8710de97b317e4c1155e31d5fb486aa5ed54ef14e6edf0f087e05560b277d415</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.20-dev-2794/kotlin-build-common-tests-for-ide-2.0.20-dev-2794.jar">
<sha256sum>e1686c994d521d32b0f2995964feacae8ccc1fe11843bfc65f0ad59eb122387b</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.20-dev-2192/kotlin-build-common-tests-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.20-dev-2794/kotlin-build-common-tests-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.20-dev-2192/kotlin-build-common-tests-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/2.0.20-dev-2794/kotlin-build-common-tests-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-cli-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.20-dev-2192/kotlin-compiler-cli-for-ide-2.0.20-dev-2192.jar">
<sha256sum>2b09eb033680fa7fca8b151de293103e172212222bb74fc8eb381d807e316a44</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.20-dev-2794/kotlin-compiler-cli-for-ide-2.0.20-dev-2794.jar">
<sha256sum>af7008e8fc5a44f91454bb1b266723036aaf131ffc8e7853f277b62f858f34d0</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.20-dev-2192/kotlin-compiler-cli-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.20-dev-2794/kotlin-compiler-cli-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.20-dev-2192/kotlin-compiler-cli-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/2.0.20-dev-2794/kotlin-compiler-cli-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-common-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.20-dev-2192/kotlin-compiler-common-for-ide-2.0.20-dev-2192.jar">
<sha256sum>102ac452ef6ab3f5f211f90c7104fb229828507409de190979417c5b86c957cd</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.20-dev-2794/kotlin-compiler-common-for-ide-2.0.20-dev-2794.jar">
<sha256sum>9fa76943a3a8780d14e17756fb28f70596edac0f1a3552fc42734b1caa90c0c6</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.20-dev-2192/kotlin-compiler-common-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.20-dev-2794/kotlin-compiler-common-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.20-dev-2192/kotlin-compiler-common-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2.0.20-dev-2794/kotlin-compiler-common-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-fe10-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.20-dev-2192/kotlin-compiler-fe10-for-ide-2.0.20-dev-2192.jar">
<sha256sum>cee18085f9397561fe585e0d6023a51accbd58e69f9cea44bc6624d477e46a9e</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.20-dev-2794/kotlin-compiler-fe10-for-ide-2.0.20-dev-2794.jar">
<sha256sum>8b53eab335255c3fdde9f8176d792d334b10849f6282381dbdc3c7c11f8cd59a</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.20-dev-2192/kotlin-compiler-fe10-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.20-dev-2794/kotlin-compiler-fe10-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.20-dev-2192/kotlin-compiler-fe10-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2.0.20-dev-2794/kotlin-compiler-fe10-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-fir-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.20-dev-2192/kotlin-compiler-fir-for-ide-2.0.20-dev-2192.jar">
<sha256sum>0f086305c92b119c437aeeeeb2e2193f0f568d21d059a6152ccceb2df9e5f247</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.20-dev-2794/kotlin-compiler-fir-for-ide-2.0.20-dev-2794.jar">
<sha256sum>101f6624bc97fbb05d9bc7a350e9f1fb225ca43d1acbf878e132164e85d08457</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.20-dev-2192/kotlin-compiler-fir-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.20-dev-2794/kotlin-compiler-fir-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.20-dev-2192/kotlin-compiler-fir-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2.0.20-dev-2794/kotlin-compiler-fir-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-ir-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.20-dev-2192/kotlin-compiler-ir-for-ide-2.0.20-dev-2192.jar">
<sha256sum>504226c3982f3359976b0e1f1d1cf6ecfb15f661a88b6cc7977c2eb436a1d301</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.20-dev-2794/kotlin-compiler-ir-for-ide-2.0.20-dev-2794.jar">
<sha256sum>c9bc4388754382ba31657d1297fa3a1984956c874283d61b32229e32dd755412</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.20-dev-2192/kotlin-compiler-ir-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.20-dev-2794/kotlin-compiler-ir-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.20-dev-2192/kotlin-compiler-ir-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2.0.20-dev-2794/kotlin-compiler-ir-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-tests-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.20-dev-2192/kotlin-compiler-tests-for-ide-2.0.20-dev-2192.jar">
<sha256sum>ce63b9f7a42766d1754843ba5945a52e9f9b1819aa7719f795b1d2976a04ced9</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.20-dev-2794/kotlin-compiler-tests-for-ide-2.0.20-dev-2794.jar">
<sha256sum>1d91fcf0eee713001de75dc50efdfbfe0cc242532cf768fd61af492fd6eb20a3</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.20-dev-2192/kotlin-compiler-tests-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.20-dev-2794/kotlin-compiler-tests-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.20-dev-2192/kotlin-compiler-tests-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/2.0.20-dev-2794/kotlin-compiler-tests-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+4 -4
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-gradle-statistics-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.20-dev-2192/kotlin-gradle-statistics-for-ide-2.0.20-dev-2192.jar">
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.20-dev-2794/kotlin-gradle-statistics-for-ide-2.0.20-dev-2794.jar">
<sha256sum>b85733a0ae14c035d391cae10cb7824aab122152d71f25ff5a3575e4f127d9d6</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.20-dev-2192/kotlin-gradle-statistics-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.20-dev-2794/kotlin-gradle-statistics-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.20-dev-2192/kotlin-gradle-statistics-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2.0.20-dev-2794/kotlin-gradle-statistics-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-jps-common-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.20-dev-2192/kotlin-jps-common-for-ide-2.0.20-dev-2192.jar">
<sha256sum>5e97712501e43dc7d26e491550f87298b92db3020785d8086f59cb363207e782</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.20-dev-2794/kotlin-jps-common-for-ide-2.0.20-dev-2794.jar">
<sha256sum>8af31d936c2f7a09b44c90af1dd2d480166ed1aa0ce1ddc71af34b12fcbab9d6</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.20-dev-2192/kotlin-jps-common-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.20-dev-2794/kotlin-jps-common-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.20-dev-2192/kotlin-jps-common-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2.0.20-dev-2794/kotlin-jps-common-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-jps-plugin-classpath:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.20-dev-2192/kotlin-jps-plugin-classpath-2.0.20-dev-2192.jar">
<sha256sum>adbb75204da2b6cc3ec835324cfd27e9693860a7d3ca860ef0c686d0439c1ac0</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.20-dev-2794/kotlin-jps-plugin-classpath-2.0.20-dev-2794.jar">
<sha256sum>20a706fa8d85ab4f954060ad496a8596a43da2dfaa35fa906ad977aac8ced741</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.20-dev-2192/kotlin-jps-plugin-classpath-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.20-dev-2794/kotlin-jps-plugin-classpath-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.20-dev-2192/kotlin-jps-plugin-classpath-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/2.0.20-dev-2794/kotlin-jps-plugin-classpath-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<component name="libraryTable">
<library name="kotlinc.kotlin-script-runtime" type="repository">
<properties maven-id="org.jetbrains.kotlin:kotlin-script-runtime:2.0.20-dev-2192">
<properties maven-id="org.jetbrains.kotlin:kotlin-script-runtime:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2.0.20-dev-2192/kotlin-script-runtime-2.0.20-dev-2192.jar">
<sha256sum>cdf0892f2a1c68fcf6fcb2eef594fe8f75f5a190694f8cb3e7777c4f2e9057d7</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2.0.20-dev-2794/kotlin-script-runtime-2.0.20-dev-2794.jar">
<sha256sum>2ea5103795759f607c29f21d760efbe1828a5f11d0117e0ee7b81e1396555536</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2.0.20-dev-2192/kotlin-script-runtime-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2.0.20-dev-2794/kotlin-script-runtime-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2.0.20-dev-2192/kotlin-script-runtime-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2.0.20-dev-2794/kotlin-script-runtime-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-common:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/2.0.20-dev-2192/kotlin-scripting-common-2.0.20-dev-2192.jar">
<sha256sum>da9eef8af88aeef7f4bc7abefe5d61cb88d5331a0b557e18cc2e510319f07985</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/2.0.20-dev-2794/kotlin-scripting-common-2.0.20-dev-2794.jar">
<sha256sum>aa5ae1093b1bbb4c05e87c8f021526a854368d36cd94dcf92d24fc007d939797</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/2.0.20-dev-2192/kotlin-scripting-common-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/2.0.20-dev-2794/kotlin-scripting-common-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/2.0.20-dev-2192/kotlin-scripting-common-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/2.0.20-dev-2794/kotlin-scripting-common-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-compiler-impl:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.20-dev-2192/kotlin-scripting-compiler-impl-2.0.20-dev-2192.jar">
<sha256sum>e23d966b84ce7a5138c04326815d1bca2ea3beba7302c4cc9b62090d0f71df6d</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.20-dev-2794/kotlin-scripting-compiler-impl-2.0.20-dev-2794.jar">
<sha256sum>4ab53123f6267ff1be5e714c2b9dcfa2f231f0b2b4bbcb47a22a476adbf22ca9</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.20-dev-2192/kotlin-scripting-compiler-impl-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.20-dev-2794/kotlin-scripting-compiler-impl-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.20-dev-2192/kotlin-scripting-compiler-impl-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2.0.20-dev-2794/kotlin-scripting-compiler-impl-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-jvm:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.20-dev-2192/kotlin-scripting-jvm-2.0.20-dev-2192.jar">
<sha256sum>10c5972e8270a7c87b9ec4f64e98473bdf82c8cd3e15682bd2040053b82a3d22</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.20-dev-2794/kotlin-scripting-jvm-2.0.20-dev-2794.jar">
<sha256sum>7a9839a277baf2e23005a18e1d739acd97575ddfe36e40b1ae2918d1f325fa4f</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.20-dev-2192/kotlin-scripting-jvm-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.20-dev-2794/kotlin-scripting-jvm-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.20-dev-2192/kotlin-scripting-jvm-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2.0.20-dev-2794/kotlin-scripting-jvm-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlinx-serialization-compiler-plugin-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.20-dev-2192/kotlinx-serialization-compiler-plugin-for-ide-2.0.20-dev-2192.jar">
<sha256sum>8a8fc59eddf65643f2d7495de30664bad0495c1759b8784456f71a91481147a0</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.20-dev-2794/kotlinx-serialization-compiler-plugin-for-ide-2.0.20-dev-2794.jar">
<sha256sum>cd083c139ddad8543ceba0192d70103ec7c443c3ad0e70b1aa8d1a95b7ab8c2f</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.20-dev-2192/kotlinx-serialization-compiler-plugin-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.20-dev-2794/kotlinx-serialization-compiler-plugin-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.20-dev-2192/kotlinx-serialization-compiler-plugin-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2.0.20-dev-2794/kotlinx-serialization-compiler-plugin-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:lombok-compiler-plugin-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.20-dev-2192/lombok-compiler-plugin-for-ide-2.0.20-dev-2192.jar">
<sha256sum>1f2b31a9a0d5565280743abcd703d49a03b12055011a6187d4bb4cffb5a9ed38</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.20-dev-2794/lombok-compiler-plugin-for-ide-2.0.20-dev-2794.jar">
<sha256sum>eb317a6e78cb8017a7ced75dbe12d87beba7eefafb9bf1631c545e892462a355</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.20-dev-2192/lombok-compiler-plugin-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.20-dev-2794/lombok-compiler-plugin-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.20-dev-2192/lombok-compiler-plugin-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2.0.20-dev-2794/lombok-compiler-plugin-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:low-level-api-fir-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.20-dev-2192/low-level-api-fir-for-ide-2.0.20-dev-2192.jar">
<sha256sum>11460217230d2708a49f76ff1b743722a500c1e2cb8a92345769f58891e1af19</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.20-dev-2794/low-level-api-fir-for-ide-2.0.20-dev-2794.jar">
<sha256sum>60ca633509b11e8b765c215bd0bbcbdabcdcf7eb0964c2fc16ba6a8da09069ca</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.20-dev-2192/low-level-api-fir-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.20-dev-2794/low-level-api-fir-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.20-dev-2192/low-level-api-fir-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/2.0.20-dev-2794/low-level-api-fir-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:noarg-compiler-plugin-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.20-dev-2192/noarg-compiler-plugin-for-ide-2.0.20-dev-2192.jar">
<sha256sum>d40bdfb9e890ae8c0e6118072b06cc431cbfe9c9d646c42108204a9f64402940</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.20-dev-2794/noarg-compiler-plugin-for-ide-2.0.20-dev-2794.jar">
<sha256sum>52c398c0afe6ad6ad1a9c1ed5e44081346f63be13d8164f2eff1c892955a2150</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.20-dev-2192/noarg-compiler-plugin-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.20-dev-2794/noarg-compiler-plugin-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.20-dev-2192/noarg-compiler-plugin-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2.0.20-dev-2794/noarg-compiler-plugin-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:parcelize-compiler-plugin-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.20-dev-2192/parcelize-compiler-plugin-for-ide-2.0.20-dev-2192.jar">
<sha256sum>0b9c2a9b176a94ae341469eb4159d0d657c86727797902b2ca8c1468da70c7a2</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.20-dev-2794/parcelize-compiler-plugin-for-ide-2.0.20-dev-2794.jar">
<sha256sum>63bde35a4b30426403a04514a500f8c6ed72eb7a8fc1567564b136d13fb94565</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.20-dev-2192/parcelize-compiler-plugin-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.20-dev-2794/parcelize-compiler-plugin-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.20-dev-2192/parcelize-compiler-plugin-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2.0.20-dev-2794/parcelize-compiler-plugin-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:sam-with-receiver-compiler-plugin-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.20-dev-2192/sam-with-receiver-compiler-plugin-for-ide-2.0.20-dev-2192.jar">
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.20-dev-2794/sam-with-receiver-compiler-plugin-for-ide-2.0.20-dev-2794.jar">
<sha256sum>a36baa1fed10aa978adfe12b6924884856a6daa09894e98182368a644d34e4d1</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.20-dev-2192/sam-with-receiver-compiler-plugin-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.20-dev-2794/sam-with-receiver-compiler-plugin-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.20-dev-2192/sam-with-receiver-compiler-plugin-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2.0.20-dev-2794/sam-with-receiver-compiler-plugin-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:scripting-compiler-plugin-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.20-dev-2192/scripting-compiler-plugin-for-ide-2.0.20-dev-2192.jar">
<sha256sum>84b62b5cc5acb66bb3a9adf76210cd8566e657654f8a8c643cfbbc8408284767</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.20-dev-2794/scripting-compiler-plugin-for-ide-2.0.20-dev-2794.jar">
<sha256sum>1c9623b97dbc2b2318a27c42526e636d64083bb2aa06bd2613f6154bea04fe22</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.20-dev-2192/scripting-compiler-plugin-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.20-dev-2794/scripting-compiler-plugin-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.20-dev-2192/scripting-compiler-plugin-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2.0.20-dev-2794/scripting-compiler-plugin-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
+5 -5
View File
@@ -1,18 +1,18 @@
<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.20-dev-2192">
<properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:symbol-light-classes-for-ide:2.0.20-dev-2794">
<verification>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.20-dev-2192/symbol-light-classes-for-ide-2.0.20-dev-2192.jar">
<sha256sum>031147e89f125081072584c70609d7810aba31e29862c30188e8872329b2c8a1</sha256sum>
<artifact url="file://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.20-dev-2794/symbol-light-classes-for-ide-2.0.20-dev-2794.jar">
<sha256sum>31dda78dd29d692416b9ff8da002ffd1750ab6abeeb3a01e1f0a2c3ef877b6a9</sha256sum>
</artifact>
</verification>
</properties>
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.20-dev-2192/symbol-light-classes-for-ide-2.0.20-dev-2192.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.20-dev-2794/symbol-light-classes-for-ide-2.0.20-dev-2794.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.20-dev-2192/symbol-light-classes-for-ide-2.0.20-dev-2192-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/2.0.20-dev-2794/symbol-light-classes-for-ide-2.0.20-dev-2794-sources.jar!/" />
</SOURCES>
</library>
</component>
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.idea.base.analysis.api.utils
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.components.KaSubtypingErrorTypePolicy
import org.jetbrains.kotlin.analysis.api.signatures.KtFunctionLikeSignature
import org.jetbrains.kotlin.analysis.api.signatures.KtVariableLikeSignature
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbolOrigin
@@ -18,19 +19,23 @@ import org.jetbrains.kotlin.util.OperatorNameConventions
object CallParameterInfoProvider {
/**
* Returns true when there is an argument before current that is mapped to a parameter with different type.
* Returns `true` when there is an argument before the current one that is mapped to a parameter with a different type.
*
* If error types should be ignored when checking for type mismatches, please specify [KaSubtypingErrorTypePolicy.LENIENT] as the
* [subtypingErrorTypePolicy].
*/
context(KtAnalysisSession)
fun hasTypeMismatchBeforeCurrent(
sourceElement: KtElement,
argumentMapping: Map<KtExpression, KtVariableLikeSignature<KtValueParameterSymbol>>,
currentArgumentIndex: Int,
subtypingErrorTypePolicy: KaSubtypingErrorTypePolicy = KaSubtypingErrorTypePolicy.STRICT,
): Boolean {
val argumentExpressionsBeforeCurrent = getArgumentOrIndexExpressions(sourceElement).take(currentArgumentIndex).filterNotNull()
for (argumentExpression in argumentExpressionsBeforeCurrent) {
val parameterForArgument = argumentMapping[argumentExpression] ?: continue
val argumentType = argumentExpression.getKtType() ?: error("Argument should have a KtType")
if (argumentType.isNotSubTypeOf(parameterForArgument.returnType)) {
if (argumentType.isNotSubTypeOf(parameterForArgument.returnType, subtypingErrorTypePolicy)) {
return true
}
}
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.analysis.api.calls.KtImplicitReceiverValue
import org.jetbrains.kotlin.analysis.api.calls.KtReceiverValue
import org.jetbrains.kotlin.analysis.api.calls.KtSmartCastedReceiverValue
import org.jetbrains.kotlin.analysis.api.calls.singleFunctionCallOrNull
import org.jetbrains.kotlin.analysis.api.components.KaSubtypingErrorTypePolicy
import org.jetbrains.kotlin.analysis.api.components.buildClassType
import org.jetbrains.kotlin.analysis.api.signatures.KtFunctionLikeSignature
import org.jetbrains.kotlin.analysis.api.symbols.KtFileSymbol
@@ -72,7 +73,8 @@ fun filterCandidateByReceiverTypeAndVisibility(
signature: KtFunctionLikeSignature<KtFunctionLikeSymbol>,
callElement: KtElement,
fileSymbol: KtFileSymbol,
explicitReceiver: KtExpression?
explicitReceiver: KtExpression?,
subtypingErrorTypePolicy: KaSubtypingErrorTypePolicy = KaSubtypingErrorTypePolicy.STRICT,
): Boolean {
val candidateSymbol = signature.symbol
if (callElement is KtConstructorDelegationCall) {
@@ -99,7 +101,7 @@ fun filterCandidateByReceiverTypeAndVisibility(
val receiverTypes = collectReceiverTypesForElement(callElement, explicitReceiver)
val candidateReceiverType = signature.receiverType
if (candidateReceiverType != null && receiverTypes.none { it.isSubTypeOf(candidateReceiverType) }) return false
if (candidateReceiverType != null && receiverTypes.none { it.isSubTypeOf(candidateReceiverType, subtypingErrorTypePolicy) }) return false
// Filter out candidates not visible from call site
if (candidateSymbol is KtSymbolWithVisibility && !isVisible(candidateSymbol, fileSymbol, explicitReceiver, callElement)) return false
@@ -26,7 +26,7 @@ infix fun KtType.isPossiblySubTypeOf(superType: KtType): Boolean {
val superTypeWithReplacedTypeArguments = superType.expandedClassSymbol?.let { symbol ->
buildClassTypeWithStarProjections(symbol, superType.nullability)
}
return superTypeWithReplacedTypeArguments != null && this isSubTypeOf superTypeWithReplacedTypeArguments
return superTypeWithReplacedTypeArguments != null && isSubTypeOf(superTypeWithReplacedTypeArguments)
}
context(KtAnalysisSession)
@@ -1,4 +1,4 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
// 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.codeInsight
import com.intellij.openapi.progress.ProgressManager
@@ -168,7 +168,7 @@ object KotlinCallProcessor {
is KtFunctionLikeSymbol -> {
val signature = symbol.asSignature()
val partiallyAppliedSymbol = KtPartiallyAppliedFunctionSymbol(signature, null, null)
val call = KtSimpleFunctionCall(partiallyAppliedSymbol, linkedMapOf(), mapOf(), _isImplicitInvoke = false)
val call = KtSimpleFunctionCall(partiallyAppliedSymbol, linkedMapOf(), mapOf(), isImplicitInvoke = false)
processCallTarget(FunctionCallTarget(element, call, partiallyAppliedSymbol))
}
@@ -115,7 +115,7 @@ object CastExpressionFixFactories {
if (element is KtExpression) {
val actualExpressionType = element.getKtType()
if (actualExpressionType != null && !(actualExpressionType isEqualTo actualType)) {
if (actualExpressionType != null && !actualExpressionType.isEqualTo(actualType)) {
//don't suggest cast for nested generic argument incompatibilities
return emptyList()
}
@@ -6,10 +6,12 @@ import com.intellij.psi.util.findParentOfType
import com.intellij.util.containers.addIfNotNull
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationWithArgumentsInfo
import org.jetbrains.kotlin.analysis.api.annotations.KtKClassAnnotationValue
import org.jetbrains.kotlin.analysis.api.annotations.annotationsByClassId
import org.jetbrains.kotlin.analysis.api.fir.diagnostics.KtFirDiagnostic
import org.jetbrains.kotlin.analysis.api.fir.utils.getActualAnnotationTargets
import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType
import org.jetbrains.kotlin.idea.base.psi.KotlinPsiHeuristics
import org.jetbrains.kotlin.idea.codeinsight.api.applicators.fixes.KotlinQuickFixFactory
import org.jetbrains.kotlin.idea.quickfix.AddAnnotationFix
@@ -98,10 +100,15 @@ private object OptInGeneralUtils : OptInGeneralUtilsBase() {
val typeReference = it.typeReference
val resolvedClass = typeReference?.getKtType()?.expandedClassSymbol ?: return false
val classAnnotation = resolvedClass.annotationsByClassId(OptInNames.SUBCLASS_OPT_IN_REQUIRED_CLASS_ID).firstOrNull()
val annotationMarkerClass = classAnnotation?.arguments?.find { arg -> arg.name == OptInNames.OPT_IN_ANNOTATION_CLASS }
val apiClassId = (annotationMarkerClass?.expression as? KtKClassAnnotationValue.KtNonLocalKClassAnnotationValue)?.classId
apiClassId?.asSingleFqName() == annotationFqName
classAnnotation != null && findMarkerClassId(classAnnotation)?.asSingleFqName() == annotationFqName
}
}
}
private fun findMarkerClassId(annotation: KtAnnotationApplicationWithArgumentsInfo): ClassId? {
val argument = annotation.arguments.find { arg -> arg.name == OptInNames.OPT_IN_ANNOTATION_CLASS } ?: return null
val value = argument.expression as? KtKClassAnnotationValue ?: return null
val type = value.type as? KtNonErrorClassType ?: return null
return type.classId.takeUnless { it.isLocal }
}
}
@@ -89,7 +89,7 @@ object SpecifySuperTypeFixFactory {
// the candidate would not contain those being removed here.
candidates.removeAll { superType ->
candidates.any { otherSuperType ->
!superType.isEqualTo(otherSuperType) && otherSuperType isSubTypeOf superType
!superType.isEqualTo(otherSuperType) && otherSuperType.isSubTypeOf(superType)
}
}
if (candidates.isEmpty()) return@IntentionBased emptyList()
@@ -56,7 +56,7 @@ object TypeMismatchFactories {
return emptyList()
}
val nullableExpectedType = expectedType.withNullability(KtTypeNullability.NULLABLE)
if (actualType isSubTypeOf nullableExpectedType) {
if (actualType.isSubTypeOf(nullableExpectedType)) {
return listOfNotNull(psi.asAddExclExclCallFix())
}
}
@@ -4,6 +4,7 @@ package org.jetbrains.kotlin.idea.codeinsights.impl.base.inspection
import com.intellij.util.asSafely
import org.jetbrains.kotlin.analysis.api.annotations.*
import org.jetbrains.kotlin.analysis.api.base.KtConstantValue
import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType
import org.jetbrains.kotlin.config.ApiVersion
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.Name
@@ -40,10 +41,15 @@ internal object WasExperimentalOptInsNecessityChecker {
return annotation.argumentByName(OptInNames.WAS_EXPERIMENTAL_ANNOTATION_CLASS)
?.asSafely<KtArrayAnnotationValue>()
?.values
?.mapNotNull { (it as? KtKClassAnnotationValue.KtNonLocalKClassAnnotationValue)?.classId }
?.mapNotNull { computeAnnotationMarkerClassId(it) }
?: emptyList()
}
private fun computeAnnotationMarkerClassId(value: KtAnnotationValue): ClassId? {
val type = (value as? KtKClassAnnotationValue)?.type as? KtNonErrorClassType ?: return null
return type.classId.takeIf { !it.isLocal }
}
private fun KtAnnotationsList.findAnnotation(classId: ClassId): KtAnnotationApplicationWithArgumentsInfo? =
annotationsByClassId(classId).firstOrNull()
@@ -282,7 +282,7 @@ internal class EqualsOrHashCodeInspection : AbstractKotlinInspection() {
val isNullable = type.isMarkedNullable
var text = when {
type isEqualTo builtinTypes.BYTE || type isEqualTo builtinTypes.SHORT || type isEqualTo builtinTypes.INT -> ref
type.isEqualTo(builtinTypes.BYTE) || type.isEqualTo(builtinTypes.SHORT) || type.isEqualTo(builtinTypes.INT) -> ref
type.isArrayOrPrimitiveArray() -> {
val canUseArrayContentFunctions = targetClass.canUseArrayContentFunctions()
@@ -221,13 +221,13 @@ context(KtAnalysisSession)
private fun areRelatedBySubtyping(first: KtExpression, second: KtExpression): Boolean {
val firstType = first.getKtType() ?: return false
val secondType = second.getKtType() ?: return false
return firstType isSubTypeOf secondType || secondType isSubTypeOf firstType
return firstType.isSubTypeOf(secondType) || secondType.isSubTypeOf(firstType)
}
context(KtAnalysisSession)
private fun KtExpression.hasDoubleOrFloatType(): Boolean {
val type = getKtType() ?: return false
return type isSubTypeOf builtinTypes.DOUBLE || type isSubTypeOf builtinTypes.FLOAT
return type.isSubTypeOf(builtinTypes.DOUBLE) || type.isSubTypeOf(builtinTypes.FLOAT)
}
context(KtAnalysisSession)
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.analysis.api.components.KtConstantEvaluationMode
import org.jetbrains.kotlin.analysis.api.components.buildClassType
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithVisibility
import org.jetbrains.kotlin.analysis.api.symbols.receiverType
import org.jetbrains.kotlin.analysis.api.types.KtErrorType
import org.jetbrains.kotlin.config.AnalysisFlags
import org.jetbrains.kotlin.config.ExplicitApiMode
import org.jetbrains.kotlin.idea.base.projectStructure.languageVersionSettings
@@ -87,12 +88,19 @@ internal class RemoveExplicitTypeIntention :
private fun KtDeclaration.isExplicitTypeReferenceNeededForTypeInferenceByAnalyze(): Boolean {
val typeReference = typeReference ?: return false
val initializer = getInitializerOrGetterInitializer() ?: return true
val explicitType = getReturnKtType()
// The initializer may require an explicit type, but an error type is definitely not it. The intention makes a conscious decision to
// allow the user to quickly remove completely erroneous explicit types.
//
// The situation is more fuzzy with errors in type arguments. Here, it makes sense not to remove the type, but rather to fix it. And
// with a little bit of type information, the intention has a better chance of deciding whether the initializer needs that explicit
// type. So we don't check the `explicitType` for nested errors.
if (explicitType is KtErrorType) return false
if (!isInitializerTypeContextIndependent(initializer, typeReference)) return true
val initializerType = initializer.getKtType() ?: return true
val explicitType = getReturnKtType()
val typeCanBeRemoved = if (isVar) {
initializerType.isEqualTo(explicitType)
} else {
@@ -6,6 +6,7 @@ import com.intellij.codeInsight.hints.declarative.InlineInlayPosition
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiWhiteSpace
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.analysis.api.types.KtErrorType
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.psi.KtArrayAccessExpression
import org.jetbrains.kotlin.psi.KtCallExpression
@@ -49,6 +50,8 @@ class KtCallChainHintsProvider : AbstractKtInlayHintsProvider() {
}
}
.map { it.first }
// Error types cannot be printed by `printKtType`, so we shouldn't include them in the chain.
.filter { it.type !is KtErrorType }
.toList()
if (someTypeIsUnknown) return
//if (isChainUnacceptable(reversedChain)) return
@@ -4,6 +4,8 @@ package org.jetbrains.kotlin.idea.k2.codeinsight.quickDoc
import com.google.common.html.HtmlEscapers
import com.intellij.codeInsight.documentation.DocumentationManagerUtil
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.KtStarTypeProjection
import org.jetbrains.kotlin.analysis.api.KtTypeArgumentWithVariance
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotated
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationValue
@@ -64,13 +66,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtValueParameterSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithVisibility
import org.jetbrains.kotlin.analysis.api.types.KtClassType
import org.jetbrains.kotlin.analysis.api.types.KtFunctionalType
import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.api.types.KtTypeNullability
import org.jetbrains.kotlin.analysis.api.types.KtTypeParameterType
import org.jetbrains.kotlin.analysis.api.types.KtUsualClassType
import org.jetbrains.kotlin.analysis.api.types.*
import org.jetbrains.kotlin.analysis.utils.printer.PrettyPrinter
import org.jetbrains.kotlin.analysis.utils.printer.prettyPrint
import org.jetbrains.kotlin.builtins.StandardNames
@@ -85,6 +81,7 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.psi.KtParameter
import org.jetbrains.kotlin.renderer.render
import org.jetbrains.kotlin.types.Variance
import org.jetbrains.kotlin.renderer.render as renderName
@@ -724,7 +721,7 @@ internal class KotlinIdeDeclarationRenderer(
renderConstantAnnotationValue(value)
}
KtUnsupportedAnnotationValue -> {
is KtUnsupportedAnnotationValue -> {
append("error(\"non-annotation value\")")
}
@@ -735,13 +732,44 @@ internal class KotlinIdeDeclarationRenderer(
}
private fun PrettyPrinter.renderKClassAnnotationValue(value: KtKClassAnnotationValue) {
when (value) {
is KtKClassAnnotationValue.KtErrorClassAnnotationValue -> append("UNRESOLVED_CLASS")
is KtKClassAnnotationValue.KtLocalKClassAnnotationValue -> append(value.ktClass.nameAsName?.renderName())
is KtKClassAnnotationValue.KtNonLocalKClassAnnotationValue -> append(value.classId.asSingleFqName().renderName())
renderType(value.type)
append("::class")
}
private fun PrettyPrinter.renderType(type: KtType) {
if (type.annotations.isNotEmpty()) {
for (annotation in type.annotations) {
append('@')
renderAnnotationApplication(annotation)
append(' ')
}
}
when (type) {
is KtUsualClassType -> {
val classId = type.classId
if (classId.isLocal) {
append(classId.shortClassName.render())
} else {
append(classId.asSingleFqName().render())
}
if (type.ownTypeArguments.isNotEmpty()) {
printCollection(type.ownTypeArguments, ", ", prefix = "<", postfix = ">") { typeProjection ->
when (typeProjection) {
is KtStarTypeProjection -> append('*')
is KtTypeArgumentWithVariance -> renderType(typeProjection.type)
}
}
}
}
is KtClassErrorType -> {
append("UNRESOLVED_CLASS")
}
else -> {
append(type.asStringForDebugging())
}
}
append(highlight("::") { asColon })
append(highlight("class") { asKeyword })
}
private fun PrettyPrinter.renderConstantAnnotationValue(value: KtConstantAnnotationValue) {
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.analysis.api.calls.*
import org.jetbrains.kotlin.analysis.api.lifetime.allowAnalysisFromWriteAction
import org.jetbrains.kotlin.analysis.api.lifetime.allowAnalysisOnEdt
import org.jetbrains.kotlin.analysis.api.symbols.*
import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType
import org.jetbrains.kotlin.idea.base.psi.classIdIfNonLocal
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.psi.*
@@ -167,8 +168,17 @@ private class ExceptionClassCollector : KtTreeVisitor<Unit?>() {
private fun processAnnotationValue(value: KtAnnotationValue) {
when (value) {
is KtArrayAnnotationValue -> value.values.forEach(::processAnnotationValue)
is KtKClassAnnotationValue.KtNonLocalKClassAnnotationValue -> mutableExceptionClasses.add(value.classId)
is KtKClassAnnotationValue.KtLocalKClassAnnotationValue -> hasLocalClasses = true
is KtKClassAnnotationValue -> {
val type = value.type
if (type is KtNonErrorClassType) {
val classId = type.classId
if (classId.isLocal) {
hasLocalClasses = true
} else {
mutableExceptionClasses.add(classId)
}
}
}
else -> {}
}
}
@@ -95,13 +95,13 @@ internal class FirDeclarationFromUnresolvedNameContributor(
val expectedReceiverType = getReceiverType(symbol) ?: return false
// FIXME: this check does not work with generic types (i.e. List<String> and List<T>)
actualReceiverType isSubTypeOf expectedReceiverType
actualReceiverType.isSubTypeOf(expectedReceiverType)
}
else -> {
// If there is no explicit receiver at call-site, we check if any implicit receiver at call-site matches the extension
// receiver type for the current declared symbol
val extensionReceiverType = symbol.receiverType ?: return true
getImplicitReceiverTypesAtPosition(unresolvedRef).any { it isSubTypeOf extensionReceiverType }
getImplicitReceiverTypesAtPosition(unresolvedRef).any { it.isSubTypeOf(extensionReceiverType) }
}
}
is KtClassOrObjectSymbol -> when {
@@ -284,13 +284,13 @@ internal object CallableMetadataProvider {
actualReceiverType: KtType,
expectedReceiverType: KtType,
): CallableKind? = when {
actualReceiverType isEqualTo expectedReceiverType -> when {
actualReceiverType.isEqualTo(expectedReceiverType) -> when {
isExtensionCallOnTypeParameterReceiver(symbol) -> CallableKind.TYPE_PARAMETER_EXTENSION
symbol.isExtension -> CallableKind.THIS_TYPE_EXTENSION
else -> CallableKind.THIS_CLASS_MEMBER
}
actualReceiverType isSubTypeOf expectedReceiverType -> when {
actualReceiverType.isSubTypeOf(expectedReceiverType) -> when {
symbol.isExtension -> CallableKind.BASE_TYPE_EXTENSION
else -> CallableKind.BASE_CLASS_MEMBER
}
@@ -247,6 +247,7 @@ private sealed class SimplifiedSignature {
requiredTypeArgumentsCount = if (typeArgumentsAreRequired) callableSignature.symbol.typeParameters.size else 0,
lazy(LazyThreadSafetyMode.NONE) { callableSignature.valueParameters.map { it.returnType } },
callableSignature.valueParameters.mapIndexedNotNull { index, parameter -> index.takeIf { parameter.symbol.isVararg } },
this@KtAnalysisSession,
)
}
}
@@ -266,7 +267,8 @@ private sealed class SimplifiedSignature {
val functionalType = signature.returnType as? KtFunctionalType ?: error("Unexpected ${signature.returnType::class}")
functionalType.parameterTypes
},
varargValueParameterIndices = emptyList()
varargValueParameterIndices = emptyList(),
this@KtAnalysisSession,
)
}
@@ -303,6 +305,7 @@ private class FunctionLikeSimplifiedSignature(
private val requiredTypeArgumentsCount: Int,
private val valueParameterTypes: Lazy<List<KtType>>,
private val varargValueParameterIndices: List<Int>,
private val analysisSession: KtAnalysisSession,
) : SimplifiedSignature() {
override fun hashCode(): Int {
var result = name.hashCode()
@@ -318,5 +321,21 @@ private class FunctionLikeSimplifiedSignature(
other.containerFqName == containerFqName &&
other.requiredTypeArgumentsCount == requiredTypeArgumentsCount &&
other.varargValueParameterIndices == varargValueParameterIndices &&
other.valueParameterTypes.value == valueParameterTypes.value
areValueParameterTypesEqualTo(other)
/**
* We need to use semantic type equality instead of the default structural equality of [KtType] to check if two signatures overlap.
*/
private fun areValueParameterTypesEqualTo(other: FunctionLikeSimplifiedSignature): Boolean {
val types1 = other.valueParameterTypes.value
val types2 = valueParameterTypes.value
if (types1.size != types2.size) return false
with(analysisSession) {
for (i in types1.indices) {
if (!types1[i].isEqualTo(types2[i])) return false
}
return true
}
}
}
@@ -13,6 +13,7 @@ import com.intellij.ui.JBColor
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.analysis.api.annotations.annotations
import org.jetbrains.kotlin.analysis.api.components.KaSubtypingErrorTypePolicy
import org.jetbrains.kotlin.analysis.api.renderer.types.impl.KtTypeRendererForSource
import org.jetbrains.kotlin.analysis.api.signatures.KtVariableLikeSignature
import org.jetbrains.kotlin.analysis.api.symbols.KtValueParameterSymbol
@@ -202,7 +203,11 @@ abstract class KotlinHighLevelParameterInfoWithCallHandlerBase<TArgumentList : K
val hasTypeMismatchBeforeCurrent = CallParameterInfoProvider.hasTypeMismatchBeforeCurrent(
callElement,
argumentMapping,
currentArgumentIndex
currentArgumentIndex,
// We only want to display the parameter info as "disabled" if the type mismatch can *definitely* be proved. If an
// argument has a type error instead, the parameter info may still be applicable and even help the user fix the error.
subtypingErrorTypePolicy = KaSubtypingErrorTypePolicy.LENIENT,
)
// We want to highlight the candidate green if it is the only best/final candidate selected and is applicable.
@@ -5,6 +5,7 @@ import com.intellij.psi.util.parentOfType
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.analysis.api.calls.KtCallableMemberCall
import org.jetbrains.kotlin.analysis.api.components.KaSubtypingErrorTypePolicy
import org.jetbrains.kotlin.analysis.api.renderer.types.impl.KtTypeRendererForSource
import org.jetbrains.kotlin.analysis.api.signatures.KtFunctionLikeSignature
import org.jetbrains.kotlin.analysis.api.symbols.KtClassOrObjectSymbol
@@ -62,7 +63,26 @@ class KotlinHighLevelFunctionTypeArgumentInfoHandler : KotlinHighLevelTypeArgume
val symbols = callElement.collectCallCandidates()
.mapNotNull { (it.candidate as? KtCallableMemberCall<*, *>)?.partiallyAppliedSymbol?.signature }
.filterIsInstance<KtFunctionLikeSignature<*>>()
.filter { filterCandidateByReceiverTypeAndVisibility(it, callElement, fileSymbol, explicitReceiver) }
.filter { candidate ->
// We use the `LENIENT` error type policy to permit candidates even when there are partially specified type arguments (e.g.,
// `foo<>` for `foo<A, B>`), as the specified type arguments may directly affect a candidate's receiver type.
//
// ```
// fun <T, K> List<T>.foo() {}
//
// listOf(1).foo<<caret>>()
// ```
//
// In this example, the call candidate for `fun <T, K> List<T>.foo() {}` has the following receiver type: `List<ERROR>`,
// because `T` is not specified. But the call still fits `foo`. The user just hasn't written down the type argument yet.
filterCandidateByReceiverTypeAndVisibility(
candidate,
callElement,
fileSymbol,
explicitReceiver,
KaSubtypingErrorTypePolicy.LENIENT,
)
}
// Multiple overloads may have the same type parameters (see Overloads.kt test), so we select the distinct ones.
return symbols.distinctBy { buildPresentation(fetchCandidateInfo(it.symbol), -1).first }.map { it.symbol }
@@ -203,6 +203,11 @@ public abstract class K1PsiUnifierTestGenerated extends AbstractK1PsiUnifierTest
runTest("testData/unifier/equivalence/declarations/localCallables/lambdas/singleParam.kt");
}
@TestMetadata("singleParamTypeError.kt")
public void testSingleParamTypeError() throws Exception {
runTest("testData/unifier/equivalence/declarations/localCallables/lambdas/singleParamTypeError.kt");
}
@TestMetadata("unitCoercion.kt")
public void testUnitCoercion() throws Exception {
runTest("testData/unifier/equivalence/declarations/localCallables/lambdas/unitCoercion.kt");
@@ -0,0 +1,20 @@
// "Specify supertype" "true"
// SHOULD_DIFFER_FROM_FE10
package a.b.c
interface Z {
fun foo() {}
}
open class X {
open fun foo() {}
}
class Test : (@Suppress("foo") a.b.c.X)(), Z {
override fun foo() {
super<X>.foo()
}
}
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.SpecifySuperTypeFix
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.SpecifySuperTypeFixFactory$SpecifySuperTypeQuickFix
@@ -0,0 +1,8 @@
// DISABLE-ERRORS
fun foo(x: (Int) -> Int) { }
fun test() {
foo(<selection>{ it }</selection>)
foo({ x -> x })
foo({ x: UnresolvedType -> x })
}
@@ -1,7 +1,10 @@
// IGNORE_K2
// KTIJ-29689
// DISABLE-ERRORS
fun foo() {
<selection>(a.foo((n + 2)*(m - 1))[k[i]] is MyClass?) || (b.foo(n - 2)[i + 1] !is YourClass)</selection>
a.foo((n + 2*m - 1))[k[i]] is MyClass? || b.foo[n - 2](i + 1) !is YourClass
a.foo((n + 2)*(m - 1))[k[i]] is MyClass? || b.foo(n - 2)[i + 1] !is YourClass
(a.foo((n + 2)*(m - 1))[k[i]] is MyClass?) || (b.foo(n - 2)[i + 1] !is YourClass)
}
}
@@ -1,8 +1,8 @@
(34,115)
(49,130)
(a.foo((n + 2)*(m - 1))[k[i]] is MyClass?) || (b.foo(n - 2)[i + 1] !is YourClass)
(200,277)
(215,292)
a.foo((n + 2)*(m - 1))[k[i]] is MyClass? || b.foo(n - 2)[i + 1] !is YourClass
(282,363)
(297,378)
(a.foo((n + 2)*(m - 1))[k[i]] is MyClass?) || (b.foo(n - 2)[i + 1] !is YourClass)
@@ -28,7 +28,7 @@ private val smartcastImpossibleFactory = KotlinQuickFixFactory.IntentionBased {
return@IntentionBased emptyList()
}
val nullableExpectedType = expectedType.withNullability(KtTypeNullability.NULLABLE)
if (actualType isSubTypeOf nullableExpectedType) {
if (actualType.isSubTypeOf(nullableExpectedType)) {
return@IntentionBased listOf(AddExclExclCallFix(psi))
}
return@IntentionBased emptyList()
@@ -1,3 +1,6 @@
// IGNORE_K2
// KTIJ-29640
package some;
public class Foo {
@@ -1,3 +1,4 @@
// KTIJ-29640
package some
object Foo {
@@ -1,3 +1,2 @@
// IGNORE_K2
//statement
test: for (int i = 0; i <= max; i++) { int n = substring.length(); int j = i; int k = 0; while (n-- != 0) { if (searchMe.charAt(j++) != substring.charAt(k++)) { continue test; } } foundIt = true; break test; } System.out.println(foundIt ? "Found it" : "Didn't find it"); }}
@@ -1,3 +1,6 @@
// IGNORE_K2
// KTIJ-29632
package org.test;
class OuterClass {
@@ -1,3 +1,4 @@
// KTIJ-29632
package org.test
internal class OuterClass {
@@ -1,3 +1,6 @@
// IGNORE_K2
// KTIJ-29632
package demo;
class Foo {
@@ -1,3 +1,4 @@
// KTIJ-29632
package demo
import demo.Foo.Bar
@@ -1,3 +1,3 @@
//statement
Character str = ''
Character str = 'a'
(str.toString() + "abc").length()
@@ -1,2 +1,2 @@
val str = ''
val str = 'a'
(str.toString() + "abc").length
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtSymbolOrigin.*
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtAnnotatedSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithTypeParameters
import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
@@ -20,6 +21,7 @@ import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.name.StandardClassIds
import org.jetbrains.kotlin.psi.KtPureElement
import org.jetbrains.kotlin.resolve.constants.*
import org.jetbrains.kotlin.resolve.scopes.MemberScope
@@ -78,14 +80,33 @@ private fun KtSymbolOrigin.toCallableDescriptorKind(): CallableMemberDescriptor.
else -> CallableMemberDescriptor.Kind.DECLARATION
}
private fun KtAnnotationValue.toConstantValue(): ConstantValue<*> {
private fun KtAnnotationValue.toConstantValue(context: Fe10WrapperContext): ConstantValue<*> {
return when (this) {
KtUnsupportedAnnotationValue -> ErrorValue.create("Unsupported annotation value")
is KtArrayAnnotationValue -> ArrayValue(values.map { it.toConstantValue() }) { TODO() }
is KtUnsupportedAnnotationValue -> ErrorValue.create("Unsupported annotation value")
is KtArrayAnnotationValue -> ArrayValue(values.map { it.toConstantValue(context) }) { TODO() }
is KtAnnotationApplicationValue -> TODO()
is KtKClassAnnotationValue.KtNonLocalKClassAnnotationValue -> KClassValue(classId, arrayDimensions = 0)
is KtKClassAnnotationValue.KtLocalKClassAnnotationValue -> TODO()
is KtKClassAnnotationValue.KtErrorClassAnnotationValue -> ErrorValue.create("Unresolved class")
is KtKClassAnnotationValue -> context.withAnalysisSession {
when (val type = type) {
is KtNonErrorClassType -> {
val classId = type.classId
if (classId.isLocal) {
KClassValue(KClassValue.Value.LocalClass(type.toKotlinType(context)))
} else {
var unwrappedType: KtNonErrorClassType = type
var arrayDimensions = 0
while (unwrappedType.classId == StandardClassIds.Array) {
val elementType = unwrappedType.getArrayElementType()?.lowerBoundIfFlexible() as? KtNonErrorClassType ?: break
unwrappedType = elementType
arrayDimensions += 1
}
KClassValue(unwrappedType.classId, arrayDimensions)
}
}
else -> {
ErrorValue.create("Unresolved class")
}
}
}
is KtEnumEntryAnnotationValue -> {
val callableId = callableId ?: return ErrorValue.create("Unresolved enum entry")
val classId = callableId.classId ?: return ErrorValue.create("Unresolved enum entry")
@@ -181,7 +202,7 @@ class KtSymbolBasedAnnotationDescriptor(
get() = ktAnnotationCall.classId?.asSingleFqName()
override val allValueArguments: Map<Name, ConstantValue<*>> =
ktAnnotationCall.arguments.associate { it.name to it.expression.toConstantValue() }
ktAnnotationCall.arguments.associate { it.name to it.expression.toConstantValue(context) }
override val source: SourceElement
get() = ktAnnotationCall.psi.toSourceElement()
@@ -1,4 +1,4 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
// 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.fir.fe10
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.idea.base.projectStructure.moduleInfo
import org.jetbrains.kotlin.idea.base.util.Frontend10ApiUsage
import org.jetbrains.kotlin.idea.fir.fe10.binding.Fe10BindingSpecialConstructionsWrappers
import org.jetbrains.kotlin.idea.fir.fe10.binding.KtSymbolBasedBindingContext
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -34,7 +33,6 @@ interface Fe10WrapperContext {
val moduleDescriptor: ModuleDescriptor
val languageVersionSettings: LanguageVersionSettings
val bindingContext: BindingContext
val fe10BindingSpecialConstructionFunctions: Fe10BindingSpecialConstructionsWrappers
// This property used to disable some logic used locally for debug purposes
val enableLogging: Boolean get() = false
@@ -113,7 +111,7 @@ fun KtVariableLikeSymbol.toDeclarationDescriptor(context: Fe10WrapperContext): V
fun KtTypeAliasSymbol.toDeclarationDescriptor(context: Fe10WrapperContext) = KtSymbolBasedTypeAliasDescriptor(this, context)
class Fe10WrapperContextImpl(
private val project: Project,
project: Project,
private val ktElement: KtElement
) : Fe10WrapperContext {
private val module: KtModule = ProjectStructureProvider.getModule(project, ktElement, null)
@@ -137,8 +135,6 @@ class Fe10WrapperContextImpl(
override val bindingContext: BindingContext = KtSymbolBasedBindingContext(this)
override val fe10BindingSpecialConstructionFunctions = Fe10BindingSpecialConstructionsWrappers(this)
override fun noImplementation(additionalInfo: String): Nothing =
error("This method should not be called for wrappers. $additionalInfo")
@@ -1,4 +1,4 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// 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.fir.fe10.binding
@@ -128,18 +128,10 @@ class CallAndResolverCallWrappers(bindingContext: KtSymbolBasedBindingContext) {
}
return FunctionFe10WrapperResolvedCall(call, ktCall, diagnostic, context)
}
is KtVariableAccessCall -> {
return VariableFe10WrapperResolvedCall(call, ktCall, diagnostic, context)
}
is KtCheckNotNullCall -> {
val kotlinType = context.withAnalysisSession { ktCall.baseExpression.getKtType() }?.toKotlinType(context)
return Fe10BindingSpecialConstructionResolvedCall(
call,
kotlinType,
context.fe10BindingSpecialConstructionFunctions.EXCL_EXCL,
context
)
}
else -> context.implementationPostponed(ktCall.javaClass.canonicalName)
}
@@ -1,93 +0,0 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.fir.fe10.binding
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
import org.jetbrains.kotlin.idea.fir.fe10.Fe10WrapperContext
import org.jetbrains.kotlin.psi.Call
import org.jetbrains.kotlin.psi.ValueArgument
import org.jetbrains.kotlin.resolve.calls.model.*
import org.jetbrains.kotlin.resolve.calls.results.ResolutionStatus
import org.jetbrains.kotlin.resolve.calls.tasks.ExplicitReceiverKind
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
import org.jetbrains.kotlin.storage.LockBasedStorageManager
import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.types.TypeSubstitutor
import org.jetbrains.kotlin.types.expressions.ControlStructureTypingUtils
import org.jetbrains.kotlin.types.expressions.ControlStructureTypingUtils.createFunctionDescriptorForSpecialConstruction
import org.jetbrains.kotlin.types.typeUtil.asTypeProjection
class Fe10BindingSpecialConstructionsWrappers(val context: Fe10WrapperContext) {
val EXCL_EXCL: FunctionDescriptor = run {
createFunctionDescriptorForSpecialConstruction(
ControlStructureTypingUtils.ResolveConstruct.EXCL_EXCL,
listOf("baseExpr"),
listOf(true),
context.moduleDescriptor,
LockBasedStorageManager.NO_LOCKS
)
}
}
// special calls have exactly one type parameter
class Fe10BindingSpecialConstructionResolvedCall(
private val psiCall: Call,
private val inferredTypeParameter: KotlinType?,
private val descriptor: FunctionDescriptor,
private val context: Fe10WrapperContext
) : ResolvedCall<FunctionDescriptor> {
init {
check(psiCall.valueArguments.size == descriptor.valueParameters.size) {
"${psiCall.valueArguments.size} != ${descriptor.valueParameters.size}"
}
}
private val typeArgument get() = inferredTypeParameter ?: descriptor.typeParameters.single().defaultType
private val _resultingDescriptor = run {
val substitutionMap = mapOf(descriptor.typeParameters.single().typeConstructor to typeArgument.asTypeProjection())
descriptor.substitute(TypeSubstitutor.create(substitutionMap))!!
}
override fun getExtensionReceiver(): ReceiverValue? = null
override fun getDispatchReceiver(): ReceiverValue? = null
override fun getContextReceivers(): List<ReceiverValue> = emptyList()
override fun getExplicitReceiverKind(): ExplicitReceiverKind = ExplicitReceiverKind.NO_EXPLICIT_RECEIVER
override fun getStatus(): ResolutionStatus =
if (inferredTypeParameter == null) ResolutionStatus.INCOMPLETE_TYPE_INFERENCE else ResolutionStatus.SUCCESS
override fun getCall(): Call = psiCall
override fun getCandidateDescriptor(): FunctionDescriptor = descriptor
override fun getResultingDescriptor(): FunctionDescriptor = _resultingDescriptor
override fun getValueArguments(): Map<ValueParameterDescriptor, ResolvedValueArgument> =
linkedMapOf<ValueParameterDescriptor, ResolvedValueArgument>().apply {
for ((index, parameter) in resultingDescriptor.valueParameters.withIndex()) {
put(parameter, ExpressionValueArgument(psiCall.valueArguments[index]))
}
}
override fun getValueArgumentsByIndex(): List<ResolvedValueArgument> = psiCall.valueArguments.map(::ExpressionValueArgument)
override fun getArgumentMapping(valueArgument: ValueArgument): ArgumentMapping {
val index = psiCall.valueArguments.indexOf(valueArgument)
if (index == -1) return ArgumentUnmapped
return ArgumentMatchImpl(resultingDescriptor.valueParameters[index])
}
override fun getTypeArguments(): Map<TypeParameterDescriptor, KotlinType> =
mapOf(descriptor.typeParameters.single() to typeArgument)
override fun getDataFlowInfoForArguments(): DataFlowInfoForArguments = context.noImplementation()
override fun getSmartCastDispatchReceiverType(): KotlinType = context.noImplementation()
}
@@ -203,6 +203,11 @@ public abstract class K2PsiUnifierTestGenerated extends AbstractK2PsiUnifierTest
runTest("../../idea/tests/testData/unifier/equivalence/declarations/localCallables/lambdas/singleParam.kt");
}
@TestMetadata("singleParamTypeError.kt")
public void testSingleParamTypeError() throws Exception {
runTest("../../idea/tests/testData/unifier/equivalence/declarations/localCallables/lambdas/singleParamTypeError.kt");
}
@TestMetadata("unitCoercion.kt")
public void testUnitCoercion() throws Exception {
runTest("../../idea/tests/testData/unifier/equivalence/declarations/localCallables/lambdas/unitCoercion.kt");
@@ -7,14 +7,10 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotated
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationWithArgumentsInfo
import org.jetbrains.kotlin.analysis.api.annotations.KtConstantAnnotationValue
import org.jetbrains.kotlin.analysis.api.base.KtConstantValue
import org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KtRendererAnnotationsFilter
import org.jetbrains.kotlin.analysis.api.renderer.declarations.impl.KtDeclarationRendererForSource
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.utils.printer.PrettyPrinter
import org.jetbrains.kotlin.analysis.utils.relfection.renderAsDataClassToString
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.ControlFlow
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.DuplicateInfo
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.ExtractableCodeDescriptorWithConflictsResult
@@ -24,12 +20,12 @@ import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.IReplace
import org.jetbrains.kotlin.idea.refactoring.introduce.extractionEngine.TypeParameter
import org.jetbrains.kotlin.lexer.KtKeywordToken
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.KtElement
import org.jetbrains.kotlin.psi.KtNamedFunction
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
import org.jetbrains.kotlin.utils.mapToSetOrEmpty
data class ExtractableCodeDescriptor(
val context: KtElement,
@@ -44,7 +40,7 @@ data class ExtractableCodeDescriptor(
override val returnType: KtType,
override val modifiers: List<KtKeywordToken> = emptyList(),
override val optInMarkers: List<FqName> = emptyList(),
val annotations: List<KtAnnotationApplicationWithArgumentsInfo> = emptyList()
val annotationClassIds: Set<ClassId> = emptySet()
) : IExtractableCodeDescriptor<KtType> {
override val name: String get() = suggestedNames.firstOrNull() ?: ""
@@ -56,9 +52,8 @@ data class ExtractableCodeDescriptor(
override val annotationsText: String
get() {
if (annotations.isEmpty()) return ""
if (annotationClassIds.isEmpty()) return ""
val container = extractionData.commonParent.getStrictParentOfType<KtNamedFunction>() ?: return ""
val classIds = annotations.mapNotNull { it.classId }.toSet()
return analyze(container) {
val filteredRenderer = KtDeclarationRendererForSource.WITH_QUALIFIED_NAMES.annotationRenderer.with {
annotationFilter = annotationFilter.and(object : KtRendererAnnotationsFilter {
@@ -67,7 +62,7 @@ data class ExtractableCodeDescriptor(
annotation: KtAnnotationApplication,
owner: KtAnnotated
): Boolean {
return annotation.classId in classIds
return annotation.classId in annotationClassIds
}
})
@@ -303,6 +303,6 @@ public class KotlinFirExtractFunctionDialog extends DialogWrapper {
returnType,
originalDescriptor.getModifiers(),
originalDescriptor.getOptInMarkers(),
originalDescriptor.getAnnotations());
originalDescriptor.getAnnotationClassIds());
}
}
@@ -12,16 +12,14 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisNonPublicApi
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.analysis.api.analyzeCopy
import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplicationWithArgumentsInfo
import org.jetbrains.kotlin.analysis.api.annotations.KtArrayAnnotationValue
import org.jetbrains.kotlin.analysis.api.annotations.KtKClassAnnotationValue
import org.jetbrains.kotlin.analysis.api.annotations.annotations
import org.jetbrains.kotlin.analysis.api.annotations.*
import org.jetbrains.kotlin.analysis.api.components.KtDataFlowExitPointSnapshot
import org.jetbrains.kotlin.analysis.api.components.KtDiagnosticCheckerFilter
import org.jetbrains.kotlin.analysis.api.fir.diagnostics.KtFirDiagnostic
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtAnnotatedSymbol
import org.jetbrains.kotlin.analysis.api.types.KtNonErrorClassType
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.project.structure.DanglingFileResolutionMode
import org.jetbrains.kotlin.idea.base.resources.KotlinBundle
@@ -54,6 +52,7 @@ import org.jetbrains.kotlin.idea.references.ReadWriteAccessChecker
import org.jetbrains.kotlin.idea.references.mainReference
import org.jetbrains.kotlin.lexer.KtModifierKeywordToken
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.KtBlockExpression
import org.jetbrains.kotlin.psi.KtBreakExpression
@@ -227,7 +226,7 @@ internal class ExtractionDataAnalyzer(private val extractionData: ExtractionData
returnType = returnType,
modifiers = if (hasSuspendReference(extractionData)) listOf(KtTokens.SUSPEND_KEYWORD) else emptyList(),
optInMarkers = experimentalMarkers.optInMarkers,
annotations = experimentalMarkers.propagatingMarkerDescriptors
annotationClassIds = experimentalMarkers.propagatingMarkerClassIds
)
for (analyser in ExtractFunctionDescriptorModifier.EP_NAME.extensionList) {
descriptor = analyser.modifyDescriptor(descriptor)
@@ -248,11 +247,11 @@ internal class ExtractionDataAnalyzer(private val extractionData: ExtractionData
}
private data class ExperimentalMarkers(
val propagatingMarkerDescriptors: List<KtAnnotationApplicationWithArgumentsInfo>,
val propagatingMarkerClassIds: Set<ClassId>,
val optInMarkers: List<FqName>
) {
companion object {
val empty = ExperimentalMarkers(emptyList(), emptyList())
val empty = ExperimentalMarkers(emptySet(), emptyList())
}
}
@@ -273,15 +272,24 @@ private fun IExtractionData.getExperimentalMarkers(): ExperimentalMarkers {
val fqName = annotationEntry.classId?.asSingleFqName() ?: continue
if (fqName in FqNames.OptInFqNames.OPT_IN_FQ_NAMES) {
for (argument in annotationEntry.arguments) {
val expression = argument.expression
if (expression is KtKClassAnnotationValue.KtNonLocalKClassAnnotationValue) {
optInMarkerNames.add(expression.classId.asSingleFqName())
} else if (expression is KtArrayAnnotationValue) {
expression.values.filterIsInstance<KtKClassAnnotationValue.KtNonLocalKClassAnnotationValue>()
.forEach { optInMarkerNames.add(it.classId.asSingleFqName()) }
fun processValue(value: KtAnnotationValue, isRecursive: Boolean) {
when (value) {
is KtKClassAnnotationValue -> {
val classId = (value.type as? KtNonErrorClassType)?.classId?.takeUnless { it.isLocal }
if (classId != null) {
optInMarkerNames.add(classId.asSingleFqName())
}
}
is KtArrayAnnotationValue -> {
if (isRecursive) {
value.values.forEach { processValue(it, isRecursive = false) }
}
}
else -> {}
}
}
annotationEntry.arguments.forEach { processValue(it.expression, isRecursive = true) }
} else if (annotationEntry.isExperimentalMarker()) {
propagatingMarkerDescriptors.add(annotationEntry)
}
@@ -313,11 +321,12 @@ private fun IExtractionData.getExperimentalMarkers(): ExperimentalMarkers {
}
}
val propagatingMarkerClassIds = propagatingMarkerDescriptors
.mapNotNull { it.classId }
.filterTo(LinkedHashSet()) { it.asSingleFqName() in requiredMarkers }
return ExperimentalMarkers(
propagatingMarkerDescriptors.filter {
val classId = it.classId
classId != null && classId.asSingleFqName() in requiredMarkers
},
propagatingMarkerClassIds,
optInMarkerNames.filter { it in requiredMarkers }
)
}
@@ -221,8 +221,8 @@ object BranchedFoldingUtils {
val rightTypeOfSecond = second.right?.getKtType() ?: return false
if (!leftType.canBeNull && rightTypeOfSecond.canBeNull) return false
val nonNullableRightTypeOfSecond = rightTypeOfSecond.withNullability(KtTypeNullability.NON_NULLABLE)
return nonNullableRightTypeOfFirst isEqualTo nonNullableRightTypeOfSecond ||
(first.operationToken == KtTokens.EQ && nonNullableRightTypeOfSecond isSubTypeOf leftType)
return nonNullableRightTypeOfFirst.isEqualTo(nonNullableRightTypeOfSecond) ||
(first.operationToken == KtTokens.EQ && nonNullableRightTypeOfSecond.isSubTypeOf(leftType))
}
/**
@@ -119,8 +119,8 @@ private fun buildType(type: KtType, typeArgumentsMapping: Map<KtTypeParameterSym
context(KtAnalysisSession)
private fun isApplicableType(type: KtType, expectedType: KtType): Boolean {
return type isEqualTo expectedType ||
(expectedType.isMarkedNullable && type.withNullability(KtTypeNullability.NULLABLE) isEqualTo expectedType)
return type.isEqualTo(expectedType) ||
(expectedType.isMarkedNullable && type.withNullability(KtTypeNullability.NULLABLE).isEqualTo(expectedType))
}
context(KtAnalysisSession)
@@ -1,5 +1,5 @@
# Please do not touch this file. It is the responsibility of Kotlin/IntelliJ Kotlin team to advance kotlin compiler version
kotlincVersion=2.0.20-dev-2192
kotlincVersion=2.0.20-dev-2794
kotlincArtifactsMode=MAVEN
jpsPluginVersion=1.9.23-release-779