[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.KtNodeTypes
|
||||||
import org.jetbrains.kotlin.fir.FirLightSourceElement
|
import org.jetbrains.kotlin.fir.FirLightSourceElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
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.BaseFirBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.Context
|
import org.jetbrains.kotlin.fir.builder.Context
|
||||||
import org.jetbrains.kotlin.fir.builder.escapedStringToCharacter
|
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.fir.types.builder.buildImplicitTypeRef
|
||||||
import org.jetbrains.kotlin.lexer.KtToken
|
import org.jetbrains.kotlin.lexer.KtToken
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens.*
|
import org.jetbrains.kotlin.lexer.KtTokens.*
|
||||||
@@ -33,7 +33,7 @@ open class BaseConverter(
|
|||||||
override fun LighterASTNode.toFirSourceElement(): FirLightSourceElement {
|
override fun LighterASTNode.toFirSourceElement(): FirLightSourceElement {
|
||||||
val startOffset = offset + tree.getStartOffset(this)
|
val startOffset = offset + tree.getStartOffset(this)
|
||||||
val endOffset = offset + tree.getEndOffset(this)
|
val endOffset = offset + tree.getEndOffset(this)
|
||||||
return FirLightSourceElement(this, startOffset, endOffset, tree)
|
return toFirLightSourceElement(startOffset, endOffset, tree)
|
||||||
}
|
}
|
||||||
|
|
||||||
override val LighterASTNode.elementType: IElementType
|
override val LighterASTNode.elementType: IElementType
|
||||||
|
|||||||
@@ -65,6 +65,6 @@ val FirModifier<*>.source: FirSourceElement?
|
|||||||
// TODO pretty sure I got offsets wrong here
|
// TODO pretty sure I got offsets wrong here
|
||||||
val startOffset = tree.getStartOffset(node)
|
val startOffset = tree.getStartOffset(node)
|
||||||
val endOffset = tree.getEndOffset(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")
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
inline fun PsiElement.toFirPsiSourceElement(): FirPsiSourceElement<*> = FirPsiSourceElement(this)
|
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
|
val FirSourceElement?.lightNode: LighterASTNode? get() = (this as? FirLightSourceElement)?.element
|
||||||
|
|
||||||
fun FirSourceElement?.getModifierList(): FirModifierList? {
|
fun FirSourceElement?.getModifierList(): FirModifierList? {
|
||||||
|
|||||||
Reference in New Issue
Block a user