class com.oracle.truffle.api.interop.InteropLibrary$Asserts extends com.oracle.truffle.api.interop.InteropLibrary
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.api.interop.InteropLibrary$Asserts
  super_class: com.oracle.truffle.api.interop.InteropLibrary
{
  private com.oracle.truffle.api.interop.InteropLibrary delegate;
    descriptor: Lcom/oracle/truffle/api/interop/InteropLibrary;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2169
            ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.oracle.truffle.api.interop.InteropLibrary);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // com.oracle.truffle.api.interop.InteropLibrary delegate
         0: .line 2184
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.interop.InteropLibrary.<init>:()V
         1: .line 2185
            aload 0 /* this */
            aload 1 /* delegate */
            putfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
         2: .line 2186
            return
        end local 1 // com.oracle.truffle.api.interop.InteropLibrary delegate
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  delegate  Lcom/oracle/truffle/api/interop/InteropLibrary;
    MethodParameters:
          Name  Flags
      delegate  

  private static boolean isMultiThreaded(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object receiver
         0: .line 2189
            getstatic com.oracle.truffle.api.interop.InteropAccessor.ACCESSOR:Lcom/oracle/truffle/api/interop/InteropAccessor;
            invokevirtual com.oracle.truffle.api.interop.InteropAccessor.engineSupport:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
            astore 1 /* engine */
        start local 1 // com.oracle.truffle.api.impl.Accessor$EngineSupport engine
         1: .line 2190
            aload 1 /* engine */
            ifnonnull 3
         2: .line 2191
            iconst_0
            ireturn
         3: .line 2193
      StackMap locals: com.oracle.truffle.api.impl.Accessor$EngineSupport
      StackMap stack:
            aload 1 /* engine */
            aload 0 /* receiver */
            invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.isMultiThreaded:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // com.oracle.truffle.api.impl.Accessor$EngineSupport engine
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  receiver  Ljava/lang/Object;
            1    4     1    engine  Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
    MethodParameters:
          Name  Flags
      receiver  

  public boolean accepts(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2198
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.accepts:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    2     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isNull(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2204
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 2206
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            iload 2 /* result */
            ifeq 3
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.NULL:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2207
      StackMap locals: int
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    4     1  receiver  Ljava/lang/Object;
            2    4     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  private boolean notOtherType(java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type type
         0: .line 2211
            aload 1 /* receiver */
            instanceof com.oracle.truffle.api.interop.LegacyMetaObjectWrapper
            ifeq 2
         1: .line 2213
            iconst_1
            ireturn
         2: .line 2215
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 2 /* type */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.NULL:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            if_acmpeq 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
            ifeq 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 2216
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 2 /* type */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.BOOLEAN:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            if_acmpeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
            ifeq 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2217
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 2 /* type */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.STRING:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            if_acmpeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifeq 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2218
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            aload 2 /* type */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.NUMBER:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            if_acmpeq 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifeq 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2219
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 2 /* type */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DATE_TIME_ZONE:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            if_acmpeq 8
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            ifeq 8
      StackMap locals:
      StackMap stack:
         7: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2220
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            aload 2 /* type */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DURATION:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            if_acmpeq 9
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDuration:(Ljava/lang/Object;)Z
            ifeq 9
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 2221
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            aload 2 /* type */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.META_OBJECT:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            if_acmpeq 10
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaObject:(Ljava/lang/Object;)Z
            ifeq 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2222
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type type
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   11     1  receiver  Ljava/lang/Object;
            0   11     2      type  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
    MethodParameters:
          Name  Flags
      receiver  
      type      

  public boolean isBoolean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2227
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2228
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
            ireturn
         2: .line 2230
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         4: .line 2232
            iload 2 /* result */
            ifeq 10
         5: .line 2234
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
            pop
         6: .line 2235
            goto 10
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
         7: pop
         8: .line 2236
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 2237
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        10: .line 2240
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            iload 2 /* result */
            ifeq 11
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.BOOLEAN:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 2241
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   12     1  receiver  Ljava/lang/Object;
            4   12     2    result  Z
      Exception table:
        from    to  target  type
           5     6       7  Class com.oracle.truffle.api.interop.InteropException
           5     6       9  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  

  public boolean asBoolean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2246
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2247
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
            ireturn
         2: .line 2249
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
            istore 2 /* wasBoolean */
        start local 2 // boolean wasBoolean
         4: .line 2252
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
            istore 3 /* result */
        start local 3 // boolean result
         5: .line 2253
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasBoolean */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2254
      StackMap locals: int int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.BOOLEAN:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 2255
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
         8: ireturn
        end local 3 // boolean result
         9: .line 2256
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 2257
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 2258
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasBoolean */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 2259
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasBoolean
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1    receiver  Ljava/lang/Object;
            4   13     2  wasBoolean  Z
            5    9     3      result  Z
           10   13     3           e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isExecutable(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2265
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 2267
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  receiver  Ljava/lang/Object;
            2    3     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object execute(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object[] arguments
         0: .line 2272
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2273
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 2275
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2276
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArguments:(Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
            istore 3 /* wasExecutable */
        start local 3 // boolean wasExecutable
         5: .line 2279
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* result */
        start local 4 // java.lang.Object result
         6: .line 2280
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 3 /* wasExecutable */
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2281
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 1 /* receiver */
            aload 4 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validReturn:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 2282
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
         9: areturn
        end local 4 // java.lang.Object result
        10: .line 2283
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object java.lang.Object[] int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 4 /* e */
        start local 4 // com.oracle.truffle.api.interop.InteropException e
        11: .line 2284
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 12
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.ArityException
            ifne 12
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedTypeException
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 2285
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifeq 13
            iload 3 /* wasExecutable */
            ifeq 13
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 2286
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // com.oracle.truffle.api.interop.InteropException e
        end local 3 // boolean wasExecutable
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   14     1       receiver  Ljava/lang/Object;
            0   14     2      arguments  [Ljava/lang/Object;
            5   14     3  wasExecutable  Z
            6   10     4         result  Ljava/lang/Object;
           11   14     4              e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           5     9      10  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
           Name  Flags
      receiver   
      arguments  

  public boolean isInstantiable(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2292
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 2294
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  receiver  Ljava/lang/Object;
            2    3     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object instantiate(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object[] arguments
         0: .line 2299
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2300
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.instantiate:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 2302
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2303
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArguments:(Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
            istore 3 /* wasInstantiable */
        start local 3 // boolean wasInstantiable
         5: .line 2306
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.instantiate:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* result */
        start local 4 // java.lang.Object result
         6: .line 2307
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 3 /* wasInstantiable */
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2308
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 1 /* receiver */
            aload 4 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validReturn:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 2309
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
         9: areturn
        end local 4 // java.lang.Object result
        10: .line 2310
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object java.lang.Object[] int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 4 /* e */
        start local 4 // com.oracle.truffle.api.interop.InteropException e
        11: .line 2311
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 12
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.ArityException
            ifne 12
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedTypeException
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 2312
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifeq 13
            iload 3 /* wasInstantiable */
            ifeq 13
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* arguments */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 2313
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // com.oracle.truffle.api.interop.InteropException e
        end local 3 // boolean wasInstantiable
        end local 2 // java.lang.Object[] arguments
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   14     1         receiver  Ljava/lang/Object;
            0   14     2        arguments  [Ljava/lang/Object;
            5   14     3  wasInstantiable  Z
            6   10     4           result  Ljava/lang/Object;
           11   14     4                e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           5     9      10  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
           Name  Flags
      receiver   
      arguments  

  public boolean isString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2319
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2320
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ireturn
         2: .line 2322
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         4: .line 2324
            iload 2 /* result */
            ifeq 10
         5: .line 2326
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
            pop
         6: .line 2327
            goto 10
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
         7: pop
         8: .line 2328
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 2329
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        10: .line 2332
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            iload 2 /* result */
            ifeq 11
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.STRING:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 2333
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   12     1  receiver  Ljava/lang/Object;
            4   12     2    result  Z
      Exception table:
        from    to  target  type
           5     6       7  Class com.oracle.truffle.api.interop.InteropException
           5     6       9  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.String asString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2338
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2339
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
         2: .line 2341
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            istore 2 /* wasString */
        start local 2 // boolean wasString
         4: .line 2344
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* result */
        start local 3 // java.lang.String result
         5: .line 2345
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasString */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2346
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 3 /* result */
         7: areturn
        end local 3 // java.lang.String result
         8: .line 2347
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
         9: .line 2348
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2349
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            iload 2 /* wasString */
            ifeq 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 2350
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasString
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   12     1   receiver  Ljava/lang/Object;
            4   12     2  wasString  Z
            5    8     3     result  Ljava/lang/String;
            9   12     3          e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     7       8  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isNumber(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2356
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 2358
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            iload 2 /* result */
            ifeq 3
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.NUMBER:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2359
      StackMap locals: int
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    4     1  receiver  Ljava/lang/Object;
            2    4     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public boolean fitsInByte(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2364
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2365
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInByte:(Ljava/lang/Object;)Z
            ireturn
         2: .line 2367
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInByte:(Ljava/lang/Object;)Z
            istore 2 /* fits */
        start local 2 // boolean fits
         4: .line 2369
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 2 /* fits */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2370
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* fits */
            ifeq 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInShort:(Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2371
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 2 /* fits */
            ifeq 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2372
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            iload 2 /* fits */
            ifeq 8
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2373
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            iload 2 /* fits */
            ifeq 9
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInFloat:(Ljava/lang/Object;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 2374
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            iload 2 /* fits */
            ifeq 10
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2375
      StackMap locals:
      StackMap stack:
            iload 2 /* fits */
            ifeq 16
        11: .line 2377
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asByte:(Ljava/lang/Object;)B
            pop
        12: .line 2378
            goto 16
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
        13: pop
        14: .line 2379
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 16
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 2380
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        16: .line 2383
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 17
            iload 2 /* fits */
            ifeq 17
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.NUMBER:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 2384
      StackMap locals:
      StackMap stack:
            iload 2 /* fits */
            ireturn
        end local 2 // boolean fits
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   18     1  receiver  Ljava/lang/Object;
            4   18     2      fits  Z
      Exception table:
        from    to  target  type
          11    12      13  Class com.oracle.truffle.api.interop.InteropException
          11    12      15  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  

  public boolean fitsInShort(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2389
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2390
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInShort:(Ljava/lang/Object;)Z
            ireturn
         2: .line 2392
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInShort:(Ljava/lang/Object;)Z
            istore 2 /* fits */
        start local 2 // boolean fits
         4: .line 2395
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 2 /* fits */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2396
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* fits */
            ifeq 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2397
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 2 /* fits */
            ifeq 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2398
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            iload 2 /* fits */
            ifeq 8
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInFloat:(Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2399
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            iload 2 /* fits */
            ifeq 9
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 2400
      StackMap locals:
      StackMap stack:
            iload 2 /* fits */
            ifeq 15
        10: .line 2402
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asShort:(Ljava/lang/Object;)S
            pop
        11: .line 2403
            goto 15
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
        12: pop
        13: .line 2404
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 15
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 2405
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        15: .line 2408
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 16
            iload 2 /* fits */
            ifeq 16
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.NUMBER:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 2409
      StackMap locals:
      StackMap stack:
            iload 2 /* fits */
            ireturn
        end local 2 // boolean fits
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   17     1  receiver  Ljava/lang/Object;
            4   17     2      fits  Z
      Exception table:
        from    to  target  type
          10    11      12  Class com.oracle.truffle.api.interop.InteropException
          10    11      14  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  

  public boolean fitsInInt(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2414
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2415
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
            ireturn
         2: .line 2417
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
            istore 2 /* fits */
        start local 2 // boolean fits
         4: .line 2420
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 2 /* fits */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2421
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* fits */
            ifeq 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2422
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 2 /* fits */
            ifeq 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2423
      StackMap locals:
      StackMap stack:
            iload 2 /* fits */
            ifeq 13
         8: .line 2425
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
            pop
         9: .line 2426
            goto 13
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
        10: pop
        11: .line 2427
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 2428
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        13: .line 2431
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 14
            iload 2 /* fits */
            ifeq 14
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.NUMBER:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 2432
      StackMap locals:
      StackMap stack:
            iload 2 /* fits */
            ireturn
        end local 2 // boolean fits
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   15     1  receiver  Ljava/lang/Object;
            4   15     2      fits  Z
      Exception table:
        from    to  target  type
           8     9      10  Class com.oracle.truffle.api.interop.InteropException
           8     9      12  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  

  public boolean fitsInLong(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2437
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2438
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
            ireturn
         2: .line 2440
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
            istore 2 /* fits */
        start local 2 // boolean fits
         4: .line 2443
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 2 /* fits */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2444
      StackMap locals: int
      StackMap stack:
            iload 2 /* fits */
            ifeq 11
         6: .line 2446
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
            pop2
         7: .line 2447
            goto 11
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
         8: pop
         9: .line 2448
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2449
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        11: .line 2452
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* fits */
            ifeq 12
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.NUMBER:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 2453
      StackMap locals:
      StackMap stack:
            iload 2 /* fits */
            ireturn
        end local 2 // boolean fits
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1  receiver  Ljava/lang/Object;
            4   13     2      fits  Z
      Exception table:
        from    to  target  type
           6     7       8  Class com.oracle.truffle.api.interop.InteropException
           6     7      10  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  

  public boolean fitsInFloat(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2458
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2459
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInFloat:(Ljava/lang/Object;)Z
            ireturn
         2: .line 2461
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInFloat:(Ljava/lang/Object;)Z
            istore 2 /* fits */
        start local 2 // boolean fits
         4: .line 2463
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 2 /* fits */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2464
      StackMap locals: int
      StackMap stack:
            iload 2 /* fits */
            ifeq 11
         6: .line 2466
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asFloat:(Ljava/lang/Object;)F
            pop
         7: .line 2467
            goto 11
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
         8: pop
         9: .line 2468
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2469
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        11: .line 2472
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* fits */
            ifeq 12
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.NUMBER:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 2473
      StackMap locals:
      StackMap stack:
            iload 2 /* fits */
            ireturn
        end local 2 // boolean fits
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1  receiver  Ljava/lang/Object;
            4   13     2      fits  Z
      Exception table:
        from    to  target  type
           6     7       8  Class com.oracle.truffle.api.interop.InteropException
           6     7      10  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  

  public boolean fitsInDouble(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2478
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2479
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
            ireturn
         2: .line 2481
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
            istore 2 /* fits */
        start local 2 // boolean fits
         4: .line 2483
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 2 /* fits */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2484
      StackMap locals: int
      StackMap stack:
            iload 2 /* fits */
            ifeq 11
         6: .line 2486
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
            pop2
         7: .line 2487
            goto 11
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
         8: pop
         9: .line 2488
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2489
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        11: .line 2492
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* fits */
            ifeq 12
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.NUMBER:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 2493
      StackMap locals:
      StackMap stack:
            iload 2 /* fits */
            ireturn
        end local 2 // boolean fits
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1  receiver  Ljava/lang/Object;
            4   13     2      fits  Z
      Exception table:
        from    to  target  type
           6     7       8  Class com.oracle.truffle.api.interop.InteropException
           6     7      10  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  

  public byte asByte(java.lang.Object);
    descriptor: (Ljava/lang/Object;)B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2498
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asByte:(Ljava/lang/Object;)B
            istore 2 /* result */
        start local 2 // byte result
         2: .line 2501
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 2502
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInByte:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2503
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 2 /* result */
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asShort:(Ljava/lang/Object;)S
            if_icmpeq 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2504
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* result */
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2505
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 2 /* result */
            i2l
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
            lcmp
            ifeq 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2506
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            iload 2 /* result */
            i2f
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asFloat:(Ljava/lang/Object;)F
            fcmpl
            ifeq 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2507
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            iload 2 /* result */
            i2d
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
            dcmpl
            ifeq 9
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 2508
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
        10: ireturn
        end local 2 // byte result
        11: .line 2509
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 2 /* e */
        start local 2 // com.oracle.truffle.api.interop.InteropException e
        12: .line 2510
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            aload 2 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 13
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 2511
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 2 /* e */
            athrow
        end local 2 // com.oracle.truffle.api.interop.InteropException e
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   14     1  receiver  Ljava/lang/Object;
            2   11     2    result  B
           12   14     2         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           1    10      11  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public short asShort(java.lang.Object);
    descriptor: (Ljava/lang/Object;)S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2517
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asShort:(Ljava/lang/Object;)S
            istore 2 /* result */
        start local 2 // short result
         2: .line 2520
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 2521
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInShort:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2522
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 2 /* result */
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
            if_icmpeq 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2523
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* result */
            i2l
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
            lcmp
            ifeq 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2524
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 2 /* result */
            i2f
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asFloat:(Ljava/lang/Object;)F
            fcmpl
            ifeq 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2525
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            iload 2 /* result */
            i2d
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
            dcmpl
            ifeq 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2526
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
         9: ireturn
        end local 2 // short result
        10: .line 2527
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 2 /* e */
        start local 2 // com.oracle.truffle.api.interop.InteropException e
        11: .line 2528
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            aload 2 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 2529
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 2 /* e */
            athrow
        end local 2 // com.oracle.truffle.api.interop.InteropException e
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1  receiver  Ljava/lang/Object;
            2   10     2    result  S
           11   13     2         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           1     9      10  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public int asInt(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2535
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInt:(Ljava/lang/Object;)I
            istore 2 /* result */
        start local 2 // int result
         2: .line 2538
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 2539
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2540
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 2 /* result */
            i2l
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
            lcmp
            ifeq 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2541
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* result */
            i2d
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
            dcmpl
            ifeq 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2542
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
         7: ireturn
        end local 2 // int result
         8: .line 2543
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 2 /* e */
        start local 2 // com.oracle.truffle.api.interop.InteropException e
         9: .line 2544
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            aload 2 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2545
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 2 /* e */
            athrow
        end local 2 // com.oracle.truffle.api.interop.InteropException e
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   11     1  receiver  Ljava/lang/Object;
            2    8     2    result  I
            9   11     2         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           1     7       8  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public long asLong(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2551
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
            lstore 2 /* result */
        start local 2 // long result
         2: .line 2554
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 2555
      StackMap locals: long
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2556
      StackMap locals:
      StackMap stack:
            lload 2 /* result */
         5: lreturn
        end local 2 // long result
         6: .line 2557
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 2 /* e */
        start local 2 // com.oracle.truffle.api.interop.InteropException e
         7: .line 2558
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 2 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2559
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 2 /* e */
            athrow
        end local 2 // com.oracle.truffle.api.interop.InteropException e
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    9     1  receiver  Ljava/lang/Object;
            2    6     2    result  J
            7    9     2         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           1     5       6  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public float asFloat(java.lang.Object);
    descriptor: (Ljava/lang/Object;)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2565
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asFloat:(Ljava/lang/Object;)F
            fstore 2 /* result */
        start local 2 // float result
         2: .line 2568
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 2569
      StackMap locals: float
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInFloat:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2570
      StackMap locals:
      StackMap stack:
            fload 2 /* result */
         5: freturn
        end local 2 // float result
         6: .line 2571
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 2 /* e */
        start local 2 // com.oracle.truffle.api.interop.InteropException e
         7: .line 2572
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 2 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2573
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 2 /* e */
            athrow
        end local 2 // com.oracle.truffle.api.interop.InteropException e
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    9     1  receiver  Ljava/lang/Object;
            2    6     2    result  F
            7    9     2         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           1     5       6  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public double asDouble(java.lang.Object);
    descriptor: (Ljava/lang/Object;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2579
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2581
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
            dstore 2 /* result */
        start local 2 // double result
         2: .line 2582
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 2583
      StackMap locals: double
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2584
      StackMap locals:
      StackMap stack:
            dload 2 /* result */
         5: dreturn
        end local 2 // double result
         6: .line 2585
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 2 /* e */
        start local 2 // com.oracle.truffle.api.interop.InteropException e
         7: .line 2586
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 2 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2587
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 2 /* e */
            athrow
        end local 2 // com.oracle.truffle.api.interop.InteropException e
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    9     1  receiver  Ljava/lang/Object;
            2    6     2    result  D
            7    9     2         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           1     5       6  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean hasMembers(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2593
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    2     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object readMember(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 2599
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2600
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            areturn
         2: .line 2602
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2603
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2604
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberReadable:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 3 /* wasReadable */
        start local 3 // boolean wasReadable
         5: .line 2606
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 4 /* result */
        start local 4 // java.lang.Object result
         6: .line 2607
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2608
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            iload 3 /* wasReadable */
            ifne 8
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.isMultiThreaded:(Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2609
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            aload 1 /* receiver */
            aload 4 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validReturn:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 2610
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
        10: areturn
        end local 4 // java.lang.Object result
        11: .line 2611
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object java.lang.String int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 4 /* e */
        start local 4 // com.oracle.truffle.api.interop.InteropException e
        12: .line 2612
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 13
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnknownIdentifierException
            ifne 13
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 4 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 2613
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // com.oracle.truffle.api.interop.InteropException e
        end local 3 // boolean wasReadable
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   14     1     receiver  Ljava/lang/Object;
            0   14     2   identifier  Ljava/lang/String;
            5   14     3  wasReadable  Z
            6   11     4       result  Ljava/lang/Object;
           12   14     4            e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           5    10      11  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnknownIdentifierException
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public void writeMember(java.lang.Object, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
        start local 3 // java.lang.Object value
         0: .line 2619
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 3
         1: .line 2620
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            aload 3 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeMember:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 2621
            return
         3: .line 2623
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2624
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 2625
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            aload 1 /* receiver */
            aload 3 /* value */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 2626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberModifiable:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInsertable:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifne 7
            iconst_0
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_1
      StackMap locals:
      StackMap stack: int
         8: istore 4 /* wasWritable */
        start local 4 // boolean wasWritable
         9: .line 2628
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            aload 3 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeMember:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        10: .line 2629
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 2630
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 15
            iload 4 /* wasWritable */
            ifne 15
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.isMultiThreaded:(Ljava/lang/Object;)Z
            ifne 15
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 2631
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.InteropException e
        13: .line 2632
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 14
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 14
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.UnknownIdentifierException
            ifne 14
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedTypeException
            ifne 14
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 5 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 2633
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // com.oracle.truffle.api.interop.InteropException e
        15: .line 2635
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean wasWritable
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   16     1     receiver  Ljava/lang/Object;
            0   16     2   identifier  Ljava/lang/String;
            0   16     3        value  Ljava/lang/Object;
            9   16     4  wasWritable  Z
           13   15     5            e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           9    12      12  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.UnsupportedTypeException
    MethodParameters:
            Name  Flags
      receiver    
      identifier  
      value       

  public void removeMember(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 2639
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 3
         1: .line 2640
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.removeMember:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 2641
            return
         3: .line 2643
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2644
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 2645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberRemovable:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 3 /* wasRemovable */
        start local 3 // boolean wasRemovable
         6: .line 2647
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.removeMember:(Ljava/lang/Object;Ljava/lang/String;)V
         7: .line 2648
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2649
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 3 /* wasRemovable */
            ifne 12
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.isMultiThreaded:(Ljava/lang/Object;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 2650
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 4 /* e */
        start local 4 // com.oracle.truffle.api.interop.InteropException e
        10: .line 2651
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnknownIdentifierException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 4 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 2652
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // com.oracle.truffle.api.interop.InteropException e
        12: .line 2654
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean wasRemovable
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1      receiver  Ljava/lang/Object;
            0   13     2    identifier  Ljava/lang/String;
            6   13     3  wasRemovable  Z
           10   12     4             e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           6     9       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnknownIdentifierException
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public java.lang.Object invokeMember(java.lang.Object, java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
        start local 3 // java.lang.Object[] arguments
         0: .line 2659
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2660
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            aload 3 /* arguments */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 2662
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2663
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2664
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 1 /* receiver */
            aload 3 /* arguments */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArguments:(Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 2665
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInvocable:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 4 /* wasInvocable */
        start local 4 // boolean wasInvocable
         6: .line 2667
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            aload 3 /* arguments */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* result */
        start local 5 // java.lang.Object result
         7: .line 2668
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2669
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            iload 4 /* wasInvocable */
            ifne 9
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.isMultiThreaded:(Ljava/lang/Object;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 2670
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            aload 1 /* receiver */
            aload 5 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validReturn:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 2671
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
        11: areturn
        end local 5 // java.lang.Object result
        12: .line 2672
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object java.lang.String java.lang.Object[] int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.InteropException e
        13: .line 2673
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 15
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 15
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.ArityException
            ifne 15
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.UnknownIdentifierException
            ifne 15
        14: .line 2674
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedTypeException
            ifne 15
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 5 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 2675
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // com.oracle.truffle.api.interop.InteropException e
        end local 4 // boolean wasInvocable
        end local 3 // java.lang.Object[] arguments
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   16     1      receiver  Ljava/lang/Object;
            0   16     2    identifier  Ljava/lang/String;
            0   16     3     arguments  [Ljava/lang/Object;
            6   16     4  wasInvocable  Z
            7   12     5        result  Ljava/lang/Object;
           13   16     5             e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           6    11      12  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnknownIdentifierException, com.oracle.truffle.api.interop.UnsupportedTypeException
    MethodParameters:
            Name  Flags
      receiver    
      identifier  
      arguments   

  public java.lang.Object getMembers(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // boolean internal
         0: .line 2681
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            iload 2 /* internal */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMembers:(Ljava/lang/Object;Z)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         2: .line 2684
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validReturn:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2685
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.isMultiThreaded:(Ljava/lang/Object;)Z
            ifne 4
            aload 1 /* receiver */
            aload 3 /* result */
            iload 2 /* internal */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.assertMemberKeys:(Ljava/lang/Object;Ljava/lang/Object;Z)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2686
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasScopeParent:(Ljava/lang/Object;)Z
            ifeq 5
            aload 1 /* receiver */
            aload 3 /* result */
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getScopeParent:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 2 /* internal */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMembers:(Ljava/lang/Object;Z)Ljava/lang/Object;
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.assertScopeMembers:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 2687
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         6: areturn
        end local 3 // java.lang.Object result
         7: .line 2688
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
         8: .line 2689
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 9
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 3 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 2690
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean internal
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   10     1  receiver  Ljava/lang/Object;
            0   10     2  internal  Z
            2    7     3    result  Ljava/lang/Object;
            8   10     3         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           1     6       7  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  
      internal  

  private static boolean assertMemberKeys(java.lang.Object, java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Z)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.lang.Object receiver
        start local 1 // java.lang.Object result
        start local 2 // boolean internal
         0: .line 2695
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* result */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 2696
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 1 /* result */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 3 /* uncached */
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary uncached
         2: .line 2697
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 3 /* uncached */
            aload 1 /* result */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 2700
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            aload 3 /* uncached */
            aload 1 /* result */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
            lstore 4 /* arraySize */
        start local 4 // long arraySize
         4: .line 2701
            goto 8
        end local 4 // long arraySize
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
         5: astore 6 /* e */
        start local 6 // com.oracle.truffle.api.interop.UnsupportedMessageException e
         6: .line 2702
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 6 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2703
      StackMap locals: java.lang.Object java.lang.Object int com.oracle.truffle.api.interop.InteropLibrary top top com.oracle.truffle.api.interop.UnsupportedMessageException
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        start local 4 // long arraySize
         8: .line 2705
      StackMap locals: java.lang.Object java.lang.Object int com.oracle.truffle.api.interop.InteropLibrary long
      StackMap stack:
            lconst_0
            lstore 6 /* i */
        start local 6 // long i
         9: goto 22
        10: .line 2706
      StackMap locals: long
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* uncached */
            aload 1 /* result */
            lload 6 /* i */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementReadable:(Ljava/lang/Object;J)Z
            ifne 11
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 2709
      StackMap locals:
      StackMap stack:
            aload 3 /* uncached */
            aload 1 /* result */
            lload 6 /* i */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
            astore 8 /* element */
        start local 8 // java.lang.Object element
        12: .line 2710
            goto 16
        end local 8 // java.lang.Object element
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
        13: pop
        14: .line 2711
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 15
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 2712
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        start local 8 // java.lang.Object element
        16: .line 2714
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 17
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            aload 8 /* element */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifne 17
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 8 /* element */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        17: .line 2716
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            aload 8 /* element */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
            pop
        18: .line 2717
            goto 21
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
        19: pop
        20: .line 2718
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 21
            new java.lang.AssertionError
            dup
            aload 1 /* result */
            lload 6 /* i */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 8 // java.lang.Object element
        21: .line 2705
      StackMap locals:
      StackMap stack:
            lload 6 /* i */
            lconst_1
            ladd
            lstore 6 /* i */
      StackMap locals:
      StackMap stack:
        22: lload 6 /* i */
            lload 4 /* arraySize */
            lcmp
            iflt 10
        end local 6 // long i
        23: .line 2721
            iconst_1
            ireturn
        end local 4 // long arraySize
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary uncached
        end local 2 // boolean internal
        end local 1 // java.lang.Object result
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0   receiver  Ljava/lang/Object;
            0   24     1     result  Ljava/lang/Object;
            0   24     2   internal  Z
            2   24     3   uncached  Lcom/oracle/truffle/api/interop/InteropLibrary;
            4    5     4  arraySize  J
            8   24     4  arraySize  J
            6    8     6          e  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            9   23     6          i  J
           12   13     8    element  Ljava/lang/Object;
           16   21     8    element  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           3     4       5  Class com.oracle.truffle.api.interop.UnsupportedMessageException
          11    12      13  Class com.oracle.truffle.api.interop.UnsupportedMessageException
          11    12      13  Class com.oracle.truffle.api.interop.InvalidArrayIndexException
          17    18      19  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  
      result    
      internal  

  private static boolean assertScopeMembers(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=17, args_size=3
        start local 0 // java.lang.Object receiver
        start local 1 // java.lang.Object allMembers
        start local 2 // java.lang.Object parentMembers
         0: .line 2725
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 2 /* parentMembers */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 2 /* parentMembers */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 2726
      StackMap locals:
      StackMap stack:
            aload 1 /* allMembers */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            astore 3 /* allUncached */
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary allUncached
         2: .line 2727
            aload 2 /* parentMembers */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            astore 4 /* parentUncached */
        start local 4 // com.oracle.truffle.api.interop.InteropLibrary parentUncached
         3: .line 2728
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 3 /* allUncached */
            aload 1 /* allMembers */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* allMembers */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2729
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 4 /* parentUncached */
            aload 2 /* parentMembers */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 2 /* parentMembers */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2733
      StackMap locals:
      StackMap stack:
            aload 3 /* allUncached */
            aload 1 /* allMembers */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
            lstore 5 /* allSize */
        start local 5 // long allSize
         6: .line 2734
            aload 4 /* parentUncached */
            aload 2 /* parentMembers */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
            lstore 7 /* parentSize */
        start local 7 // long parentSize
         7: .line 2735
            goto 11
        end local 7 // long parentSize
        end local 5 // long allSize
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
         8: astore 9 /* e */
        start local 9 // com.oracle.truffle.api.interop.UnsupportedMessageException e
         9: .line 2736
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 9 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2737
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.InteropLibrary top top top top com.oracle.truffle.api.interop.UnsupportedMessageException
      StackMap stack:
            iconst_1
            ireturn
        end local 9 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        start local 5 // long allSize
        start local 7 // long parentSize
        11: .line 2739
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.InteropLibrary long long
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            lload 5 /* allSize */
            lload 7 /* parentSize */
            aload 1 /* allMembers */
            aload 2 /* parentMembers */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validScopeMemberLengths:(JJLjava/lang/Object;Ljava/lang/Object;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 2740
      StackMap locals:
      StackMap stack:
            lload 5 /* allSize */
            lload 7 /* parentSize */
            lsub
            lstore 9 /* currentSize */
        start local 9 // long currentSize
        13: .line 2741
            lconst_0
            lstore 11 /* i */
        start local 11 // long i
        14: goto 41
        15: .line 2742
      StackMap locals: long long
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 16
            aload 3 /* allUncached */
            aload 1 /* allMembers */
            lload 11 /* i */
            lload 9 /* currentSize */
            ladd
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementReadable:(Ljava/lang/Object;J)Z
            ifne 16
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* allMembers */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 2743
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 17
            aload 4 /* parentUncached */
            aload 2 /* parentMembers */
            lload 11 /* i */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementReadable:(Ljava/lang/Object;J)Z
            ifne 17
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 2 /* parentMembers */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        17: .line 2747
      StackMap locals:
      StackMap stack:
            aload 3 /* allUncached */
            aload 1 /* allMembers */
            lload 11 /* i */
            lload 9 /* currentSize */
            ladd
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
            astore 13 /* allElement */
        start local 13 // java.lang.Object allElement
        18: .line 2748
            goto 22
        end local 13 // java.lang.Object allElement
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
        19: pop
        20: .line 2749
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 21
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* allMembers */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        21: .line 2750
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        start local 13 // java.lang.Object allElement
        22: .line 2753
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* parentUncached */
            aload 2 /* parentMembers */
            lload 11 /* i */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
            astore 14 /* parentElement */
        start local 14 // java.lang.Object parentElement
        23: .line 2754
            goto 27
        end local 14 // java.lang.Object parentElement
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
        24: pop
        25: .line 2755
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 26
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 2 /* parentMembers */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        26: .line 2756
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        start local 14 // java.lang.Object parentElement
        27: .line 2758
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 28
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 13 /* allElement */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifne 28
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 13 /* allElement */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        28: .line 2759
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 29
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 14 /* parentElement */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
            ifne 29
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 14 /* parentElement */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        29: .line 2763
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 13 /* allElement */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 15 /* allElementName */
        start local 15 // java.lang.String allElementName
        30: .line 2764
            goto 34
        end local 15 // java.lang.String allElementName
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
        31: pop
        32: .line 2765
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 33
            new java.lang.AssertionError
            dup
            aload 13 /* allElement */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        33: .line 2766
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        start local 15 // java.lang.String allElementName
        34: .line 2769
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 14 /* parentElement */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 16 /* parentElementName */
        start local 16 // java.lang.String parentElementName
        35: .line 2770
            goto 39
        end local 16 // java.lang.String parentElementName
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
        36: pop
        37: .line 2771
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 38
            new java.lang.AssertionError
            dup
            aload 14 /* parentElement */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        38: .line 2772
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        start local 16 // java.lang.String parentElementName
        39: .line 2774
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 40
            aload 15 /* allElementName */
            aload 16 /* parentElementName */
            aload 1 /* allMembers */
            aload 2 /* parentMembers */
            lload 11 /* i */
            lload 9 /* currentSize */
            ladd
            lload 11 /* i */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validScopeMemberNames:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;JJ)Z
            ifne 40
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 16 // java.lang.String parentElementName
        end local 15 // java.lang.String allElementName
        end local 14 // java.lang.Object parentElement
        end local 13 // java.lang.Object allElement
        40: .line 2741
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.InteropLibrary long long long long
      StackMap stack:
            lload 11 /* i */
            lconst_1
            ladd
            lstore 11 /* i */
      StackMap locals:
      StackMap stack:
        41: lload 11 /* i */
            lload 7 /* parentSize */
            lcmp
            iflt 15
        end local 11 // long i
        42: .line 2776
            iconst_1
            ireturn
        end local 9 // long currentSize
        end local 7 // long parentSize
        end local 5 // long allSize
        end local 4 // com.oracle.truffle.api.interop.InteropLibrary parentUncached
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary allUncached
        end local 2 // java.lang.Object parentMembers
        end local 1 // java.lang.Object allMembers
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   43     0           receiver  Ljava/lang/Object;
            0   43     1         allMembers  Ljava/lang/Object;
            0   43     2      parentMembers  Ljava/lang/Object;
            2   43     3        allUncached  Lcom/oracle/truffle/api/interop/InteropLibrary;
            3   43     4     parentUncached  Lcom/oracle/truffle/api/interop/InteropLibrary;
            6    8     5            allSize  J
           11   43     5            allSize  J
            7    8     7         parentSize  J
           11   43     7         parentSize  J
            9   11     9                  e  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
           13   43     9        currentSize  J
           14   42    11                  i  J
           18   19    13         allElement  Ljava/lang/Object;
           22   40    13         allElement  Ljava/lang/Object;
           23   24    14      parentElement  Ljava/lang/Object;
           27   40    14      parentElement  Ljava/lang/Object;
           30   31    15     allElementName  Ljava/lang/String;
           34   40    15     allElementName  Ljava/lang/String;
           35   36    16  parentElementName  Ljava/lang/String;
           39   40    16  parentElementName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     7       8  Class com.oracle.truffle.api.interop.UnsupportedMessageException
          17    18      19  Class com.oracle.truffle.api.interop.UnsupportedMessageException
          17    18      19  Class com.oracle.truffle.api.interop.InvalidArrayIndexException
          22    23      24  Class com.oracle.truffle.api.interop.UnsupportedMessageException
          22    23      24  Class com.oracle.truffle.api.interop.InvalidArrayIndexException
          29    30      31  Class com.oracle.truffle.api.interop.UnsupportedMessageException
          34    35      36  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
               Name  Flags
      receiver       
      allMembers     
      parentMembers  

  public boolean hasMemberReadSideEffects(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 2781
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2782
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMemberReadSideEffects:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 3 /* result */
        start local 3 // boolean result
         3: .line 2784
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            iload 3 /* result */
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2785
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 3 /* result */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberReadable:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifne 5
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.isMultiThreaded:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2786
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    6     1    receiver  Ljava/lang/Object;
            0    6     2  identifier  Ljava/lang/String;
            3    6     3      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean hasMemberWriteSideEffects(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 2791
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2792
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2793
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMemberWriteSideEffects:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 3 /* result */
        start local 3 // boolean result
         3: .line 2794
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            iload 3 /* result */
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2795
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 3 /* result */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberWritable:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifne 5
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.isMultiThreaded:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2796
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    6     1    receiver  Ljava/lang/Object;
            0    6     2  identifier  Ljava/lang/String;
            3    6     3      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean isMemberReadable(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 2801
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2802
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2803
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberReadable:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 3 /* result */
        start local 3 // boolean result
         3: .line 2804
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 3 /* result */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInsertable:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifeq 5
      StackMap locals: int
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2805
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    6     1    receiver  Ljava/lang/Object;
            0    6     2  identifier  Ljava/lang/String;
            3    6     3      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean isMemberModifiable(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 2810
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2811
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberModifiable:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 3 /* result */
        start local 3 // boolean result
         3: .line 2813
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 3 /* result */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInsertable:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifeq 5
      StackMap locals: int
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2814
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    6     1    receiver  Ljava/lang/Object;
            0    6     2  identifier  Ljava/lang/String;
            3    6     3      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean isMemberInsertable(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 2819
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2820
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInsertable:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 3 /* result */
        start local 3 // boolean result
         3: .line 2822
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 3 /* result */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberExisting:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifeq 5
      StackMap locals: int
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2823
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    6     1    receiver  Ljava/lang/Object;
            0    6     2  identifier  Ljava/lang/String;
            3    6     3      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean isMemberRemovable(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 2828
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2829
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2830
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberRemovable:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 3 /* result */
        start local 3 // boolean result
         3: .line 2831
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 3 /* result */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInsertable:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifeq 5
      StackMap locals: int
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2832
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    6     1    receiver  Ljava/lang/Object;
            0    6     2  identifier  Ljava/lang/String;
            3    6     3      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean isMemberInvocable(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 2837
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2838
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2839
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInvocable:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 3 /* result */
        start local 3 // boolean result
         3: .line 2840
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            iload 3 /* result */
            ifeq 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInsertable:(Ljava/lang/Object;Ljava/lang/String;)Z
            ifeq 5
      StackMap locals: int
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 2841
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    6     1    receiver  Ljava/lang/Object;
            0    6     2  identifier  Ljava/lang/String;
            3    6     3      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean isMemberInternal(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String identifier
         0: .line 2846
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2847
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2848
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberInternal:(Ljava/lang/Object;Ljava/lang/String;)Z
            istore 3 /* result */
        start local 3 // boolean result
         3: .line 2849
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            iload 3 /* result */
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2850
      StackMap locals: int
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // boolean result
        end local 2 // java.lang.String identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    5     1    receiver  Ljava/lang/Object;
            0    5     2  identifier  Ljava/lang/String;
            3    5     3      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean hasArrayElements(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2855
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    2     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object readArrayElement(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // long index
         0: .line 2861
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2862
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* index */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
            areturn
         2: .line 2864
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2865
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* index */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementReadable:(Ljava/lang/Object;J)Z
            istore 4 /* wasReadable */
        start local 4 // boolean wasReadable
         4: .line 2867
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* index */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
            astore 5 /* result */
        start local 5 // java.lang.Object result
         5: .line 2868
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            lload 2 /* index */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2869
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 4 /* wasReadable */
            ifne 7
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.isMultiThreaded:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            lload 2 /* index */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2870
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 1 /* receiver */
            aload 5 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validReturn:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 2871
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
         9: areturn
        end local 5 // java.lang.Object result
        10: .line 2872
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object long int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.InteropException e
        11: .line 2873
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 12
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.InvalidArrayIndexException
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 5 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 2874
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // com.oracle.truffle.api.interop.InteropException e
        end local 4 // boolean wasReadable
        end local 2 // long index
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1     receiver  Ljava/lang/Object;
            0   13     2        index  J
            4   13     4  wasReadable  Z
            5   10     5       result  Ljava/lang/Object;
           11   13     5            e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     9      10  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.InvalidArrayIndexException
    MethodParameters:
          Name  Flags
      receiver  
      index     

  public void writeArrayElement(java.lang.Object, long, java.lang.Object);
    descriptor: (Ljava/lang/Object;JLjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // long index
        start local 4 // java.lang.Object value
         0: .line 2880
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 3
         1: .line 2881
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* index */
            aload 4 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeArrayElement:(Ljava/lang/Object;JLjava/lang/Object;)V
         2: .line 2882
            return
         3: .line 2884
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2885
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 1 /* receiver */
            aload 4 /* value */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 2886
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* index */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementModifiable:(Ljava/lang/Object;J)Z
            ifne 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* index */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementInsertable:(Ljava/lang/Object;J)Z
            ifne 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* wasWritable */
        start local 5 // boolean wasWritable
         8: .line 2888
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* index */
            aload 4 /* value */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.writeArrayElement:(Ljava/lang/Object;JLjava/lang/Object;)V
         9: .line 2889
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            lload 2 /* index */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2890
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 14
            iload 5 /* wasWritable */
            ifne 14
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.isMultiThreaded:(Ljava/lang/Object;)Z
            ifne 14
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            lload 2 /* index */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 2891
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 6 /* e */
        start local 6 // com.oracle.truffle.api.interop.InteropException e
        12: .line 2892
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            aload 6 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 13
            aload 6 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedTypeException
            ifne 13
            aload 6 /* e */
            instanceof com.oracle.truffle.api.interop.InvalidArrayIndexException
            ifne 13
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 6 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 2893
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 6 /* e */
            athrow
        end local 6 // com.oracle.truffle.api.interop.InteropException e
        14: .line 2895
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean wasWritable
        end local 4 // java.lang.Object value
        end local 2 // long index
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   15     1     receiver  Ljava/lang/Object;
            0   15     2        index  J
            0   15     4        value  Ljava/lang/Object;
            8   15     5  wasWritable  Z
           12   14     6            e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           8    11      11  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.InvalidArrayIndexException
    MethodParameters:
          Name  Flags
      receiver  
      index     
      value     

  public void removeArrayElement(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // long index
         0: .line 2899
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 3
         1: .line 2900
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* index */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.removeArrayElement:(Ljava/lang/Object;J)V
         2: .line 2901
            return
         3: .line 2903
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2904
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* index */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementRemovable:(Ljava/lang/Object;J)Z
            istore 4 /* wasRemovable */
        start local 4 // boolean wasRemovable
         5: .line 2906
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* index */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.removeArrayElement:(Ljava/lang/Object;J)V
         6: .line 2907
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            lload 2 /* index */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2908
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            iload 4 /* wasRemovable */
            ifne 11
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.isMultiThreaded:(Ljava/lang/Object;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            lload 2 /* index */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 2909
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.InteropException e
         9: .line 2910
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 10
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.InvalidArrayIndexException
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 5 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2911
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // com.oracle.truffle.api.interop.InteropException e
        11: .line 2913
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean wasRemovable
        end local 2 // long index
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   12     1      receiver  Ljava/lang/Object;
            0   12     2         index  J
            5   12     4  wasRemovable  Z
            9   11     5             e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           5     8       8  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.InvalidArrayIndexException
    MethodParameters:
          Name  Flags
      receiver  
      index     

  public long getArraySize(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2917
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2919
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
            lstore 2 /* result */
        start local 2 // long result
         2: .line 2920
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 2921
      StackMap locals: long
      StackMap stack:
            lload 2 /* result */
         4: lreturn
        end local 2 // long result
         5: .line 2922
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 2 /* e */
        start local 2 // com.oracle.truffle.api.interop.InteropException e
         6: .line 2923
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 2 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 2 /* e */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2924
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            aload 2 /* e */
            athrow
        end local 2 // com.oracle.truffle.api.interop.InteropException e
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    8     1  receiver  Ljava/lang/Object;
            2    5     2    result  J
            6    8     2         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           1     4       5  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isArrayElementReadable(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // long identifier
         0: .line 2930
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2931
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementReadable:(Ljava/lang/Object;J)Z
            istore 4 /* result */
        start local 4 // boolean result
         2: .line 2932
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            iload 4 /* result */
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifeq 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementInsertable:(Ljava/lang/Object;J)Z
            ifeq 4
      StackMap locals: int
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2933
      StackMap locals:
      StackMap stack:
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 2 // long identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    5     1    receiver  Ljava/lang/Object;
            0    5     2  identifier  J
            2    5     4      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean isArrayElementModifiable(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // long identifier
         0: .line 2938
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementModifiable:(Ljava/lang/Object;J)Z
            istore 4 /* result */
        start local 4 // boolean result
         2: .line 2940
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            iload 4 /* result */
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifeq 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementInsertable:(Ljava/lang/Object;J)Z
            ifeq 4
      StackMap locals: int
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2941
      StackMap locals:
      StackMap stack:
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 2 // long identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    5     1    receiver  Ljava/lang/Object;
            0    5     2  identifier  J
            2    5     4      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean isArrayElementInsertable(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // long identifier
         0: .line 2946
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2947
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementInsertable:(Ljava/lang/Object;J)Z
            istore 4 /* result */
        start local 4 // boolean result
         2: .line 2948
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            iload 4 /* result */
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifeq 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementExisting:(Ljava/lang/Object;J)Z
            ifeq 4
      StackMap locals: int
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2949
      StackMap locals:
      StackMap stack:
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 2 // long identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    5     1    receiver  Ljava/lang/Object;
            0    5     2  identifier  J
            2    5     4      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean isArrayElementRemovable(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // long identifier
         0: .line 2954
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2955
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementRemovable:(Ljava/lang/Object;J)Z
            istore 4 /* result */
        start local 4 // boolean result
         2: .line 2956
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            iload 4 /* result */
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifeq 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementInsertable:(Ljava/lang/Object;J)Z
            ifeq 4
      StackMap locals: int
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            lload 2 /* identifier */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;J)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2957
      StackMap locals:
      StackMap stack:
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 2 // long identifier
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    5     1    receiver  Ljava/lang/Object;
            0    5     2  identifier  J
            2    5     4      result  Z
    MethodParameters:
            Name  Flags
      receiver    
      identifier  

  public boolean isPointer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2962
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2963
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isPointer:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 2964
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  receiver  Ljava/lang/Object;
            2    3     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public void toNative(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2969
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2970
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isPointer:(Ljava/lang/Object;)Z
            istore 2 /* wasPointer */
        start local 2 // boolean wasPointer
         2: .line 2971
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.toNative:(Ljava/lang/Object;)V
         3: .line 2972
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            iload 2 /* wasPointer */
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isPointer:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2973
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // boolean wasPointer
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    5     1    receiver  Ljava/lang/Object;
            2    5     2  wasPointer  Z
    MethodParameters:
          Name  Flags
      receiver  

  public long asPointer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2977
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2978
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asPointer:(Ljava/lang/Object;)J
            lreturn
         2: .line 2981
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isPointer:(Ljava/lang/Object;)Z
            istore 2 /* wasPointer */
        start local 2 // boolean wasPointer
         4: .line 2984
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asPointer:(Ljava/lang/Object;)J
            lstore 3 /* result */
        start local 3 // long result
         5: .line 2985
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasPointer */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 2986
      StackMap locals: int long
      StackMap stack:
            lload 3 /* result */
         7: lreturn
        end local 3 // long result
         8: .line 2987
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
         9: .line 2988
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 2989
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            iload 2 /* wasPointer */
            ifeq 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 2990
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasPointer
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   12     1    receiver  Ljava/lang/Object;
            4   12     2  wasPointer  Z
            5    8     3      result  J
            9   12     3           e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     7       8  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public java.time.LocalDate asDate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/LocalDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 2996
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 2997
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDate:(Ljava/lang/Object;)Ljava/time/LocalDate;
            areturn
         2: .line 2999
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3000
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            istore 2 /* hasDate */
        start local 2 // boolean hasDate
         4: .line 3002
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDate:(Ljava/lang/Object;)Ljava/time/LocalDate;
            astore 3 /* result */
        start local 3 // java.time.LocalDate result
         5: .line 3003
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* hasDate */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3004
      StackMap locals: int java.time.LocalDate
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            ifeq 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 3005
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DATE_TIME_ZONE:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 3006
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         9: areturn
        end local 3 // java.time.LocalDate result
        10: .line 3007
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        11: .line 3008
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3009
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            iload 2 /* hasDate */
            ifeq 13
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 3010
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 14
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            ifeq 14
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            ifeq 14
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.hasFixedTimeZone:(Ljava/lang/Object;)Z
            ifne 14
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 3011
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean hasDate
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   15     1  receiver  Ljava/lang/Object;
            4   15     2   hasDate  Z
            5   10     3    result  Ljava/time/LocalDate;
           11   15     3         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     9      10  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public java.time.LocalTime asTime(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/LocalTime;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3017
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3018
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTime:(Ljava/lang/Object;)Ljava/time/LocalTime;
            areturn
         2: .line 3020
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            istore 2 /* hasTime */
        start local 2 // boolean hasTime
         4: .line 3023
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTime:(Ljava/lang/Object;)Ljava/time/LocalTime;
            astore 3 /* result */
        start local 3 // java.time.LocalTime result
         5: .line 3024
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* hasTime */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3025
      StackMap locals: int java.time.LocalTime
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            ifeq 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            ifne 7
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.hasFixedTimeZone:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 3026
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DATE_TIME_ZONE:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 3027
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         9: areturn
        end local 3 // java.time.LocalTime result
        10: .line 3028
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        11: .line 3029
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3030
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            iload 2 /* hasTime */
            ifeq 13
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 3031
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 14
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            ifeq 14
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            ifeq 14
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 3032
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean hasTime
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   15     1  receiver  Ljava/lang/Object;
            4   15     2   hasTime  Z
            5   10     3    result  Ljava/time/LocalTime;
           11   15     3         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     9      10  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public java.time.ZoneId asTimeZone(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/ZoneId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3038
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3039
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
            areturn
         2: .line 3041
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3042
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            istore 2 /* hasTimeZone */
        start local 2 // boolean hasTimeZone
         4: .line 3044
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
            astore 3 /* result */
        start local 3 // java.time.ZoneId result
         5: .line 3045
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* hasTimeZone */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3046
      StackMap locals: int java.time.ZoneId
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            ifne 7
            aload 3 /* result */
            invokevirtual java.time.ZoneId.getRules:()Ljava/time/zone/ZoneRules;
            invokevirtual java.time.zone.ZoneRules.isFixedOffset:()Z
            ifeq 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            ifne 10
         8: .line 3047
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            ifne 9
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            ifeq 10
      StackMap locals:
      StackMap stack:
         9: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 3048
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DATE_TIME_ZONE:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 3049
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
        12: areturn
        end local 3 // java.time.ZoneId result
        13: .line 3050
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        14: .line 3051
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 15
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 15
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 3052
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 16
            iload 2 /* hasTimeZone */
            ifeq 16
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 3053
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean hasTimeZone
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   17     1     receiver  Ljava/lang/Object;
            4   17     2  hasTimeZone  Z
            5   13     3       result  Ljava/time/ZoneId;
           14   17     3            e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4    12      13  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  private boolean hasFixedTimeZone(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3059
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
            invokevirtual java.time.ZoneId.getRules:()Ljava/time/zone/ZoneRules;
            invokevirtual java.time.zone.ZoneRules.isFixedOffset:()Z
         1: ireturn
         2: .line 3060
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            pop
         3: .line 3061
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    4     1  receiver  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.truffle.api.interop.InteropException
    MethodParameters:
          Name  Flags
      receiver  

  public java.time.Duration asDuration(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3067
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3068
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDuration:(Ljava/lang/Object;)Ljava/time/Duration;
            areturn
         2: .line 3070
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3071
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDuration:(Ljava/lang/Object;)Z
            istore 2 /* wasDuration */
        start local 2 // boolean wasDuration
         4: .line 3073
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDuration:(Ljava/lang/Object;)Ljava/time/Duration;
            astore 3 /* result */
        start local 3 // java.time.Duration result
         5: .line 3074
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasDuration */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3075
      StackMap locals: int java.time.Duration
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DURATION:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3076
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         8: areturn
        end local 3 // java.time.Duration result
         9: .line 3077
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3078
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3079
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasDuration */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3080
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasDuration
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1     receiver  Ljava/lang/Object;
            4   13     2  wasDuration  Z
            5    9     3       result  Ljava/time/Duration;
           10   13     3            e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public java.time.Instant asInstant(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/time/Instant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3086
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3087
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInstant:(Ljava/lang/Object;)Ljava/time/Instant;
            areturn
         2: .line 3089
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            ifeq 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 2 /* hasDateAndTime */
        start local 2 // boolean hasDateAndTime
         6: .line 3092
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInstant:(Ljava/lang/Object;)Ljava/time/Instant;
            astore 3 /* result */
        start local 3 // java.time.Instant result
         7: .line 3093
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            iload 2 /* hasDateAndTime */
            ifne 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 3094
      StackMap locals: int java.time.Instant
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDate:(Ljava/lang/Object;)Ljava/time/LocalDate;
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTime:(Ljava/lang/Object;)Ljava/time/LocalTime;
         9: .line 3095
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
        10: .line 3094
            invokestatic java.time.ZonedDateTime.of:(Ljava/time/LocalDate;Ljava/time/LocalTime;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
        11: .line 3096
            invokevirtual java.time.ZonedDateTime.toInstant:()Ljava/time/Instant;
            aload 3 /* result */
            invokevirtual java.time.Instant.equals:(Ljava/lang/Object;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3097
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DATE_TIME_ZONE:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 3098
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
        14: areturn
        end local 3 // java.time.Instant result
        15: .line 3099
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        16: .line 3100
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 17
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 17
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        17: .line 3101
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 18
            iload 2 /* hasDateAndTime */
            ifeq 18
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        18: .line 3102
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean hasDateAndTime
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   19     1        receiver  Ljava/lang/Object;
            6   19     2  hasDateAndTime  Z
            7   15     3          result  Ljava/time/Instant;
           16   19     3               e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           6    14      15  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isDate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3108
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3110
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            ifeq 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            ifeq 3
            iload 2 /* result */
            ifne 6
      StackMap locals: int
      StackMap stack:
         3: aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.hasFixedTimeZone:(Ljava/lang/Object;)Z
            ifeq 5
      StackMap locals:
      StackMap stack:
         4: iload 2 /* result */
            ifeq 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3111
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 2 /* result */
            ifeq 7
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DATE_TIME_ZONE:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3112
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    8     1  receiver  Ljava/lang/Object;
            2    8     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isTime(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3117
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3119
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            ifeq 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            ifne 3
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.hasFixedTimeZone:(Ljava/lang/Object;)Z
            ifeq 4
      StackMap locals: int
      StackMap stack:
         3: iload 2 /* result */
            ifne 6
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            ifne 5
            iload 2 /* result */
            ifeq 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3120
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 2 /* result */
            ifeq 7
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DATE_TIME_ZONE:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3121
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    8     1  receiver  Ljava/lang/Object;
            2    8     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isTimeZone(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3126
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3128
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* result */
            ifeq 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            ifne 3
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.hasFixedTimeZone:(Ljava/lang/Object;)Z
            ifeq 4
      StackMap locals: int
      StackMap stack:
         3: aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 3129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            ifne 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            ifeq 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3130
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 2 /* result */
            ifeq 7
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DATE_TIME_ZONE:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3131
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    8     1  receiver  Ljava/lang/Object;
            2    8     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isDuration(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3136
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDuration:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3138
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            iload 2 /* result */
            ifeq 3
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.DURATION:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3139
      StackMap locals: int
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    4     1  receiver  Ljava/lang/Object;
            2    4     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isException(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3144
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isException:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3146
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  receiver  Ljava/lang/Object;
            2    3     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public com.oracle.truffle.api.interop.ExceptionType getExceptionType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/ExceptionType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3151
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionType:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/ExceptionType;
            astore 2 /* result */
        start local 2 // com.oracle.truffle.api.interop.ExceptionType result
         2: .line 3153
            aload 2 /* result */
            areturn
        end local 2 // com.oracle.truffle.api.interop.ExceptionType result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  receiver  Ljava/lang/Object;
            2    3     2    result  Lcom/oracle/truffle/api/interop/ExceptionType;
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isExceptionIncompleteSource(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3158
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3159
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExceptionIncompleteSource:(Ljava/lang/Object;)Z
            ireturn
         2: .line 3161
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionType:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/ExceptionType;
            getstatic com.oracle.truffle.api.interop.ExceptionType.PARSE_ERROR:Lcom/oracle/truffle/api/interop/ExceptionType;
            if_acmpne 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 2 /* wasParseError */
        start local 2 // boolean wasParseError
         6: .line 3165
            goto 9
        end local 2 // boolean wasParseError
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
         7: pop
         8: .line 3166
            iconst_0
            istore 2 /* wasParseError */
        start local 2 // boolean wasParseError
         9: .line 3169
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExceptionIncompleteSource:(Ljava/lang/Object;)Z
            istore 3 /* result */
        start local 3 // boolean result
        10: .line 3170
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            iload 3 /* result */
            ifeq 11
            iload 2 /* wasParseError */
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3171
      StackMap locals: int
      StackMap stack:
            iload 3 /* result */
        12: ireturn
        end local 3 // boolean result
        13: .line 3172
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        14: .line 3173
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 15
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 15
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 3174
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 16
            iload 2 /* wasParseError */
            ifeq 16
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 3175
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasParseError
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   17     1       receiver  Ljava/lang/Object;
            6    7     2  wasParseError  Z
            9   17     2  wasParseError  Z
           10   13     3         result  Z
           14   17     3              e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           3     6       7  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           9    12      13  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public int getExceptionExitStatus(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3181
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3182
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionExitStatus:(Ljava/lang/Object;)I
            ireturn
         2: .line 3184
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionType:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/ExceptionType;
            getstatic com.oracle.truffle.api.interop.ExceptionType.EXIT:Lcom/oracle/truffle/api/interop/ExceptionType;
            if_acmpne 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 2 /* wasExit */
        start local 2 // boolean wasExit
         6: .line 3188
            goto 9
        end local 2 // boolean wasExit
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
         7: pop
         8: .line 3189
            iconst_0
            istore 2 /* wasExit */
        start local 2 // boolean wasExit
         9: .line 3192
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionExitStatus:(Ljava/lang/Object;)I
            istore 3 /* result */
        start local 3 // int result
        10: .line 3193
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            iload 2 /* wasExit */
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3194
      StackMap locals: int
      StackMap stack:
            iload 3 /* result */
        12: ireturn
        end local 3 // int result
        13: .line 3195
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        14: .line 3196
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 15
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 15
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 3197
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 16
            iload 2 /* wasExit */
            ifeq 16
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 3198
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasExit
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   17     1  receiver  Ljava/lang/Object;
            6    7     2   wasExit  Z
            9   17     2   wasExit  Z
           10   13     3    result  I
           14   17     3         e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           3     6       7  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           9    12      13  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.RuntimeException throwException(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/RuntimeException;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3204
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3205
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.throwException:(Ljava/lang/Object;)Ljava/lang/RuntimeException;
            areturn
         2: .line 3207
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isException:(Ljava/lang/Object;)Z
            istore 2 /* wasException */
        start local 2 // boolean wasException
         4: .line 3209
            iconst_0
            istore 3 /* wasTruffleException */
        start local 3 // boolean wasTruffleException
         5: .line 3210
            iconst_0
            istore 4 /* unsupported */
        start local 4 // boolean unsupported
         6: .line 3212
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.throwException:(Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
         7: .line 3213
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int int int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.InteropException e
         8: .line 3214
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            aload 5 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 9
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 3215
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            iload 2 /* wasException */
            ifeq 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 3216
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* unsupported */
        11: .line 3217
            aload 5 /* e */
            athrow
        end local 5 // com.oracle.truffle.api.interop.InteropException e
        12: .line 3218
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int int int
      StackMap stack: java.lang.Throwable
            astore 5 /* e */
        start local 5 // java.lang.Throwable e
        13: .line 3219
            aload 5 /* e */
            invokestatic com.oracle.truffle.api.interop.LegacyTruffleExceptionSupport.isTruffleException:(Ljava/lang/Object;)Z
            istore 3 /* wasTruffleException */
        14: .line 3220
            aload 5 /* e */
            athrow
        end local 5 // java.lang.Throwable e
        15: .line 3221
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        16: .line 3222
            iload 4 /* unsupported */
            ifne 19
        17: .line 3223
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 18
            iload 2 /* wasException */
            ifne 18
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        18: .line 3224
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int int int top java.lang.Throwable
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 19
            iload 3 /* wasTruffleException */
            ifne 19
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        19: .line 3226
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        end local 4 // boolean unsupported
        end local 3 // boolean wasTruffleException
        end local 2 // boolean wasException
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   20     0                 this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   20     1             receiver  Ljava/lang/Object;
            4   20     2         wasException  Z
            5   20     3  wasTruffleException  Z
            6   20     4          unsupported  Z
            8   12     5                    e  Lcom/oracle/truffle/api/interop/InteropException;
           13   15     5                    e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6     7       7  Class com.oracle.truffle.api.interop.InteropException
           6     7      12  Class java.lang.Throwable
           6    15      15  any
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean hasExceptionCause(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3231
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasExceptionCause:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3233
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  receiver  Ljava/lang/Object;
            2    3     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object getExceptionCause(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3238
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3239
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionCause:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 3241
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasExceptionCause:(Ljava/lang/Object;)Z
            istore 2 /* wasHasExceptionCause */
        start local 2 // boolean wasHasExceptionCause
         4: .line 3244
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionCause:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         5: .line 3245
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasHasExceptionCause */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3246
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.assertException:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3247
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         8: areturn
        end local 3 // java.lang.Object result
         9: .line 3248
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3249
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3250
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasHasExceptionCause */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3251
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasHasExceptionCause
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0                  this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1              receiver  Ljava/lang/Object;
            4   13     2  wasHasExceptionCause  Z
            5    9     3                result  Ljava/lang/Object;
           10   13     3                     e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  private static boolean assertException(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Object receiver
        start local 1 // java.lang.Object exception
         0: .line 3256
            aload 1 /* exception */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
            astore 2 /* uncached */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary uncached
         1: .line 3257
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 2 /* uncached */
            aload 1 /* exception */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isException:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* exception */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 3258
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary uncached
        end local 1 // java.lang.Object exception
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0   receiver  Ljava/lang/Object;
            0    3     1  exception  Ljava/lang/Object;
            1    3     2   uncached  Lcom/oracle/truffle/api/interop/InteropLibrary;
    MethodParameters:
           Name  Flags
      receiver   
      exception  

  public boolean hasExceptionMessage(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3263
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasExceptionMessage:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3265
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  receiver  Ljava/lang/Object;
            2    3     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object getExceptionMessage(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3270
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3271
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionMessage:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 3273
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasExceptionMessage:(Ljava/lang/Object;)Z
            istore 2 /* wasHasExceptionMessage */
        start local 2 // boolean wasHasExceptionMessage
         4: .line 3276
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionMessage:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         5: .line 3277
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasHasExceptionMessage */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3278
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.assertString:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3279
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         8: areturn
        end local 3 // java.lang.Object result
         9: .line 3280
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3281
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3282
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasHasExceptionMessage */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3283
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasHasExceptionMessage
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   13     0                    this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1                receiver  Ljava/lang/Object;
            4   13     2  wasHasExceptionMessage  Z
            5    9     3                  result  Ljava/lang/Object;
           10   13     3                       e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean hasExceptionStackTrace(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3289
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasExceptionStackTrace:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3291
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  receiver  Ljava/lang/Object;
            2    3     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object getExceptionStackTrace(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3296
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3297
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionStackTrace:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 3299
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasExceptionStackTrace:(Ljava/lang/Object;)Z
            istore 2 /* wasHasExceptionStackTrace */
        start local 2 // boolean wasHasExceptionStackTrace
         4: .line 3302
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExceptionStackTrace:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         5: .line 3303
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasHasExceptionStackTrace */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3304
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.verifyStackTrace:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3305
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         8: areturn
        end local 3 // java.lang.Object result
         9: .line 3306
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3307
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3308
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasHasExceptionStackTrace */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3309
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasHasExceptionStackTrace
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   13     0                       this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1                   receiver  Ljava/lang/Object;
            4   13     2  wasHasExceptionStackTrace  Z
            5    9     3                     result  Ljava/lang/Object;
           10   13     3                          e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  private static boolean verifyStackTrace(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Object receiver
        start local 1 // java.lang.Object stackTrace
         0: .line 3314
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* stackTrace */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* stackTrace */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 3315
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 1 /* stackTrace */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* stackTraceLib */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary stackTraceLib
         2: .line 3316
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 2 /* stackTraceLib */
            aload 1 /* stackTrace */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* stackTrace */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 3317
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary stackTraceLib
        end local 1 // java.lang.Object stackTrace
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0       receiver  Ljava/lang/Object;
            0    4     1     stackTrace  Ljava/lang/Object;
            2    4     2  stackTraceLib  Lcom/oracle/truffle/api/interop/InteropLibrary;
    MethodParameters:
            Name  Flags
      receiver    
      stackTrace  

  public boolean hasExecutableName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3322
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasExecutableName:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3324
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  receiver  Ljava/lang/Object;
            2    3     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object getExecutableName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3329
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3330
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExecutableName:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 3332
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasExecutableName:(Ljava/lang/Object;)Z
            istore 2 /* wasHasExecutableName */
        start local 2 // boolean wasHasExecutableName
         4: .line 3335
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getExecutableName:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         5: .line 3336
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasHasExecutableName */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3337
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.assertString:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3338
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         8: areturn
        end local 3 // java.lang.Object result
         9: .line 3339
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3340
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3341
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasHasExecutableName */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3342
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasHasExecutableName
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0                  this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1              receiver  Ljava/lang/Object;
            4   13     2  wasHasExecutableName  Z
            5    9     3                result  Ljava/lang/Object;
           10   13     3                     e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean hasDeclaringMetaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3348
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasDeclaringMetaObject:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3350
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    3     1  receiver  Ljava/lang/Object;
            2    3     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object getDeclaringMetaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3355
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3356
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getDeclaringMetaObject:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 3358
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasDeclaringMetaObject:(Ljava/lang/Object;)Z
            istore 2 /* wasHasDeclaringMetaObject */
        start local 2 // boolean wasHasDeclaringMetaObject
         4: .line 3361
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getDeclaringMetaObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         5: .line 3362
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasHasDeclaringMetaObject */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3363
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.verifyDeclaringMetaObject:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3364
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         8: areturn
        end local 3 // java.lang.Object result
         9: .line 3365
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3366
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3367
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasHasDeclaringMetaObject */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3368
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasHasDeclaringMetaObject
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   13     0                       this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1                   receiver  Ljava/lang/Object;
            4   13     2  wasHasDeclaringMetaObject  Z
            5    9     3                     result  Ljava/lang/Object;
           10   13     3                          e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  private static boolean verifyDeclaringMetaObject(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Object receiver
        start local 1 // java.lang.Object meta
         0: .line 3373
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* meta */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* meta */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 3374
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 1 /* meta */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* metaLib */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary metaLib
         2: .line 3375
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 2 /* metaLib */
            aload 1 /* meta */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaObject:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* meta */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 3377
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 2 /* metaLib */
            aload 1 /* meta */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaSimpleName:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 4
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* meta */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 3378
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 2 /* metaLib */
            aload 1 /* meta */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaQualifiedName:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 7
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* meta */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 3379
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         6: .line 3380
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* meta */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 3382
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary metaLib
        end local 1 // java.lang.Object meta
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  receiver  Ljava/lang/Object;
            0    8     1      meta  Ljava/lang/Object;
            2    8     2   metaLib  Lcom/oracle/truffle/api/interop/InteropLibrary;
      Exception table:
        from    to  target  type
           3     5       5  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  
      meta      

  public java.lang.Object toDisplayString(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // boolean allowSideEffects
         0: .line 3387
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3388
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            iload 2 /* allowSideEffects */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validNonInteropArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 3389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            iload 2 /* allowSideEffects */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.toDisplayString:(Ljava/lang/Object;Z)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         3: .line 3390
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.assertString:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 3391
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object result
        end local 2 // boolean allowSideEffects
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    5     1          receiver  Ljava/lang/Object;
            0    5     2  allowSideEffects  Z
            3    5     3            result  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      receiver          
      allowSideEffects  

  public boolean hasSourceLocation(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3396
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3397
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasSourceLocation:(Ljava/lang/Object;)Z
            ireturn
         2: .line 3399
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasSourceLocation:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         4: .line 3401
            iload 2 /* result */
            ifeq 10
         5: .line 3403
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getSourceLocation:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
            ifnonnull 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            iload 2 /* result */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3404
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            pop
         7: .line 3405
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 3406
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         9: .line 3408
            goto 11
        10: .line 3409
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.assertHasNoSourceSection:(Ljava/lang/Object;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 3411
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   12     1  receiver  Ljava/lang/Object;
            4   12     2    result  Z
      Exception table:
        from    to  target  type
           5     6       6  Class com.oracle.truffle.api.interop.InteropException
           5     6       8  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  

  private boolean assertHasNoSourceSection(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3416
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getSourceLocation:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
            pop
         1: .line 3417
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 3418
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         3: .line 3420
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    4     1  receiver  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     2       2  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public com.oracle.truffle.api.source.SourceSection getSourceLocation(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3425
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3426
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getSourceLocation:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
            areturn
         2: .line 3428
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasSourceLocation:(Ljava/lang/Object;)Z
            istore 2 /* wasHasSourceLocation */
        start local 2 // boolean wasHasSourceLocation
         4: .line 3431
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getSourceLocation:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
            astore 3 /* result */
        start local 3 // com.oracle.truffle.api.source.SourceSection result
         5: .line 3432
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasHasSourceLocation */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3433
      StackMap locals: int com.oracle.truffle.api.source.SourceSection
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 3 /* result */
            ifnonnull 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 3434
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         8: areturn
        end local 3 // com.oracle.truffle.api.source.SourceSection result
         9: .line 3435
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3436
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3437
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasHasSourceLocation */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3438
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasHasSourceLocation
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0                  this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1              receiver  Ljava/lang/Object;
            4   13     2  wasHasSourceLocation  Z
            5    9     3                result  Lcom/oracle/truffle/api/source/SourceSection;
           10   13     3                     e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean hasLanguage(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3444
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasLanguage:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3446
            iload 2 /* result */
            ifeq 8
         3: .line 3448
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getLanguage:(Ljava/lang/Object;)Ljava/lang/Class;
            ifnonnull 9
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            iload 2 /* result */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 3449
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            pop
         5: .line 3450
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3451
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         7: .line 3453
            goto 9
         8: .line 3454
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.assertHasNoLanguage:(Ljava/lang/Object;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 3456
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   10     1  receiver  Ljava/lang/Object;
            2   10     2    result  Z
      Exception table:
        from    to  target  type
           3     4       4  Class com.oracle.truffle.api.interop.InteropException
           3     4       6  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  

  private boolean assertHasNoLanguage(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3461
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getLanguage:(Ljava/lang/Object;)Ljava/lang/Class;
            pop
         1: .line 3462
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 3463
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         3: .line 3465
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    4     1  receiver  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     2       2  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>> getLanguage();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3470
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3471
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getLanguage:(Ljava/lang/Object;)Ljava/lang/Class;
            areturn
         2: .line 3473
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasLanguage:(Ljava/lang/Object;)Z
            istore 2 /* wasHasLanguage */
        start local 2 // boolean wasHasLanguage
         4: .line 3476
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getLanguage:(Ljava/lang/Object;)Ljava/lang/Class;
            astore 3 /* result */
        start local 3 // java.lang.Class result
         5: .line 3477
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasHasLanguage */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3478
      StackMap locals: int java.lang.Class
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 3 /* result */
            ifnonnull 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 3479
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         8: areturn
        end local 3 // java.lang.Class result
         9: .line 3480
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3481
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3482
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasHasLanguage */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3483
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasHasLanguage
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1        receiver  Ljava/lang/Object;
            4   13     2  wasHasLanguage  Z
            5    9     3          result  Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
           10   13     3               e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    Signature: (Ljava/lang/Object;)Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
    MethodParameters:
          Name  Flags
      receiver  

  public boolean hasMetaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3489
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMetaObject:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3491
            iload 2 /* result */
            ifeq 4
         3: .line 3492
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            aload 1 /* receiver */
            iload 2 /* result */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.assertHasMetaObject:(Ljava/lang/Object;Z)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 3494
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.assertHasNoMetaObject:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 3496
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    6     1  receiver  Ljava/lang/Object;
            2    6     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  private boolean assertHasMetaObject(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // boolean result
         0: .line 3501
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* meta */
        start local 3 // java.lang.Object meta
         1: .line 3502
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 1 /* receiver */
            aload 3 /* meta */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.verifyMetaObject:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 3 // java.lang.Object meta
         2: .line 3503
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            pop
         3: .line 3504
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 3505
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         5: .line 3507
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    6     1  receiver  Ljava/lang/Object;
            0    6     2    result  Z
            1    2     3      meta  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     2       2  Class com.oracle.truffle.api.interop.InteropException
           0     2       4  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      receiver  
      result    

  private static boolean verifyMetaObject(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Object receiver
        start local 1 // java.lang.Object meta
         0: .line 3511
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* meta */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* meta */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 3512
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            aload 1 /* meta */
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* metaLib */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary metaLib
         2: .line 3513
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 2 /* metaLib */
            aload 1 /* meta */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaObject:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* meta */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 3514
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 2 /* metaLib */
            aload 1 /* meta */
            aload 0 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaInstance:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* meta */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 3515
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 2 /* metaLib */
            aload 1 /* meta */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaSimpleName:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 5
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* meta */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 3516
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            aload 2 /* metaLib */
            aload 1 /* meta */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaQualifiedName:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 6
            new java.lang.AssertionError
            dup
            aload 0 /* receiver */
            aload 1 /* meta */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3517
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary metaLib
        end local 1 // java.lang.Object meta
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  receiver  Ljava/lang/Object;
            0    7     1      meta  Ljava/lang/Object;
            2    7     2   metaLib  Lcom/oracle/truffle/api/interop/InteropLibrary;
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  
      meta      

  private boolean assertHasNoMetaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3522
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaObject:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 3523
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 3524
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         3: .line 3526
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    4     1  receiver  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     2       2  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object getMetaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3531
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3532
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaObject:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 3534
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMetaObject:(Ljava/lang/Object;)Z
            istore 2 /* wasHasMetaObject */
        start local 2 // boolean wasHasMetaObject
         4: .line 3537
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         5: .line 3538
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasHasMetaObject */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3539
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.verifyMetaObject:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3540
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 3 /* result */
            ifnonnull 8
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationPost:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 3541
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         9: areturn
        end local 3 // java.lang.Object result
        10: .line 3542
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        11: .line 3543
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3544
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            iload 2 /* wasHasMetaObject */
            ifeq 13
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 3545
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasHasMetaObject
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   14     1          receiver  Ljava/lang/Object;
            4   14     2  wasHasMetaObject  Z
            5   10     3            result  Ljava/lang/Object;
           11   14     3                 e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     9      10  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isMetaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3551
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3552
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaObject:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3553
            iload 2 /* result */
            ifeq 4
         3: .line 3554
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.assertMetaObject:(Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 3556
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.assertNoMetaObject:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 3557
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* result */
            ifeq 6
            aload 0 /* this */
            aload 1 /* receiver */
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type.META_OBJECT:Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.notOtherType:(Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts$Type;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 3559
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    7     1  receiver  Ljava/lang/Object;
            2    7     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  private boolean assertNoMetaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3564
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaInstance:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         1: .line 3565
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 3566
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         3: .line 3569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaSimpleName:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 3570
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 3571
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         6: .line 3574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaQualifiedName:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 3575
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 3576
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         9: .line 3578
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   10     1  receiver  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     2       2  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           3     5       5  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           6     8       8  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  private boolean assertMetaObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3583
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaInstance:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         1: .line 3584
            goto 4
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
         2: pop
         3: .line 3585
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 3588
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 1 /* receiver */
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaSimpleName:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.api.interop.AssertUtils.assertString:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 3589
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         6: .line 3590
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 3593
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            aload 1 /* receiver */
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaQualifiedName:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.api.interop.AssertUtils.assertString:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 3594
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         9: .line 3595
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 3597
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   11     1  receiver  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           4     5       5  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           7     8       8  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object getMetaQualifiedName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3602
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3603
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaQualifiedName:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 3605
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaObject:(Ljava/lang/Object;)Z
            istore 2 /* wasMetaObject */
        start local 2 // boolean wasMetaObject
         4: .line 3608
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaQualifiedName:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         5: .line 3609
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasMetaObject */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3610
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.assertString:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3611
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         8: areturn
        end local 3 // java.lang.Object result
         9: .line 3612
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3613
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3614
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasMetaObject */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3615
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasMetaObject
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1       receiver  Ljava/lang/Object;
            4   13     2  wasMetaObject  Z
            5    9     3         result  Ljava/lang/Object;
           10   13     3              e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object getMetaSimpleName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3621
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3622
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaSimpleName:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 3624
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaObject:(Ljava/lang/Object;)Z
            istore 2 /* wasMetaObject */
        start local 2 // boolean wasMetaObject
         4: .line 3627
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaSimpleName:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         5: .line 3628
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* wasMetaObject */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3629
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 1 /* receiver */
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.assertString:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3630
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         8: areturn
        end local 3 // java.lang.Object result
         9: .line 3631
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3632
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3633
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 2 /* wasMetaObject */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3634
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean wasMetaObject
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1       receiver  Ljava/lang/Object;
            4   13     2  wasMetaObject  Z
            5    9     3         result  Ljava/lang/Object;
           10   13     3              e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isMetaInstance(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object instance
         0: .line 3640
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3641
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* instance */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaInstance:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
         2: .line 3643
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3644
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 1 /* receiver */
            aload 2 /* instance */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 3645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaObject:(Ljava/lang/Object;)Z
            istore 3 /* wasMetaObject */
        start local 3 // boolean wasMetaObject
         5: .line 3647
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* instance */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMetaInstance:(Ljava/lang/Object;Ljava/lang/Object;)Z
            istore 4 /* result */
        start local 4 // boolean result
         6: .line 3648
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            iload 3 /* wasMetaObject */
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 3649
      StackMap locals: int int
      StackMap stack:
            iload 4 /* result */
         8: ireturn
        end local 4 // boolean result
         9: .line 3650
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 4 /* e */
        start local 4 // com.oracle.truffle.api.interop.InteropException e
        10: .line 3651
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 11
            aload 4 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 11
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3652
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            iload 3 /* wasMetaObject */
            ifeq 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3653
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // com.oracle.truffle.api.interop.InteropException e
        end local 3 // boolean wasMetaObject
        end local 2 // java.lang.Object instance
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1       receiver  Ljava/lang/Object;
            0   13     2       instance  Ljava/lang/Object;
            5   13     3  wasMetaObject  Z
            6    9     4         result  Z
           10   13     4              e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           5     8       9  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  
      instance  

  protected com.oracle.truffle.api.utilities.TriState isIdenticalOrUndefined(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/api/utilities/TriState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object other
         0: .line 3659
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3660
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            aload 2 /* other */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 3661
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* other */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdenticalOrUndefined:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/api/utilities/TriState;
            astore 3 /* result */
        start local 3 // com.oracle.truffle.api.utilities.TriState result
         3: .line 3662
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 3 /* result */
            aload 1 /* receiver */
            aload 2 /* other */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.verifyIsSameOrUndefined:(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/utilities/TriState;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 3663
      StackMap locals: com.oracle.truffle.api.utilities.TriState
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // com.oracle.truffle.api.utilities.TriState result
        end local 2 // java.lang.Object other
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    5     1  receiver  Ljava/lang/Object;
            0    5     2     other  Ljava/lang/Object;
            3    5     3    result  Lcom/oracle/truffle/api/utilities/TriState;
    MethodParameters:
          Name  Flags
      receiver  
      other     

  static boolean verifyIsSameOrUndefined(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.utilities.TriState, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/utilities/TriState;Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary library
        start local 1 // com.oracle.truffle.api.utilities.TriState result
        start local 2 // java.lang.Object receiver
        start local 3 // java.lang.Object other
         0: .line 3667
            aload 1 /* result */
            getstatic com.oracle.truffle.api.utilities.TriState.UNDEFINED:Lcom/oracle/truffle/api/utilities/TriState;
            if_acmpeq 5
         1: .line 3670
            aload 0 /* library */
            aload 2 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
            pop
         2: .line 3671
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: astore 4 /* t */
        start local 4 // java.lang.Exception t
         4: .line 3672
            aload 4 /* t */
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.Exception t
         5: .line 3675
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.lang.Object other
        end local 2 // java.lang.Object receiver
        end local 1 // com.oracle.truffle.api.utilities.TriState result
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary library
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0   library  Lcom/oracle/truffle/api/interop/InteropLibrary;
            0    6     1    result  Lcom/oracle/truffle/api/utilities/TriState;
            0    6     2  receiver  Ljava/lang/Object;
            0    6     3     other  Ljava/lang/Object;
            4    5     4         t  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      library   
      result    
      receiver  
      other     

  public int identityHashCode(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3680
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
            istore 2 /* result */
        start local 2 // int result
         2: .line 3684
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasIdentity:(Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // int result
         3: .line 3685
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.UnsupportedMessageException e
         4: .line 3686
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasIdentity:(Ljava/lang/Object;)Z
            ifeq 5
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 3687
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object top com.oracle.truffle.api.interop.UnsupportedMessageException
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        start local 2 // int result
         6: .line 3689
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    7     1  receiver  Ljava/lang/Object;
            2    3     2    result  I
            6    7     2    result  I
            4    6     3         e  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
      Exception table:
        from    to  target  type
           1     3       3  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public boolean isIdentical(java.lang.Object, java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.Object other
        start local 3 // com.oracle.truffle.api.interop.InteropLibrary otherInterop
         0: .line 3694
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3695
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 2
            aload 1 /* receiver */
            aload 2 /* other */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validArgument:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 3696
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 3 /* otherInterop */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            aload 2 /* other */
            aload 3 /* otherInterop */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdentical:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
            istore 4 /* result */
        start local 4 // boolean result
         4: .line 3698
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            iload 4 /* result */
            aload 1 /* receiver */
            aload 2 /* other */
            aload 3 /* otherInterop */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary$Asserts.verifyIsSame:(ZLjava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 3699
      StackMap locals: int
      StackMap stack:
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 3 // com.oracle.truffle.api.interop.InteropLibrary otherInterop
        end local 2 // java.lang.Object other
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    6     1      receiver  Ljava/lang/Object;
            0    6     2         other  Ljava/lang/Object;
            0    6     3  otherInterop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            4    6     4        result  Z
    MethodParameters:
              Name  Flags
      receiver      
      other         
      otherInterop  

  boolean verifyIsSame(boolean, java.lang.Object, java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary);
    descriptor: (ZLjava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // boolean result
        start local 2 // java.lang.Object receiver
        start local 3 // java.lang.Object other
        start local 4 // com.oracle.truffle.api.interop.InteropLibrary otherInterop
         0: .line 3704
            aload 4 /* otherInterop */
            astore 5 /* otherDelegate */
        start local 5 // com.oracle.truffle.api.interop.InteropLibrary otherDelegate
         1: .line 3705
            aload 4 /* otherInterop */
            instanceof com.oracle.truffle.api.interop.InteropLibrary$Asserts
            ifeq 3
         2: .line 3707
            aload 4 /* otherInterop */
            checkcast com.oracle.truffle.api.interop.InteropLibrary$Asserts
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            astore 5 /* otherDelegate */
         3: .line 3710
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            iload 1 /* result */
            aload 5 /* otherDelegate */
            aload 3 /* other */
            aload 2 /* receiver */
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdentical:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            aload 2 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 3711
      StackMap locals:
      StackMap stack:
            iload 1 /* result */
            ifeq 6
         5: .line 3713
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 2 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
            aload 5 /* otherDelegate */
            aload 3 /* other */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            aload 2 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3717
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 2 /* receiver */
            aload 3 /* other */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdenticalOrUndefined:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/api/utilities/TriState;
            astore 6 /* state */
        start local 6 // com.oracle.truffle.api.utilities.TriState state
         7: .line 3718
            aload 6 /* state */
            getstatic com.oracle.truffle.api.utilities.TriState.UNDEFINED:Lcom/oracle/truffle/api/utilities/TriState;
            if_acmpeq 9
         8: .line 3719
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 2 /* receiver */
            aload 2 /* receiver */
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdentical:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            aload 2 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 3724
      StackMap locals: com.oracle.truffle.api.utilities.TriState
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 6 /* state */
            aload 2 /* receiver */
            aload 3 /* other */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.verifyIsSameOrUndefined:(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/utilities/TriState;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        10: .line 3725
            aload 5 /* otherDelegate */
            aload 5 /* otherDelegate */
            aload 3 /* other */
            aload 2 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdenticalOrUndefined:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/api/utilities/TriState;
            aload 3 /* other */
            aload 2 /* receiver */
            invokestatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.verifyIsSameOrUndefined:(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/utilities/TriState;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        end local 6 // com.oracle.truffle.api.utilities.TriState state
        end local 5 // com.oracle.truffle.api.interop.InteropLibrary otherDelegate
        11: .line 3726
            goto 14
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts int java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
        12: astore 5 /* e */
        start local 5 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        13: .line 3727
            aload 5 /* e */
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // com.oracle.truffle.api.interop.UnsupportedMessageException e
        14: .line 3729
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // com.oracle.truffle.api.interop.InteropLibrary otherInterop
        end local 3 // java.lang.Object other
        end local 2 // java.lang.Object receiver
        end local 1 // boolean result
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   15     1         result  Z
            0   15     2       receiver  Ljava/lang/Object;
            0   15     3          other  Ljava/lang/Object;
            0   15     4   otherInterop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            1   11     5  otherDelegate  Lcom/oracle/truffle/api/interop/InteropLibrary;
            7   11     6          state  Lcom/oracle/truffle/api/utilities/TriState;
           13   14     5              e  Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
      Exception table:
        from    to  target  type
           0    11      12  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
              Name  Flags
      result        
      receiver      
      other         
      otherInterop  

  public boolean isScope(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3734
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 1
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isScope:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         2: .line 3736
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            iload 2 /* result */
            ifeq 3
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 3737
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 4
            iload 2 /* result */
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasLanguage:(Ljava/lang/Object;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 3738
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0    5     1  receiver  Ljava/lang/Object;
            2    5     2    result  Z
    MethodParameters:
          Name  Flags
      receiver  

  public boolean hasScopeParent(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3743
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3744
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasScopeParent:(Ljava/lang/Object;)Z
            ireturn
         2: .line 3746
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasScopeParent:(Ljava/lang/Object;)Z
            istore 2 /* result */
        start local 2 // boolean result
         4: .line 3748
            iload 2 /* result */
            ifeq 9
         5: .line 3749
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isScope:(Ljava/lang/Object;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3751
      StackMap locals: int
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getScopeParent:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validScope:(Ljava/lang/Object;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3752
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
         8: .line 3753
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 3757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getScopeParent:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 3758
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 3759
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
        12: .line 3762
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   13     1  receiver  Ljava/lang/Object;
            4   13     2    result  Z
      Exception table:
        from    to  target  type
           6     7       7  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           9    11      11  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  

  public java.lang.Object getScopeParent(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
        start local 1 // java.lang.Object receiver
         0: .line 3767
            invokestatic com.oracle.truffle.api.CompilerDirectives.inCompiledCode:()Z
            ifeq 2
         1: .line 3768
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getScopeParent:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 3770
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 3
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.preCondition:(Ljava/lang/Object;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 3771
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasScopeParent:(Ljava/lang/Object;)Z
            istore 2 /* hadScopeParent */
        start local 2 // boolean hadScopeParent
         4: .line 3773
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getScopeParent:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         5: .line 3774
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 6
            iload 2 /* hadScopeParent */
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3775
      StackMap locals: int java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            getfield com.oracle.truffle.api.interop.InteropLibrary$Asserts.delegate:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isScope:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 3776
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 8
            aload 3 /* result */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.validScope:(Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 3777
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
         9: areturn
        end local 3 // java.lang.Object result
        10: .line 3778
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary$Asserts java.lang.Object int
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            astore 3 /* e */
        start local 3 // com.oracle.truffle.api.interop.InteropException e
        11: .line 3779
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 12
            aload 3 /* e */
            instanceof com.oracle.truffle.api.interop.UnsupportedMessageException
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 3780
      StackMap locals: com.oracle.truffle.api.interop.InteropException
      StackMap stack:
            getstatic com.oracle.truffle.api.interop.InteropLibrary$Asserts.$assertionsDisabled:Z
            ifne 13
            iload 2 /* hadScopeParent */
            ifeq 13
            new java.lang.AssertionError
            dup
            aload 1 /* receiver */
            invokestatic com.oracle.truffle.api.interop.AssertUtils.violationInvariant:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 3781
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // com.oracle.truffle.api.interop.InteropException e
        end local 2 // boolean hadScopeParent
        end local 1 // java.lang.Object receiver
        end local 0 // com.oracle.truffle.api.interop.InteropLibrary$Asserts this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lcom/oracle/truffle/api/interop/InteropLibrary$Asserts;
            0   14     1        receiver  Ljava/lang/Object;
            4   14     2  hadScopeParent  Z
            5   10     3          result  Ljava/lang/Object;
           11   14     3               e  Lcom/oracle/truffle/api/interop/InteropException;
      Exception table:
        from    to  target  type
           4     9      10  Class com.oracle.truffle.api.interop.InteropException
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    MethodParameters:
          Name  Flags
      receiver  
}
SourceFile: "InteropLibrary.java"
NestHost: com.oracle.truffle.api.interop.InteropLibrary
InnerClasses:
  public abstract EngineSupport = com.oracle.truffle.api.impl.Accessor$EngineSupport of com.oracle.truffle.api.impl.Accessor
  Asserts = com.oracle.truffle.api.interop.InteropLibrary$Asserts of com.oracle.truffle.api.interop.InteropLibrary
  public final Type = com.oracle.truffle.api.interop.InteropLibrary$Asserts$Type of com.oracle.truffle.api.interop.InteropLibrary$Asserts
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node