Commit Graph

79 Commits

Author SHA1 Message Date
Vladimir Dolzhenko
ef6454f66a [kotlin] Migrate to JavaLibraryUtil
#KTIJ-24820

GitOrigin-RevId: c8d6ef0a75ad893c650d711a1b27cb11c23b4a5c
2023-04-17 11:27:46 +00:00
Vladimir Dolzhenko
00218253ca [kotlin] Fixed test framework caching
Cached value has to be invalidated on OuterModelsModificationTrackerManager

#KTIJ-25060 Fixed

GitOrigin-RevId: 8345b68581cacba386287ec34434a92153649462
2023-04-16 22:41:31 +00:00
Vladimir Dolzhenko
90daf4b47a [kotlin] Don't use LC on fast path
#KTIJ-24820
#KTIJ-25102

GitOrigin-RevId: f32001ae038bb774ac9bf469cb4c95d6a21ae882
2023-04-09 22:40:49 +00:00
Vladimir Dolzhenko
82ad1cf4e3 [kotlin] Allow junit3 to travers super types
#KTIJ-24820
#KTIJ-25102

GitOrigin-RevId: 9351a8aa56e57baf7afc7912c312cc69c9fdc471
2023-04-05 10:57:12 +00:00
Vladimir Dolzhenko
f6520c845c [kotlin] Do not calculate and provide icon on slow path if is already provided on fast one
#KTIJ-24820
#KTIJ-25102

GitOrigin-RevId: 6345101774aee6c032d108bdff24d7008b0e72a3
2023-04-05 10:57:08 +00:00
Vladimir Dolzhenko
94bbde2af0 [kotlin] Dropped KotlinTestFramework
There are psi-based TestFramework impls for kotlin files instead of custom bad named KotlinTestFramework.

#KTIJ-24820
#KTIJ-25102

GitOrigin-RevId: e26dd9c9fdd984c12b67a256c5bab94db6211df1
2023-04-04 21:51:27 +00:00
Ilya Kirillov
099aa01dc9 Merge branch 'kt-master'
# Conflicts:
#	community/plugins/kotlin/base/fir/analysis-api-providers/src/org/jetbrains/kotlin/idea/base/fir/analysisApiProviders/FirIdeKotlinModificationTrackerFactory.kt
#	community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/contributors/FirCallableCompletionContributor.kt
#	community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/contributors/FirSuperMemberCompletionContributor.kt
#	community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/contributors/helpers/utils.kt

GitOrigin-RevId: ee8ea586fe1d37924a980938006ada48afee88a2
2023-04-01 13:05:50 +00:00
Vladimir Dolzhenko
7e018232a0 [kotlin] Prepare to use JavaLibraryUtils
#KTIJ-24863

GitOrigin-RevId: ff36168704fd135a413e954efd388b714b96394a
2023-03-21 17:00:08 +00:00
aleksandrina-streltsova
d1fa972b17 [kotlin k2] Completion: use info from scopes in weighers
GitOrigin-RevId: 36b448fa81c4c77c6186c866036c4e0dfaef4c0b
2023-03-20 16:35:22 +00:00
aleksandrina-streltsova
bcd370c157 [kotlin k2] Detect parameterless function as main only if there is no other suitable function with array parameter.
GitOrigin-RevId: f5b05db4b01e20c2eceea9a85f6b307cb5a47ea9
2023-03-17 12:16:04 +00:00
Vladimir Dolzhenko
8b3d2f907d [kotlin] Provide Kotlin PSI base TestFramework impls
In many cases it is possible to detect testing framework based on a declaration AST without resolve that is used in case of LightClasses.

#KTIJ-24820 Fixed

GitOrigin-RevId: f274a4d1aeaf7b155f76020bf05b181eb87918af
2023-03-07 15:54:24 +00:00
Artem Vasilev
0e3926fcf3 [kotlin] convert class property into a local variable
GitOrigin-RevId: 7c79ffd61cdfb5c70fc24623d36f38fe0eba566a
2023-02-28 19:55:05 +00:00
Artem Vasilev
92008be2aa [kotlin] replace emptyArray() with static EMPTY_ARRAY
GitOrigin-RevId: 1407c754385e300521766eb00bb14531261491d9
2023-02-28 19:55:03 +00:00
Artem Vasilev
f7f82026d0 [kotlin] K2: implement inspection suppression
A large part of functionality is made common from K1 implementation or ported to Analysis API.

^KTIJ-23786 Fixed

GitOrigin-RevId: 2c5a250073bb571cbde6b9ebc61d84bed35ccaad
2023-02-28 19:54:53 +00:00
Artem Vasilev
f875ce8e4b [kotlin] move a utility function to another module
To avoid cyclic dependencies between modules

GitOrigin-RevId: bb32c2cb1368fc03f28a881370e43553ba6b6e43
2023-02-28 19:54:50 +00:00
Artem Vasilev
60798e8aac [kotlin] introduce KotlinSuppressionChecker to extract K1/K2-specific suppression functionality
GitOrigin-RevId: 58bc47ac8f1f124e349d2d8d3478e114fe411ac7
2023-02-28 19:54:45 +00:00
Konstantin Tskhovrebov
dbc4f690ec KTIJ-18896: Check macOS host architecture for test run line marker.
ARM tests can be executed only on ARM host.

GitOrigin-RevId: 8515d6611870f100c5fac40e96840850f8b77ff0
2023-02-22 13:13:59 +00:00
Konstantin Tskhovrebov
fd24804de6 KTIJ-24591: hide test run gutters for K/JS source sets if experimental MPP features are disabled
GitOrigin-RevId: 45f853b6f783d5818cdbfe29d3ddd208d31a19f6
2023-02-22 13:13:56 +00:00
aleksandrina-streltsova
267d3afa00 [kotlin k2] Complete inner classes
^KTIJ-23448 Fixed

GitOrigin-RevId: 1cdb11b8faf99a998699ef32cd4055280dae6c98
2023-02-15 10:17:26 +00:00
Vladimir Dolzhenko
2c9636e6b8 [kotlin] Split init section for caches
Some fields declared in inherited classes could be not initialized yet at the moment of running subscription actions.

#KTIJ-24510 Fixed

GitOrigin-RevId: 5c36b95f538c7eb6b6a8812c7561302426aeafc6
2023-02-03 01:28:11 +00:00
Marco Pennekamp
3b89604787 Merge commit '9519d1b55c206029aab7239070f682bae6f9db46'
GitOrigin-RevId: b0176af2694a9642a953a079d50c61b8e5b1a526
2023-01-17 13:19:04 +00:00
Anna Kozlova
ab056ef0ee [kotlin] override line markers: include more granular containers for java (KTIJ-24250)
GitOrigin-RevId: 1bb923106a0970a0ca7a56b506141b84cb4a829c
2023-01-16 23:33:17 +00:00
Roman Efremov
077bbfb485 Don't suggest Enum.values() replacement if .entries is not present in class
This may happen for Native and JS when original class came from
library compiled with disabled EnumEntries feature.

^KT-53929 Fixed

(cherry picked from commit 2902b314f6d3175842ae295fc21b62e2c0eb2737)

IJ-MR-100842

GitOrigin-RevId: 9519d1b55c206029aab7239070f682bae6f9db46
2023-01-16 11:07:32 +00:00
Roman Efremov
d1784742ed Remove useless ENUM_VALUES_METHOD_NAME property
(cherry picked from commit a604ea77c26ddb0486c248a041fa63951efcc77e)

IJ-MR-100842

GitOrigin-RevId: 1b063936fa27f09c594d9f6e95f10b79eb8a4b8e
2023-01-16 11:07:28 +00:00
Daniil Ovchinnikov
30fa6f95fa Kotlin 1.8 language and API versions
GitOrigin-RevId: d019dab5535d6f9405514bb0efb7ffa6cd27f5b0
2023-01-07 13:16:21 +00:00
Alexander Danilov
9f2cdd4227 [kotlin] Multiple line marker icons are shown if there are several overriding declarations on a line
Use mergeable LineMarkerInfo for super declarations gutters

^KTIJ-24143 fixed

GitOrigin-RevId: 9ce0bc4936b3486069ae958bd1127858a43c5df9
2023-01-03 11:30:52 +00:00
Vladimir Dolzhenko
6d0640a3d1 [kotlin][k2] Address review comment
#KTIJ-1712
#KTIJ-11255

GitOrigin-RevId: d75729312c0142fc3df5dc95ef586c0b38989b7b
2022-12-21 15:33:42 +00:00
Vladimir Dolzhenko
c45c83de9a [kotlin][k2] Do not suggest names those look like unboxed java types
Names like `int`, `char` etc looks strange. Moreover, people got used to use `i` as standard for-loop index variable name.

#KTIJ-1712
#KTIJ-11255

GitOrigin-RevId: ee877b4f1a2a295a2a66a07cdb87577d7e466dbf
2022-12-20 16:21:22 +00:00
Vladimir Dolzhenko
e832f6154f [kotlin][k2] Address review comments
#KTIJ-1712
#KTIJ-11255

GitOrigin-RevId: cad652d68ca4e396847c27724e155440ee448916
2022-12-20 16:21:19 +00:00
Vladimir Dolzhenko
8c125df9c5 [kotlin][k2] Add "fori", "forr" for postfix templates
#KTIJ-1712
#KTIJ-11255

GitOrigin-RevId: 9a50fc7688e39abc6a0336fd3cbcd8e63f51b49d
2022-12-19 17:53:02 +00:00
Anna Kozlova
ff9f913b9c [kotlin] [line markers] add test for inheritance in java
GitOrigin-RevId: ae64cce9b4966df72f866549ae55f918fd04efd7
2022-12-12 11:04:18 +00:00
Anna Kozlova
9122251302 [kotlin] add override/implement gutters (KTIJ-21112)
popups are not ready yet, navigation to functions in inheritors from tooltips is not yet implemented

GitOrigin-RevId: 1849d67d6139e5059aa2d9c60af79da50da2322e
2022-12-08 18:11:10 +00:00
Anna Kozlova
64ab504439 [kotlin] use common gutter tooltips api with links (KTIJ-23893)
generalization, links to classes are added similar to java tooltips, names are presented based on short name and containing text, modules are shown in MPP in case also for overriding/implementing callables

GitOrigin-RevId: efb028d0d0f4d24e9f17d65501ae681139f91c98
2022-12-08 18:11:03 +00:00
Anna Kozlova
bc3fe7188f [kotlin] move line markers options to the common place
GitOrigin-RevId: 37ecfed453470f2659e596c9aaee88f52b405ff2
2022-12-01 22:12:36 +00:00
Toshiaki Kameyama
d8cf2f6ae5 [kotlin] Convert to block body: save comments properly
^KTIJ-15170 Fixed

closes https://github.com/JetBrains/intellij-community/pull/2249

GitOrigin-RevId: 17d85f69aafb5c9226c063eabdeeb77a2065401d
2022-11-28 10:59:14 +00:00
Daniil Ovchinnikov
9bbb7c809f add missing @JvmDefaultWithCompatibility annotations
GitOrigin-RevId: 37a2d4e38688a52597cc2e24c96c953738c4e0cf
2022-11-24 21:23:30 +00:00
Ilya Kirillov
b29c2e8c8d Merge branch 'kt-master'
# Conflicts:
#	community/plugins/kotlin/code-insight/inspections-k2/kotlin.code-insight.inspections-k2.iml
#	community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/ImplicitThisInspection.kt
#	community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveSingleExpressionStringTemplateInspection.kt
#	community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveToStringInStringTemplateInspection.kt
#	community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/ReplaceCollectionCountWithSizeInspection.kt
#	community/plugins/kotlin/code-insight/inspections-k2/tests/test/org/jetbrains/kotlin/idea/k2/inspections/tests/AbstractK2QuickFixMultiModuleTest.kt
#	community/plugins/kotlin/code-insight/inspections-k2/tests/test/org/jetbrains/kotlin/idea/k2/inspections/tests/K2InspectionTestGenerated.java
#	community/plugins/kotlin/code-insight/inspections-k2/tests/test/org/jetbrains/kotlin/idea/k2/inspections/tests/K2QuickFixMultiModuleTestGenerated.java
#	community/plugins/kotlin/code-insight/inspections-k2/tests/test/org/jetbrains/kotlin/idea/k2/intentions/tests/K2LocalInspectionTestGenerated.java
#	community/plugins/kotlin/code-insight/override-implement-k2/src/org/jetbrains/kotlin/idea/core/overrideImplement/KtGenerateMembersHandler.kt
#	community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/contributors/keywords/OverrideKeywordHandler.kt
#	community/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinMPPGradleProjectResolver.kt
#	community/plugins/kotlin/gradle/gradle/resources-en/messages/KotlinIdeaGradleBundle.properties
#	community/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/inspections/SetterBackingFieldAssignmentInspection.kt
#	community/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt
#	community/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt.after
#	community/plugins/kotlin/util/test-generator-fir/test/org/jetbrains/kotlin/fir/testGenerator/codeinsight/GenerateK2InspectionTests.kt

GitOrigin-RevId: 01766bb3fcc811b7ec8f249975996a54285aefd9
2022-11-24 11:25:33 +00:00
Andrey Uskov
0c9bf111e5 Supported import of WASM platform
#KTIJ-23644 Fixed

GitOrigin-RevId: b7567360028155a6ac14a272c63214e00c32fc7f
2022-11-24 10:07:51 +00:00
Roman Efremov
65bc49ef80 KTIJ-23369 Extract common logic for detection of Enum.values() from completion weigher and inspection
(cherry picked from commit 97b44a11eb0a13fb2741c171ba309215537ce086)

IJ-MR-98430

GitOrigin-RevId: 7168afb7faa261d804ada547b1eefb3e49fd267b
2022-11-18 12:11:23 +00:00
Yan Zhulanow
b0d0307470 [kotlin] Migrate to the new 'KtPsiFactory' API
GitOrigin-RevId: 01664f97bcb3816d51346c9d4f0b7a9b9d169d88
2022-11-11 13:42:54 +00:00
Ilya Kirillov
7c92f018b2 [kotlin] adapt to changes in KtSymbol renderer
^KTIJ-23404 fixed
^KTIJ-23268

GitOrigin-RevId: 0389c85d62539132ae6683c06c5efde114f073e1
2022-11-11 11:06:26 +00:00
Sergei Tachenov
9bccb076c5 Add ByteBuffer's get*() methods to NotPropertiesService
ByteBuffer's getInt(), getShort() and similar methods are not getters,
they have side effects and therefore should not be considered properties.

Add a test for the getShort() method, similar to how the tests for atomic
types are done.

closes https://github.com/JetBrains/intellij-community/pull/2047

GitOrigin-RevId: b58fda8dcf4a4bc185c5cdd46bd79ec7385800da
2022-11-09 12:08:51 +00:00
Vladimir Dolzhenko
0f1e8cdfcb [kotlin] Address review comments
#KTIJ-23501

GitOrigin-RevId: 51140fbbc0b7369f3e9a8594a6b51ec11f9f75b8
2022-11-08 18:08:25 +00:00
Vladimir Dolzhenko
7a9274d3e3 [kotlin] Do not clean up LibraryDependenciesCacheImpl#ModuleDependenciesCache on low memory
It is heavy to calculate cache and should not be so eager to clean

#KTIJ-23501

GitOrigin-RevId: a27e2daaa4e0228da4c8d194e235e013a711be3e
2022-11-03 19:35:34 +00:00
Nikita Bobko
c55c2acb4b Cleanup: drop unused LanguageFeature.State.ENABLED_WITH_ERROR
Review: https://jetbrains.team/p/ij/reviews/96649

The commit fixes compilation. Compilation became broken because
ENABLED_WITH_ERROR was dropped in kotlin

Review in kotlin repo: https://jetbrains.team/p/kt/reviews/7418

GitOrigin-RevId: b5ef3dba58841bd8bb864d9125aa480a22b45b5d
2022-10-27 11:17:07 +00:00
Yan Zhulanow
47ba3d38b3 [kotlin] K2: Implement recursive call line markers (KTIJ-23163)
GitOrigin-RevId: 23bba0fc0b97eb6caeeb08eff86eedf27019ea23
2022-10-18 09:44:11 +00:00
Daniil Ovchinnikov
7e018f8f91 @JvmDefault: remove usages
GitOrigin-RevId: e35f8bcca482b7dec68d019051ba64e31a0a5490
2022-10-13 14:13:55 +00:00
Daniil Ovchinnikov
45d44ea146 @JvmDefault: use -Xjvm-default=all
GitOrigin-RevId: 461876a557e97c9fd17fe5324c38ea268d18162e
2022-10-13 14:13:50 +00:00
Yan Zhulanow
db1bf18449 [kotlin] Wrap 'main()' method check with a read action (KTIJ-23091, KTIJ-23085)
GitOrigin-RevId: 9c10b233c58f120d015d6c8610826997c479ce66
2022-09-29 21:37:36 +00:00
Mikhail Mazurkevich
21f8a2f42b [workspace model] Deprecate WorkspaceModelTopics methods to subscribe on changes from the storage in favor of the usual subscription to the topic
GitOrigin-RevId: 2c9e025a1c5f78128267f8972cb9206b264dfc77
2022-09-27 16:55:15 +00:00