class org.junit.jupiter.api.AssertLinesMatch
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.junit.jupiter.api.AssertLinesMatch
  super_class: java.lang.Object
{
  private static final int MAX_SNIPPET_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 21

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.api.AssertLinesMatch this
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            return
        end local 0 // org.junit.jupiter.api.AssertLinesMatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/junit/jupiter/api/AssertLinesMatch;

  static void assertLinesMatch(java.util.List<java.lang.String>, java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;Ljava/util/List;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.List expectedLines
        start local 1 // java.util.List actualLines
         0: .line 43
            aload 0 /* expectedLines */
            aload 1 /* actualLines */
            aconst_null
            invokestatic org.junit.jupiter.api.AssertLinesMatch.assertLinesMatch:(Ljava/util/List;Ljava/util/List;Ljava/lang/Object;)V
         1: .line 44
            return
        end local 1 // java.util.List actualLines
        end local 0 // java.util.List expectedLines
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  expectedLines  Ljava/util/List<Ljava/lang/String;>;
            0    2     1    actualLines  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
               Name  Flags
      expectedLines  
      actualLines    

  static void assertLinesMatch(java.util.List<java.lang.String>, java.util.List<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.List expectedLines
        start local 1 // java.util.List actualLines
        start local 2 // java.lang.String message
         0: .line 47
            aload 0 /* expectedLines */
            aload 1 /* actualLines */
            aload 2 /* message */
            invokestatic org.junit.jupiter.api.AssertLinesMatch.assertLinesMatch:(Ljava/util/List;Ljava/util/List;Ljava/lang/Object;)V
         1: .line 48
            return
        end local 2 // java.lang.String message
        end local 1 // java.util.List actualLines
        end local 0 // java.util.List expectedLines
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  expectedLines  Ljava/util/List<Ljava/lang/String;>;
            0    2     1    actualLines  Ljava/util/List<Ljava/lang/String;>;
            0    2     2        message  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)V
    MethodParameters:
               Name  Flags
      expectedLines  
      actualLines    
      message        

  static void assertLinesMatch(java.util.stream.Stream<java.lang.String>, java.util.stream.Stream<java.lang.String>);
    descriptor: (Ljava/util/stream/Stream;Ljava/util/stream/Stream;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.stream.Stream expectedLines
        start local 1 // java.util.stream.Stream actualLines
         0: .line 51
            aload 0 /* expectedLines */
            aload 1 /* actualLines */
            aconst_null
            invokestatic org.junit.jupiter.api.AssertLinesMatch.assertLinesMatch:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;Ljava/lang/Object;)V
         1: .line 52
            return
        end local 1 // java.util.stream.Stream actualLines
        end local 0 // java.util.stream.Stream expectedLines
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  expectedLines  Ljava/util/stream/Stream<Ljava/lang/String;>;
            0    2     1    actualLines  Ljava/util/stream/Stream<Ljava/lang/String;>;
    Signature: (Ljava/util/stream/Stream<Ljava/lang/String;>;Ljava/util/stream/Stream<Ljava/lang/String;>;)V
    MethodParameters:
               Name  Flags
      expectedLines  
      actualLines    

  static void assertLinesMatch(java.util.stream.Stream<java.lang.String>, java.util.stream.Stream<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/stream/Stream;Ljava/util/stream/Stream;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.stream.Stream expectedLines
        start local 1 // java.util.stream.Stream actualLines
        start local 2 // java.lang.String message
         0: .line 55
            aload 0 /* expectedLines */
            aload 1 /* actualLines */
            aload 2 /* message */
            invokestatic org.junit.jupiter.api.AssertLinesMatch.assertLinesMatch:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;Ljava/lang/Object;)V
         1: .line 56
            return
        end local 2 // java.lang.String message
        end local 1 // java.util.stream.Stream actualLines
        end local 0 // java.util.stream.Stream expectedLines
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  expectedLines  Ljava/util/stream/Stream<Ljava/lang/String;>;
            0    2     1    actualLines  Ljava/util/stream/Stream<Ljava/lang/String;>;
            0    2     2        message  Ljava/lang/String;
    Signature: (Ljava/util/stream/Stream<Ljava/lang/String;>;Ljava/util/stream/Stream<Ljava/lang/String;>;Ljava/lang/String;)V
    MethodParameters:
               Name  Flags
      expectedLines  
      actualLines    
      message        

  static void assertLinesMatch(java.util.stream.Stream<java.lang.String>, java.util.stream.Stream<java.lang.String>, );
    descriptor: (Ljava/util/stream/Stream;Ljava/util/stream/Stream;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.util.stream.Stream expectedLines
        start local 1 // java.util.stream.Stream actualLines
        start local 2 // java.lang.Object messageOrSupplier
         0: .line 59
            aload 0 /* expectedLines */
            ldc "expectedLines must not be null"
            invokestatic org.junit.platform.commons.util.Preconditions.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 60
            aload 1 /* actualLines */
            ldc "actualLines must not be null"
            invokestatic org.junit.platform.commons.util.Preconditions.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 63
            aload 0 /* expectedLines */
            aload 1 /* actualLines */
            if_acmpne 4
         3: .line 64
            return
         4: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* expectedLines */
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* expectedListOfStrings */
        start local 3 // java.util.List expectedListOfStrings
         5: .line 68
            aload 1 /* actualLines */
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* actualListOfStrings */
        start local 4 // java.util.List actualListOfStrings
         6: .line 69
            aload 3 /* expectedListOfStrings */
            aload 4 /* actualListOfStrings */
            aload 2 /* messageOrSupplier */
            invokestatic org.junit.jupiter.api.AssertLinesMatch.assertLinesMatch:(Ljava/util/List;Ljava/util/List;Ljava/lang/Object;)V
         7: .line 70
            return
        end local 4 // java.util.List actualListOfStrings
        end local 3 // java.util.List expectedListOfStrings
        end local 2 // java.lang.Object messageOrSupplier
        end local 1 // java.util.stream.Stream actualLines
        end local 0 // java.util.stream.Stream expectedLines
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    8     0          expectedLines  Ljava/util/stream/Stream<Ljava/lang/String;>;
            0    8     1            actualLines  Ljava/util/stream/Stream<Ljava/lang/String;>;
            0    8     2      messageOrSupplier  Ljava/lang/Object;
            5    8     3  expectedListOfStrings  Ljava/util/List<Ljava/lang/String;>;
            6    8     4    actualListOfStrings  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/stream/Stream<Ljava/lang/String;>;Ljava/util/stream/Stream<Ljava/lang/String;>;Ljava/lang/Object;)V
    MethodParameters:
                   Name  Flags
      expectedLines      
      actualLines        
      messageOrSupplier  

  static void assertLinesMatch(java.util.List<java.lang.String>, java.util.List<java.lang.String>, );
    descriptor: (Ljava/util/List;Ljava/util/List;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.util.List expectedLines
        start local 1 // java.util.List actualLines
        start local 2 // java.lang.Object messageOrSupplier
         0: .line 73
            aload 0 /* expectedLines */
            ldc "expectedLines must not be null"
            invokestatic org.junit.platform.commons.util.Preconditions.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 74
            aload 1 /* actualLines */
            ldc "actualLines must not be null"
            invokestatic org.junit.platform.commons.util.Preconditions.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 77
            aload 0 /* expectedLines */
            aload 1 /* actualLines */
            if_acmpne 4
         3: .line 78
            return
         4: .line 81
      StackMap locals:
      StackMap stack:
            new org.junit.jupiter.api.AssertLinesMatch$LinesMatcher
            dup
            aload 0 /* expectedLines */
            aload 1 /* actualLines */
            aload 2 /* messageOrSupplier */
            invokespecial org.junit.jupiter.api.AssertLinesMatch$LinesMatcher.<init>:(Ljava/util/List;Ljava/util/List;Ljava/lang/Object;)V
            invokevirtual org.junit.jupiter.api.AssertLinesMatch$LinesMatcher.assertLinesMatch:()V
         5: .line 82
            return
        end local 2 // java.lang.Object messageOrSupplier
        end local 1 // java.util.List actualLines
        end local 0 // java.util.List expectedLines
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0      expectedLines  Ljava/util/List<Ljava/lang/String;>;
            0    6     1        actualLines  Ljava/util/List<Ljava/lang/String;>;
            0    6     2  messageOrSupplier  Ljava/lang/Object;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Object;)V
    MethodParameters:
                   Name  Flags
      expectedLines      
      actualLines        
      messageOrSupplier  

  static boolean isFastForwardLine(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String line
         0: .line 200
            aload 0 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 0 /* line */
         1: .line 201
            aload 0 /* line */
            invokevirtual java.lang.String.length:()I
            iconst_4
            if_icmplt 2
            aload 0 /* line */
            ldc ">>"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
            aload 0 /* line */
            ldc ">>"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // java.lang.String line
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  line  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      line  

  static int parseFastForwardLimit(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String fastForwardLine
         0: .line 205
            aload 0 /* fastForwardLine */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            iconst_2
            aload 0 /* fastForwardLine */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 1 /* text */
        start local 1 // java.lang.String text
         1: .line 207
            aload 1 /* text */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 2 /* limit */
        start local 2 // int limit
         2: .line 208
            iload 2 /* limit */
            ifle 3
            iconst_1
            goto 4
      StackMap locals: java.lang.String int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: iload 2 /* limit */
            invokedynamic get(I)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/junit/jupiter/api/AssertLinesMatch.lambda$0(I)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic org.junit.platform.commons.util.Preconditions.condition:(ZLjava/util/function/Supplier;)V
         5: .line 209
            iload 2 /* limit */
         6: ireturn
        end local 2 // int limit
         7: .line 211
      StackMap locals: java.lang.String java.lang.String
      StackMap stack: java.lang.NumberFormatException
            pop
         8: .line 212
            ldc 2147483647
            ireturn
        end local 1 // java.lang.String text
        end local 0 // java.lang.String fastForwardLine
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0  fastForwardLine  Ljava/lang/String;
            1    9     1             text  Ljava/lang/String;
            2    7     2            limit  I
      Exception table:
        from    to  target  type
           1     6       7  Class java.lang.NumberFormatException
    MethodParameters:
                 Name  Flags
      fastForwardLine  

  static boolean matches(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String expectedLine
        start local 1 // java.lang.String actualLine
         0: .line 217
            aload 0 /* expectedLine */
            ldc "expected line must not be null"
            invokestatic org.junit.platform.commons.util.Preconditions.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 218
            aload 1 /* actualLine */
            ldc "actual line must not be null"
            invokestatic org.junit.platform.commons.util.Preconditions.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 219
            aload 0 /* expectedLine */
            aload 1 /* actualLine */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 220
            iconst_1
            ireturn
         4: .line 223
      StackMap locals:
      StackMap stack:
            aload 1 /* actualLine */
            aload 0 /* expectedLine */
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
         5: ireturn
         6: .line 225
      StackMap locals:
      StackMap stack: java.util.regex.PatternSyntaxException
            pop
         7: .line 226
            iconst_0
            ireturn
        end local 1 // java.lang.String actualLine
        end local 0 // java.lang.String expectedLine
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0  expectedLine  Ljava/lang/String;
            0    8     1    actualLine  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     5       6  Class java.util.regex.PatternSyntaxException
    MethodParameters:
              Name  Flags
      expectedLine  
      actualLine    

  private static java.lang.String lambda$0(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
         0: .line 208
            ldc "fast-forward(%d) limit must be greater than zero"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "AssertLinesMatch.java"
NestMembers:
  org.junit.jupiter.api.AssertLinesMatch$LinesMatcher
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private LinesMatcher = org.junit.jupiter.api.AssertLinesMatch$LinesMatcher of org.junit.jupiter.api.AssertLinesMatch