Commit Graph
13 Commits
Author SHA1 Message Date
Pavel Kunyavskiy f50fab65cc [IrActualizer] Update doc on how the actualization process works. 2023-12-15 15:38:10 +00:00
Pavel Kunyavskiy dcd3f3b155 [FIR2IR] Replace fake override symbols with normal ones
Fir2Ir introduces temporary symbols to avoid creating
fake overrides themselves. Further pipeline is not ready to
these symbols. That's why we have introduced separate pass,
that replaces all this symbols with real fake override
symbols, after they are created.

^KT-63645
2023-12-15 15:38:10 +00:00
Pavel Kunyavskiy c485382e80 [FIR2IR] Rework actualization pipeline
There are a lot of restrictions between different parts of the pipeline.

1. Fake overrides can't be built before classes are actualized
2. Constants can't be evaluated before callables are actualized
3. Callables can't be actulaized before fake overrides are built
4. Checkers can't run before constants are evaluated

This commit reorders things to make all these restrictions happy.

^KT-63644
2023-12-15 15:38:10 +00:00
Pavel Kunyavskiy 8e047e6d8a [FIR2IR] Make all source sets friends for IrFakeOverrideBuilder
^KT-63644
2023-12-14 08:32:58 +00:00
Pavel Kunyavskiy b38ebbb853 [IR] Avoid ir.actualization depending on frontend module
^KT-62292
2023-11-20 08:31:41 +00:00
Pavel Kunyavskiy 021a00f4ff [IR] Avoid depending from fir2ir on ir.actualization module
^KT-62292
2023-11-20 08:31:41 +00:00
Pavel Kunyavskiy cf6792ec65 [IR] Optimize dependencies of ir.actualization module
^KT-62292
2023-11-20 08:31:41 +00:00
Pavel Kunyavskiy 55e7ff18c6 [IR] Extract IrActualizationErrors from CommonBackendErrors
^KT-62292
2023-11-20 08:31:41 +00:00
Pavel Kunyavskiy 763d2ec2fe [IR] Move IrGetValue.actualize() to IrUtils and rename it
^KT-62292
2023-11-20 08:31:41 +00:00
Pavel Kunyavskiy e80d4b1d60 [IR] Move IrDeclaration.isExpect to IrUtils
^KT-62292
2023-11-20 08:31:41 +00:00
Pavel Kunyavskiy 41098a2e34 [IR] Extract IrDiagnosticReporter interface
^KT-62292
2023-11-20 08:31:41 +00:00
Pavel Kunyavskiy faaefbd8e7 [IR] Move .parents and .parentsWithSelf to IR utils
^KT-62292
2023-11-20 08:31:41 +00:00
Pavel Kunyavskiy 649a7bd66b [IR] Moved actualizer and related things to separate module
^KT-62292
2023-11-20 08:31:41 +00:00