172: Uast-revert: AbstractKotlinRenderLogTest
This commit is contained in:
committed by
Nikolay Krasko
parent
302bdebd3a
commit
c6bb0ad712
@@ -3,12 +3,11 @@ package org.jetbrains.uast.test.kotlin
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import com.intellij.psi.PsiRecursiveElementVisitor
|
import com.intellij.psi.PsiRecursiveElementVisitor
|
||||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.assertedCast
|
import org.jetbrains.kotlin.utils.addToStdlib.assertedCast
|
||||||
import org.jetbrains.uast.*
|
import org.jetbrains.uast.UDeclaration
|
||||||
import org.jetbrains.uast.java.JavaUAnnotation
|
import org.jetbrains.uast.UElement
|
||||||
|
import org.jetbrains.uast.UFile
|
||||||
import org.jetbrains.uast.kotlin.KOTLIN_CACHED_UELEMENT_KEY
|
import org.jetbrains.uast.kotlin.KOTLIN_CACHED_UELEMENT_KEY
|
||||||
import org.jetbrains.uast.kotlin.KotlinUastLanguagePlugin
|
import org.jetbrains.uast.kotlin.KotlinUastLanguagePlugin
|
||||||
import org.jetbrains.uast.test.common.RenderLogTestBase
|
import org.jetbrains.uast.test.common.RenderLogTestBase
|
||||||
@@ -33,7 +32,6 @@ abstract class AbstractKotlinRenderLogTest : AbstractKotlinUastTest(), RenderLog
|
|||||||
}
|
}
|
||||||
|
|
||||||
file.checkContainingFileForAllElements()
|
file.checkContainingFileForAllElements()
|
||||||
file.checkJvmDeclarationsImplementations()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkParentConsistency(file: UFile) {
|
private fun checkParentConsistency(file: UFile) {
|
||||||
@@ -97,32 +95,6 @@ abstract class AbstractKotlinRenderLogTest : AbstractKotlinUastTest(), RenderLog
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun UFile.checkJvmDeclarationsImplementations() {
|
|
||||||
accept(object : UastVisitor {
|
|
||||||
override fun visitElement(node: UElement): Boolean {
|
|
||||||
|
|
||||||
val jvmDeclaration = node as? JvmDeclarationUElement
|
|
||||||
?: throw AssertionError("${node.javaClass} should implement 'JvmDeclarationUElement'")
|
|
||||||
|
|
||||||
if (jvmDeclaration is JavaUAnnotation) return false // but actually it's strange to meet JavaUAnnotation here
|
|
||||||
if (jvmDeclaration is UIdentifier) return false // probably should be fixed in platform to fully support in in Kotlin
|
|
||||||
|
|
||||||
jvmDeclaration.sourcePsi?.let {
|
|
||||||
assertTrue("sourcePsi should be physical but ${it.javaClass} found for [${it.text}] " +
|
|
||||||
"for ${jvmDeclaration.javaClass}->${jvmDeclaration.uastParent?.javaClass}",
|
|
||||||
it is KtElement || it is LeafPsiElement
|
|
||||||
)
|
|
||||||
}
|
|
||||||
jvmDeclaration.javaPsi?.let {
|
|
||||||
assertTrue("javaPsi should be light but ${it.javaClass} found for [${it.text}] " +
|
|
||||||
"for ${jvmDeclaration.javaClass}->${jvmDeclaration.uastParent?.javaClass}", it !is KtElement)
|
|
||||||
}
|
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun PsiFile.clearUastCaches() {
|
private fun PsiFile.clearUastCaches() {
|
||||||
|
|||||||
Reference in New Issue
Block a user