public class org.hamcrest.object.HasToString<T> extends org.hamcrest.FeatureMatcher<T, java.lang.String>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hamcrest.object.HasToString
  super_class: org.hamcrest.FeatureMatcher
{
  public void <init>(org.hamcrest.Matcher<? super java.lang.String>);
    descriptor: (Lorg/hamcrest/Matcher;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hamcrest.object.HasToString this
        start local 1 // org.hamcrest.Matcher toStringMatcher
         0: .line 11
            aload 0 /* this */
            aload 1 /* toStringMatcher */
            ldc "with toString()"
            ldc "toString()"
            invokespecial org.hamcrest.FeatureMatcher.<init>:(Lorg/hamcrest/Matcher;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 12
            return
        end local 1 // org.hamcrest.Matcher toStringMatcher
        end local 0 // org.hamcrest.object.HasToString this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hamcrest/object/HasToString<TT;>;
            0    2     1  toStringMatcher  Lorg/hamcrest/Matcher<-Ljava/lang/String;>;
    Signature: (Lorg/hamcrest/Matcher<-Ljava/lang/String;>;)V
    MethodParameters:
                 Name  Flags
      toStringMatcher  

  protected java.lang.String featureValueOf(T);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hamcrest.object.HasToString this
        start local 1 // java.lang.Object actual
         0: .line 16
            aload 1 /* actual */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object actual
        end local 0 // org.hamcrest.object.HasToString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hamcrest/object/HasToString<TT;>;
            0    1     1  actual  TT;
    Signature: (TT;)Ljava/lang/String;
    MethodParameters:
        Name  Flags
      actual  

  public static <T> org.hamcrest.Matcher<T> hasToString(org.hamcrest.Matcher<? super java.lang.String>);
    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 toStringMatcher
         0: .line 31
            new org.hamcrest.object.HasToString
            dup
            aload 0 /* toStringMatcher */
            invokespecial org.hamcrest.object.HasToString.<init>:(Lorg/hamcrest/Matcher;)V
            areturn
        end local 0 // org.hamcrest.Matcher toStringMatcher
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  toStringMatcher  Lorg/hamcrest/Matcher<-Ljava/lang/String;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/hamcrest/Matcher<-Ljava/lang/String;>;)Lorg/hamcrest/Matcher<TT;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
                 Name  Flags
      toStringMatcher  

  public static <T> org.hamcrest.Matcher<T> hasToString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hamcrest/Matcher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String expectedToString
         0: .line 46
            new org.hamcrest.object.HasToString
            dup
            aload 0 /* expectedToString */
            invokestatic org.hamcrest.core.IsEqual.equalTo:(Ljava/lang/Object;)Lorg/hamcrest/Matcher;
            invokespecial org.hamcrest.object.HasToString.<init>:(Lorg/hamcrest/Matcher;)V
            areturn
        end local 0 // java.lang.String expectedToString
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  expectedToString  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)Lorg/hamcrest/Matcher<TT;>;
    RuntimeVisibleAnnotations: 
      org.hamcrest.Factory()
    MethodParameters:
                  Name  Flags
      expectedToString  

  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.object.HasToString.featureValueOf:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <T:Ljava/lang/Object;>Lorg/hamcrest/FeatureMatcher<TT;Ljava/lang/String;>;
SourceFile: "HasToString.java"