public class com.oracle.truffle.object.basic.test.RemoveKeyTest extends com.oracle.truffle.api.test.AbstractParametrizedLibraryTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.object.basic.test.RemoveKeyTest
  super_class: com.oracle.truffle.api.test.AbstractParametrizedLibraryTest
{
  final com.oracle.truffle.api.object.Shape rootShape;
    descriptor: Lcom/oracle/truffle/api/object/Shape;
    flags: (0x0010) ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.RemoveKeyTest this
         0: .line 58
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.AbstractParametrizedLibraryTest.<init>:()V
         1: .line 65
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.object.Shape.newBuilder:()Lcom/oracle/truffle/api/object/Shape$Builder;
            iconst_1
            invokevirtual com.oracle.truffle.api.object.Shape$Builder.allowImplicitCastIntToDouble:(Z)Lcom/oracle/truffle/api/object/Shape$Builder;
            ldc Lcom/oracle/truffle/object/basic/test/TestDynamicObjectDefault;
            invokevirtual com.oracle.truffle.api.object.Shape$Builder.layout:(Ljava/lang/Class;)Lcom/oracle/truffle/api/object/Shape$Builder;
            invokevirtual com.oracle.truffle.api.object.Shape$Builder.build:()Lcom/oracle/truffle/api/object/Shape;
            putfield com.oracle.truffle.object.basic.test.RemoveKeyTest.rootShape:Lcom/oracle/truffle/api/object/Shape;
         2: .line 58
            return
        end local 0 // com.oracle.truffle.object.basic.test.RemoveKeyTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/object/basic/test/RemoveKeyTest;

  public static java.util.List<com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun> data();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 62
            invokestatic com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun.values:()[Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/List<Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;>;
    RuntimeVisibleAnnotations: 
      org.junit.runners.Parameterized$Parameters(name = "{0}")

  public void testRemoveAfterReplace();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.RemoveKeyTest this
         0: .line 69
            new com.oracle.truffle.object.basic.test.TestDynamicObjectDefault
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.RemoveKeyTest.rootShape:Lcom/oracle/truffle/api/object/Shape;
            invokespecial com.oracle.truffle.object.basic.test.TestDynamicObjectDefault.<init>:(Lcom/oracle/truffle/api/object/Shape;)V
            astore 1 /* obj */
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
         1: .line 71
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.object.basic.test.RemoveKeyTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 2 /* in */
        start local 2 // com.oracle.truffle.api.object.DynamicObjectLibrary in
         2: .line 72
            aload 2 /* in */
            aload 1 /* obj */
            ldc "date"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 73
            aload 2 /* in */
            aload 1 /* obj */
            ldc "time"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 74
            aload 2 /* in */
            aload 1 /* obj */
            ldc "zone"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 75
            aload 2 /* in */
            aload 1 /* obj */
            ldc "answer"
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 76
            aload 2 /* in */
            aload 1 /* obj */
            ldc "truth"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 77
            aload 2 /* in */
            aload 1 /* obj */
            ldc "timeout"
            sipush 1000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 78
            aload 2 /* in */
            aload 1 /* obj */
            ldc "age"
            bipush 30
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 79
            aload 2 /* in */
            aload 1 /* obj */
            ldc "someObj"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 80
            aload 2 /* in */
            aload 1 /* obj */
            ldc "anotherObj"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 81
            aload 2 /* in */
            aload 1 /* obj */
            ldc "weekdays"
            bipush 7
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 82
            aload 2 /* in */
            aload 1 /* obj */
            ldc "workdays"
            iconst_5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 83
            aload 2 /* in */
            aload 1 /* obj */
            ldc "wait"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 84
            aload 2 /* in */
            aload 1 /* obj */
            ldc "for"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 85
            aload 2 /* in */
            aload 1 /* obj */
            ldc "it"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 86
            aload 2 /* in */
            aload 1 /* obj */
            ldc "parent"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 89
            aload 2 /* in */
            aload 1 /* obj */
            ldc "timeout"
            ldc 1000.5
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 91
            aload 2 /* in */
            aload 1 /* obj */
            ldc "let"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 92
            aload 2 /* in */
            aload 1 /* obj */
            ldc "us"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 93
            aload 2 /* in */
            aload 1 /* obj */
            ldc "start"
            bipush 72
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 94
            aload 2 /* in */
            aload 1 /* obj */
            ldc "the"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        22: .line 95
            aload 2 /* in */
            aload 1 /* obj */
            ldc "game"
            ldc 13.37
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        23: .line 96
            aload 2 /* in */
            aload 1 /* obj */
            ldc "soon"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 97
            aload 2 /* in */
            aload 1 /* obj */
            ldc "now"
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        25: .line 99
            aload 1 /* obj */
            invokestatic com.oracle.truffle.object.basic.test.DOTestAsserts.archive:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/Map;
            astore 3 /* archive */
        start local 3 // java.util.Map archive
        26: .line 101
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.object.basic.test.RemoveKeyTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 4 /* rm */
        start local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary rm
        27: .line 102
            aload 4 /* rm */
            aload 1 /* obj */
            ldc "time"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.removeKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            pop
        28: .line 104
            aload 1 /* obj */
            aload 3 /* archive */
            invokestatic com.oracle.truffle.object.basic.test.DOTestAsserts.verifyValues:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/Map;)Z
            pop
        29: .line 105
            return
        end local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary rm
        end local 3 // java.util.Map archive
        end local 2 // com.oracle.truffle.api.object.DynamicObjectLibrary in
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.object.basic.test.RemoveKeyTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   30     0     this  Lcom/oracle/truffle/object/basic/test/RemoveKeyTest;
            1   30     1      obj  Lcom/oracle/truffle/api/object/DynamicObject;
            2   30     2       in  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           26   30     3  archive  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
           27   30     4       rm  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "RemoveKeyTest.java"
InnerClasses:
  public final Builder = com.oracle.truffle.api.object.Shape$Builder of com.oracle.truffle.api.object.Shape
  public final TestRun = com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun of com.oracle.truffle.api.test.AbstractParametrizedLibraryTest
  public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
    RuntimeVisibleAnnotations: 
      org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)