Show diff column for fields only if diff is enabled.
Test: Confirm that no diff column is shown when looking at instance
fields of an object or static fields of a class when no baseline
heap dump is given.
Change-Id: Ic72d6aee31b8ca4ddbeaa53178c708fa733ac00b
diff --git a/tools/ahat/src/ObjectHandler.java b/tools/ahat/src/ObjectHandler.java
index cc55b7a..8262910 100644
--- a/tools/ahat/src/ObjectHandler.java
+++ b/tools/ahat/src/ObjectHandler.java
@@ -110,7 +110,7 @@
private static void printClassInstanceFields(Doc doc, Query query, AhatClassInstance inst) {
doc.section("Fields");
AhatInstance base = inst.getBaseline();
- printFields(doc, query, INSTANCE_FIELDS_ID, !base.isPlaceHolder(),
+ printFields(doc, query, INSTANCE_FIELDS_ID, inst != base && !base.isPlaceHolder(),
inst.asClassInstance().getInstanceFields(),
base.isPlaceHolder() ? null : base.asClassInstance().getInstanceFields());
}
@@ -211,7 +211,7 @@
doc.section("Static Fields");
AhatInstance base = clsobj.getBaseline();
- printFields(doc, query, STATIC_FIELDS_ID, !base.isPlaceHolder(),
+ printFields(doc, query, STATIC_FIELDS_ID, clsobj != base && !base.isPlaceHolder(),
clsobj.getStaticFieldValues(),
base.isPlaceHolder() ? null : base.asClassObj().getStaticFieldValues());
}