File tree Expand file tree Collapse file tree
amber-pipeline/src/main/kotlin/dev/amber/pipeline/codegen Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1106,6 +1106,17 @@ class JavaEmitter {
11061106 if (descriptor.startsWith(" [" )) descriptor.substring(1 ) else descriptor
11071107
11081108 private fun newArrayExpression (descriptor : String , sizeArg : String , renameIndex : dev.amber.pipeline.mapping.MappingRenameIndex ): String {
1109+ if (descriptor.endsWith(" []" )) {
1110+ var componentType = descriptor
1111+ var dimensions = 0
1112+ while (componentType.endsWith(" []" )) {
1113+ dimensions + = 1
1114+ componentType = componentType.removeSuffix(" []" )
1115+ }
1116+ val trailing = if (dimensions <= 1 ) " " else List (dimensions - 1 ) { " []" }.joinToString(" " )
1117+ return " new $componentType [$sizeArg ]$trailing "
1118+ }
1119+
11091120 var dimensions = 0
11101121 var component = descriptor
11111122 while (component.startsWith(" [" )) {
You can’t perform that action at this time.
0 commit comments