Dmitriy Dolovov
859c465b9e
[IR] Rename IrFakeOverride[Function|Property] to Ir[Function|Property]WithLateBinding
...
^KT-53663
2022-10-20 10:18:54 +02:00
vladislav.grechko
cc1b4243dd
Fix exception on 'equals()' returning 'Nothing' in inline class
...
^KT-54401: Fixed
2022-10-17 14:11:00 +00:00
vladislav.grechko
e0c8142106
Support of custom 'equals' and 'hashCode' in inline classes
...
'equals' from any made available for overriding in inline classes
'typed' equals made available for definition in inline classes
'typed' equals definition made compulsory if 'untyped' is overridden
'operator' keyword is allowed in 'typed' equals definition
^KT-24874: Fixed
2022-10-10 16:52:34 +00:00
Evgeniy.Zhelenskiy
6f94af80ab
[IR] Correct work of the new MFVC lowering classes
...
#KT-1179
2022-10-07 12:43:42 +00:00
Evgeniy.Zhelenskiy
894cdc2307
[IR] Implement equals call correct generation for MFVC
...
#KT-1179
2022-10-07 12:43:37 +00:00
Evgeniy.Zhelenskiy
0c1c25e477
[IR] Implement MFVC basic flattening
...
#KT-1179
2022-10-07 12:43:36 +00:00
Evgeniy.Zhelenskiy
d4969e9b97
Revert "rra/zhelenskiy/flattening_impl"
...
This reverts commit b7f5c039a6 .
2022-10-07 12:43:36 +00:00
Evgeniy.Zhelenskiy
c2284d15a5
[IR] Correct work of the new MFVC lowering classes
...
#KT-1179
2022-10-07 12:42:11 +00:00
Evgeniy.Zhelenskiy
73b0fac657
[IR] Implement equals call correct generation for MFVC
...
#KT-1179
2022-10-07 12:42:07 +00:00
Evgeniy.Zhelenskiy
2896f5613d
[IR] Implement MFVC basic flattening
...
#KT-1179
2022-10-07 12:42:06 +00:00
Evgeniy.Zhelenskiy
93ffd9f233
Revert "rra/zhelenskiy/flattening_impl"
...
This reverts commit b7f5c039a6 .
2022-10-07 12:42:05 +00:00
Evgeniy.Zhelenskiy
b7f5c039a6
rra/zhelenskiy/flattening_impl
...
[IR] Remove unused MFVC getters
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
[IR] Add context receivers test, fix a flattening fields bug
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
[IR] Support `try` for MFVC
#KT-1179
[IR] Support `if` and `when` for MFVC, fix several bugs, refactor
#KT-1179
[IR] Rename MFVC tests + Add test for get-field optimization
#KT-1179
[IR] Suppress temporary test failing on Android
Bug is fixed in https://jetbrains.team/p/kt/reviews/6452
#KT-1179
[IR] Document the new MFVC lowering classes when necessary
#KT-1179
[IR] Correct work of the new MFVC lowering classes
#KT-1179
[IR] Prepare MFVC-lowering for the new MFVC classes
#KT-1179
[IR] Fix MFVC with type arguments/parameters
#KT-1179
[IR] Support MFVC with type parameters
#KT-1179
[IR] Integrate MFVC with Inline classes
#KT-1179
[IR] Fix compilation of MFVC in different module
#KT-1179
[IR] Add MFVC generation tests
#KT-1179
[IR] Implement equals call correct generation for MFVC
#KT-1179
[IR] Implement bridges generation for MFVC
#KT-1179
[IR] Implement MFVC basic flattening
#KT-1179
Merge-request: KT-MR-6213
Merged-by: Evgeniy Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
2022-10-06 20:45:45 +00:00
Artem Kobzar
eb2326eabb
[K/JS] Add ability to exclude declarations from export by a new annotation @JsExport.Ignore.
2022-10-03 11:07:25 +00:00
Pavel Kunyavskiy
ea3713f051
Fix building fake overrides for sam and function references
2022-09-30 08:48:59 +00:00
Artem Kobzar
39a44d4ccb
[K/JS] Add lateinit as exception for simple properties ^KT-53968 Fixed
2022-09-22 13:50:51 +00:00
Artem Kobzar
73e7053c35
[K/JS] Use only single variant of default arguments function wrapper for exported and not-exported functions
2022-09-19 17:49:04 +00:00
Dmitriy Dolovov
e4556ecc0d
[IR] User-friendly message about unexpected unlinked symbols
...
^KT-53649
2022-09-13 17:12:13 +00:00
Artem Kobzar
da367a467d
[K/JS] chore: stop unnecessary defineProperties generating.
2022-09-09 11:14:26 +00:00
Igor Chevdar
ced974fcb7
[IR] Fixed non-friend module visibility for LazyIR caches
...
K/N builds Lazy IR for cached libraries - so no IrModule for them,
have to use descriptors to find the module's name for the friend module predicate
2022-08-30 07:29:07 +00:00
Artem Kobzar
43ce805499
chore: fix typo in a method name.
2022-08-29 18:05:45 +00:00
Artem Kobzar
8b826a865b
[K/JS, K/WASM] feat(Enum.entries): add support of new enum static field for JS and WASM.
2022-08-29 16:04:12 +00:00
Nikita Bobko
a65cb947d6
Check that kotlin-reflect has a correct version during resolution
...
Review: https://jetbrains.team/p/kt/reviews/6753
After we migrated to the binary reflect in previous commits we want to
make sure that people won't accidentaly depend on wrong reflect in the
future.
2022-08-22 15:44:01 +02: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
Vsevolod Tolstopyatov
e708809e55
[JVM] Support Enum.entries for enums being compiled with Kotlin 1.8+
...
#KT-53236
2022-08-12 09:35:20 +00:00
Vsevolod Tolstopyatov
93f17a2b86
[FIR] Support static getters along with fake Enum.entries declaration in FIR
...
#KT-48872
2022-08-12 09:35:18 +00:00
Pavel Mikhailovskii
8ba80b4b7b
KT-1436 Allow break/continue in inlined lambdas
2022-08-11 10:38:23 +00:00
Dmitry Gridin
4ceb170917
regenerate tests
2022-08-05 14:12:41 +02:00
Sergej Jaskiewicz
9dc7fe24f6
[psi2ir] Emit source info for annotation parameters
...
We need this in the JS IR backend for annotations like
@JsFun and @JsPolyfill
2022-08-03 16:45:55 +00:00
Artem Kobzar
b9a80284c8
[K/JS] fix(TS): save type hierarchy for exported classes.
2022-08-03 14:16:30 +00:00
Ivan Kochurkin
1bb158e45c
[FIR] Add SourceSet.generatedDir() and use it in build.gradle.kts
2022-07-25 23:30:10 +02:00
Dmitriy Dolovov
7c40fd31e3
[IR] Optimize SymbolTable.allUnbound
2022-07-18 17:29:50 +02: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 Mikhailovskii
c3c09aa95a
KT-4107 Data objects
2022-06-28 16:58:20 +02:00
Pavel Mikhailovskii
3766698081
KT-52743 IR: Fix null checks in Elvis operators
2022-06-22 09:11:24 +00:00
Mikhael Bogdanov
e1d00c3d6e
KAPT+IR: support nullability for error types
...
#KT-49682
2022-06-20 11:42:54 +00:00
Mikhael Bogdanov
162ca4ac2b
KAPT+IR: support IR error types
...
#KT-49682
2022-06-20 11:42:53 +00:00
Mikhael Bogdanov
328160894b
Move ir.tree.impl into ir.tree
2022-06-20 11:42:51 +00:00
Dmitriy Novozhilov
f7e0880c34
[IR] Mark methods with descriptors of SymbolTable with @ObsoleteDescriptorBasedAPI
2022-06-17 09:38:18 +00:00
Dmitriy Novozhilov
a30216c655
[IR] Mark methods with descriptors of ReferenceSymbolTable with @ObsoleteDescriptorBasedAPI
...
Also remove optIn annotation from IrPluginContext.symbolTable
2022-06-16 13:43:49 +00:00
Mikhail Glukhikh
8ae47d4c4d
IR: slightly fix kotlin-like dumping of super qualifiers
2022-06-16 06:51:34 +00:00
Alexander Udalov
a30a351fbb
IR: make casts to nullable types in transformChildren stricter
2022-06-15 13:24:25 +00:00
Alexander Udalov
f003f19e1d
IR tree gen: restore IrWhileLoop children visit order
2022-06-13 18:58:05 +02:00
Alexander Udalov
bf5ab49342
IR tree gen: restore strict cast in IrProperty.transformChildren
2022-06-13 18:58:05 +02:00
mcpiroman
529c03ab08
Switch to auto generated IR tree
...
Co-authored-by: Alexander Udalov <alexander.udalov@jetbrains.com >
2022-06-13 18:58:05 +02:00
Alexander Udalov
c6608de879
Minor, move some files in ir.tree from 'src' to 'gen'
...
To help git understand that they are moved in the subsequent commit.
2022-06-13 18:58:05 +02:00
Alexander Udalov
ec9d929532
Remove dependency of fir2ir:jvm-backend on backend.jvm.entrypoint
...
Extract JvmIrDeserializer(Impl), similarly to the existing
JvmIrSerializer(Impl). Remove `allowErrorNodes` which is always false
anyway.
2022-06-13 12:35:51 +00:00
Nikolay Egorov
149402cf00
Make TypeMapper use signatureWriter for scripts expression evaluation;
...
Support nullability detection for IrScriptSymbol;
tests in IJ commit: "[scripting] Introduce tests for KT-51755"
2022-06-09 14:08:28 +00:00
Dmitriy Novozhilov
83d0a3e7a3
[FIR] Extract FirPluginKey into :core:compiler.common and rename it to GeneratedDeclarationKey
...
This is needed to avoid dependency on :compiler:fir:fir2ir module in
backend parts of compiler plugins. It will allow to publish those
parts into jars for IDE, where they are needed for working of debugger
and bytecode toolwindow
2022-06-07 14:12:25 +00:00
Dmitriy Novozhilov
67589b1b09
[FIR] Don't report TAILREC_ON_VIRTUAL_MEMBER_ERROR on private declarations
2022-06-07 14:12:13 +00:00