New J2K: Fix declarations to JK conversion

This commit is contained in:
Simon Ogorodnik
2017-11-20 23:11:06 +03:00
committed by Ilya Kirillov
parent dd499d7a13
commit dc73d415ad
@@ -186,7 +186,9 @@ class JavaToJKTreeBuilder {
isInterface -> JKClass.ClassKind.INTERFACE isInterface -> JKClass.ClassKind.INTERFACE
else -> JKClass.ClassKind.CLASS else -> JKClass.ClassKind.CLASS
} }
return JKClassImpl(with(ModifierMapper) { modifierList.toJK() }, JKNameIdentifierImpl(this.name!!), classKind) return JKClassImpl(with(ModifierMapper) { modifierList.toJK() }, JKNameIdentifierImpl(this.name!!), classKind).apply {
declarations = children.mapNotNull { ElementVisitor().apply { it.accept(this) }.resultElement as? JKDeclaration }
}
} }
@@ -266,10 +268,6 @@ class JavaToJKTreeBuilder {
private class ElementVisitor : JavaElementVisitor() { private class ElementVisitor : JavaElementVisitor() {
override fun visitElement(element: PsiElement) {
element.acceptChildren(this)
}
var resultElement: JKElement? = null var resultElement: JKElement? = null
override fun visitClass(aClass: PsiClass) { override fun visitClass(aClass: PsiClass) {
@@ -280,6 +278,9 @@ class JavaToJKTreeBuilder {
resultElement = with(DeclarationMapper) { field.toJK() } resultElement = with(DeclarationMapper) { field.toJK() }
} }
override fun visitFile(file: PsiFile) {
file.acceptChildren(this)
}
} }