[AA] Add specific implementation for KtFirEnumEntryInitializerSymbol

- Previously, `KtFirAnonymousObjectSymbol` was a
  `KtEnumEntryInitializerSymbol`, which carried the risk that an
  anonymous object unrelated to enum entries might be used as an enum
  entry initializer. This commit introduces a specific symbol for FIR
  enum entry initializers.
- As a nice side effect, anonymous object symbol creation is simplified
  and `KtFirEnumEntryInitializerSymbolPointer` can restore the symbol
  via `KtFirEnumEntrySymbol.enumEntryInitializer`.

^KT-61425
This commit is contained in:
Marco Pennekamp
2023-09-06 19:05:43 +02:00
committed by Space Team
parent 536e172d0e
commit 3fa2ca7ddd
7 changed files with 71 additions and 33 deletions
@@ -1,7 +1,7 @@
element: e
implicit receivers:
type: `<anonymous>`
owner symbol: KtFirAnonymousObjectSymbol
owner symbol: KtFirEnumEntryInitializerSymbol
type: kotlin.Enum.Companion
owner symbol: KtFirNamedClassOrObjectSymbol
@@ -4,7 +4,7 @@ implicit receivers:
annotationsList: []
ownTypeArguments: []
type: <anonymous>
owner symbol: KtFirAnonymousObjectSymbol
owner symbol: KtFirEnumEntryInitializerSymbol
type: KtUsualClassType:
annotationsList: []