[FIR] Remove useless type parameters from classes related to diagnostics

Generics removed from:
 - FirPsiSourceElement
 - FirDiagnostic
 - FirDiagnosticRenderer
 - FirDiagnosticFactory
This commit is contained in:
Dmitriy Novozhilov
2021-06-09 11:47:17 +03:00
parent 386f6d9331
commit a288b8b00e
63 changed files with 1629 additions and 1613 deletions
@@ -187,7 +187,7 @@ sealed class FirSourceElement {
// NB: in certain situations, psi.node could be null
// Potentially exceptions can be provoked by elementType / lighterASTNode
sealed class FirPsiSourceElement<out P : PsiElement>(val psi: P) : FirSourceElement() {
sealed class FirPsiSourceElement(val psi: PsiElement) : FirSourceElement() {
override val elementType: IElementType
get() = psi.node.elementType
@@ -268,23 +268,23 @@ sealed class FirPsiSourceElement<out P : PsiElement>(val psi: P) : FirSourceElem
}
}
class FirRealPsiSourceElement<out P : PsiElement>(psi: P) : FirPsiSourceElement<P>(psi) {
class FirRealPsiSourceElement(psi: PsiElement) : FirPsiSourceElement(psi) {
override val kind: FirSourceElementKind get() = FirRealSourceElementKind
}
class FirFakeSourceElement<out P : PsiElement>(psi: P, override val kind: FirFakeSourceElementKind) : FirPsiSourceElement<P>(psi)
class FirFakeSourceElement(psi: PsiElement, override val kind: FirFakeSourceElementKind) : FirPsiSourceElement(psi)
fun FirSourceElement.fakeElement(newKind: FirFakeSourceElementKind): FirSourceElement {
return when (this) {
is FirLightSourceElement -> FirLightSourceElement(lighterASTNode, startOffset, endOffset, treeStructure, newKind)
is FirPsiSourceElement<*> -> FirFakeSourceElement(psi, newKind)
is FirPsiSourceElement -> FirFakeSourceElement(psi, newKind)
}
}
fun FirSourceElement.realElement(): FirSourceElement = when (this) {
is FirRealPsiSourceElement<*> -> this
is FirRealPsiSourceElement -> this
is FirLightSourceElement -> FirLightSourceElement(lighterASTNode, startOffset, endOffset, treeStructure, FirRealSourceElementKind)
is FirPsiSourceElement<*> -> FirRealPsiSourceElement(psi)
is FirPsiSourceElement -> FirRealPsiSourceElement(psi)
}
@@ -305,27 +305,27 @@ class FirLightSourceElement(
* If it is `pure` [FirLightSourceElement], i.e, compiler created it in light tree mode, then return [unwrapToFirPsiSourceElement] `null`.
* Otherwise, return some not-null result.
*/
fun unwrapToFirPsiSourceElement(): FirPsiSourceElement<*>? {
fun unwrapToFirPsiSourceElement(): FirPsiSourceElement? {
if (treeStructure !is FirPsiSourceElement.WrappedTreeStructure) return null
val node = treeStructure.unwrap(lighterASTNode)
return node.psi?.toFirPsiSourceElement(kind)
}
}
val FirSourceElement?.psi: PsiElement? get() = (this as? FirPsiSourceElement<*>)?.psi
val FirSourceElement?.psi: PsiElement? get() = (this as? FirPsiSourceElement)?.psi
val FirSourceElement?.text: CharSequence?
get() = when (this) {
is FirPsiSourceElement<*> -> psi.text
is FirPsiSourceElement -> psi.text
is FirLightSourceElement -> treeStructure.toString(lighterASTNode)
else -> null
}
val FirElement.psi: PsiElement? get() = (source as? FirPsiSourceElement<*>)?.psi
val FirElement.realPsi: PsiElement? get() = (source as? FirRealPsiSourceElement<*>)?.psi
val FirElement.psi: PsiElement? get() = (source as? FirPsiSourceElement)?.psi
val FirElement.realPsi: PsiElement? get() = (source as? FirRealPsiSourceElement)?.psi
@Suppress("NOTHING_TO_INLINE")
inline fun PsiElement.toFirPsiSourceElement(kind: FirSourceElementKind = FirRealSourceElementKind): FirPsiSourceElement<*> = when (kind) {
inline fun PsiElement.toFirPsiSourceElement(kind: FirSourceElementKind = FirRealSourceElementKind): FirPsiSourceElement = when (kind) {
is FirRealSourceElementKind -> FirRealPsiSourceElement(this)
is FirFakeSourceElementKind -> FirFakeSourceElement(this, kind)
}
@@ -68,7 +68,7 @@ fun <R : FirTypeRef> R.copyWithNewSourceKind(newKind: FirFakeSourceElementKind):
fun FirSourceElement.getWholeQualifierSourceIfPossible(stepsToWholeQualifier: Int): FirSourceElement {
if (stepsToWholeQualifier == 0) return this
return when (this) {
is FirRealPsiSourceElement<*> -> {
is FirRealPsiSourceElement -> {
val qualifiersChain = generateSequence(psi) { it.parent }
val wholeQualifier = qualifiersChain.elementAt(stepsToWholeQualifier)
wholeQualifier.toFirPsiSourceElement() as FirRealPsiSourceElement
@@ -82,7 +82,7 @@ fun FirSourceElement.getWholeQualifierSourceIfPossible(stepsToWholeQualifier: In
endOffset = wholeQualifier.endOffset + (this.endOffset - this.lighterASTNode.endOffset)
)
}
is FirFakeSourceElement<*> -> {
is FirFakeSourceElement -> {
this
}
}