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

  public static <T> void assertThat(T, org.hamcrest.Matcher<? super T>);
    descriptor: (Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object actual
        start local 1 // org.hamcrest.Matcher matcher
         0: .line 8
            ldc ""
            aload 0 /* actual */
            aload 1 /* matcher */
            invokestatic org.hamcrest.MatcherAssert.assertThat:(Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
         1: .line 9
            return
        end local 1 // org.hamcrest.Matcher matcher
        end local 0 // java.lang.Object actual
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0   actual  TT;
            0    2     1  matcher  Lorg/hamcrest/Matcher<-TT;>;
    Signature: <T:Ljava/lang/Object;>(TT;Lorg/hamcrest/Matcher<-TT;>;)V
    MethodParameters:
         Name  Flags
      actual   
      matcher  

  public static <T> void assertThat(java.lang.String, T, org.hamcrest.Matcher<? super T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/hamcrest/Matcher;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String reason
        start local 1 // java.lang.Object actual
        start local 2 // org.hamcrest.Matcher matcher
         0: .line 12
            aload 2 /* matcher */
            aload 1 /* actual */
            invokeinterface org.hamcrest.Matcher.matches:(Ljava/lang/Object;)Z
            ifne 8
         1: .line 13
            new org.hamcrest.StringDescription
            dup
            invokespecial org.hamcrest.StringDescription.<init>:()V
            astore 3 /* description */
        start local 3 // org.hamcrest.Description description
         2: .line 14
            aload 3 /* description */
            aload 0 /* reason */
            invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
         3: .line 15
            ldc "\nExpected: "
            invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
         4: .line 16
            aload 2 /* matcher */
            invokeinterface org.hamcrest.Description.appendDescriptionOf:(Lorg/hamcrest/SelfDescribing;)Lorg/hamcrest/Description;
         5: .line 17
            ldc "\n     but: "
            invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
            pop
         6: .line 18
            aload 2 /* matcher */
            aload 1 /* actual */
            aload 3 /* description */
            invokeinterface org.hamcrest.Matcher.describeMismatch:(Ljava/lang/Object;Lorg/hamcrest/Description;)V
         7: .line 20
            new java.lang.AssertionError
            dup
            aload 3 /* description */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // org.hamcrest.Description description
         8: .line 22
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hamcrest.Matcher matcher
        end local 1 // java.lang.Object actual
        end local 0 // java.lang.String reason
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0       reason  Ljava/lang/String;
            0    9     1       actual  TT;
            0    9     2      matcher  Lorg/hamcrest/Matcher<-TT;>;
            2    8     3  description  Lorg/hamcrest/Description;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;TT;Lorg/hamcrest/Matcher<-TT;>;)V
    MethodParameters:
         Name  Flags
      reason   
      actual   
      matcher  

  public static void assertThat(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String reason
        start local 1 // boolean assertion
         0: .line 25
            iload 1 /* assertion */
            ifne 2
         1: .line 26
            new java.lang.AssertionError
            dup
            aload 0 /* reason */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 28
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean assertion
        end local 0 // java.lang.String reason
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0     reason  Ljava/lang/String;
            0    3     1  assertion  Z
    MethodParameters:
           Name  Flags
      reason     
      assertion  
}
SourceFile: "MatcherAssert.java"