Skip to content

Commit 21e4137

Browse files
committed
GH-334 improve compatibility with GraalJS - create java.lang.Object[] directly
1 parent bd97164 commit 21e4137

File tree

1 file changed

+11
-4
lines changed
  • plugins/tracerdynamic/src/org/graalvm/visualvm/modules/tracer/dynamic/resources

1 file changed

+11
-4
lines changed

plugins/tracerdynamic/src/org/graalvm/visualvm/modules/tracer/dynamic/resources/configurator.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var Color = Java.type("java.awt.Color");
2727
var ArrayList = Java.type("java.util.ArrayList");
2828
var HashMap = Java.type("java.util.HashMap");
2929
var Integer = Java.type("java.lang.Integer");
30+
var ObjectArray = Java.type('java.lang.Object[]');
3031
var ProbeItemDescriptor = Java.type("org.graalvm.visualvm.modules.tracer.ProbeItemDescriptor");
3132
var ItemValueFormatter = Java.type("org.graalvm.visualvm.modules.tracer.ItemValueFormatter");
3233
var TracerProbeDescriptor = Java.type("org.graalvm.visualvm.modules.tracer.TracerProbeDescriptor");
@@ -408,6 +409,12 @@ function getKeys(map) {
408409
return ret;
409410
}
410411

412+
function arr(key) {
413+
var array = new ObjectArray(1);
414+
array[0] = key;
415+
return array;
416+
}
417+
411418
function get(map, keys) {
412419
var ret;
413420
var keyArray = isArray(keys);
@@ -416,10 +423,10 @@ function get(map, keys) {
416423
if (map instanceof TabularData) {
417424
// javax.management.openmbean.TabularDataSupport -> effectively a Map instance
418425
if (!keyArray || keys.length == 1) {
419-
ret = map.get([key]).get(["value"]);
426+
ret = map.get(arr(key)).get("value");
420427
return ret;
421428
} else {
422-
ret = get(map.get([key]).get(["value"]), keys.slice(1));
429+
ret = get(map.get(arr(key)).get("value"), keys.slice(1));
423430
return ret;
424431
}
425432
} else if (map.length != undefined && map.length > 0 && map[0].getCompositeType != undefined) {
@@ -438,10 +445,10 @@ function get(map, keys) {
438445
if (map.getTabularType != undefined) {
439446
// javax.management.openmbean.TabularDataSupport -> effectively a Map instance
440447
if (!keyArray || keys.length == 1) {
441-
ret = map.get([key]).get(["value"]);
448+
ret = map.get(arr(key)).get("value");
442449
return ret;
443450
} else {
444-
ret = get(map.get([key]).get(["value"]), keys.slice(1));
451+
ret = get(map.get(arr(key)).get("value"), keys.slice(1));
445452
return ret;
446453
}
447454
} else if (map.getCompositeType != undefined) {

0 commit comments

Comments
 (0)