Commit Graph

85929 Commits

Author SHA1 Message Date
Jinseong Jeon 35409fdb8d FIR IDE: resolve arrayOf calls in annotations 2021-09-15 22:33:20 +02:00
Jinseong Jeon 068e81570d FIR IDE: type-aware constant conversion 2021-09-15 22:32:12 +02:00
Ilmir Usmanov 9e4f234941 Minor. Add space after when
Co-authored-by: Louis CAD <louis.cognault@gmail.com>
2021-09-15 22:28:32 +02:00
Ilmir Usmanov 755b92b0e9 Document coroutines codegen. Remove mentions of experimental coroutines 2021-09-15 22:28:32 +02:00
Ilmir Usmanov 4d1545d522 More minor changes 2021-09-15 22:28:32 +02:00
Ilmir Usmanov 6a150fffe6 Minor spelling changes 2021-09-15 22:28:32 +02:00
Ilmir Usmanov de3ffc4a89 Remove obsolete FIXME 2021-09-15 22:28:32 +02:00
Ilmir Usmanov 0372d9050a Clarify tail-call optimization for functions returning Unit
Review fixes.
2021-09-15 22:28:32 +02:00
Ilmir Usmanov 1cdae75dc3 Document coroutines codegen: debug 2021-09-15 22:28:32 +02:00
Ilmir Usmanov 995062cb19 Document coroutines codegen: callable references
returning inline classes
2021-09-15 22:28:32 +02:00
Ilmir Usmanov fce06305b9 Document coroutines codegen: inliner part 3: returning inline classes
Update the information, mention, that there are two markers, not just
one
2021-09-15 22:28:32 +02:00
Ilmir Usmanov 7d41451fba Document coroutines codegen: inliner part 3: minor grammar fixes 2021-09-15 22:28:32 +02:00
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