From 6da38688de8eafb7b53ca8be0add444ddc116b46 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Sun, 2 Jan 2011 08:55:40 -0300 Subject: Added debug feature (disabled in this commit) to print types of nodes printed by EclipseASTVisitor.Printer --- src/core/lombok/eclipse/EclipseASTVisitor.java | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/core/lombok/eclipse/EclipseASTVisitor.java b/src/core/lombok/eclipse/EclipseASTVisitor.java index 793166d7..0c0e2d96 100644 --- a/src/core/lombok/eclipse/EclipseASTVisitor.java +++ b/src/core/lombok/eclipse/EclipseASTVisitor.java @@ -110,6 +110,7 @@ public interface EclipseASTVisitor { private final boolean printContent; private int disablePrinting = 0; private int indent = 0; + private boolean printClassNames = false; /** * @param printContent if true, bodies are printed directly, as java code, @@ -134,7 +135,25 @@ public interface EclipseASTVisitor { private void forcePrint(String text, Object... params) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < indent; i++) sb.append(" "); - out.printf(sb.append(text).append('\n').toString(), params); + sb.append(text); + Object[] t; + if (printClassNames && params.length > 0) { + sb.append(" ["); + for (int i = 0; i < params.length; i++) { + if (i > 0) sb.append(", "); + sb.append("%s"); + } + sb.append("]"); + t = new Object[params.length + params.length]; + for (int i = 0; i < params.length; i++) { + t[i] = params[i]; + t[i + params.length] = (params[i] == null) ? "NULL " : params[i].getClass(); + } + } else { + t = params; + } + sb.append("\n"); + out.printf(sb.toString(), t); out.flush(); } -- cgit