[FIR generator] Replace AbstractElement with ElemenOrRef

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.
This commit is contained in:
Sergej Jaskiewicz
2023-09-14 15:27:36 +02:00
committed by Space Team
parent 86c8f3cc35
commit 04ac4b71a3
10 changed files with 98 additions and 97 deletions
@@ -79,6 +79,8 @@ class Element(
}
}
// FIXME: Replace this class with `typealias ElementRef = org.jetbrains.kotlin.generators.tree.ElementRef<Element, Field>`
// FIXME: as soon as Element implements the org.jetbrains.kotlin.generators.tree.AbstractElement interface.
data class ElementRef(
val element: Element,
override val args: Map<NamedTypeParameterRef, TypeRef> = emptyMap(),