show a message if all class fields were filtered out

This commit is contained in:
Egor.Ushakov
2015-09-02 15:43:35 +03:00
parent f4ff001c64
commit 90f723e35e
2 changed files with 13 additions and 7 deletions
@@ -158,16 +158,21 @@ public class ClassRenderer extends NodeRendererImpl{
final ObjectReference objRef = (ObjectReference)value;
final ReferenceType refType = objRef.referenceType();
// default ObjectReference processing
final List<Field> fields = refType.allFields();
if (fields.size() > 0) {
for (final Field field : fields) {
if (!shouldDisplay(evaluationContext, objRef, field)) {
continue;
List<Field> fields = refType.allFields();
if (!fields.isEmpty()) {
boolean empty = true;
for (Field field : fields) {
if (shouldDisplay(evaluationContext, objRef, field)) {
children.add(nodeManager.createNode(
createFieldDescriptor(parentDescriptor, nodeDescriptorFactory, objRef, field, evaluationContext), evaluationContext));
empty = false;
}
children.add(nodeManager.createNode(createFieldDescriptor(parentDescriptor, nodeDescriptorFactory, objRef, field, evaluationContext), evaluationContext));
}
if (XDebuggerSettingsManager.getInstance().getDataViewSettings().isSortValues()) {
if (empty) {
children.add(nodeManager.createMessageNode(DebuggerBundle.message("message.node.class.no.fields.to.display")));
}
else if (XDebuggerSettingsManager.getInstance().getDataViewSettings().isSortValues()) {
Collections.sort(children, NodeManagerImpl.getNodeComparator());
}
}
@@ -393,6 +393,7 @@ message.node.all.array.elements.null=All elements in range ({0}, {1}) are null
message.node.all.elements.null=All elements are null
message.node.empty.array=Empty
message.node.class.has.no.fields=Class has no fields
message.node.class.no.fields.to.display=No fields to display
message.node.object.collected=Object has been garbage collected during method invocation
message.node.thread.running=Thread is running
message.node.thread.has.no.frames=Thread has no frames