public class com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS
  super_class: java.lang.Object
{
  private java.util.List<?> list;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<*>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
         0: .line 230
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/test/interop/InteropArrayTest$ToBePassedToJS;

  public void methodWithListArgument(java.util.List<?>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
        start local 1 // java.util.List argList
         0: .line 235
            aload 0 /* this */
            aload 1 /* argList */
            putfield com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS.list:Ljava/util/List;
         1: .line 236
            return
        end local 1 // java.util.List argList
        end local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/js/test/interop/InteropArrayTest$ToBePassedToJS;
            0    2     1  argList  Ljava/util/List<*>;
    Signature: (Ljava/util/List<*>;)V
    RuntimeVisibleAnnotations: 
      org.graalvm.polyglot.HostAccess$Export()
    MethodParameters:
         Name  Flags
      argList  

  public void methodWithArrayArgument(int[]);
    descriptor: ([I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
        start local 1 // int[] argArray
         0: .line 240
            aload 0 /* this */
            aload 1 /* argArray */
            invokestatic java.util.Arrays.stream:([I)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.boxed:()Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            putfield com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS.list:Ljava/util/List;
         1: .line 241
            return
        end local 1 // int[] argArray
        end local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/js/test/interop/InteropArrayTest$ToBePassedToJS;
            0    2     1  argArray  [I
    RuntimeVisibleAnnotations: 
      org.graalvm.polyglot.HostAccess$Export()
    MethodParameters:
          Name  Flags
      argArray  

  public int[] methodThatReturnsArray();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
         0: .line 245
            getstatic com.oracle.truffle.js.test.interop.InteropArrayTest.JAVA_ARRAY:[I
            areturn
        end local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/test/interop/InteropArrayTest$ToBePassedToJS;
    RuntimeVisibleAnnotations: 
      org.graalvm.polyglot.HostAccess$Export()

  public org.graalvm.polyglot.Value methodThatReturnsArrayAsValue();
    descriptor: ()Lorg/graalvm/polyglot/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
         0: .line 250
            getstatic com.oracle.truffle.js.test.interop.InteropArrayTest.JAVA_ARRAY:[I
            invokestatic org.graalvm.polyglot.Value.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
            areturn
        end local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/test/interop/InteropArrayTest$ToBePassedToJS;
    RuntimeVisibleAnnotations: 
      org.graalvm.polyglot.HostAccess$Export()

  public java.util.List<java.lang.Integer> methodThatReturnsList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
         0: .line 255
            getstatic com.oracle.truffle.js.test.interop.InteropArrayTest.JAVA_LIST:Ljava/util/List;
            areturn
        end local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/test/interop/InteropArrayTest$ToBePassedToJS;
    Signature: ()Ljava/util/List<Ljava/lang/Integer;>;
    RuntimeVisibleAnnotations: 
      org.graalvm.polyglot.HostAccess$Export()

  public java.lang.Object createForeignMap();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
         0: .line 260
            new com.oracle.truffle.js.test.polyglot.ForeignTestMap
            dup
            invokespecial com.oracle.truffle.js.test.polyglot.ForeignTestMap.<init>:()V
            astore 1 /* map */
        start local 1 // com.oracle.truffle.js.test.polyglot.ForeignTestMap map
         1: .line 261
            aload 1 /* map */
            invokevirtual com.oracle.truffle.js.test.polyglot.ForeignTestMap.getContainer:()Ljava/util/HashMap;
            ldc "x"
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 262
            aload 1 /* map */
            invokevirtual com.oracle.truffle.js.test.polyglot.ForeignTestMap.getContainer:()Ljava/util/HashMap;
            ldc "y"
            ldc "foo"
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 263
            aload 1 /* map */
            areturn
        end local 1 // com.oracle.truffle.js.test.polyglot.ForeignTestMap map
        end local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/test/interop/InteropArrayTest$ToBePassedToJS;
            1    4     1   map  Lcom/oracle/truffle/js/test/polyglot/ForeignTestMap;
    RuntimeVisibleAnnotations: 
      org.graalvm.polyglot.HostAccess$Export()

  public java.lang.Object[] methodThatReturnsArrayWithJSObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
        start local 1 // java.lang.Object jsObject
         0: .line 268
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            bipush 41
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* jsObject */
            aastore
            dup
            iconst_2
            ldc "string"
            aastore
            dup
            iconst_3
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS.createForeignMap:()Ljava/lang/Object;
            aastore
            areturn
        end local 1 // java.lang.Object jsObject
        end local 0 // com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/test/interop/InteropArrayTest$ToBePassedToJS;
            0    1     1  jsObject  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.graalvm.polyglot.HostAccess$Export()
    MethodParameters:
          Name  Flags
      jsObject  
}
SourceFile: "InteropArrayTest.java"
NestHost: com.oracle.truffle.js.test.interop.InteropArrayTest
InnerClasses:
  public ToBePassedToJS = com.oracle.truffle.js.test.interop.InteropArrayTest$ToBePassedToJS of com.oracle.truffle.js.test.interop.InteropArrayTest
  public abstract Export = org.graalvm.polyglot.HostAccess$Export of org.graalvm.polyglot.HostAccess