[FIR] Introduce & use toFirLightSourceElement
This commit is contained in:
+2
-2
@@ -12,10 +12,10 @@ import com.intellij.util.diff.FlyweightCapableTreeStructure
|
||||
import org.jetbrains.kotlin.KtNodeTypes
|
||||
import org.jetbrains.kotlin.fir.FirLightSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.BaseFirBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.Context
|
||||
import org.jetbrains.kotlin.fir.builder.escapedStringToCharacter
|
||||
import org.jetbrains.kotlin.fir.toFirLightSourceElement
|
||||
import org.jetbrains.kotlin.fir.types.builder.buildImplicitTypeRef
|
||||
import org.jetbrains.kotlin.lexer.KtToken
|
||||
import org.jetbrains.kotlin.lexer.KtTokens.*
|
||||
@@ -33,7 +33,7 @@ open class BaseConverter(
|
||||
override fun LighterASTNode.toFirSourceElement(): FirLightSourceElement {
|
||||
val startOffset = offset + tree.getStartOffset(this)
|
||||
val endOffset = offset + tree.getEndOffset(this)
|
||||
return FirLightSourceElement(this, startOffset, endOffset, tree)
|
||||
return toFirLightSourceElement(startOffset, endOffset, tree)
|
||||
}
|
||||
|
||||
override val LighterASTNode.elementType: IElementType
|
||||
|
||||
@@ -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? {
|
||||
|
||||
Reference in New Issue
Block a user