FIR: keep names for error references

This commit is contained in:
Simon Ogorodnik
2019-04-12 21:32:36 +03:00
committed by Mikhail Glukhikh
parent 5bf41594ec
commit 32e941cb53
3 changed files with 12 additions and 6 deletions
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.expressions.impl.FirElseIfTrueCondition
import org.jetbrains.kotlin.fir.expressions.impl.FirExpressionStub
import org.jetbrains.kotlin.fir.expressions.impl.FirUnitExpression
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.symbols.ConeCallableSymbol
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
@@ -761,7 +762,11 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
}
override fun visitNamedReference(namedReference: FirNamedReference) {
print("${namedReference.name}#")
if (namedReference is FirErrorNamedReference) {
print("<${namedReference.errorReason}>#")
} else {
print("${namedReference.name}#")
}
}
override fun visitResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference) {
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.name.Name
class FirErrorNamedReference(
session: FirSession,
psi: PsiElement?,
val errorReason: String
) : FirAbstractElement(session, psi), FirNamedReference {
val errorReason: String,
override val name: Name = Name.special("<$errorReason>")
}
) : FirAbstractElement(session, psi), FirNamedReference