FIR: fix delegate expression consistency tests
This commit is contained in:
+9
-6
@@ -14,11 +14,10 @@ import com.intellij.psi.PsiFile
|
|||||||
import com.intellij.psi.tree.IElementType
|
import com.intellij.psi.tree.IElementType
|
||||||
import com.intellij.util.PathUtil
|
import com.intellij.util.PathUtil
|
||||||
import org.jetbrains.kotlin.KtNodeTypes
|
import org.jetbrains.kotlin.KtNodeTypes
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.*
|
||||||
import org.jetbrains.kotlin.fir.FirRenderer
|
|
||||||
import org.jetbrains.kotlin.fir.FirSessionBase
|
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.render
|
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||||
|
import org.jetbrains.kotlin.fir.expressions.impl.FirWrappedDelegateExpressionImpl
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||||
@@ -130,8 +129,10 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase(
|
|||||||
val elementDump = StringBuilder().also { element.accept(FirRenderer(it)) }.toString()
|
val elementDump = StringBuilder().also { element.accept(FirRenderer(it)) }.toString()
|
||||||
throw AssertionError("FirElement ${element.javaClass} is visited twice: $elementDump")
|
throw AssertionError("FirElement ${element.javaClass} is visited twice: $elementDump")
|
||||||
}
|
}
|
||||||
} else {
|
} else if (element !is FirWrappedDelegateExpression) {
|
||||||
element.acceptChildren(this)
|
element.acceptChildren(this)
|
||||||
|
} else {
|
||||||
|
element.delegateProvider.accept(this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -145,8 +146,10 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase(
|
|||||||
val elementDump = StringBuilder().also { element.accept(FirRenderer(it)) }.toString()
|
val elementDump = StringBuilder().also { element.accept(FirRenderer(it)) }.toString()
|
||||||
throw AssertionError("FirElement ${element.javaClass} is visited twice: $elementDump")
|
throw AssertionError("FirElement ${element.javaClass} is visited twice: $elementDump")
|
||||||
}
|
}
|
||||||
} else {
|
} else if (element !is FirWrappedDelegateExpressionImpl) {
|
||||||
element.transformChildren(this, Unit)
|
element.transformChildren(this, Unit)
|
||||||
|
} else {
|
||||||
|
element.delegateProvider = element.delegateProvider.transformSingle(this, data)
|
||||||
}
|
}
|
||||||
return CompositeTransformResult.single(element)
|
return CompositeTransformResult.single(element)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user