Commit Graph

95206 Commits

Author SHA1 Message Date
Dmitriy Novozhilov c543a2e6d5 [Assign plugin] Publish embeddable version of assign plugin 2022-10-04 19:47:34 +00:00
Pavel Kunyavskiy 0959255379 [K/N] Refactor GC logging and statistics
Same code is now used for GC logging in all gc versions.

^KT-53064
2022-10-04 18:44:58 +00:00
Pavel Kunyavskiy c4e2901a1d [K/N] Avoid inlining of ignored check on external call 2022-10-04 18:44:58 +00:00
Sergey Bogolepov 6ff282eca3 [K/N] Remove contents of NEW_MM.md 2022-10-04 16:26:45 +00:00
Sergey Bogolepov e669ad95fa [K/N] Compare distributions as a whole
We might move declarations between platform libraries
preserving their fqname. To make diff simpler
let's collect signatures from all platform libraries
and compare them together instead of per-file basis.
2022-10-04 18:27:45 +03:00
Ilya Kirillov 49f2f85927 [Low Level FIR] fix exception when creating symbol by invalid code 2022-10-04 12:56:07 +00:00
Ilya Kirillov 24bf273b93 [Low Level FIR] add more info to error in LLFirResolvableResolveSession 2022-10-04 12:56:06 +00:00
Nikolay Lunyak e2fdb352f1 [FIR] KT-42962: Ensure the issue is not present in K2
Merge-request: KT-MR-7288
Merged-by: Nikolay Lunyak <nikolay.lunyak@jetbrains.com>
2022-10-04 12:27:17 +00:00
Alexander Shabalin 049b6899b7 [K/N] Fix RTTIGenerator.kt ^KT-54163
Merge-request: KT-MR-7289
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-10-04 10:42:20 +00:00
Sergej Jaskiewicz c9c50ff73c [JS IR] Disable some flaky stepping tests
^KT-54283
2022-10-04 10:31:14 +00:00
Sergey Bogolepov 860f873ac7 [K/N] DI some properties of ObjCExport
Move `exportedInterface` and `codeSpec` to constructor's
parameters, so in the future "dynamic" compiler pipeline
they can be created independently.
2022-10-04 10:03:11 +00:00
Alexander Shabalin 98251f42f2 [K/N] Specialize marking call for objects ^KT-54163
Merge-request: KT-MR-7232
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-10-04 09:51:08 +00:00
Aleksei.Cherepanov 377082ee43 Update cache version due to change of logic in PathStringDescriptor
Update cache version after critical change: be71d884 Use case-sensitive logic in PathStringDescriptor for all platforms

#KT-53932 Fixed
2022-10-04 09:13:19 +00:00
Artem Kobzar 574d774277 [K/JS] Remove illegal chars from the new js-minimal-stdlib path 2022-10-03 15:59:07 +00:00
Ilya Kirillov 81c52e6886 [Analysis API FIR] fix call resolution on error elements 2022-10-03 16:02:23 +02:00
Ilya Kirillov 2d7218b542 [Analysis API FIR] fix test generation 2022-10-03 16:02:23 +02:00
Ilya Kirillov ab3f916f3f [Analysis API FIR] fix call resolution of non-resolvable elements 2022-10-03 16:02:23 +02:00
Leonid Startsev ccdb6fc599 Fix .equals for instantiated annotations with unsigned array types.
#KT-53876 Fixed
2022-10-03 13:54:06 +00:00
Simon Ogorodnik 0fea8073ef Scripting Plugin. Update CoreFileTypeRegistry under lock
CoreFileTypeRegistry isn't thread-safe, so it should be updated under
application lock, to avoid concurrently mutating underlying structure
2022-10-03 13:36:06 +00:00
Simon Ogorodnik 53069ee03f Fix application disposer registered only once due to deduplication
Disposer uses passed object identity to decide should it be registered
Since lambda, that passed into disposer doesn't capture anything, it has
only one instance, so it ends up being registered only once
While it should be registered for every parentDisposable
2022-10-03 13:36:05 +00:00
Simon Ogorodnik f2dee2bf85 Core. Fix data-race in ApplicationEnvironment initialization
getOrCreateApplicationEnvironment is main entrypoint to create
ApplicationEnvironment in production and compiler tests
It is subject to be called concurrently, that's why
APPLICATION_LOCK exists

ApplicationEnvironment itself hosts Application from idea-core
It is actually singleton, that is subject to be disposed, once all
operations referencing it completes

To properly dispose ApplicationEnvironment when there is no references
left, we maintain reference counter aka ourProjectCount

Originally, there was data-race caused by the fact, that ourProjectCount
was updated after publication of application

Linear, data-race occurs in following order
T1: getOrCreateApplicationEnvironment returns application
T2: Disposes its reference to application, causing ourProjectCount to
reach zero, and disposing application that is already available to T1
T1: Updates counter, but its application already disposed
2022-10-03 13:36:05 +00:00
Dmitriy Novozhilov a6c7d4c0c6 [FIR] Analyze bodies of non delegated property accessors without expected type
^KT-53349 Fixed
2022-10-03 15:48:17 +03:00
Dmitriy Novozhilov c5fd248e69 [FIR] Add pretty toString to ResolutionMode 2022-10-03 15:48:17 +03:00
Dmitriy Novozhilov 6623456d2a [FIR] Properly support @JvmRecord
^KT-53867 Fixed
2022-10-03 15:48:17 +03:00
Dmitriy Novozhilov c0ad67c4f9 [FIR] Generate java declarations for record components of java records
^KT-53964 Fixed
2022-10-03 15:48:17 +03:00
Sergey Bogolepov 2ed6e9febf Revert "[K/N] DI some properties of ObjCExport"
This reverts commit 4d15aa11c2.
2022-10-03 15:22:36 +03:00
Sergey Bogolepov 4d15aa11c2 [K/N] DI some properties of ObjCExport
Move `exportedInterface` and `codeSpec` to constructor's
parameters, so in the future "dynamic" compiler pipeline
they can be created independently.
2022-10-03 15:21:44 +03:00
Nikolay Krasko 20692c9837 Minor: cleanup code in cli-js and js.sourcemap 2022-10-03 11:08:29 +00:00
Artem Kobzar eb2326eabb [K/JS] Add ability to exclude declarations from export by a new annotation @JsExport.Ignore. 2022-10-03 11:07:25 +00:00
Abduqodiri Qurbonzoda 917c8606f5 Document @Synchronized behavior on extension functions #KT-32469 2022-10-03 10:16:37 +00:00
Ilya Kirillov dd9ed02fbd [FIR] fix memory leak via static ConeIntegerLiteralTypeImpl.COMPARABLE_TAG 2022-10-02 20:38:34 +00:00
Ilya Gorbunov 607f15b55b Sycnhronize docs of primitives in JS-IR, Wasm, Native sources 2022-10-02 19:04:37 +00:00
Ilya Gorbunov 34de2d9155 Trim trailing spaces in generated docs of builtins 2022-10-02 19:04:36 +00:00
Ilya Kirillov 9ac9bef20f [FIR] fix nested access to FirCache
it's forbidden by the contract and causes ISE "Recursive update" or deadlock in the IDE
2022-10-02 19:00:02 +02:00
Ilya Kirillov e5a941030b [Low Level FIR] fix CME in java enhancement
Now all computations in FirThreadSafeCache are performed under lock

^KTIJ-23081 fixed
2022-10-02 19:00:02 +02:00
Jinseong Jeon fc1eb02590 SLC: implement PsiVariable#computeConstantValue for light field 2022-10-02 13:41:12 +02:00
Jinseong Jeon a58e0803fb ULC: output update (annotation on enum entry)
Input has `// CHECK_BY_JAVA_FILE`
and thus ULC output as .java file should be updated too
when input was changed to add annotation on enum entry
(at commit c5916e1d)
Tested by UltraLightClassLoadingTestGenerated in IntelliJ
2022-10-02 13:41:12 +02:00
Jinseong Jeon 2fdedf8251 AA FIR: unwrap fake override constructor 2022-10-02 13:39:49 +02:00
Nikolay Lunyak fcd3e4f4c5 [FIR JS] KT-51740: Alter positioning of NO_VALUE_FOR_PARAMETER 2022-09-30 21:39:20 +03:00
Paŭlo Ebermann 418c530820 docs: mod/rem: clarify who is dividend and divisor 2022-09-30 15:41:55 +03:00
Ilya Kirillov 5772230357 [Low Level FIR] fix memory leak via use-site use session
^KTIJ-22749
2022-09-30 12:19:51 +02:00
Ilya Kirillov 86670361a1 [Analysis] do not fail when reporting exception with invalid psi as attachment 2022-09-30 12:19:51 +02:00
Ilya Kirillov 4ae1cb74dd [Analysis API FIR] fix constant evaluation for incomplete call when compiler produces IntegerLiteralType
^KTIJ-21531 fixed
2022-09-30 12:19:51 +02:00
Ilya Kirillov b72dbb7819 [Analysis] fix invalid implementation of getKtModuleOfTypeSafe 2022-09-30 12:19:35 +02:00
Ilya Kirillov 913bfc0838 [Low Level FIR] fix one case in CME when traversing FIR tree
Before extra child nodes of classes were visited during declaration by ClassId search.
If some other thread was mutating this tree, CME could happen

this is a fix of one case from ^KTIJ-21791
2022-09-30 12:19:35 +02:00
Ilya Kirillov fdf826208f Fix FqName.startsWith for fqNames shorter when the segment 2022-09-30 12:19:35 +02:00
Ilya Kirillov ae76ce666f [Low Level FIR] optimize getting callables in LLFirProviderHelper 2022-09-30 12:19:35 +02:00
Ilya Kirillov 556b7894d5 [Low Level FIR] do not search for declarations from kotlin. package in source modules 2022-09-30 12:15:49 +02:00
Ilya Kirillov a7408f32b0 [analysis] run decompiler-to-psi tests on TC 2022-09-30 12:15:49 +02:00
Ilya Kirillov 5a88f2088a [decompiler stubs] fix CCE in tests 2022-09-30 12:15:49 +02:00