Commit Graph

94401 Commits

Author SHA1 Message Date
Igor Chevdar 0f9ae605d0 [K/N][codegen] Fixed bug with stack allocated strings
#KT-53667 Fixed
2022-08-22 06:05:53 +00:00
Igor Chevdar 16eaba8f68 [K/N][tests] Added a test on stack allocated string 2022-08-22 06:05:53 +00:00
Aleksandr Kutashov a74f289844 KT-48822: Fixes ConcurrentModificationException in AsmTypes
AsmTypes#getType() could be called from multiple threads, which causes CME sometimes.
Should guard TYPES_MAP modification.
2022-08-20 00:56:52 +02:00
Jinseong Jeon 79686ba242 AA FE1.0: don't return psi for fake overrides 2022-08-20 00:50:10 +02:00
Jinseong Jeon 25f7554a31 AA FIR: constant evaluation for Java field 2022-08-20 00:50:09 +02:00
Leonid Startsev 0869dd9c92 Repair bootstrapping for wasm-ir module by removing class referencing
from constructor of kotlinx.serialization ir generator.

Such references may be null if plugin was applied to the module, but no
runtime was provided in current compile configuration (see added test).
2022-08-19 14:42:36 +00:00
Leonid Startsev 0b3d9ffa71 Replace ad-hoc .newRef() with .toFirResolvedTypeRef() 2022-08-19 14:42:35 +00:00
Leonid Startsev dc7ba5d22b Remove module-wide ObsoleteDescriptorApi opt-in
and remove access to .descriptor whenever possible
2022-08-19 14:42:34 +00:00
Leonid Startsev 783087a551 Add tests for value classes serialization
apparently they're already working in FIR
2022-08-19 14:42:33 +00:00
Leonid Startsev 89a8bdc0f6 Support enum serialization in FIR
for all runtime versions, re-enable optimization in IR backend
by correctly determining presence of functions in runtime.
2022-08-19 14:42:32 +00:00
Leonid Startsev 472aca1491 Tests for sealed & abstract serializable classes in FIR 2022-08-19 14:42:31 +00:00
Leonid Startsev 6b32ce76c2 Support serializable objects in FIR plugin 2022-08-19 14:42:30 +00:00
Dmitriy Novozhilov 4db579e128 [FIR2IR] Add enum entries to Fir2IrLazyClass for enums 2022-08-19 14:42:29 +00:00
Dmitriy Novozhilov 7390d8cd54 [Build] Add reflect to runtime classpath of kotlinx.serialization tests
This is needed to be able to run those tests with JPS build
2022-08-19 14:42:28 +00:00
Leonid Startsev edff4d43bf Generate writeSelf and load constructor even if they were not created by frontend
which is true in case for FIR which discourages purely synthetic declarations.
2022-08-19 14:42:27 +00:00
Leonid Startsev acd6180c30 Support generic classes in serialization FIR plugin 2022-08-19 14:42:26 +00:00
Ilya Gorbunov 805fc747b9 Advance bootstrap to 1.8.0-dev-2023 2022-08-19 14:06:16 +00:00
Mikhail Glukhikh b78106e437 Don't report INFERRED_..._INTO_EMPTY_INTERSECTION with explicit arguments 2022-08-19 14:01:38 +00:00
Mikhail Glukhikh a6b90fcb8e Add a test with false positive "inferred into empty intersection"
Related to KT-50232
2022-08-19 14:01:37 +00:00
Igor Chevdar d3eedd791e [K/N][IR] Turned off prerequisite for ReturnsInsertionsPhase
Sometimes we have 0 files in the module and CompilerPhase thinks no work has been done
causing the prerequisite requirement to fail
2022-08-19 16:19:53 +03:00
Igor Chevdar 3462d4e5e8 [K/N][IR] Made caches ABI lowerings per file 2022-08-19 10:33:22 +00:00
Igor Chevdar 85379159be [K/N][IR] Reworked caches ABI lowering 2022-08-19 10:33:21 +00:00
Igor Chevdar c1d63fa6dd [K/N][IR] Moved caches ABI lowerings to a separate file 2022-08-19 10:33:20 +00:00
Mikhail Glukhikh d3648bce0c Run LoadJava.CompiledKotlin test group with stdlib if some enum is inside
This commit makes compiler tests working similarly to ResolveByStub IDE tests.
2022-08-19 10:08:11 +00:00
Mikhail Glukhikh fb1c80a7c9 K2: discriminate synthetic 'Enum.entries' during resolve 2022-08-19 10:08:11 +00:00
Mikhail Glukhikh 68ca453467 K2: don't report REDECLARATION on Enum.entries 2022-08-19 10:08:10 +00:00
Mikhail Glukhikh 730de8fd7c K1/K2: add test for enum class with 'entries' entry 2022-08-19 10:08:09 +00:00
Mikhail Glukhikh 8a4105e542 IR: fix origin of default getter of Enum.entries synthetic property 2022-08-19 10:08:08 +00:00
Alexander Korepanov 28c83e43ad [JS IR] Performance fixes for the IC infrastructure 2022-08-19 09:38:09 +00:00
Sergey Bogolepov 5152966aa0 [K/N] KT-39747
Add a WinHTTP platform library.
2022-08-19 08:27:26 +00:00
Dmitriy Novozhilov bb38690273 [FIR] Introduce FirAssignExpressionAltererExtension
This extension can be used to override resolution of assign statements
  with custom statement
2022-08-19 07:44:09 +00:00
Dmitriy Novozhilov 42b1621b4b Reformat coneDiagnosticToFirDiagnostic.kt 2022-08-19 07:44:09 +00:00
Dmitriy Novozhilov 6573533b95 [FE 1.0] Make all components of ExpressionTypingComponents public
There is no much sense to have them package-private, since all setters
  for them are public. Also those services can be used in assign alterer
  extension
2022-08-19 07:44:08 +00:00
Dmitriy Novozhilov f843883985 [FE 1.0] Introduce AssignResolutionAltererExtension
This extension can be used to override resolution of assign statements
  with custom logic

WARNING: there is no compatibility guarantees for this extension
2022-08-19 07:44:08 +00:00
Arseniy Terekhov c0ab367281 [FIR] DeprecationProvider: fix test, remove FIR_IDE_IGNORE 2022-08-19 07:37:55 +00:00
Arseniy Terekhov 539e5f82e2 [FIR] DeprecationProvider: inline builder, fix named arguments, cosmetic 2022-08-19 07:37:55 +00:00
Arseniy Terekhov a80870bc8f [FIR] DeprecationsProvider: caching results 2022-08-19 07:37:54 +00:00
Arseniy Terekhov 25fc948d95 [FIR] DeprecationsProvider: make evaluation of deprecations on demand 2022-08-19 07:37:54 +00:00
Ilya Gorbunov 98ebad2d75 Implement JS-IR intrinsic for rangeUntil builtin member operator #KT-52933 2022-08-18 19:15:27 +00:00
Ilya Gorbunov cda90dbfa5 Implement JS-legacy intrinsic for rangeUntil builtin member operator #KT-52933 2022-08-18 19:15:26 +00:00
Ilya Gorbunov 66facac25b Implement JVM intrinsic for rangeUntil builtin member operator #KT-52933 2022-08-18 19:15:25 +00:00
Ivan Kylchik 3027ea9551 Add new jvm compilation key ignoreConstOptimizationErrors
This key suppose to be a workaround in keys if something goes
wrong in ir interpreter.
2022-08-18 16:50:06 +00:00
Ivan Kylchik 44af612775 Provide better explanation message if interpreter fails 2022-08-18 16:50:05 +00:00
Ivan Kylchik 4e740e91f2 Safely unfold callable reference instruction in interpreter
There was an assumption that if receiver exists then parameter will
also exist. This is not true for references marked with `JvmStatic`.
Later in `JvmStaticInObjectLowering` dispatch receiver may be dropped.
2022-08-18 16:50:05 +00:00
Artem Kobzar 8e17c39cc9 [K/JS] fix(KT-53569): skip double traversing for nested annotation classes. 2022-08-18 16:39:48 +00:00
Ilya Kirillov 7441388f9d [Decompiled LC] restore missed ^IDEA-286315 fix during Decompiled LC migration to the kotlin repo
^IDEA-297478 fixed
2022-08-18 16:10:51 +00:00
Pavel Punegov 1502e6628b [K/N][perf] Workaround KGP bug when dirs are queried instantly 2022-08-18 16:05:29 +00:00
Pavel Kunyavskiy 5034581788 [K/N] Fix references for inline function
Corresponding lowering creating wrappers from JS Backend was used.

Also, the lowering was changed to create local function, instead of
normal one in outer scope, as a lot of logic from local declarations
lowering should be duplicated otherwise for correct type parameters
handling.

^KT-38535
2022-08-18 13:23:10 +00:00
Ilya Goncharov 2f75ea585e [JS, Frontend] Not report warning with non-exportable super type
^KT-53539 fixed
2022-08-18 12:46:40 +00:00
Alexander Likhachev c8a48473e2 [Gradle] Add test for KT-53617 2022-08-18 02:35:03 +02:00