@@ -27,6 +27,7 @@ var Color = Java.type("java.awt.Color");
27
27
var ArrayList = Java . type ( "java.util.ArrayList" ) ;
28
28
var HashMap = Java . type ( "java.util.HashMap" ) ;
29
29
var Integer = Java . type ( "java.lang.Integer" ) ;
30
+ var ObjectArray = Java . type ( 'java.lang.Object[]' ) ;
30
31
var ProbeItemDescriptor = Java . type ( "org.graalvm.visualvm.modules.tracer.ProbeItemDescriptor" ) ;
31
32
var ItemValueFormatter = Java . type ( "org.graalvm.visualvm.modules.tracer.ItemValueFormatter" ) ;
32
33
var TracerProbeDescriptor = Java . type ( "org.graalvm.visualvm.modules.tracer.TracerProbeDescriptor" ) ;
@@ -408,6 +409,12 @@ function getKeys(map) {
408
409
return ret ;
409
410
}
410
411
412
+ function arr ( key ) {
413
+ var array = new ObjectArray ( 1 ) ;
414
+ array [ 0 ] = key ;
415
+ return array ;
416
+ }
417
+
411
418
function get ( map , keys ) {
412
419
var ret ;
413
420
var keyArray = isArray ( keys ) ;
@@ -416,10 +423,10 @@ function get(map, keys) {
416
423
if ( map instanceof TabularData ) {
417
424
// javax.management.openmbean.TabularDataSupport -> effectively a Map instance
418
425
if ( ! keyArray || keys . length == 1 ) {
419
- ret = map . get ( [ key ] ) . get ( [ "value" ] ) ;
426
+ ret = map . get ( arr ( key ) ) . get ( "value" ) ;
420
427
return ret ;
421
428
} else {
422
- ret = get ( map . get ( [ key ] ) . get ( [ "value" ] ) , keys . slice ( 1 ) ) ;
429
+ ret = get ( map . get ( arr ( key ) ) . get ( "value" ) , keys . slice ( 1 ) ) ;
423
430
return ret ;
424
431
}
425
432
} else if ( map . length != undefined && map . length > 0 && map [ 0 ] . getCompositeType != undefined ) {
@@ -438,10 +445,10 @@ function get(map, keys) {
438
445
if ( map . getTabularType != undefined ) {
439
446
// javax.management.openmbean.TabularDataSupport -> effectively a Map instance
440
447
if ( ! keyArray || keys . length == 1 ) {
441
- ret = map . get ( [ key ] ) . get ( [ "value" ] ) ;
448
+ ret = map . get ( arr ( key ) ) . get ( "value" ) ;
442
449
return ret ;
443
450
} else {
444
- ret = get ( map . get ( [ key ] ) . get ( [ "value" ] ) , keys . slice ( 1 ) ) ;
451
+ ret = get ( map . get ( arr ( key ) ) . get ( "value" ) , keys . slice ( 1 ) ) ;
445
452
return ret ;
446
453
}
447
454
} else if ( map . getCompositeType != undefined ) {
0 commit comments