Simplify LighterASTNode.toFirLightSourceElement
This commit is contained in:
@@ -37,5 +37,5 @@ private fun FirPsiSourceElement<*>.getChild(types: Set<IElementType>, index: Int
|
||||
private fun FirLightSourceElement.getChild(types: Set<IElementType>, index: Int, depth: Int): FirSourceElement? {
|
||||
val visitor = LighterTreeElementFinderByType(treeStructure, types, index, depth)
|
||||
|
||||
return visitor.find(lighterASTNode)?.let { it.toFirLightSourceElement(it.startOffset, it.endOffset, treeStructure) }
|
||||
return visitor.find(lighterASTNode)?.toFirLightSourceElement(treeStructure)
|
||||
}
|
||||
+2
-7
@@ -76,11 +76,6 @@ val FirModifier<*>.lightNode: LighterASTNode? get() = (this as? FirLightModifier
|
||||
|
||||
val FirModifier<*>.source: FirSourceElement?
|
||||
get() = when (this) {
|
||||
is FirPsiModifier -> this.psi?.toFirPsiSourceElement()
|
||||
is FirLightModifier -> {
|
||||
// TODO pretty sure I got offsets wrong here
|
||||
val startOffset = tree.getStartOffset(node)
|
||||
val endOffset = tree.getEndOffset(node)
|
||||
node.toFirLightSourceElement(startOffset, endOffset, tree)
|
||||
}
|
||||
is FirPsiModifier -> psi?.toFirPsiSourceElement()
|
||||
is FirLightModifier -> node.toFirLightSourceElement(tree)
|
||||
}
|
||||
|
||||
+1
-1
@@ -243,7 +243,7 @@ object FirAnnotationArgumentChecker : FirBasicDeclarationChecker() {
|
||||
is FirLightSourceElement -> {
|
||||
val elementOfParent = source.treeStructure.getParent(source.lighterASTNode) ?: source.lighterASTNode
|
||||
|
||||
elementOfParent.toFirLightSourceElement(elementOfParent.startOffset, elementOfParent.endOffset, source.treeStructure)
|
||||
elementOfParent.toFirLightSourceElement(source.treeStructure)
|
||||
}
|
||||
else ->
|
||||
source
|
||||
|
||||
+1
-1
@@ -236,7 +236,7 @@ object FirExposedVisibilityDeclarationChecker : FirMemberDeclarationChecker() {
|
||||
val kidsRef = Ref<Array<LighterASTNode?>>()
|
||||
this.treeStructure.getChildren(lighterASTNode, kidsRef)
|
||||
val identifier = kidsRef.get().find { it?.tokenType == KtTokens.IDENTIFIER }
|
||||
identifier?.toFirLightSourceElement(this.treeStructure.getStartOffset(identifier), this.treeStructure.getEndOffset(identifier), this.treeStructure)
|
||||
identifier?.toFirLightSourceElement(this.treeStructure)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ open class BaseConverter(
|
||||
override fun LighterASTNode.toFirSourceElement(kind: FirFakeSourceElementKind?): FirLightSourceElement {
|
||||
val startOffset = offset + tree.getStartOffset(this)
|
||||
val endOffset = offset + tree.getEndOffset(this)
|
||||
return toFirLightSourceElement(startOffset, endOffset, tree, kind ?: FirRealSourceElementKind)
|
||||
return toFirLightSourceElement(tree, kind ?: FirRealSourceElementKind, startOffset, endOffset)
|
||||
}
|
||||
|
||||
override val LighterASTNode.elementType: IElementType
|
||||
|
||||
+1
-2
@@ -46,8 +46,7 @@ class ValueParameter(
|
||||
val parameterSource = firValueParameter.source as? FirLightSourceElement
|
||||
val parameterNode = parameterSource?.lighterASTNode
|
||||
source = parameterNode?.toFirLightSourceElement(
|
||||
parameterSource.startOffset, parameterSource.endOffset, parameterSource.treeStructure,
|
||||
FirFakeSourceElementKind.PropertyFromParameter
|
||||
parameterSource.treeStructure, FirFakeSourceElementKind.PropertyFromParameter
|
||||
)
|
||||
this.session = session
|
||||
origin = FirDeclarationOrigin.Source
|
||||
|
||||
@@ -288,7 +288,8 @@ inline fun PsiElement.toFirPsiSourceElement(kind: FirSourceElementKind = FirReal
|
||||
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
inline fun LighterASTNode.toFirLightSourceElement(
|
||||
startOffset: Int, endOffset: Int,
|
||||
tree: FlyweightCapableTreeStructure<LighterASTNode>,
|
||||
kind: FirSourceElementKind = FirRealSourceElementKind
|
||||
kind: FirSourceElementKind = FirRealSourceElementKind,
|
||||
startOffset: Int = this.startOffset,
|
||||
endOffset: Int = this.endOffset
|
||||
): FirLightSourceElement = FirLightSourceElement(this, startOffset, endOffset, tree, kind)
|
||||
|
||||
Reference in New Issue
Block a user