[FIR] Introduce & use toFirLightSourceElement

This commit is contained in:
Mikhail Glukhikh
2020-03-26 16:54:32 +03:00
parent 6a5acc024a
commit cec0f58544
3 changed files with 9 additions and 3 deletions
@@ -65,6 +65,6 @@ val FirModifier<*>.source: FirSourceElement?
// TODO pretty sure I got offsets wrong here
val startOffset = tree.getStartOffset(node)
val endOffset = tree.getEndOffset(node)
FirLightSourceElement(node, startOffset, endOffset, tree)
node.toFirLightSourceElement(startOffset, endOffset, tree)
}
}
@@ -49,6 +49,12 @@ val FirElement.psi: PsiElement? get() = (source as? FirPsiSourceElement<*>)?.psi
@Suppress("NOTHING_TO_INLINE")
inline fun PsiElement.toFirPsiSourceElement(): FirPsiSourceElement<*> = FirPsiSourceElement(this)
@Suppress("NOTHING_TO_INLINE")
inline fun LighterASTNode.toFirLightSourceElement(
startOffset: Int, endOffset: Int,
tree: FlyweightCapableTreeStructure<LighterASTNode>
): FirLightSourceElement = FirLightSourceElement(this, startOffset, endOffset, tree)
val FirSourceElement?.lightNode: LighterASTNode? get() = (this as? FirLightSourceElement)?.element
fun FirSourceElement?.getModifierList(): FirModifierList? {