TextBuffer (int indent, BytecodeMappingTracer tracer) { TextBuffer buffer = new TextBuffer(); buffer.appendIndent(indent); buffer.append('@'); buffer.append(DecompilerContext.getImportCollector().getNestedName(ExprProcessor.buildJavaClassName(className))); int type = getAnnotationType(); if (type != ANNOTATION_MARKER) { buffer.append('('); boolean oneLiner = type == ANNOTATION_SINGLE_ELEMENT || indent < 0; for (int i = 0; i < parNames.size(); i++) { if (!oneLiner) { buffer.appendLineSeparator().appendIndent(indent + 1); } if (type != ANNOTATION_SINGLE_ELEMENT) { buffer.append(parNames.get(i)); buffer.append(" = "); } buffer.append(parValues.get(i).toJava(0, tracer)); if (i < parNames.size() - 1) { buffer.append(','); } } if (!oneLiner) { buffer.appendLineSeparator().appendIndent(indent); } buffer.append(')'); } return buffer; }