Temporarily revert "UAST: Do not create UElements in non-JVM modules"
This commit is contained in:
@@ -8,7 +8,6 @@ dependencies {
|
|||||||
compile(project(":compiler:frontend"))
|
compile(project(":compiler:frontend"))
|
||||||
compile(project(":compiler:frontend.java"))
|
compile(project(":compiler:frontend.java"))
|
||||||
compile(project(":compiler:light-classes"))
|
compile(project(":compiler:light-classes"))
|
||||||
compile(project(":idea:idea-core"))
|
|
||||||
compileOnly(intellijDep()) { includeJars("openapi", "idea", "util", "extensions", "asm-all") }
|
compileOnly(intellijDep()) { includeJars("openapi", "idea", "util", "extensions", "asm-all") }
|
||||||
|
|
||||||
testCompile(projectDist(":kotlin-test:kotlin-test-jvm"))
|
testCompile(projectDist(":kotlin-test:kotlin-test-jvm"))
|
||||||
|
|||||||
@@ -32,14 +32,11 @@ import org.jetbrains.kotlin.descriptors.ClassKind
|
|||||||
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
|
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||||
import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
|
|
||||||
import org.jetbrains.kotlin.idea.util.module
|
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
||||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
|
||||||
import org.jetbrains.uast.*
|
import org.jetbrains.uast.*
|
||||||
import org.jetbrains.uast.kotlin.declarations.KotlinUMethod
|
import org.jetbrains.uast.kotlin.declarations.KotlinUMethod
|
||||||
import org.jetbrains.uast.kotlin.expressions.*
|
import org.jetbrains.uast.kotlin.expressions.*
|
||||||
@@ -63,16 +60,11 @@ class KotlinUastLanguagePlugin : UastLanguagePlugin {
|
|||||||
return fileName.endsWith(".kt", false) || fileName.endsWith(".kts", false)
|
return fileName.endsWith(".kt", false) || fileName.endsWith(".kts", false)
|
||||||
}
|
}
|
||||||
|
|
||||||
private val PsiElement.isJvmElement
|
|
||||||
get() = module?.let { TargetPlatformDetector.getPlatform(it) } is JvmPlatform
|
|
||||||
|
|
||||||
override fun convertElement(element: PsiElement, parent: UElement?, requiredType: Class<out UElement>?): UElement? {
|
override fun convertElement(element: PsiElement, parent: UElement?, requiredType: Class<out UElement>?): UElement? {
|
||||||
if (!element.isJvmElement) return null
|
|
||||||
return convertDeclarationOrElement(element, parent, requiredType)
|
return convertDeclarationOrElement(element, parent, requiredType)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun convertElementWithParent(element: PsiElement, requiredType: Class<out UElement>?): UElement? {
|
override fun convertElementWithParent(element: PsiElement, requiredType: Class<out UElement>?): UElement? {
|
||||||
if (!element.isJvmElement) return null
|
|
||||||
if (element is PsiFile) return convertDeclaration(element, null, requiredType)
|
if (element is PsiFile) return convertDeclaration(element, null, requiredType)
|
||||||
if (element is KtLightClassForFacade) return convertDeclaration(element, null, requiredType)
|
if (element is KtLightClassForFacade) return convertDeclaration(element, null, requiredType)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user