[FIR/IR generator] Introduce ImportCollector

This class enables printing the import list in generated files
in a smarter way.

Also, refactor `Importable` interface hierarchy, namely, don't inherit
`TypeRef` from `Importable`, since we have types like `TypeRef.Star`
which are not really importable.

Replace the `Importable#typeWithArguments` property with
the `TypeRef#render` method to utilize `ImportCollector` while rendering
types.
This commit is contained in:
Sergej Jaskiewicz
2023-10-16 14:57:22 +02:00
committed by Space Team
parent bec6d38490
commit 7b7bcb8ffa
451 changed files with 1592 additions and 3017 deletions
+3
View File
@@ -481,6 +481,9 @@ val projectsWithEnabledContextReceivers by extra {
":compiler:fir:raw-fir:raw-fir.common",
":compiler:fir:raw-fir:psi2fir",
":compiler:fir:raw-fir:light-tree2fir",
":compiler:fir:tree:tree-generator",
":compiler:ir.tree:tree-generator",
":generators:tree-generator-common",
":kotlin-lombok-compiler-plugin.k1",
":kotlinx-serialization-compiler-plugin.k2",
":plugins:parcelize:parcelize-compiler:parcelize.k2",