Fix JVM signatures involving multi-dimensional array types

Apparently ASM's Type#getElementType returns the type of the array even if it's
multi-dimensional, so the loop was incorrect
This commit is contained in:
Alexander Udalov
2015-04-01 16:04:16 +03:00
parent 7e86d87133
commit 0202217135
10 changed files with 67 additions and 8 deletions
@@ -46,7 +46,6 @@ public val Class<*>.desc: String
if (this == Void.TYPE) return "V"
// This is a clever exploitation of a format returned by Class.getName(): for arrays, it's almost an internal name,
// but with '.' instead of '/'
// TODO: ensure there are tests on arrays of nested classes, multi-dimensional arrays, etc.
return createArrayType().getName().substring(1).replace('.', '/')
}