public class org.graalvm.component.installer.persist.HeaderParserTest extends org.graalvm.component.installer.TestBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.component.installer.persist.HeaderParserTest
  super_class: org.graalvm.component.installer.TestBase
{
  public org.junit.rules.ExpectedException exc;
    descriptor: Lorg/junit/rules/ExpectedException;
    flags: (0x0001) ACC_PUBLIC
    RuntimeVisibleAnnotations: 
      org.junit.Rule()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 41
            aload 0 /* this */
            invokespecial org.graalvm.component.installer.TestBase.<init>:()V
         1: .line 355
            aload 0 /* this */
            invokestatic org.junit.rules.ExpectedException.none:()Lorg/junit/rules/ExpectedException;
            putfield org.graalvm.component.installer.persist.HeaderParserTest.exc:Lorg/junit/rules/ExpectedException;
         2: .line 41
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;

  private org.graalvm.component.installer.persist.HeaderParser v(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
        start local 1 // java.lang.String content
         0: .line 43
            new org.graalvm.component.installer.persist.HeaderParser
            dup
            ldc "Bundle-Version"
            aload 1 /* content */
            aload 0 /* this */
            ldc Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.withBundle:(Ljava/lang/Class;)Lorg/graalvm/component/installer/Feedback;
            invokespecial org.graalvm.component.installer.persist.HeaderParser.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/component/installer/Feedback;)V
            areturn
        end local 1 // java.lang.String content
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            0    1     1  content  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      content  

  private org.graalvm.component.installer.persist.HeaderParser r(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
        start local 1 // java.lang.String content
         0: .line 47
            new org.graalvm.component.installer.persist.HeaderParser
            dup
            ldc "Bundle-RequireCapability"
            aload 1 /* content */
            aload 0 /* this */
            ldc Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.withBundle:(Ljava/lang/Class;)Lorg/graalvm/component/installer/Feedback;
            invokespecial org.graalvm.component.installer.persist.HeaderParser.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/component/installer/Feedback;)V
            areturn
        end local 1 // java.lang.String content
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            0    1     1  content  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      content  

  private org.graalvm.component.installer.persist.HeaderParser c(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
        start local 1 // java.lang.String content
         0: .line 51
            new org.graalvm.component.installer.persist.HeaderParser
            dup
            ldc "Bundle-ProvideCapability"
            aload 1 /* content */
            aload 0 /* this */
            ldc Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.withBundle:(Ljava/lang/Class;)Lorg/graalvm/component/installer/Feedback;
            invokespecial org.graalvm.component.installer.persist.HeaderParser.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/component/installer/Feedback;)V
            areturn
        end local 1 // java.lang.String content
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            0    1     1  content  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      content  

  private org.graalvm.component.installer.persist.HeaderParser d(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
        start local 1 // java.lang.String content
         0: .line 55
            new org.graalvm.component.installer.persist.HeaderParser
            dup
            ldc "Require-Bundle"
            aload 1 /* content */
            aload 0 /* this */
            ldc Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.withBundle:(Ljava/lang/Class;)Lorg/graalvm/component/installer/Feedback;
            invokespecial org.graalvm.component.installer.persist.HeaderParser.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/component/installer/Feedback;)V
            areturn
        end local 1 // java.lang.String content
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            0    1     1  content  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      content  

  private static void assertHeader(org.graalvm.component.installer.MetadataException);
    descriptor: (Lorg/graalvm/component/installer/MetadataException;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.MetadataException ex
         0: .line 59
            ldc "Bundle-Version"
            aload 0 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getOffendingHeader:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 60
            return
        end local 0 // org.graalvm.component.installer.MetadataException ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ex  Lorg/graalvm/component/installer/MetadataException;
    MethodParameters:
      Name  Flags
      ex    

  public void testVersionComponents();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 64
            ldc "1"
            aload 0 /* this */
            ldc "1"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 65
            ldc "1.1"
            aload 0 /* this */
            ldc "1.1"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 66
            ldc "1.2.1"
            aload 0 /* this */
            ldc "1.2.1"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 67
            ldc "1.2.1.whatever"
            aload 0 /* this */
            ldc "1.2.1.whatever"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 68
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNonDigitsInVersion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 73
            aload 0 /* this */
            ldc "1a"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
         1: .line 74
            ldc "Must fail on incorrect major"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 75
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         4: .line 76
            aload 1 /* ex */
            invokestatic org.graalvm.component.installer.persist.HeaderParserTest.assertHeader:(Lorg/graalvm/component/installer/MetadataException;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
         5: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "aa"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
         6: .line 80
            ldc "Must fail on incorrect major"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         7: .line 81
            goto 10
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         8: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         9: .line 82
            aload 1 /* ex */
            invokestatic org.graalvm.component.installer.persist.HeaderParserTest.assertHeader:(Lorg/graalvm/component/installer/MetadataException;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        10: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "1.1a"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
        11: .line 86
            ldc "Must fail on incorrect minor"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        12: .line 87
            goto 15
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        13: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        14: .line 88
            aload 1 /* ex */
            invokestatic org.graalvm.component.installer.persist.HeaderParserTest.assertHeader:(Lorg/graalvm/component/installer/MetadataException;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        15: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "1.2.1a"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
        16: .line 92
            ldc "Must fail on incorrect micro"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        17: .line 93
            goto 20
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        18: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        19: .line 94
            aload 1 /* ex */
            invokestatic org.graalvm.component.installer.persist.HeaderParserTest.assertHeader:(Lorg/graalvm/component/installer/MetadataException;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        20: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "0.33-dev"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
        21: .line 98
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            4    5     1    ex  Lorg/graalvm/component/installer/MetadataException;
            9   10     1    ex  Lorg/graalvm/component/installer/MetadataException;
           14   15     1    ex  Lorg/graalvm/component/installer/MetadataException;
           19   20     1    ex  Lorg/graalvm/component/installer/MetadataException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.graalvm.component.installer.MetadataException
           5     7       8  Class org.graalvm.component.installer.MetadataException
          10    12      13  Class org.graalvm.component.installer.MetadataException
          15    17      18  Class org.graalvm.component.installer.MetadataException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testEmptyVersionComponent();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 103
            aload 0 /* this */
            ldc ""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
         1: .line 104
            ldc "Must fail on empty version"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 105
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         4: .line 106
            aload 1 /* ex */
            invokestatic org.graalvm.component.installer.persist.HeaderParserTest.assertHeader:(Lorg/graalvm/component/installer/MetadataException;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
         5: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ".1"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
         6: .line 110
            ldc "Must fail on empty major"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         7: .line 111
            goto 10
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         8: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         9: .line 112
            aload 1 /* ex */
            invokestatic org.graalvm.component.installer.persist.HeaderParserTest.assertHeader:(Lorg/graalvm/component/installer/MetadataException;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        10: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "1..1"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
        11: .line 116
            ldc "Must fail on empty micro"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        12: .line 117
            goto 15
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        13: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        14: .line 118
            aload 1 /* ex */
            invokestatic org.graalvm.component.installer.persist.HeaderParserTest.assertHeader:(Lorg/graalvm/component/installer/MetadataException;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        15: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "1.1.."
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
        16: .line 122
            ldc "Must fail on empty micro"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        17: .line 123
            goto 20
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        18: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        19: .line 124
            aload 1 /* ex */
            invokestatic org.graalvm.component.installer.persist.HeaderParserTest.assertHeader:(Lorg/graalvm/component/installer/MetadataException;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        20: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "1.1.2."
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
        21: .line 128
            ldc "Must fail on empty qualifier"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        22: .line 129
            goto 25
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        23: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        24: .line 130
            aload 1 /* ex */
            invokestatic org.graalvm.component.installer.persist.HeaderParserTest.assertHeader:(Lorg/graalvm/component/installer/MetadataException;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        25: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            4    5     1    ex  Lorg/graalvm/component/installer/MetadataException;
            9   10     1    ex  Lorg/graalvm/component/installer/MetadataException;
           14   15     1    ex  Lorg/graalvm/component/installer/MetadataException;
           19   20     1    ex  Lorg/graalvm/component/installer/MetadataException;
           24   25     1    ex  Lorg/graalvm/component/installer/MetadataException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.graalvm.component.installer.MetadataException
           5     7       8  Class org.graalvm.component.installer.MetadataException
          10    12      13  Class org.graalvm.component.installer.MetadataException
          15    17      18  Class org.graalvm.component.installer.MetadataException
          20    22      23  Class org.graalvm.component.installer.MetadataException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGarbageAfterVersion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 136
            aload 0 /* this */
            ldc "aa 1"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
         1: .line 137
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test(expected = Lorg/graalvm/component/installer/MetadataException;)

  public void testGarbageBeforeVersion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 141
            aload 0 /* this */
            ldc "1 aa"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.v:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.version:()Ljava/lang/String;
            pop
         1: .line 142
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test(expected = Lorg/graalvm/component/installer/MetadataException;)

  public void testFoo();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 147
            aload 0 /* this */
            ldc "org.graalvm; filter := \"()\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         1: .line 148
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 149
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         4: .line 150
            ldc "ERROR_InvalidFilterSpecification"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
         5: .line 152
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            4    5     1    ex  Lorg/graalvm/component/installer/MetadataException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.graalvm.component.installer.MetadataException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBadCapabilitySyntax();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 157
            aload 0 /* this */
            ldc "foobar"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         1: .line 158
            ldc "Should fail on unkown capability"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 159
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         4: .line 160
            ldc "Bundle-RequireCapability"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getOffendingHeader:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
         5: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "foobar = aaa"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         6: .line 164
            ldc "Should fail on invalid syntax"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         7: .line 165
            goto 9
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         8: pop
         9: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm;"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
        10: .line 171
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        11: .line 172
            goto 14
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        12: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        13: .line 173
            ldc "ERROR_MissingVersionFilter"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        14: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; unknown = aaa"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
        15: .line 177
            ldc "Should fail on unknown parameter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        16: .line 178
            goto 19
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        17: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        18: .line 179
            ldc "ERROR_UnsupportedParameters"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        19: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; unknown := aaa"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
        20: .line 183
            ldc "Should fail on unknown directive"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        21: .line 184
            goto 24
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        22: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        23: .line 185
            ldc "ERROR_UnsupportedDirectives"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        24: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; filter := aaa"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
        25: .line 189
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        26: .line 190
            goto 29
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        27: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        28: .line 191
            ldc "ERROR_InvalidFilterSpecification"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        29: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; filter := ()"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
        30: .line 195
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        31: .line 196
            goto 34
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        32: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        33: .line 197
            ldc "ERROR_InvalidParameterSyntax"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        34: .line 199
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   35     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            4    5     1    ex  Lorg/graalvm/component/installer/MetadataException;
           13   14     1    ex  Lorg/graalvm/component/installer/MetadataException;
           18   19     1    ex  Lorg/graalvm/component/installer/MetadataException;
           23   24     1    ex  Lorg/graalvm/component/installer/MetadataException;
           28   29     1    ex  Lorg/graalvm/component/installer/MetadataException;
           33   34     1    ex  Lorg/graalvm/component/installer/MetadataException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.graalvm.component.installer.MetadataException
           5     7       8  Class org.graalvm.component.installer.MetadataException
           9    11      12  Class org.graalvm.component.installer.MetadataException
          14    16      17  Class org.graalvm.component.installer.MetadataException
          19    21      22  Class org.graalvm.component.installer.MetadataException
          24    26      27  Class org.graalvm.component.installer.MetadataException
          29    31      32  Class org.graalvm.component.installer.MetadataException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBadProvideCapabilitySyntax();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 204
            aload 0 /* this */
            ldc "org.graalvm; = \"CE\"; native_version:Version=\"19.3"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            pop
         1: .line 205
            ldc "Should fail on invalid capability"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 206
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         4: .line 207
            ldc "ERROR_InvalidCapabilityName"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
         5: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; edition := \"CE\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            pop
         6: .line 211
            ldc "Should fail on invalid capability syntax"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         7: .line 212
            goto 10
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         8: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         9: .line 213
            ldc "ERROR_InvalidCapabilitySyntax"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        10: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; edition :;"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            pop
        11: .line 217
            ldc "Should fail on invalid capability syntax"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        12: .line 218
            goto 15
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        13: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        14: .line 219
            ldc "ERROR_InvalidCapabilitySyntax"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        15: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; edition : #=\"2\";"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            pop
        16: .line 223
            ldc "Should fail on invalid capability syntax"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        17: .line 224
            goto 20
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        18: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        19: .line 225
            ldc "ERROR_InvalidCapabilitySyntax"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        20: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; edition:Unknown=\"2\";"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            pop
        21: .line 229
            ldc "Should fail on invalid capability syntax"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        22: .line 230
            goto 25
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        23: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        24: .line 231
            ldc "ERROR_UnsupportedCapabilityType"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        25: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; edition"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            pop
        26: .line 235
            ldc "Should fail on invalid capability syntax"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        27: .line 236
            goto 30
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        28: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        29: .line 237
            ldc "ERROR_InvalidCapabilitySyntax"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        30: .line 239
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   31     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            4    5     1    ex  Lorg/graalvm/component/installer/MetadataException;
            9   10     1    ex  Lorg/graalvm/component/installer/MetadataException;
           14   15     1    ex  Lorg/graalvm/component/installer/MetadataException;
           19   20     1    ex  Lorg/graalvm/component/installer/MetadataException;
           24   25     1    ex  Lorg/graalvm/component/installer/MetadataException;
           29   30     1    ex  Lorg/graalvm/component/installer/MetadataException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.graalvm.component.installer.MetadataException
           5     7       8  Class org.graalvm.component.installer.MetadataException
          10    12      13  Class org.graalvm.component.installer.MetadataException
          15    17      18  Class org.graalvm.component.installer.MetadataException
          20    22      23  Class org.graalvm.component.installer.MetadataException
          25    27      28  Class org.graalvm.component.installer.MetadataException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testReadCapabilities();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 243
            aload 0 /* this */
            ldc "org.graalvm; edition = \"CE\"; native_version:Version=\"19.3\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            astore 1 /* caps */
        start local 1 // java.util.Map caps
         1: .line 244
            ldc 2
            aload 1 /* caps */
            invokeinterface java.util.Map.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 245
            ldc "CE"
            aload 1 /* caps */
            ldc "edition"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 246
            aload 1 /* caps */
            ldc "native_version"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
         4: .line 247
            aload 1 /* caps */
            ldc "native_version"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.component.installer.Version
            astore 2 /* v */
        start local 2 // org.graalvm.component.installer.Version v
         5: .line 248
            ldc "19.3"
            invokestatic org.graalvm.component.installer.Version.fromString:(Ljava/lang/String;)Lorg/graalvm/component/installer/Version;
            aload 2 /* v */
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 249
            return
        end local 2 // org.graalvm.component.installer.Version v
        end local 1 // java.util.Map caps
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            1    7     1  caps  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            5    7     2     v  Lorg/graalvm/component/installer/Version;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBadCapabilityUnsupportedType();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 254
            aload 0 /* this */
            ldc "org.graalvm; edition:long=\"2\";"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            pop
         1: .line 255
            ldc "Should fail on invalid capability syntax"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 256
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         4: .line 257
            ldc "ERROR_UnsupportedCapabilityType"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
         5: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; edition:double=\"2\";"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            pop
         6: .line 261
            ldc "Should fail on invalid capability syntax"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         7: .line 262
            goto 10
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         8: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         9: .line 263
            ldc "ERROR_UnsupportedCapabilityType"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        10: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; edition:list=\"2\";"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            pop
        11: .line 267
            ldc "Should fail on invalid capability syntax"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        12: .line 268
            goto 15
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        13: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        14: .line 269
            ldc "ERROR_UnsupportedCapabilityType"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        15: .line 271
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            4    5     1    ex  Lorg/graalvm/component/installer/MetadataException;
            9   10     1    ex  Lorg/graalvm/component/installer/MetadataException;
           14   15     1    ex  Lorg/graalvm/component/installer/MetadataException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.graalvm.component.installer.MetadataException
           5     7       8  Class org.graalvm.component.installer.MetadataException
          10    12      13  Class org.graalvm.component.installer.MetadataException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBadFilterSyntax();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 276
            aload 0 /* this */
            ldc "org.graalvm; filter := \"()\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         1: .line 277
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 278
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         4: .line 279
            ldc "ERROR_InvalidFilterSpecification"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
         5: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         6: .line 283
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         7: .line 284
            goto 10
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         8: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         9: .line 285
            ldc "ERROR_InvalidFilterSpecification"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        10: .line 287
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            4    5     1    ex  Lorg/graalvm/component/installer/MetadataException;
            9   10     1    ex  Lorg/graalvm/component/installer/MetadataException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.graalvm.component.installer.MetadataException
           5     7       8  Class org.graalvm.component.installer.MetadataException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testBadFilterParenthesis();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 292
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(graalvm_version=0.32\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         1: .line 293
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 294
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         4: .line 295
            ldc "ERROR_InvalidFilterSpecification"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
         5: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(graalvm_version=0.32)(whatever=111)\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         6: .line 299
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         7: .line 300
            goto 10
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         8: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         9: .line 301
            ldc "ERROR_InvalidFilterSpecification"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        10: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; filter := \"&(graalvm_version=0.32)(whatever=111)\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
        11: .line 305
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        12: .line 306
            goto 15
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        13: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        14: .line 307
            ldc "ERROR_InvalidFilterSpecification"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        15: .line 309
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            4    5     1    ex  Lorg/graalvm/component/installer/MetadataException;
            9   10     1    ex  Lorg/graalvm/component/installer/MetadataException;
           14   15     1    ex  Lorg/graalvm/component/installer/MetadataException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.graalvm.component.installer.MetadataException
           5     7       8  Class org.graalvm.component.installer.MetadataException
          10    12      13  Class org.graalvm.component.installer.MetadataException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInvalidFilterAttributeValues();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 314
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(&(graalvm_version=0.~32)(whatever=111))\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         1: .line 315
            ldc "Should fail on invalid filter attribute value"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 316
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         4: .line 317
            ldc "ERROR_InvalidFilterSpecification"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
         5: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(&(graalvm_version=0.>32)(whatever=111))\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         6: .line 321
            ldc "Should fail on invalid filter attribute value"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         7: .line 322
            goto 10
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         8: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         9: .line 323
            ldc "ERROR_InvalidFilterSpecification"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        10: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(&(graalvm_version=0.<32)(whatever=111))\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
        11: .line 327
            ldc "Should fail on invalid filter attribute value"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        12: .line 328
            goto 15
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        13: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        14: .line 329
            ldc "ERROR_InvalidFilterSpecification"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        15: .line 331
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            4    5     1    ex  Lorg/graalvm/component/installer/MetadataException;
            9   10     1    ex  Lorg/graalvm/component/installer/MetadataException;
           14   15     1    ex  Lorg/graalvm/component/installer/MetadataException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.graalvm.component.installer.MetadataException
           5     7       8  Class org.graalvm.component.installer.MetadataException
          10    12      13  Class org.graalvm.component.installer.MetadataException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInvalidFilterOperations();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 336
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(graalvm_version>0.32\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         1: .line 337
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         2: .line 338
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         3: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         4: .line 339
            ldc "ERROR_UnsupportedFilterOperation"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
         5: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(graalvm_version<0.32\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         6: .line 343
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         7: .line 344
            goto 10
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
         8: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
         9: .line 345
            ldc "ERROR_UnsupportedFilterOperation"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        10: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(graalvm_version=0.32*eee\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
        11: .line 349
            ldc "Should fail on missing filter"
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
        12: .line 350
            goto 15
      StackMap locals:
      StackMap stack: org.graalvm.component.installer.MetadataException
        13: astore 1 /* ex */
        start local 1 // org.graalvm.component.installer.MetadataException ex
        14: .line 351
            ldc "ERROR_UnsupportedFilterOperation"
            aload 1 /* ex */
            invokevirtual org.graalvm.component.installer.MetadataException.getMessage:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // org.graalvm.component.installer.MetadataException ex
        15: .line 353
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            4    5     1    ex  Lorg/graalvm/component/installer/MetadataException;
            9   10     1    ex  Lorg/graalvm/component/installer/MetadataException;
           14   15     1    ex  Lorg/graalvm/component/installer/MetadataException;
      Exception table:
        from    to  target  type
           0     2       3  Class org.graalvm.component.installer.MetadataException
           5     7       8  Class org.graalvm.component.installer.MetadataException
          10    12      13  Class org.graalvm.component.installer.MetadataException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testFilterValueEscaping();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 359
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(graalvm_version=0\\32)\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            astore 1 /* attrs */
        start local 1 // java.util.Map attrs
         1: .line 360
            ldc "0\\32"
            aload 1 /* attrs */
            ldc "graalvm_version"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 361
            return
        end local 1 // java.util.Map attrs
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            1    3     1  attrs  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testFilterMutlipleValues();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 366
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(&(graalvm_version=0.32)(whatever=111))\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            astore 1 /* m */
        start local 1 // java.util.Map m
         1: .line 367
            ldc "0.32"
            aload 1 /* m */
            ldc "graalvm_version"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 368
            ldc "111"
            aload 1 /* m */
            ldc "whatever"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 369
            return
        end local 1 // java.util.Map m
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            1    4     1     m  Ljava/util/Map;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testFilterDuplicateValues();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 373
            aload 0 /* this */
            getfield org.graalvm.component.installer.persist.HeaderParserTest.exc:Lorg/junit/rules/ExpectedException;
            ldc Lorg/graalvm/component/installer/MetadataException;
            invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
         1: .line 374
            aload 0 /* this */
            getfield org.graalvm.component.installer.persist.HeaderParserTest.exc:Lorg/junit/rules/ExpectedException;
            ldc "ERROR_DuplicateFilterAttribute"
            invokevirtual org.junit.rules.ExpectedException.expectMessage:(Ljava/lang/String;)V
         2: .line 375
            aload 0 /* this */
            ldc "org.graalvm; filter := \"(&(graalvm_version=0.32)(graalvm_version=111))\""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.r:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseRequiredCapabilities:()Ljava/util/Map;
            pop
         3: .line 376
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSimpleProvidedCapability();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 380
            aload 0 /* this */
            ldc "org.graalvm; edition=ee; graalvm_version=ff"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.c:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            astore 1 /* v */
        start local 1 // java.util.Map v
         1: .line 381
            ldc "ee"
            aload 1 /* v */
            ldc "edition"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 382
            ldc "ff"
            aload 1 /* v */
            ldc "graalvm_version"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 383
            return
        end local 1 // java.util.Map v
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            1    4     1     v  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSimpleProvidedCapabilityBad1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 387
            aload 0 /* this */
            getfield org.graalvm.component.installer.persist.HeaderParserTest.exc:Lorg/junit/rules/ExpectedException;
            ldc Lorg/graalvm/component/installer/MetadataException;
            invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
         1: .line 388
            aload 0 /* this */
            getfield org.graalvm.component.installer.persist.HeaderParserTest.exc:Lorg/junit/rules/ExpectedException;
            ldc "ERROR_InvalidCapabilitySyntax"
            invokevirtual org.junit.rules.ExpectedException.expectMessage:(Ljava/lang/String;)V
         2: .line 389
            aload 0 /* this */
            ldc "org.graalvm; edition; graalvm_version=ff"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.c:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseProvidedCapabilities:()Ljava/util/Map;
            pop
         3: .line 390
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSimpleDependency();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 394
            aload 0 /* this */
            ldc ""
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.d:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseDependencies:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         1: .line 395
            aload 0 /* this */
            ldc "org.graalvm.llvm-toolchain"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.d:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseDependencies:()Ljava/util/Set;
            astore 1 /* s */
        start local 1 // java.util.Set s
         2: .line 396
            lconst_1
            aload 1 /* s */
            invokeinterface java.util.Set.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         3: .line 397
            ldc "org.graalvm.llvm-toolchain"
            aload 1 /* s */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 398
            return
        end local 1 // java.util.Set s
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            2    5     1     s  Ljava/util/Set<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMultipleDependencies();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 402
            aload 0 /* this */
            ldc "org.graalvm.llvm-toolchain, org.graalvm.native-image"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.d:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseDependencies:()Ljava/util/Set;
            astore 1 /* s */
        start local 1 // java.util.Set s
         1: .line 403
            ldc 2
            aload 1 /* s */
            invokeinterface java.util.Set.size:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         2: .line 404
            aload 1 /* s */
            ldc "org.graalvm.llvm-toolchain"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 405
            aload 1 /* s */
            ldc "org.graalvm.native-image"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 406
            return
        end local 1 // java.util.Set s
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
            1    5     1     s  Ljava/util/Set<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testRejectVersionedDependency();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
         0: .line 410
            aload 0 /* this */
            getfield org.graalvm.component.installer.persist.HeaderParserTest.exc:Lorg/junit/rules/ExpectedException;
            ldc Lorg/graalvm/component/installer/MetadataException;
            invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
         1: .line 411
            aload 0 /* this */
            getfield org.graalvm.component.installer.persist.HeaderParserTest.exc:Lorg/junit/rules/ExpectedException;
            ldc "ERROR_DependencyParametersNotSupported"
            invokevirtual org.junit.rules.ExpectedException.expectMessage:(Ljava/lang/String;)V
         2: .line 412
            aload 0 /* this */
            ldc "org.graalvm.llvm-toolchain; bundle-version=19.3"
            invokevirtual org.graalvm.component.installer.persist.HeaderParserTest.d:(Ljava/lang/String;)Lorg/graalvm/component/installer/persist/HeaderParser;
            invokevirtual org.graalvm.component.installer.persist.HeaderParser.parseDependencies:()Ljava/util/Set;
            pop
         3: .line 413
            return
        end local 0 // org.graalvm.component.installer.persist.HeaderParserTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/component/installer/persist/HeaderParserTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "HeaderParserTest.java"