public class org.hamcrest.collection.IsArrayWithSize<E> extends org.hamcrest.FeatureMatcher<E[], java.lang.Integer>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hamcrest.collection.IsArrayWithSize
  super_class: org.hamcrest.FeatureMatcher
{
  public void <init>(org.hamcrest.Matcher<? super java.lang.Integer>);
    descriptor: (Lorg/hamcrest/Matcher;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hamcrest.collection.IsArrayWithSize this
        start local 1 // org.hamcrest.Matcher sizeMatcher
         0: .line 15
            aload 0 /* this */
            aload 1 /* sizeMatcher */
            ldc "an array with size"
            ldc "array size"
            invokespecial org.hamcrest.FeatureMatcher.<init>:(Lorg/hamcrest/Matcher;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 16
            return
        end local 1 // org.hamcrest.Matcher sizeMatcher
        end local 0 // org.hamcrest.collection.IsArrayWithSize this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hamcrest/collection/IsArrayWithSize<TE;>;
            0    2     1  sizeMatcher  Lorg/hamcrest/Matcher<-Ljava/lang/Integer;>;
    Signature: (Lorg/hamcrest/Matcher<-Ljava/lang/Integer;>;)V
    MethodParameters:
             Name  Flags
      sizeMatcher  

  protected java.lang.Integer featureValueOf(E[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Integer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hamcrest.collection.IsArrayWithSize this
        start local 1 // java.lang.Object[] actual
         0: .line 20
            aload 1 /* actual */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 1 // java.lang.Object[] actual
        end local 0 // org.hamcrest.collection.IsArrayWithSize this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hamcrest/collection/IsArrayWithSize<TE;>;
            0    1     1  actual  [Ljava/lang/Object;
    Signature: ([TE;)Ljava/lang/Integer;
    MethodParameters:
        Name  Flags
      actual  

  public static <E> org.hamcrest.Matcher<E[]> arrayWithSize(org.hamcrest.Matcher<? super java.lang.Integer>);
    descriptor: (Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hamcrest.Matcher sizeMatcher
         0: .line 35
            new org.hamcrest.collection.IsArrayWithSize
            dup
            aload 0 /* sizeMatcher */
            invokespecial org.hamcrest.collection.IsArrayWithSize.<init>:(Lorg/hamcrest/Matcher;)V
            areturn
        end local 0 // org.hamcrest.Matcher sizeMatcher
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  sizeMatcher  Lorg/hamcrest/Matcher<-Ljava/lang/Integer;>;
    Signature: <E:Ljava/lang/Object;>(Lorg/hamcrest/Matcher<-Ljava/lang/Integer;>;)Lorg/hamcrest/Matcher<[TE;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
             Name  Flags
      sizeMatcher  

  public static <E> org.hamcrest.Matcher<E[]> arrayWithSize(int);
    descriptor: (I)Lorg/hamcrest/Matcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int size
         0: .line 50
            iload 0 /* size */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.hamcrest.core.IsEqual.equalTo:(Ljava/lang/Object;)Lorg/hamcrest/Matcher;
            invokestatic org.hamcrest.collection.IsArrayWithSize.arrayWithSize:(Lorg/hamcrest/Matcher;)Lorg/hamcrest/Matcher;
            areturn
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  size  I
    Signature: <E:Ljava/lang/Object;>(I)Lorg/hamcrest/Matcher<[TE;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
      Name  Flags
      size  

  public static <E> org.hamcrest.Matcher<E[]> emptyArray();
    descriptor: ()Lorg/hamcrest/Matcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 63
            iconst_0
            invokestatic org.hamcrest.collection.IsArrayWithSize.arrayWithSize:(I)Lorg/hamcrest/Matcher;
            astore 0 /* isEmpty */
        start local 0 // org.hamcrest.Matcher isEmpty
         1: .line 64
            ldc "an empty array"
            aload 0 /* isEmpty */
            iconst_0
            anewarray java.lang.Object
            invokestatic org.hamcrest.core.DescribedAs.describedAs:(Ljava/lang/String;Lorg/hamcrest/Matcher;[Ljava/lang/Object;)Lorg/hamcrest/Matcher;
            areturn
        end local 0 // org.hamcrest.Matcher isEmpty
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    2     0  isEmpty  Lorg/hamcrest/Matcher<[TE;>;
    Signature: <E:Ljava/lang/Object;>()Lorg/hamcrest/Matcher<[TE;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()

  protected java.lang.Object featureValueOf(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Object[]
            invokevirtual org.hamcrest.collection.IsArrayWithSize.featureValueOf:([Ljava/lang/Object;)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <E:Ljava/lang/Object;>Lorg/hamcrest/FeatureMatcher<[TE;Ljava/lang/Integer;>;
SourceFile: "IsArrayWithSize.java"