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