TextBuffer (int indent, BytecodeMappingTracer tracer) { TextBuffer res = array.toJava(indent, tracer); if (array.getPrecedence() > getPrecedence()) { // array precedence equals 0 res.enclose("(", ")"); } VarType arrType = array.getExprType(); if (arrType.getArrayDim() == 0) { VarType objArr = VarType.VARTYPE_OBJECT.resizeArrayDim(1); // type family does not change res.enclose("((" + ExprProcessor.getCastTypeName(objArr, Collections.emptyList()) + ")", ")"); } tracer.addMapping(bytecode); return res.append('[').append(index.toJava(indent, tracer)).append(']'); }