aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2011-01-02 08:55:40 -0300
committerReinier Zwitserloot <reinier@zwitserloot.com>2011-01-02 08:55:40 -0300
commit6da38688de8eafb7b53ca8be0add444ddc116b46 (patch)
treefc056d344690115b42615550a2cabddc3478b1e0
parentb9b13f8fcc9412874fcd068629bf36bc9a15cb7b (diff)
downloadlombok-6da38688de8eafb7b53ca8be0add444ddc116b46.tar.gz
lombok-6da38688de8eafb7b53ca8be0add444ddc116b46.tar.bz2
lombok-6da38688de8eafb7b53ca8be0add444ddc116b46.zip
Added debug feature (disabled in this commit) to print types of nodes printed by EclipseASTVisitor.Printer
-rw-r--r--src/core/lombok/eclipse/EclipseASTVisitor.java21
1 files changed, 20 insertions, 1 deletions
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();
}