New J2K: Improve debug tree printer for types

This commit is contained in:
Simon Ogorodnik
2018-05-24 17:06:12 +03:00
committed by Ilya Kirillov
parent aea0511486
commit 4892784f70
2 changed files with 8 additions and 4 deletions
@@ -80,6 +80,12 @@ private class DebugTreePrinter : JKVisitorVoid {
if (type is JKClassType) {
printer.println((type.classReference as? JKClassSymbol)?.fqName ?: type.classReference?.let { it::class } ?: "Unbound")
}
if (type is JKJavaArrayType) {
type.type.accept(this, null)
}
if (type is JKJavaPrimitiveType) {
printer.println(type.name)
}
}
printer.println("\"")
}
@@ -131,12 +131,10 @@ sealed class JKJavaPrimitiveTypeImpl(override val name: String) : JKJavaPrimitiv
object INT : JKJavaPrimitiveTypeImpl("int")
}
class JKJavaArrayTypeImpl(override val type: JKType) : JKJavaArrayType, JKElementBase() {
class JKJavaArrayTypeImpl(type: JKType) : JKJavaArrayType, JKBranchElementBase() {
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaArrayType(this, data)
override fun <D> acceptChildren(visitor: JKVisitor<Unit, D>, data: D) {
}
override val type: JKType by child(type)
}
class JKReturnStatementImpl(expression: JKExpression) : JKBranchElementBase(), JKReturnStatement {