Make FirClass a kind of FirClassLikeDeclaration, introduce FirRegularClass/AnonymousObject symbols

This commit is contained in:
Mikhail Glukhikh
2019-10-24 12:58:05 +03:00
parent 1e4f07ebc7
commit e1c889e871
63 changed files with 326 additions and 240 deletions
@@ -379,7 +379,7 @@ class DeclarationsConverter(
className,
status,
classKind,
FirClassSymbol(context.currentClassId)
FirRegularClassSymbol(context.currentClassId)
)
} else {
FirClassImpl(
@@ -388,7 +388,7 @@ class DeclarationsConverter(
className,
status,
classKind,
FirClassSymbol(context.currentClassId)
FirRegularClassSymbol(context.currentClassId)
)
}
firClass.annotations += modifiers.annotations
@@ -464,7 +464,7 @@ class DeclarationsConverter(
superTypeRefs.ifEmpty { superTypeRefs += implicitAnyType }
val delegatedType = delegatedSuperTypeRef ?: implicitAnyType
return FirAnonymousObjectImpl(null, session).apply {
return FirAnonymousObjectImpl(null, session, FirAnonymousObjectSymbol()).apply {
annotations += modifiers.annotations
this.superTypeRefs += superTypeRefs
this.typeRef = superTypeRefs.first()
@@ -514,7 +514,7 @@ class DeclarationsConverter(
null,
session,
enumEntryName,
FirClassSymbol(context.currentClassId)
FirRegularClassSymbol(context.currentClassId)
)
firEnumEntry.annotations += modifiers.annotations