Remove dependency of low-level-api-fir on psi2ir
Fix behavior of getPsiAsFirElementSource; previously expression was not being fully deparenthesized.
This commit is contained in:
committed by
Space Team
parent
d96112b944
commit
b6e59fe8fd
@@ -22,7 +22,6 @@ dependencies {
|
|||||||
api(project(":js:js.config"))
|
api(project(":js:js.config"))
|
||||||
testApi(project(":analysis:analysis-api-fir"))
|
testApi(project(":analysis:analysis-api-fir"))
|
||||||
implementation(project(":compiler:frontend.common"))
|
implementation(project(":compiler:frontend.common"))
|
||||||
implementation(project(":compiler:ir.psi2ir"))
|
|
||||||
implementation(project(":compiler:fir:entrypoint"))
|
implementation(project(":compiler:fir:entrypoint"))
|
||||||
implementation(project(":analysis:analysis-api-providers"))
|
implementation(project(":analysis:analysis-api-providers"))
|
||||||
implementation(project(":analysis:analysis-internal-utils"))
|
implementation(project(":analysis:analysis-internal-utils"))
|
||||||
|
|||||||
+1
-5
@@ -21,8 +21,6 @@ import org.jetbrains.kotlin.psi.*
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.isAncestor
|
import org.jetbrains.kotlin.psi.psiUtil.isAncestor
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.isObjectLiteral
|
import org.jetbrains.kotlin.psi.psiUtil.isObjectLiteral
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf
|
import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf
|
||||||
import org.jetbrains.kotlin.psi2ir.deparenthesize
|
|
||||||
|
|
||||||
|
|
||||||
@ThreadSafe
|
@ThreadSafe
|
||||||
internal class FirElementBuilder(
|
internal class FirElementBuilder(
|
||||||
@@ -30,9 +28,8 @@ internal class FirElementBuilder(
|
|||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
fun getPsiAsFirElementSource(element: KtElement): KtElement? {
|
fun getPsiAsFirElementSource(element: KtElement): KtElement? {
|
||||||
val deparenthesized = if (element is KtPropertyDelegate) element.deparenthesize() else element
|
val deparenthesized = if (element is KtExpression) KtPsiUtil.safeDeparenthesize(element) else element
|
||||||
return when {
|
return when {
|
||||||
deparenthesized is KtParenthesizedExpression -> deparenthesized.deparenthesize()
|
|
||||||
deparenthesized is KtPropertyDelegate -> deparenthesized.expression ?: element
|
deparenthesized is KtPropertyDelegate -> deparenthesized.expression ?: element
|
||||||
deparenthesized is KtQualifiedExpression && deparenthesized.selectorExpression is KtCallExpression -> {
|
deparenthesized is KtQualifiedExpression && deparenthesized.selectorExpression is KtCallExpression -> {
|
||||||
/*
|
/*
|
||||||
@@ -52,7 +49,6 @@ internal class FirElementBuilder(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun doKtElementHasCorrespondingFirElement(ktElement: KtElement): Boolean = when (ktElement) {
|
fun doKtElementHasCorrespondingFirElement(ktElement: KtElement): Boolean = when (ktElement) {
|
||||||
is KtImportList -> false
|
is KtImportList -> false
|
||||||
else -> true
|
else -> true
|
||||||
|
|||||||
Reference in New Issue
Block a user