Ilmir Usmanov
a736d4fef1
Document coroutines codegen: callable references
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
3276ef6cf8
Document coroutines codegen: Returning Inline Classes
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
25af290266
Document coroutines codegen: inliner part 3: crossroutines
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
ddaab2c2bb
Document coroutines codegen: inliner part 2
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
771b0c006f
Document coroutines codegen: inliner part 1
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
e2c5f9d245
Document coroutines codegen: functions
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
a8aac955d9
Document coroutines codegen: split long lines
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
7263b6e5d6
Document coroutines codegen: rest of suspend lambda
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
0814c5cc93
Document coroutines codegen: superclasses
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
bfd0291572
Document coroutines codegen: interception
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
8b604b8ce1
Document coroutines codegen: intrinsics part 2
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
611c1b1a38
Document coroutines codegen: intrinsics
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
0943a31675
Document coroutines codegen: spilling
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
57e69202e8
Document coroutines codegen: resume with exception
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
7e047ac96f
Document coroutines codegen: resume with result
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
355b36ead9
Document coroutines codegen: suspend function views
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
48fb31080e
Document coroutines codegen: CPS
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
307e01e6b6
Document coroutines codegen: suspend markers: JS & Native
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
f7cf5f435f
Document coroutines codegen: suspend markers
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
1d7a661624
Document coroutines codegen: state-machine
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
5fd08b3ee5
Document coroutines codegen: simple lambda example
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
25edda02f4
Document coroutines codegen: introduction
2021-09-15 22:28:32 +02:00
Roman Golyshev
642591770e
[FIR] Calculate lazy initializers in properties with backing fields
...
More tests should be added in the future
2021-09-15 18:33:43 +00:00
Roman Golyshev
bb2b0107c6
[FIR] Render backing fields by FirRenderer
2021-09-15 18:33:43 +00:00
pyos
36b02082a6
FIR: try to load as Java class if KotlinClassFinder returns null
...
The IDE implementation of KotlinClassFinder does not always return the
class file contents.
2021-09-15 19:15:17 +03:00
Abduqodiri Qurbonzoda
f1befc0108
Format Other_Uppercase/Other_Lowercase property as an identifier in docs
2021-09-15 17:31:52 +03:00
Mikhail Glukhikh
b5e37cb201
Unmute now passing FIR visualizer test #KT-44811 Fixed
2021-09-15 17:11:56 +03:00
Dmitriy Novozhilov
37b427c656
[FIR] Combine type attributes in typealias expansion
...
^KT-48651 Fixed
2021-09-15 17:11:31 +03:00
Dmitriy Novozhilov
0f6b6dbca3
[FIR] Cleanup and reorganize utils in :compiler:fir:checkers
2021-09-15 17:11:31 +03:00
Dmitriy Novozhilov
9d09b9605f
[FIR] Cleanup and reorganize utils in :compiler:fir:java
2021-09-15 17:11:30 +03:00
Dmitriy Novozhilov
7a347b11e3
[FIR] Use StandardClassIds instead of StandardNames everywhere it's possible
2021-09-15 17:11:30 +03:00
Dmitriy Novozhilov
5c2a3bb78e
[FIR] Move duplicating names and classIds to StandardClassIds
2021-09-15 17:11:29 +03:00
Dmitriy Novozhilov
4793674eae
[FIR] Move all CFA utils to separate package
...
Root org.jetbrains.kotlin.fir.analysis.cfa now contains only specific
control flow analyzers
2021-09-15 17:11:28 +03:00
Dmitriy Novozhilov
bce62430ce
[FIR] Split CfaUtils to multiple files
2021-09-15 17:11:27 +03:00
Elena Lepilkina
bdb61ec5d7
[K/N] Run inline property accessors later to inline all cases including devirtualized
2021-09-15 12:29:03 +00:00
Svyatoslav Scherbina
b32ab48596
Native: add tests for autorelease optimization in ObjCExport
...
The compiler should do its best to avoid putting objects to autorelease
pools.
2021-09-15 11:48:17 +00:00
Svyatoslav Scherbina
8c923f6504
Native: optimize autorelease in ObjCExport calls to Kotlin
...
Use objc_autoreleaseReturnValue to eliminate the autorelease operation
for return value if the caller is optimized (usually it is).
This required moving autorelease operation from Kotlin -> ObjC ref
conversion to bridge epilogue.
To achieve this, also make ObjCExport Kotlin ref -> ObjC ref dynamic
converters return retained reference (instead of autoreleased one).
To reflect this, rename the corresponding entities in the code.
2021-09-15 11:48:16 +00:00
Svyatoslav Scherbina
75a3070067
Native: implement autoreleaseAndRet for ObjCExportCodeGenerator
...
This operation is equivalent to "autorelease and then return",
but it supports Obj-C runtime autorelease optimization for return value:
if the caller is optimized (which is usually true), then no autorelease
will happen at runtime.
2021-09-15 11:48:15 +00:00
Svyatoslav Scherbina
e00fd6b9b3
Native: allow subclassing FunctionGenerationContext
...
This allows one to have domain-specific generator without polluting
the global namespace.
Also introduce builders and do minor refactoring.
2021-09-15 11:48:15 +00:00
Svyatoslav Scherbina
be1acc8103
Native: eliminate autorelease in ObjCExport set/getAssociatedTypeInfo
2021-09-15 11:48:14 +00:00
pyos
8724bc9525
Add test for KT-48478
2021-09-15 13:23:11 +02:00
pyos
72752b64c5
Revert "JVM_IR: assume function reference adapters are tail-call"
...
This reverts commit 537ce05bc9 .
#KT-48478 Fixed
2021-09-15 13:23:11 +02:00
pyos
0864f9faf8
JVM_IR: mark inline lambda functions with a special origin
...
Keeping the origin as LOCAL_FUNCTION_FOR_LAMBDA was a mistake as this
tells codegen nothing. Changing the origin in allows, for example,
removing the hack that detaches inline lambdas from the IR tree before
verification and codegen, or treating inline lambdas and inline
anonymous functions the same way.
This includes fake functions created for inline callable references.
#KT-48319 Fixed
#KT-47279 Fixed?
2021-09-15 13:23:11 +02:00
pyos
6b58c3d035
JVM_IR: mark inlined callable references with a different origin
...
Makes them easier to find.
2021-09-15 13:23:11 +02:00
Ilya Kirillov
81336820e2
FIR IDE: regenerate diagnostics
2021-09-15 11:32:59 +02:00
Ilya Kirillov
585eb9a4f0
FIR IDE: regenerate analysis api tests
2021-09-15 11:32:49 +02:00
Ilya Kirillov
5b38bd2be2
FIR IDE: fix generators after changing analysis api packages
2021-09-15 11:32:47 +02:00
Ilya Kirillov
99a65527b7
FIR IDE: fix symbol light classes imports after package changes
2021-09-15 11:32:45 +02:00
Ilya Kirillov
42f0536904
FIR IDE: move analysis api fir testdata to the analysis directory
2021-09-15 11:32:43 +02:00
Ilya Kirillov
4d52b354af
FIR IDE: move analysis api fir generator to the analysis directory
2021-09-15 11:32:33 +02:00