public class com.oracle.truffle.object.basic.test.ConstantLocationTest 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.ConstantLocationTest
  super_class: com.oracle.truffle.api.test.AbstractParametrizedLibraryTest
{
  final com.oracle.truffle.api.object.Layout layout;
    descriptor: Lcom/oracle/truffle/api/object/Layout;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.api.object.Shape rootShape;
    descriptor: Lcom/oracle/truffle/api/object/Shape;
    flags: (0x0010) ACC_FINAL

  final java.lang.Object value;
    descriptor: Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.api.object.Location constantLocation;
    descriptor: Lcom/oracle/truffle/api/object/Location;
    flags: (0x0010) ACC_FINAL

  final com.oracle.truffle.api.object.Shape shapeWithConstant;
    descriptor: Lcom/oracle/truffle/api/object/Shape;
    flags: (0x0010) ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.ConstantLocationTest this
         0: .line 64
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.AbstractParametrizedLibraryTest.<init>:()V
         1: .line 71
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.object.Layout.newLayout:()Lcom/oracle/truffle/api/object/Layout$Builder;
            invokevirtual com.oracle.truffle.api.object.Layout$Builder.build:()Lcom/oracle/truffle/api/object/Layout;
            putfield com.oracle.truffle.object.basic.test.ConstantLocationTest.layout:Lcom/oracle/truffle/api/object/Layout;
         2: .line 72
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.layout:Lcom/oracle/truffle/api/object/Layout;
            new com.oracle.truffle.api.object.ObjectType
            dup
            invokespecial com.oracle.truffle.api.object.ObjectType.<init>:()V
            invokevirtual com.oracle.truffle.api.object.Layout.createShape:(Lcom/oracle/truffle/api/object/ObjectType;)Lcom/oracle/truffle/api/object/Shape;
            putfield com.oracle.truffle.object.basic.test.ConstantLocationTest.rootShape:Lcom/oracle/truffle/api/object/Shape;
         3: .line 73
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
         4: .line 74
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.rootShape:Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.allocator:()Lcom/oracle/truffle/api/object/Shape$Allocator;
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.object.Shape$Allocator.constantLocation:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Location;
            putfield com.oracle.truffle.object.basic.test.ConstantLocationTest.constantLocation:Lcom/oracle/truffle/api/object/Location;
         5: .line 75
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.rootShape:Lcom/oracle/truffle/api/object/Shape;
            ldc "constant"
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.constantLocation:Lcom/oracle/truffle/api/object/Location;
            iconst_0
            invokestatic com.oracle.truffle.api.object.Property.create:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/Location;I)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Shape.addProperty:(Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/api/object/Shape;
            putfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
         6: .line 64
            return
        end local 0 // com.oracle.truffle.object.basic.test.ConstantLocationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/object/basic/test/ConstantLocationTest;

  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 68
            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 testConstantLocation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.ConstantLocationTest this
         0: .line 79
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.newInstance:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 1 /* object */
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
         1: .line 81
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* object */
            invokevirtual com.oracle.truffle.object.basic.test.ConstantLocationTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 2 /* library */
        start local 2 // com.oracle.truffle.api.object.DynamicObjectLibrary library
         2: .line 83
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
            aload 2 /* library */
            aload 1 /* object */
            ldc "constant"
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 85
            aload 2 /* library */
            aload 1 /* object */
            ldc "constant"
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         4: .line 86
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            aload 1 /* object */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 88
            aload 1 /* object */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            ldc "constant"
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            astore 3 /* property */
        start local 3 // com.oracle.truffle.api.object.Property property
         6: .line 89
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 3 /* property */
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.object.Location.canStore:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 90
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 3 /* property */
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.object.Location.canSet:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 92
            aload 3 /* property */
            aload 1 /* object */
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Property.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
         9: .line 93
            goto 12
      StackMap locals: com.oracle.truffle.object.basic.test.ConstantLocationTest com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObjectLibrary com.oracle.truffle.api.object.Property
      StackMap stack: com.oracle.truffle.api.nodes.SlowPathException
        10: astore 4 /* e */
        start local 4 // com.oracle.truffle.api.nodes.SlowPathException e
        11: .line 94
            aload 4 /* e */
            invokevirtual com.oracle.truffle.api.nodes.SlowPathException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        end local 4 // com.oracle.truffle.api.nodes.SlowPathException e
        12: .line 97
      StackMap locals:
      StackMap stack:
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 4 /* newValue */
        start local 4 // java.lang.Object newValue
        13: .line 98
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 3 /* property */
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            aload 4 /* newValue */
            invokevirtual com.oracle.truffle.api.object.Location.canStore:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 99
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 3 /* property */
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            aload 4 /* newValue */
            invokevirtual com.oracle.truffle.api.object.Location.canSet:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 101
            aload 3 /* property */
            aload 1 /* object */
            aload 4 /* newValue */
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Property.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
        16: .line 102
            invokestatic org.junit.Assert.fail:()V
        17: .line 103
            goto 20
      StackMap locals: com.oracle.truffle.object.basic.test.ConstantLocationTest com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObjectLibrary com.oracle.truffle.api.object.Property java.lang.Object
      StackMap stack: com.oracle.truffle.api.nodes.SlowPathException
        18: astore 5 /* e */
        start local 5 // com.oracle.truffle.api.nodes.SlowPathException e
        19: .line 104
            aload 5 /* e */
            instanceof com.oracle.truffle.api.object.FinalLocationException
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 5 // com.oracle.truffle.api.nodes.SlowPathException e
        20: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
            aload 2 /* library */
            aload 1 /* object */
            ldc "constant"
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 108
            return
        end local 4 // java.lang.Object newValue
        end local 3 // com.oracle.truffle.api.object.Property property
        end local 2 // com.oracle.truffle.api.object.DynamicObjectLibrary library
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.basic.test.ConstantLocationTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lcom/oracle/truffle/object/basic/test/ConstantLocationTest;
            1   22     1    object  Lcom/oracle/truffle/api/object/DynamicObject;
            2   22     2   library  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            6   22     3  property  Lcom/oracle/truffle/api/object/Property;
           11   12     4         e  Lcom/oracle/truffle/api/nodes/SlowPathException;
           13   22     4  newValue  Ljava/lang/Object;
           19   20     5         e  Lcom/oracle/truffle/api/nodes/SlowPathException;
      Exception table:
        from    to  target  type
           8     9      10  Class com.oracle.truffle.api.object.IncompatibleLocationException
           8     9      10  Class com.oracle.truffle.api.object.FinalLocationException
          15    17      18  Class com.oracle.truffle.api.object.FinalLocationException
          15    17      18  Class com.oracle.truffle.api.object.IncompatibleLocationException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMigrateConstantLocation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.ConstantLocationTest this
         0: .line 112
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.newInstance:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 1 /* object */
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
         1: .line 114
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* object */
            invokevirtual com.oracle.truffle.object.basic.test.ConstantLocationTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 2 /* library */
        start local 2 // com.oracle.truffle.api.object.DynamicObjectLibrary library
         2: .line 116
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            aload 1 /* object */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 117
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
            aload 2 /* library */
            aload 1 /* object */
            ldc "constant"
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 119
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 3 /* newValue */
        start local 3 // java.lang.Object newValue
         5: .line 120
            aload 2 /* library */
            aload 1 /* object */
            ldc "constant"
            aload 3 /* newValue */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         6: .line 121
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            aload 1 /* object */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertNotSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 122
            aload 3 /* newValue */
            aload 2 /* library */
            aload 1 /* object */
            ldc "constant"
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 123
            return
        end local 3 // java.lang.Object newValue
        end local 2 // com.oracle.truffle.api.object.DynamicObjectLibrary library
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.basic.test.ConstantLocationTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/object/basic/test/ConstantLocationTest;
            1    9     1    object  Lcom/oracle/truffle/api/object/DynamicObject;
            2    9     2   library  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            5    9     3  newValue  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testAddConstantLocation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.ConstantLocationTest this
         0: .line 128
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            ldc "constant"
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            astore 1 /* property */
        start local 1 // com.oracle.truffle.api.object.Property property
         1: .line 130
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.rootShape:Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.newInstance:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 2 /* object */
        start local 2 // com.oracle.truffle.api.object.DynamicObject object
         2: .line 132
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 2 /* object */
            invokevirtual com.oracle.truffle.object.basic.test.ConstantLocationTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 3 /* library */
        start local 3 // com.oracle.truffle.api.object.DynamicObjectLibrary library
         3: .line 134
            aload 1 /* property */
            aload 2 /* object */
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.rootShape:Lcom/oracle/truffle/api/object/Shape;
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Property.setSafe:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
         4: .line 135
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* object */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 136
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.value:Ljava/lang/Object;
            aload 3 /* library */
            aload 2 /* object */
            ldc "constant"
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 138
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.rootShape:Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.newInstance:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* object2 */
        start local 4 // com.oracle.truffle.api.object.DynamicObject object2
         7: .line 139
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 5 /* newValue */
        start local 5 // java.lang.Object newValue
         8: .line 140
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 1 /* property */
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            aload 5 /* newValue */
            invokevirtual com.oracle.truffle.api.object.Location.canStore:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 141
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 1 /* property */
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            aload 5 /* newValue */
            invokevirtual com.oracle.truffle.api.object.Location.canSet:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 143
            aload 1 /* property */
            aload 4 /* object2 */
            aload 5 /* newValue */
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.rootShape:Lcom/oracle/truffle/api/object/Shape;
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.shapeWithConstant:Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Property.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
        11: .line 144
            invokestatic org.junit.Assert.fail:()V
        12: .line 145
            goto 14
      StackMap locals: com.oracle.truffle.object.basic.test.ConstantLocationTest com.oracle.truffle.api.object.Property com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObjectLibrary com.oracle.truffle.api.object.DynamicObject java.lang.Object
      StackMap stack: com.oracle.truffle.api.object.IncompatibleLocationException
        13: pop
        14: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.ConstantLocationTest.rootShape:Lcom/oracle/truffle/api/object/Shape;
            aload 4 /* object2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 149
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 3 /* library */
            aload 4 /* object2 */
            ldc "constant"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.containsKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 150
            return
        end local 5 // java.lang.Object newValue
        end local 4 // com.oracle.truffle.api.object.DynamicObject object2
        end local 3 // com.oracle.truffle.api.object.DynamicObjectLibrary library
        end local 2 // com.oracle.truffle.api.object.DynamicObject object
        end local 1 // com.oracle.truffle.api.object.Property property
        end local 0 // com.oracle.truffle.object.basic.test.ConstantLocationTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lcom/oracle/truffle/object/basic/test/ConstantLocationTest;
            1   17     1  property  Lcom/oracle/truffle/api/object/Property;
            2   17     2    object  Lcom/oracle/truffle/api/object/DynamicObject;
            3   17     3   library  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            7   17     4   object2  Lcom/oracle/truffle/api/object/DynamicObject;
            8   17     5  newValue  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          10    12      13  Class com.oracle.truffle.api.object.IncompatibleLocationException
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "ConstantLocationTest.java"
InnerClasses:
  public final Builder = com.oracle.truffle.api.object.Layout$Builder of com.oracle.truffle.api.object.Layout
  public abstract Allocator = com.oracle.truffle.api.object.Shape$Allocator 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;)