abstract class com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean extends com.oracle.truffle.polyglot.PolyglotMap$Cache$PolyglotMapNode
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean
  super_class: com.oracle.truffle.polyglot.PolyglotMap$Cache$PolyglotMapNode
{
  void <init>(com.oracle.truffle.polyglot.PolyglotMap$Cache);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotMap$Cache;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean this
        start local 1 // com.oracle.truffle.polyglot.PolyglotMap$Cache cache
         0: .line 697
            aload 0 /* this */
            aload 1 /* cache */
            invokespecial com.oracle.truffle.polyglot.PolyglotMap$Cache$PolyglotMapNode.<init>:(Lcom/oracle/truffle/polyglot/PolyglotMap$Cache;)V
         1: .line 698
            return
        end local 1 // com.oracle.truffle.polyglot.PolyglotMap$Cache cache
        end local 0 // com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/polyglot/PolyglotMap$Cache$RemoveBoolean;
            0    2     1  cache  Lcom/oracle/truffle/polyglot/PolyglotMap$Cache;
    MethodParameters:
       Name  Flags
      cache  

  protected java.lang.String getOperationName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean this
         0: .line 702
            ldc "remove"
            areturn
        end local 0 // com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/polyglot/PolyglotMap$Cache$RemoveBoolean;

  protected java.lang.Object doCached(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Object, java.lang.Object[], com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.profiles.BranchProfile);
    descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;[Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/profiles/BranchProfile;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=6
        start local 0 // com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean this
        start local 1 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        start local 2 // java.lang.Object receiver
        start local 3 // java.lang.Object[] args
        start local 4 // com.oracle.truffle.api.interop.InteropLibrary interop
        start local 5 // com.oracle.truffle.api.profiles.BranchProfile error
         0: .line 710
            aload 3 /* args */
            iconst_2
            aaload
            astore 6 /* key */
        start local 6 // java.lang.Object key
         1: .line 711
            aload 3 /* args */
            iconst_3
            aaload
            astore 7 /* expectedValue */
        start local 7 // java.lang.Object expectedValue
         2: .line 713
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.cache:Lcom/oracle/truffle/polyglot/PolyglotMap$Cache;
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache.memberKey:Z
            ifeq 12
            aload 4 /* interop */
            aload 2 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
            ifeq 12
         3: .line 714
            aload 0 /* this */
            aload 6 /* key */
            invokevirtual com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.isObjectKey:(Ljava/lang/Object;)Z
            ifeq 22
         4: .line 715
            aload 6 /* key */
            checkcast java.lang.String
            astore 8 /* member */
        start local 8 // java.lang.String member
         5: .line 716
            aload 4 /* interop */
            aload 2 /* receiver */
            aload 8 /* member */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 9 /* readValue */
        start local 9 // java.lang.Object readValue
         6: .line 717
            aload 7 /* expectedValue */
            aload 9 /* readValue */
            invokestatic com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.equalsBoundary:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 9
         7: .line 718
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         8: areturn
         9: .line 720
      StackMap locals: com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean com.oracle.truffle.polyglot.PolyglotLanguageContext java.lang.Object java.lang.Object[] com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.profiles.BranchProfile java.lang.Object java.lang.Object java.lang.String java.lang.Object
      StackMap stack:
            aload 4 /* interop */
            aload 2 /* receiver */
            aload 6 /* key */
            checkcast java.lang.String
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.removeMember:(Ljava/lang/Object;Ljava/lang/String;)V
        10: .line 721
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
        11: areturn
        end local 9 // java.lang.Object readValue
        end local 8 // java.lang.String member
        12: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.cache:Lcom/oracle/truffle/polyglot/PolyglotMap$Cache;
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache.numberKey:Z
            ifeq 22
            aload 4 /* interop */
            aload 2 /* receiver */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
            ifeq 22
        13: .line 724
            aload 0 /* this */
            aload 6 /* key */
            invokevirtual com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.isArrayKey:(Ljava/lang/Object;)Z
            ifeq 22
        14: .line 725
            aload 6 /* key */
            invokestatic com.oracle.truffle.polyglot.PolyglotMap.intValue:(Ljava/lang/Object;)I
            istore 8 /* index */
        start local 8 // int index
        15: .line 726
            aload 4 /* interop */
            aload 2 /* receiver */
            iload 8 /* index */
            i2l
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
            astore 9 /* readValue */
        start local 9 // java.lang.Object readValue
        16: .line 727
            aload 7 /* expectedValue */
            aload 9 /* readValue */
            invokestatic com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.equalsBoundary:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 19
        17: .line 728
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
        18: areturn
        19: .line 730
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 4 /* interop */
            aload 2 /* receiver */
            iload 8 /* index */
            i2l
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.removeArrayElement:(Ljava/lang/Object;J)V
        20: .line 731
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
        21: areturn
        end local 9 // java.lang.Object readValue
        end local 8 // int index
        22: .line 734
      StackMap locals:
      StackMap stack:
            aload 5 /* error */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        23: .line 735
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.cache:Lcom/oracle/truffle/polyglot/PolyglotMap$Cache;
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache.keyClass:Ljava/lang/Class;
            aload 6 /* key */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 25
            aload 6 /* key */
            instanceof java.lang.Number
            ifne 24
            aload 6 /* key */
            instanceof java.lang.String
            ifeq 25
        24: .line 736
      StackMap locals:
      StackMap stack:
            aload 1 /* languageContext */
            aload 2 /* receiver */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.cache:Lcom/oracle/truffle/polyglot/PolyglotMap$Cache;
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache.keyClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.cache:Lcom/oracle/truffle/polyglot/PolyglotMap$Cache;
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache.valueType:Ljava/lang/reflect/Type;
            ldc "remove"
            invokestatic com.oracle.truffle.polyglot.HostInteropErrors.mapUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        25: .line 738
      StackMap locals:
      StackMap stack:
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
        26: areturn
        27: .line 740
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            pop
        28: .line 741
            aload 5 /* error */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        29: .line 742
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        30: .line 743
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
            pop
        31: .line 744
            aload 5 /* error */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        32: .line 745
            aload 1 /* languageContext */
            aload 2 /* receiver */
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.cache:Lcom/oracle/truffle/polyglot/PolyglotMap$Cache;
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache.keyClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean.cache:Lcom/oracle/truffle/polyglot/PolyglotMap$Cache;
            getfield com.oracle.truffle.polyglot.PolyglotMap$Cache.valueType:Ljava/lang/reflect/Type;
            ldc "remove"
            invokestatic com.oracle.truffle.polyglot.HostInteropErrors.mapUnsupported:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 7 // java.lang.Object expectedValue
        end local 6 // java.lang.Object key
        end local 5 // com.oracle.truffle.api.profiles.BranchProfile error
        end local 4 // com.oracle.truffle.api.interop.InteropLibrary interop
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.Object receiver
        end local 1 // com.oracle.truffle.polyglot.PolyglotLanguageContext languageContext
        end local 0 // com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   33     0             this  Lcom/oracle/truffle/polyglot/PolyglotMap$Cache$RemoveBoolean;
            0   33     1  languageContext  Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
            0   33     2         receiver  Ljava/lang/Object;
            0   33     3             args  [Ljava/lang/Object;
            0   33     4          interop  Lcom/oracle/truffle/api/interop/InteropLibrary;
            0   33     5            error  Lcom/oracle/truffle/api/profiles/BranchProfile;
            1   33     6              key  Ljava/lang/Object;
            2   33     7    expectedValue  Ljava/lang/Object;
            5   12     8           member  Ljava/lang/String;
            6   12     9        readValue  Ljava/lang/Object;
           15   22     8            index  I
           16   22     9        readValue  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           2     8      27  Class com.oracle.truffle.api.interop.UnknownIdentifierException
           9    11      27  Class com.oracle.truffle.api.interop.UnknownIdentifierException
          12    18      27  Class com.oracle.truffle.api.interop.UnknownIdentifierException
          19    21      27  Class com.oracle.truffle.api.interop.UnknownIdentifierException
          22    26      27  Class com.oracle.truffle.api.interop.UnknownIdentifierException
           2     8      27  Class com.oracle.truffle.api.interop.InvalidArrayIndexException
           9    11      27  Class com.oracle.truffle.api.interop.InvalidArrayIndexException
          12    18      27  Class com.oracle.truffle.api.interop.InvalidArrayIndexException
          19    21      27  Class com.oracle.truffle.api.interop.InvalidArrayIndexException
          22    26      27  Class com.oracle.truffle.api.interop.InvalidArrayIndexException
           2     8      30  Class com.oracle.truffle.api.interop.UnsupportedMessageException
           9    11      30  Class com.oracle.truffle.api.interop.UnsupportedMessageException
          12    18      30  Class com.oracle.truffle.api.interop.UnsupportedMessageException
          19    21      30  Class com.oracle.truffle.api.interop.UnsupportedMessageException
          22    26      30  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(limit = "LIMIT")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
      3:
        com.oracle.truffle.api.library.CachedLibrary(value = "receiver")
      4:
        com.oracle.truffle.api.dsl.Cached()
    MethodParameters:
                 Name  Flags
      languageContext  
      receiver         
      args             
      interop          
      error            

  private static boolean equalsBoundary(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object expectedValue
        start local 1 // java.lang.Object readValue
         0: .line 751
            aload 0 /* expectedValue */
            aload 1 /* readValue */
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object readValue
        end local 0 // java.lang.Object expectedValue
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  expectedValue  Ljava/lang/Object;
            0    1     1      readValue  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
               Name  Flags
      expectedValue  
      readValue      
}
SourceFile: "PolyglotMap.java"
NestHost: com.oracle.truffle.polyglot.PolyglotMap
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  final Cache = com.oracle.truffle.polyglot.PolyglotMap$Cache of com.oracle.truffle.polyglot.PolyglotMap
  abstract PolyglotMapNode = com.oracle.truffle.polyglot.PolyglotMap$Cache$PolyglotMapNode of com.oracle.truffle.polyglot.PolyglotMap$Cache
  abstract RemoveBoolean = com.oracle.truffle.polyglot.PolyglotMap$Cache$RemoveBoolean of com.oracle.truffle.polyglot.PolyglotMap$Cache