04ac4b71a3
In the FIR generator, the `AbstractElement` class was used to represent either an element type without type arguments applied (using the `Element` subclass), or an element type with applied type arguments (using the `ElementWithArguments` subclass). Instead, it is more logical to use the `Element` class to always represent a non-parameterized element type, and for a parameterized element type use the `ElementRef` class, just like we do in the IR generator.
IR tree generator
This module generates the IR tree interfaces and classes, as well as visitors and transformers.
The generator is run on every build. If you change something in the model or in the generator code, just run ./gradlew dist and the generator task will run before the start of the compilation.
The model is declared in IrTree.kt.
You can navigate to the model from a generated Ir* class by following the Generated from link in its kdoc.