New J2K: Fix declarations creation
This commit is contained in:
committed by
Ilya Kirillov
parent
0feaad2205
commit
eda99a588d
@@ -502,16 +502,9 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun PsiMember.toJK(): JKDeclaration? = when (this) {
|
|
||||||
is PsiEnumConstant -> this.toJK()
|
|
||||||
is PsiField -> this.toJK()
|
|
||||||
is PsiMethod -> this.toJK()
|
|
||||||
else -> null
|
|
||||||
}
|
|
||||||
|
|
||||||
fun PsiParameter.toJK(): JKParameter {
|
fun PsiParameter.toJK(): JKParameter {
|
||||||
return JKParameterImpl(
|
return JKParameterImpl(
|
||||||
with(expressionTreeMapper) { typeElement?.toJK() } ?: TODO(),
|
with(expressionTreeMapper) { typeElement?.toJK() } ?: JKTypeElementImpl(JKNoTypeImpl),
|
||||||
JKNameIdentifierImpl(name!!)
|
JKNameIdentifierImpl(name!!)
|
||||||
).also {
|
).also {
|
||||||
symbolProvider.provideUniverseSymbol(this, it)
|
symbolProvider.provideUniverseSymbol(this, it)
|
||||||
@@ -523,14 +516,6 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) {
|
|||||||
return JKBlockImpl(statements.map { it.toJK() })
|
return JKBlockImpl(statements.map { it.toJK() })
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Array<out PsiElement>.toJK(): List<JKDeclaration> {
|
|
||||||
return this.map {
|
|
||||||
if (it is PsiLocalVariable) {
|
|
||||||
it.toJK()
|
|
||||||
} else TODO()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun PsiLocalVariable.toJK(): JKLocalVariable =
|
fun PsiLocalVariable.toJK(): JKLocalVariable =
|
||||||
JKLocalVariableImpl(
|
JKLocalVariableImpl(
|
||||||
with(expressionTreeMapper) { typeElement.toJK() },
|
with(expressionTreeMapper) { typeElement.toJK() },
|
||||||
@@ -547,7 +532,14 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) {
|
|||||||
null -> JKExpressionStatementImpl(JKStubExpressionImpl())
|
null -> JKExpressionStatementImpl(JKStubExpressionImpl())
|
||||||
is PsiExpressionStatement -> JKExpressionStatementImpl(with(expressionTreeMapper) { expression.toJK() })
|
is PsiExpressionStatement -> JKExpressionStatementImpl(with(expressionTreeMapper) { expression.toJK() })
|
||||||
is PsiReturnStatement -> JKReturnStatementImpl(with(expressionTreeMapper) { returnValue.toJK() })
|
is PsiReturnStatement -> JKReturnStatementImpl(with(expressionTreeMapper) { returnValue.toJK() })
|
||||||
is PsiDeclarationStatement -> JKDeclarationStatementImpl(declaredElements.toJK())
|
is PsiDeclarationStatement ->
|
||||||
|
JKDeclarationStatementImpl(declaredElements.map {
|
||||||
|
when (it) {
|
||||||
|
is PsiClass -> it.toJK()
|
||||||
|
is PsiLocalVariable -> it.toJK()
|
||||||
|
else -> TODO(it::class.java.toString())
|
||||||
|
}
|
||||||
|
})
|
||||||
is PsiAssertStatement ->
|
is PsiAssertStatement ->
|
||||||
JKJavaAssertStatementImpl(
|
JKJavaAssertStatementImpl(
|
||||||
with(expressionTreeMapper) { assertCondition.toJK() },
|
with(expressionTreeMapper) { assertCondition.toJK() },
|
||||||
|
|||||||
Reference in New Issue
Block a user