Skip to content

Commit 38fbbda

Browse files
committed
Updated logical values in Ruby & R heap viewers
1 parent 4317123 commit 38fbbda

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

visualvm/heapviewer.truffle/src/org/graalvm/visualvm/heapviewer/truffle/lang/r/RDetailsProvider.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,9 @@ public String getDetailsString(String className, Instance instance, Heap heap) {
125125
Instance name = (Instance) instance.getValueOfField("name"); // NOI18N
126126
if (name != null) {
127127
return DetailsSupport.getDetailsString(name, heap);
128+
} else {
129+
name = (Instance) instance.getValueOfField("nameWrapper"); // NOI18N
130+
return name == null ? null : DetailsUtils.getInstanceFieldString(name, "contents", heap); // NOI18N
128131
}
129132
}
130133
if (RFUNCTION_MASK.equals(className)) {

visualvm/heapviewer.truffle/src/org/graalvm/visualvm/heapviewer/truffle/lang/ruby/RubyNodes.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,12 @@ static String getLogicalValue(RubyObject object, String type, Heap heap) {
184184
logicalValue = "("+numeratorValue+"/"+denominatorValue+")";
185185
}
186186
}
187+
} else if ("Complex".equals(type)) { // NOI18N
188+
FieldValue realField = object.getFieldValue("@real"); // NOI18N
189+
String real = realField != null ? realField.getValue() : null;
190+
FieldValue imagField = object.getFieldValue("@imag"); // NOI18N
191+
String imag = imagField != null ? imagField.getValue() : null;
192+
if (real != null && imag != null) logicalValue = "(" + real + (imag.startsWith("-") ? imag : "+" + imag) + "i)"; // NOI18N
187193
}
188194

189195
if (logicalValue != null && logicalValue.length() > MAX_LOGVALUE_LENGTH)

0 commit comments

Comments
 (0)