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