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
Pavel Mikhailovskii
65b2cee913
KT-23397 Optimize out field for property delegate when it's safe (JVM)
2022-06-07 10:46:01 +00:00
Victor Petukhov
96d1f89836
[BE] Support until operator in back-ends
2022-05-31 08:42:56 +00:00
Georgy Bronnikov
a8cc3ec316
Fir2IR: introduce IdSignature?.iscomposite()
2022-05-19 12:02:44 +02:00
Georgy Bronnikov
571ba9298e
Fir2Ir: put properties data from IrBuiltinsOverFir into symbol table
...
Properties themselves, accessors, backing fields.
2022-05-19 12:02:43 +02:00
Georgy Bronnikov
ffe1615e9c
Fir: simplify IrBuiltInsOverFir
2022-05-19 12:02:42 +02:00
Georgy Bronnikov
13d4d60afa
Fir2Ir: pass Fir2IrExtensions to backend
2022-05-19 12:02:41 +02:00
Ivan Kylchik
f3252334b2
Move most of ir utils from backend.common to ir.tree
2022-05-18 21:20:03 +03:00
Ivan Kylchik
761424b131
Add IntrinsicConstEvaluation annotation to some ir builtins functions
2022-05-18 21:19:55 +03:00
Dmitriy Dolovov
8de4eb798c
[IR] Fix removal-of-abstract-fun IR linkage case
...
^KT-50771
2022-05-18 18:05:09 +03:00
Kristoffer Andersen
7f531d8426
[IR] Improve stepping/LVT behavior around destructuring
2022-05-13 23:19:27 +02:00
Ilya Chernikov
a78d063bef
Scripting: fix script type extraction on psi2ir
...
#KT-48812 fixed
2022-04-29 11:03:12 +00:00
Victor Petukhov
47d6236a2d
[FIR] Support determining emptiness of an intersection type with type parameters' types
2022-04-27 19:50:23 +00:00
Igor Chevdar
04ef856780
[IR] Replaced K/N findPackage with common getPackageFragment
2022-04-27 11:19:17 +00:00
Sergej Jaskiewicz
026f292f4f
[IR] Add IrClass.invokeFun helper and use it throughout
2022-04-07 10:31:34 +00:00
Ilya Chernikov
03cbfea737
FIR LT: Introduce source file abstraction, carry it from parsing to IR
...
along with source lines mapping, allows to "emulate" usage of the
PSI files which allows to extract source file and line mapping info
on every stage from source element.
It makes sense to use this mapping for the error reporting too.
2022-03-30 08:34:30 +00:00
Pavel Kunyavskiy
7ba4d9e1f0
Rework nullability in IR
2022-03-30 06:27:59 +00:00
Evgeniy.Zhelenskiy
b6f2513dd2
[FIR] Introduce valueClassRepresentation to FIR
...
#KT-1179
2022-03-24 11:38:44 +00:00
Evgeniy.Zhelenskiy
28bf83ceac
[IR] Unite inline class and multi-field value class representation
...
#KT-1179
2022-03-24 11:38:43 +00:00
Evgeniy.Zhelenskiy
282ab398c6
[IR] Generify lowerings
...
#KT-1179
2022-03-24 11:38:42 +00:00
Victor Petukhov
b5933c70e2
[FE 1.0] Refactor error utils: split error entities and introduce error type and error scope kinds
2022-03-23 21:13:33 +00:00
Mikhael Bogdanov
15c3dd527c
KAPT+IR: Support data classes
2022-03-15 11:38:04 +01:00
Alexander Korepanov
69295f2cf0
[JS IR] IC invalidation refactoring
...
- Huge refactoring for IC
- Update hash combination logic
- Introduce value class for IC hashes
- Calc md5 directly by function IR
- Split IC logic by classes
- Move JsIrLinkerLoader into separate file
- CacheUpdateStatus is a sealed class
- Render TYPE_PARAMETER reified flag
^KT-51081 Fixed
^KT-51084 Fixed
2022-03-15 05:34:19 +00:00
Alexander Udalov
157db778fd
Rework support of Iterator.iterator optimization in ForLoopsLowering
...
- Fix the predicate used for finding the member function `next`: check
that there's no extension receiver parameter, don't filter out
abstract functions.
- Do not copy iterator expression, instead change the type in all
references to the iterator variable.
- Fix some style issues.
#KT-47171 Fixed
2022-02-28 01:39:31 +01:00
Jinseong Jeon
476e65f934
Utilize MemberScope.findFirstFunction with name and predicate
2022-02-24 17:51:49 +01:00
Igor Chevdar
d51eb32c62
[IR] Fixed IrType.classifierOrNull
...
Supported IrDefinitelyNotNullType explicitly for now
(later it will be better to handle it at the call sites)
Co-authored-by: Svyatoslav Scherbina <svyatoslav.scherbina@jetbrains.com >
2022-02-24 15:20:13 +03:00
Ilmir Usmanov
8811f62300
Fix mapping of nullable generic underlying types of inline classes
...
#KT-32162 Fixed
2022-02-23 01:23:07 +03:00
Alexander Udalov
8ccd4a40d2
IR: rename IrElementVisitorVoid.visitVariableAccess -> visitValueAccess
...
For consistency with IrElementVisitor.
Co-authored-by: mcpiroman <mcpiroman@gmail.com >
2022-02-21 19:56:45 +01:00
Alexander Udalov
b00cd30e93
IR: minor, move accept from IrConstantObjectImpl to IrConstantObject
2022-02-21 19:56:45 +01:00
Alexander Udalov
0b6972edf0
IR: add default implementations for acceptChildren/transformChildren
...
To simplify migration to auto-generated IR.
2022-02-21 19:56:45 +01:00
Alexander Udalov
4bec1b08f9
IR: move IrElement.transform implementation to IrElementBase
...
To avoid extra indirection via `IrElement$DefaultImpls` for elements
whose `transform` uses the default implementation. And also, to simplify
migration to auto-generated IR tree.
2022-02-21 19:56:44 +01:00
Alexander Udalov
2ce91853ec
IR: minor, extract declarations from IrElement.kt
2022-02-21 19:56:44 +01:00