Mikhail Glukhikh
801426d0e6
Simplify creation of FirRenderer
2022-07-14 09:38:44 +00:00
Mikhail Glukhikh
f9fdb5d3bc
Extract separate FirResolvePhaseRenderer
2022-07-14 09:38:43 +00:00
Mikhail Glukhikh
42b3adf33a
Extract separate ConeIdRenderer and get rid of FirRenderer.RenderMode
2022-07-14 09:38:42 +00:00
Mikhail Glukhikh
e484a4a946
Make ConeContractRenderer a renderer component
2022-07-14 09:38:41 +00:00
Mikhail Glukhikh
31a46866b6
Extract separate FirPropertyAccessorRenderer
2022-07-14 09:38:41 +00:00
Mikhail Glukhikh
9f1f777e0d
Extract separate FirValueParameterRenderer
2022-07-14 09:38:40 +00:00
Mikhail Glukhikh
76d5d3a2ec
Extract separate FirModifierRenderer
2022-07-14 09:38:39 +00:00
Mikhail Glukhikh
3fe35e6997
Extract separate FirCallArgumentsRenderer
2022-07-14 09:38:39 +00:00
Mikhail Glukhikh
abfa33b200
Get rid of mode argument in FirElement.render(withType)
2022-07-14 09:38:38 +00:00
Mikhail Glukhikh
7c27e6f843
FirRenderer: partially get rid of RenderMode
2022-07-14 09:38:37 +00:00
Mikhail Glukhikh
9890066b72
Extract separate FirPackageDirectiveRenderer
2022-07-14 09:38:36 +00:00
Mikhail Glukhikh
bc49107d25
Extract separate FirDeclarationRenderer
2022-07-14 09:38:36 +00:00
Mikhail Glukhikh
5bb4a0ccda
FirRenderer: drop effectively unused renderDeclarationOrigin parameter
2022-07-14 09:38:35 +00:00
Mikhail Glukhikh
089044e5b0
FirRenderer: get rid of direct Visitor usages
2022-07-14 09:38:34 +00:00
Mikhail Glukhikh
998ed8849f
FirRenderer: drop effectively unused renderLambdaBodies parameter
2022-07-14 09:38:34 +00:00
Mikhail Glukhikh
a82baf87cb
FIR renderer: extract separate ConeTypeRenderer
2022-07-14 09:38:33 +00:00
Mikhail Glukhikh
591143be7c
FIR renderer: introduce separate body & annotation renderers
2022-07-14 09:38:32 +00:00
Mikhail Glukhikh
f64a7d3ff9
FirRenderer: extract separate printer & visitor
2022-07-14 09:38:32 +00:00
Mikhail Glukhikh
38d6f3d548
Move FirRenderer to separate package
2022-07-14 09:38:31 +00:00
Mikhail Glukhikh
475e40b3e4
K1: report warning for inline virtual member in enum #KT-53148 Fixed
...
Related to KT-34372
2022-07-14 07:59:33 +00:00
Mikhail Glukhikh
70e15b281c
K2: fix exception in deserializer for external setter #KT-53031 Fixed
2022-07-13 17:06:14 +00:00
Mikhail Glukhikh
7bbd8d3b95
FIR2IR entry points: don't create JvmDescriptorMangler if not needed
2022-07-13 13:11:49 +00:00
Mikhail Glukhikh
1a45284e86
Drop some unused from symbol table / IR converter
2022-07-13 13:11:49 +00:00
Mikhail Glukhikh
18a5b3b518
Drop unnecessary usages of OptIn(ObsoleteDescriptorBasedAPI)
2022-07-13 13:11:48 +00:00
Pavel Kunyavskiy
5cdda48487
[K/N] Extract const val initializers to place of usage
...
This would make behaviour more consistent with jvm. There is still
a difference in behaviour about point where side effects happen.
^KT-52970
2022-07-13 08:49:40 +00:00
Igor Chevdar
e36bd5fe90
[box-tests] Added a multi-module box test
2022-07-13 08:01:51 +00:00
Ilya Chernikov
3471a1b899
minor: fix caching in Fir2Ir declarations storage
2022-07-13 08:45:20 +02:00
Mikhail Glukhikh
c92d685415
FIR: postpone callable reference candidate in default argument case
...
#KT-53019 Fixed
2022-07-12 12:22:34 +00:00
Mikhail Glukhikh
c36e160f24
FIR2IR: minor refactoring of AdapterGenerator
2022-07-12 12:22:33 +00:00
Vladimir Sukharev
fd52f475cb
Devirtualization fails to eliminate boxing in function reference context
...
^KT-49847 Fixed
Merge-request: KT-MR-6460
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-07-12 08:26:27 +00:00
pyos
5a2ec4a0d5
FIR CFG: merge data flow if called-in-place lambda may not be called
2022-07-11 18:11:30 +03:00
pyos
06c7572ee5
FIR CFG: process called-in-place lambdas as loops
2022-07-11 18:11:30 +03:00
pyos
8214e4f806
FIR CFG: check lambda concurrency by data flow, not control flow
...
var p: String? = something
if (p != null) {
foo(
run { p = null; n() },
// This lambda executes strictly after the one above by CFG,
// but data flow for type inference comes from before the call
// so p would get smartcasted if not forbidden.
run { p.length; 123 }
)
}
2022-07-11 18:11:30 +03:00
pyos
82731802ee
FIR CFG: add one more test case
2022-07-11 18:11:30 +03:00
Victor Petukhov
7d945d9bdc
[FIR] Support loading rxjava3 nullability annotations on bounded wildcards
...
^KT-53041 Fixed
2022-07-11 12:44:08 +00:00
Victor Petukhov
cb2dbca0c3
[FE 1.0] Support loading rxjava3 nullability annotations on bounded wildcards
...
^KT-53041 Fixed
2022-07-11 12:44:07 +00:00
Victor Petukhov
2057deb91b
[FE 1.0] Create DONT_CARE type only for callable references with no expected type
...
Otherwise, it can be resolved safety
^KT-52270 Fixed
2022-07-11 12:44:06 +00:00
Victor Petukhov
fb21937eb1
[FE 1.0] Report INVISIBLE_MEMBER on all qualified expressions including safe call ones
...
^KT-47621 Fixed
2022-07-11 12:44:06 +00:00
Igor Chevdar
a61d05971e
[box-tests] Added a couple of multi-module box tests
2022-07-10 17:56:36 +00:00
Nikita Nazarov
7287be6879
Add tests on variable spilling with debug mode enabled
...
#KT-48678 Fixed
2022-07-07 14:51:24 +03:00
Mikhail Glukhikh
777aa725c9
Add signature cache to FirBasedSignatureComposer
2022-07-06 10:02:12 +00:00
Mikhail Glukhikh
e95fe060d6
FIR2IR: don't create signatures also for accessors & constructors
2022-07-06 10:02:12 +00:00
Mikhail Glukhikh
2880cd8d5a
FIR2IR: provide more precise conversion type context at some use-sites
2022-07-06 10:02:11 +00:00
Mikhail Glukhikh
517614a190
FIR2IR: remove code duplication from CallAndReferenceGenerator
2022-07-06 10:02:10 +00:00
Mikhail Glukhikh
bb0191b7d5
FIR2IR: don't calculate signatures for callables when possible
2022-07-06 10:02:10 +00:00
Mikhail Glukhikh
45eb9238b3
Fir2IrClassifierStorage: don't calculate signature in registerClass
2022-07-06 10:02:09 +00:00
Stanislav Erokhin
d788a927c4
Change deprecations annotation order on Ranges#endExclusive property
...
We have [Int|Long|Char]Range classes in 2 different places:
- as separate class-files
- serialized in the kotlin_builtins file
For some reason our Kotlin compiler during the JVM compilation
re-arranging the order of the annotations, so in class file they
will be written in the following order:
- Deprecated
- SinceKotlin
- ExperimentalStdlibApi
But in the kotlin_builtins they will be stored the same way as
in the sources.
We need these 2 way to be synchronized, because stub's in IDE
cares about order.
After this commit IDE test BuiltInDecompilerConsistencyTest is fixed
2022-07-05 19:50:45 +00:00
Nikolay Krasko
d080297c20
Revert "Add tests on variable spilling with debug mode enabled"
...
This reverts commit 65bb6abae4 .
2022-07-05 11:04:50 +00:00
Ilya Kirillov
8f89f1b368
[Analysis API] add info about context receivers to the Analysis API
2022-07-05 10:34:28 +02:00
Pavel Kunyavskiy
c1ec1d9d4c
[K/N] Handle Unit? and Nothing? correctly in finally transformation
...
^KT-52985
2022-07-05 06:54:29 +00:00