@@ -157,6 +157,33 @@ static String getLogicalValue(RubyObject object, String type, Heap heap) {
157
157
FieldValue encodingField = object .getFieldValue ("encoding (hidden)" ); // NOI18N
158
158
Instance encoding = encodingField instanceof ObjectFieldValue ? ((ObjectFieldValue )encodingField ).getInstance () : null ;
159
159
if (encoding != null ) logicalValue = DetailsUtils .getInstanceString (encoding , heap );
160
+ } else if ("Integer" .equals (type )) { // NOI18N
161
+ FieldValue valueField = object .getFieldValue ("value (hidden)" ); // NOI18N
162
+ Instance value = valueField instanceof ObjectFieldValue ? ((ObjectFieldValue )valueField ).getInstance () : null ;
163
+ if (value != null ) logicalValue = DetailsUtils .getInstanceString (value , heap );
164
+ } else if ("Rational" .equals (type )) { // NOI18N
165
+ FieldValue numField = object .getFieldValue ("@numerator" ); // NOI18N
166
+ Instance numerator = numField instanceof ObjectFieldValue ? ((ObjectFieldValue )numField ).getInstance () : null ;
167
+ FieldValue denomField = object .getFieldValue ("@denominator" ); // NOI18N
168
+ Instance denominator = denomField instanceof ObjectFieldValue ? ((ObjectFieldValue )denomField ).getInstance () : null ;
169
+ if (numField != null && denomField != null ) {
170
+ String numeratorValue ;
171
+ String denominatorValue ;
172
+
173
+ if (numerator != null ) {
174
+ numeratorValue = DetailsUtils .getInstanceString (numerator , heap );
175
+ } else {
176
+ numeratorValue = numField .getValue ();
177
+ }
178
+ if (denominator != null ) {
179
+ denominatorValue = DetailsUtils .getInstanceString (denominator , heap );
180
+ } else {
181
+ denominatorValue = denomField .getValue ();
182
+ }
183
+ if (numeratorValue != null && denominatorValue != null ) {
184
+ logicalValue = "(" +numeratorValue +"/" +denominatorValue +")" ;
185
+ }
186
+ }
160
187
}
161
188
162
189
if (logicalValue != null && logicalValue .length () > MAX_LOGVALUE_LENGTH )
0 commit comments