Dmitriy Novozhilov
1212128f04
[FIR plugin] Replace composable functions with regular kotlin functions
2023-07-06 11:00:38 +00:00
Ivan Kylchik
31e75cc603
[JS_IR] Forbid to inline constants during const lowering
2023-07-06 11:00:14 +00:00
Ivan Kylchik
d3d28783c5
[IR] Support const optimizations for JS backend
2023-07-06 11:00:14 +00:00
Ivan Kylchik
abbafc0b2a
[IR] Move some inline utils from backend.common into ir.util
2023-07-06 11:00:14 +00:00
Sergei Kharitontcev-Beglov
55bfd3efcb
KT-52178: Argument propagation into IR backend & lowering dump action
2023-07-06 10:55:26 +00:00
Timofey Solonin
5026778cd1
[MPP] Inject CInteropCommonizerTask from outside instead of using a
...
future
^KT-58712
2023-07-06 10:20:04 +00:00
Ilya Goncharov
9ef5ce2af4
[JS] Migrate JsVersionRequirementTest
2023-07-06 08:08:56 +00:00
Ilya Goncharov
3bdb8b6d11
[JS] Migrate multiplatform integration compiler test
2023-07-06 08:08:55 +00:00
Ilya Goncharov
a6d461dbe8
[JS] Fix compile kotlin against custom binaries
2023-07-06 08:08:55 +00:00
Ilya Goncharov
b6803b2400
[JS] Migrate web demo examples
2023-07-06 08:08:55 +00:00
Ilya Goncharov
b5a7b9c661
[JS] Migrate multi module order test
2023-07-06 08:08:55 +00:00
Ilya Goncharov
08c04af5b5
[JS] Remove legacy line numbers test
2023-07-06 08:08:55 +00:00
Yahor Berdnikau
82fa02f71e
[Gradle] Remove unused resources in Gradle integration tests
2023-07-06 07:39:18 +00:00
Yan Zhulanow
8f798119cc
[FIR] Build raw FIR for code fragments
2023-07-06 15:58:30 +09:00
Yan Zhulanow
b7921a401b
[FIR] Make 'resolveIfJavaType()' accessible from LL API
...
This is needed for providing types for '_DebugLabel' variables in
code fragments. Originally, there come a JVM type descriptor, so there
it's converted to a FirResolvedTypeRef reference through FirJavaTypeRef.
2023-07-06 15:58:30 +09:00
Yan Zhulanow
8ffb329741
[FIR] Add 'buildCodeFragmentCopy()' and 'replaceBlock()' for IDE analysis
2023-07-06 15:58:30 +09:00
Yan Zhulanow
0fe527bb65
[FIR] Pass context data flow on code fragment analysis
2023-07-06 15:58:30 +09:00
Yan Zhulanow
7e075ec64a
[FIR] Pass the whole body context to the resolve context collector
...
Collector for the 'FirCodeFragment' analysis needs to capture also
data-flow information.
2023-07-06 15:58:30 +09:00
Yan Zhulanow
b43fcae708
[FIR] Collect logical expression context for smart cast preservation
2023-07-06 15:58:29 +09:00
Yan Zhulanow
92198ee016
[FIR] Use both context and code fragment imports
2023-07-06 15:58:29 +09:00
Vasily Levchenko
33abe75a74
[FIR] Add FirCodeFragment
2023-07-06 15:58:29 +09:00
Timofey Solonin
2760a25e2c
[MPP] Assert that the coroutine block actually runs
...
^KT-58712
2023-07-06 05:51:21 +00:00
Dmitriy Novozhilov
3ac009ea38
Advance bootstrap to 1.9.20-dev-5788
2023-07-05 20:24:06 +00:00
Ilya Chernikov
b1b1eab35b
K2 Scripting: fix testdata for scripts diagnostics tests
2023-07-05 19:46:04 +00:00
Ilya Chernikov
5e3f7184d1
IR Scripting: fix capturing of the script parameter in a fun
2023-07-05 19:46:04 +00:00
Ilya Chernikov
bf3a6f7678
K2 Scripting: support script top-level destructuring declarations
2023-07-05 19:46:04 +00:00
Ilya Chernikov
02e2438d37
K2 Scripting: fix script this receiver handling in IR
...
also fix accessor lowering
2023-07-05 19:46:04 +00:00
Ilya Chernikov
07df03dbec
K2 Scripting: fix capturing in scripts created from Fir
2023-07-05 19:46:04 +00:00
Ilya Chernikov
00211a5fc9
K2 Scripting: turn on implicit body resolve for scripts
2023-07-05 19:46:04 +00:00
Ilya Chernikov
1a735b0842
K2 scripting: support script-level typealiases
2023-07-05 19:46:04 +00:00
Ilya Chernikov
70d2fcd9c4
K2 Scripting: deprecate top level script inner classes
...
no LT support yet
2023-07-05 19:46:03 +00:00
Ilya Chernikov
7484ccb9ee
K2 Scripting: allow script top level inline functions
2023-07-05 19:46:03 +00:00
Ilya Chernikov
86b3e65d19
K2 Scripting: enable script processing in diagnostics collector
...
and add scripts to containing decls in checker context te be able to
check for containing script in checkers
2023-07-05 19:46:03 +00:00
Ilya Chernikov
f79f715590
Fir2Ir: remove error reporting on no receiver
...
this error is not valid for scripts, where some receivers are set
later in the lowering, and it looks like in other cases this problem
will be detected later in lowering or codegen anyway.
2023-07-05 19:46:03 +00:00
Ilya Chernikov
7866c63e49
Fir2Ir: add fake overrides binding for script top level classes
2023-07-05 19:46:03 +00:00
Ilya Chernikov
9adf24950a
Fir2Ir scripts: fix declarations registration and processing
2023-07-05 19:46:03 +00:00
Ilya Chernikov
5824b9c59c
K2 Scripting: add Fir script codegen tests
...
27 failing tests are muted
2023-07-05 19:46:03 +00:00
Dmitrii Gridin
83d0dbe436
[LL FIR] FileStructure: reanalyze declarations without name as well
...
^KT-60132 Fixed
^KT-59687
2023-07-05 20:29:01 +02:00
Dmitrii Gridin
9e88da2e66
[LL FIR] FileStructure: add tests for re-analyzable elements without names
...
^KT-60132
^KT-59687
2023-07-05 20:29:01 +02:00
Dmitrii Gridin
e354b2a900
[LL FIR] rewrote in-block modifications logic
...
Now we will invalidate bodies for FIR declarations
immediately after in-block modifications in these declarations
We assume that such in-block modifications can happen
only under write action,
so it should be safe to make changes for FirFile
^KT-59687 Fixed
^KT-59199 Fixed
^KTIJ-26066 Fixed
2023-07-05 20:29:00 +02:00
Dmitrii Gridin
a50efd7aa2
[LL FIR] treat changes inside contract description as OOBM
...
Because contracts affects resolution
^KT-59687
^KTIJ-26085 Fixed
^KTIJ-26066
2023-07-05 20:28:28 +02:00
Dmitrii Gridin
99e2a14b9c
[LL FIR] do not reanalyze non-top level properties with initializer
...
Treat changes inside non-top level property initializer as OOB
It is OOB because CFG for a class depends on a property initializer,
so we must rebuild CFG for the class
Also, this commit makes the API more understandable
^KT-59687
2023-07-05 20:28:28 +02:00
Dmitrii Gridin
8137bee09c
[LL FIR] drop empty files
2023-07-05 20:28:28 +02:00
Pavel Punegov
7cb0875bd8
[K/N][test] Add ExperimentalNativeApi opt-in in the samples
2023-07-05 18:20:35 +00:00
Ivan Kochurkin
7b3f1c73ca
[FIR] Add @Supress("unused") to generated files
2023-07-05 17:53:52 +00:00
Ivan Kochurkin
ee44bddaf9
[FIR] Add @Supress("unused") to debug and plugin-related declarations
2023-07-05 17:53:52 +00:00
Ivan Kochurkin
43b76f3c24
[FIR] Remove unused declarations
2023-07-05 17:53:51 +00:00
Yan Zhulanow
6156609617
[PSI] Increment modification stamp on adding imports to 'KtCodeFragment'
...
LL API incremental analysis depends on modification stamps for files and
declarations. Adding an import directive would modify a modification
stamp of an ordinary KtFile. The same should apply to a KtCodeFragment.
2023-07-05 16:55:38 +00:00
Dmitriy Novozhilov
1ca1616528
[FIR] Check for extension and context receiver in isMethodOfAny utility
2023-07-05 14:57:55 +00:00
Dmitriy Novozhilov
210ad770aa
[FIR] Remove duplicated logic for isMethodOfAny utility
2023-07-05 14:57:55 +00:00