FIR [rendering only]: render fake overrides for properties

This commit is contained in:
Mikhail Glukhikh
2019-11-14 15:34:59 +03:00
parent 4733c78a6a
commit 63f38bb28a
7 changed files with 13 additions and 10 deletions
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.fir.types.impl.FirImplicitBuiltinTypeRef
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.types.Variance
@@ -821,12 +820,16 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
override fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference) {
print("R|")
val isFakeOverride = (resolvedNamedReference.resolvedSymbol as? FirNamedFunctionSymbol)?.isFakeOverride == true
val symbol = resolvedNamedReference.resolvedSymbol
val isFakeOverride = when (symbol) {
is FirNamedFunctionSymbol -> symbol.isFakeOverride
is FirPropertySymbol -> symbol.isFakeOverride
else -> false
}
if (isFakeOverride) {
print("FakeOverride<")
}
val symbol = resolvedNamedReference.resolvedSymbol
print(symbol.render())