public class org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;

  private static void assertDocumentChanges(java.lang.String, java.lang.String, org.graalvm.tools.lsp.server.types.Range, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/tools/lsp/server/types/Range;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.lang.String oldText
        start local 1 // java.lang.String replacement
        start local 2 // org.graalvm.tools.lsp.server.types.Range range
        start local 3 // java.lang.String expectedText
         0: .line 42
            aload 1 /* replacement */
            invokestatic org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.create:(Ljava/lang/String;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            aload 2 /* range */
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRange:(Lorg/graalvm/tools/lsp/server/types/Range;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            aload 1 /* replacement */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRangeLength:(Ljava/lang/Integer;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            astore 4 /* event */
        start local 4 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event
         1: .line 43
            iconst_1
            anewarray org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent
            dup
            iconst_0
            aload 4 /* event */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* oldText */
            invokestatic org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest.createSource:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source;
            aconst_null
            aconst_null
            invokestatic org.graalvm.tools.lsp.server.utils.SourceUtils.applyTextDocumentChanges:(Ljava/util/List;Lcom/oracle/truffle/api/source/Source;Lorg/graalvm/tools/lsp/server/utils/TextDocumentSurrogate;Lcom/oracle/truffle/api/TruffleLogger;)Ljava/lang/String;
            astore 5 /* actualText */
        start local 5 // java.lang.String actualText
         2: .line 44
            aload 3 /* expectedText */
            aload 5 /* actualText */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 45
            return
        end local 5 // java.lang.String actualText
        end local 4 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event
        end local 3 // java.lang.String expectedText
        end local 2 // org.graalvm.tools.lsp.server.types.Range range
        end local 1 // java.lang.String replacement
        end local 0 // java.lang.String oldText
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0       oldText  Ljava/lang/String;
            0    4     1   replacement  Ljava/lang/String;
            0    4     2         range  Lorg/graalvm/tools/lsp/server/types/Range;
            0    4     3  expectedText  Ljava/lang/String;
            1    4     4         event  Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            2    4     5    actualText  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      oldText       
      replacement   
      range         
      expectedText  

  private static com.oracle.truffle.api.source.Source createSource(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String oldText
         0: .line 48
            ldc "dummy"
            aload 0 /* oldText */
            ldc Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            areturn
        end local 0 // java.lang.String oldText
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  oldText  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      oldText  

  public void applyTextDocumentChanges01();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
         0: .line 53
            ldc ""
            ldc "a"
            iconst_0
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_0
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            ldc "a"
            invokestatic org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest.assertDocumentChanges:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/tools/lsp/server/types/Range;Ljava/lang/String;)V
         1: .line 54
            return
        end local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void applyTextDocumentChanges02();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
         0: .line 58
            ldc "a"
            ldc "b"
            iconst_0
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_0
            iconst_1
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            ldc "b"
            invokestatic org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest.assertDocumentChanges:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/tools/lsp/server/types/Range;Ljava/lang/String;)V
         1: .line 59
            return
        end local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void applyTextDocumentChanges03();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
         0: .line 63
            ldc "abc"
            ldc "1"
            iconst_0
            iconst_1
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_0
            iconst_1
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            ldc "a1bc"
            invokestatic org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest.assertDocumentChanges:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/tools/lsp/server/types/Range;Ljava/lang/String;)V
         1: .line 64
            return
        end local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void applyTextDocumentChanges04();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
         0: .line 68
            ldc "\n"
            ldc "1"
            iconst_0
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_1
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            ldc "1"
            invokestatic org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest.assertDocumentChanges:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/tools/lsp/server/types/Range;Ljava/lang/String;)V
         1: .line 69
            return
        end local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void applyTextDocumentChanges05();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
         0: .line 73
            ldc "abc\nefg\n\nhij"
            ldc "#"
            iconst_0
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_1
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            ldc "#efg\n\nhij"
            invokestatic org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest.assertDocumentChanges:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/tools/lsp/server/types/Range;Ljava/lang/String;)V
         1: .line 74
            return
        end local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void applyTextDocumentChanges06();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
         0: .line 78
            ldc "abc\nefg\n\nhij"
            ldc "#"
            iconst_2
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_3
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            ldc "abc\nefg\n#hij"
            invokestatic org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest.assertDocumentChanges:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/tools/lsp/server/types/Range;Ljava/lang/String;)V
         1: .line 79
            return
        end local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void applyTextDocumentChanges07();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
         0: .line 83
            ldc "abc\nefg\n\n"
            ldc "#\n"
            iconst_3
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_3
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            ldc "abc\nefg\n\n#\n"
            invokestatic org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest.assertDocumentChanges:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/tools/lsp/server/types/Range;Ljava/lang/String;)V
         1: .line 84
            return
        end local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void applyTextDocumentChanges08();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
         0: .line 88
            ldc "abc\nefg\n\n"
            ldc "a"
            aconst_null
            ldc "a"
            invokestatic org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest.assertDocumentChanges:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/tools/lsp/server/types/Range;Ljava/lang/String;)V
         1: .line 89
            return
        end local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void applyTextDocumentChangesList();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=15, args_size=1
        start local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
         0: .line 93
            ldc ""
            astore 1 /* oldText */
        start local 1 // java.lang.String oldText
         1: .line 95
            ldc "a"
            astore 2 /* replacement1 */
        start local 2 // java.lang.String replacement1
         2: .line 96
            aload 2 /* replacement1 */
            invokestatic org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.create:(Ljava/lang/String;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            iconst_0
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_0
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRange:(Lorg/graalvm/tools/lsp/server/types/Range;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
         3: .line 97
            aload 2 /* replacement1 */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         4: .line 96
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRangeLength:(Ljava/lang/Integer;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            astore 3 /* event1 */
        start local 3 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event1
         5: .line 98
            ldc "c"
            astore 4 /* replacement2 */
        start local 4 // java.lang.String replacement2
         6: .line 99
            aload 4 /* replacement2 */
            invokestatic org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.create:(Ljava/lang/String;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            iconst_0
            iconst_1
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_0
            iconst_1
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRange:(Lorg/graalvm/tools/lsp/server/types/Range;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
         7: .line 100
            aload 4 /* replacement2 */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         8: .line 99
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRangeLength:(Ljava/lang/Integer;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            astore 5 /* event2 */
        start local 5 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event2
         9: .line 101
            ldc "b"
            astore 6 /* replacement3 */
        start local 6 // java.lang.String replacement3
        10: .line 102
            aload 6 /* replacement3 */
            invokestatic org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.create:(Ljava/lang/String;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            iconst_0
            iconst_1
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_0
            iconst_1
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRange:(Lorg/graalvm/tools/lsp/server/types/Range;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
        11: .line 103
            aload 6 /* replacement3 */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        12: .line 102
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRangeLength:(Ljava/lang/Integer;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            astore 7 /* event3 */
        start local 7 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event3
        13: .line 104
            ldc "\nefg\nhij"
            astore 8 /* replacement4 */
        start local 8 // java.lang.String replacement4
        14: .line 105
            aload 8 /* replacement4 */
            invokestatic org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.create:(Ljava/lang/String;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            iconst_0
            iconst_3
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_0
            iconst_3
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRange:(Lorg/graalvm/tools/lsp/server/types/Range;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
        15: .line 106
            aload 8 /* replacement4 */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        16: .line 105
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRangeLength:(Ljava/lang/Integer;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            astore 9 /* event4 */
        start local 9 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event4
        17: .line 107
            ldc "####"
            astore 10 /* replacement5 */
        start local 10 // java.lang.String replacement5
        18: .line 108
            aload 10 /* replacement5 */
            invokestatic org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.create:(Ljava/lang/String;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            iconst_1
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_2
            iconst_0
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRange:(Lorg/graalvm/tools/lsp/server/types/Range;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
        19: .line 109
            aload 10 /* replacement5 */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        20: .line 108
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRangeLength:(Ljava/lang/Integer;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            astore 11 /* event5 */
        start local 11 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event5
        21: .line 110
            ldc "\n"
            astore 12 /* replacement6 */
        start local 12 // java.lang.String replacement6
        22: .line 111
            aload 12 /* replacement6 */
            invokestatic org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.create:(Ljava/lang/String;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            iconst_1
            bipush 7
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            iconst_1
            bipush 7
            invokestatic org.graalvm.tools.lsp.server.types.Position.create:(II)Lorg/graalvm/tools/lsp/server/types/Position;
            invokestatic org.graalvm.tools.lsp.server.types.Range.create:(Lorg/graalvm/tools/lsp/server/types/Position;Lorg/graalvm/tools/lsp/server/types/Position;)Lorg/graalvm/tools/lsp/server/types/Range;
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRange:(Lorg/graalvm/tools/lsp/server/types/Range;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
        23: .line 112
            aload 12 /* replacement6 */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        24: .line 111
            invokevirtual org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent.setRangeLength:(Ljava/lang/Integer;)Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            astore 13 /* event6 */
        start local 13 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event6
        25: .line 114
            bipush 6
            anewarray org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent
            dup
            iconst_0
            aload 3 /* event1 */
            aastore
            dup
            iconst_1
            aload 5 /* event2 */
            aastore
            dup
            iconst_2
            aload 7 /* event3 */
            aastore
            dup
            iconst_3
            aload 9 /* event4 */
            aastore
            dup
            iconst_4
            aload 11 /* event5 */
            aastore
            dup
            iconst_5
            aload 13 /* event6 */
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* oldText */
            invokestatic org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest.createSource:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source;
            aconst_null
            aconst_null
            invokestatic org.graalvm.tools.lsp.server.utils.SourceUtils.applyTextDocumentChanges:(Ljava/util/List;Lcom/oracle/truffle/api/source/Source;Lorg/graalvm/tools/lsp/server/utils/TextDocumentSurrogate;Lcom/oracle/truffle/api/TruffleLogger;)Ljava/lang/String;
            astore 14 /* actualText */
        start local 14 // java.lang.String actualText
        26: .line 115
            ldc "abc\n####hij\n"
            aload 14 /* actualText */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        27: .line 116
            return
        end local 14 // java.lang.String actualText
        end local 13 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event6
        end local 12 // java.lang.String replacement6
        end local 11 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event5
        end local 10 // java.lang.String replacement5
        end local 9 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event4
        end local 8 // java.lang.String replacement4
        end local 7 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event3
        end local 6 // java.lang.String replacement3
        end local 5 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event2
        end local 4 // java.lang.String replacement2
        end local 3 // org.graalvm.tools.lsp.server.types.TextDocumentContentChangeEvent event1
        end local 2 // java.lang.String replacement1
        end local 1 // java.lang.String oldText
        end local 0 // org.graalvm.tools.lsp.test.server.TextDocumentContentChangeTest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Lorg/graalvm/tools/lsp/test/server/TextDocumentContentChangeTest;
            1   28     1       oldText  Ljava/lang/String;
            2   28     2  replacement1  Ljava/lang/String;
            5   28     3        event1  Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
            6   28     4  replacement2  Ljava/lang/String;
            9   28     5        event2  Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
           10   28     6  replacement3  Ljava/lang/String;
           13   28     7        event3  Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
           14   28     8  replacement4  Ljava/lang/String;
           17   28     9        event4  Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
           18   28    10  replacement5  Ljava/lang/String;
           21   28    11        event5  Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
           22   28    12  replacement6  Ljava/lang/String;
           25   28    13        event6  Lorg/graalvm/tools/lsp/server/types/TextDocumentContentChangeEvent;
           26   28    14    actualText  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "TextDocumentContentChangeTest.java"
InnerClasses:
  public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source