public abstract class org.hamcrest.TypeSafeMatcher<T> extends org.hamcrest.BaseMatcher<T>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.hamcrest.TypeSafeMatcher
super_class: org.hamcrest.BaseMatcher
{
private static final org.hamcrest.internal.ReflectiveTypeFinder TYPE_FINDER;
descriptor: Lorg/hamcrest/internal/ReflectiveTypeFinder;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.Class<?> expectedType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new org.hamcrest.internal.ReflectiveTypeFinder
dup
ldc "matchesSafely"
iconst_1
iconst_0
invokespecial org.hamcrest.internal.ReflectiveTypeFinder.<init>:(Ljava/lang/String;II)V
putstatic org.hamcrest.TypeSafeMatcher.TYPE_FINDER:Lorg/hamcrest/internal/ReflectiveTypeFinder;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.hamcrest.TypeSafeMatcher.TYPE_FINDER:Lorg/hamcrest/internal/ReflectiveTypeFinder;
invokespecial org.hamcrest.TypeSafeMatcher.<init>:(Lorg/hamcrest/internal/ReflectiveTypeFinder;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hamcrest/TypeSafeMatcher<TT;>;
protected void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.hamcrest.BaseMatcher.<init>:()V
1: aload 0
aload 1
putfield org.hamcrest.TypeSafeMatcher.expectedType:Ljava/lang/Class;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hamcrest/TypeSafeMatcher<TT;>;
0 3 1 expectedType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
expectedType
protected void <init>(org.hamcrest.internal.ReflectiveTypeFinder);
descriptor: (Lorg/hamcrest/internal/ReflectiveTypeFinder;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.hamcrest.BaseMatcher.<init>:()V
1: aload 0
aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.hamcrest.internal.ReflectiveTypeFinder.findExpectedType:(Ljava/lang/Class;)Ljava/lang/Class;
putfield org.hamcrest.TypeSafeMatcher.expectedType:Ljava/lang/Class;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hamcrest/TypeSafeMatcher<TT;>;
0 3 1 typeFinder Lorg/hamcrest/internal/ReflectiveTypeFinder;
MethodParameters:
Name Flags
typeFinder
protected abstract boolean matchesSafely();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TT;)Z
MethodParameters:
Name Flags
item
protected void describeMismatchSafely(T, org.hamcrest.Description);
descriptor: (Ljava/lang/Object;Lorg/hamcrest/Description;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.hamcrest.BaseMatcher.describeMismatch:(Ljava/lang/Object;Lorg/hamcrest/Description;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hamcrest/TypeSafeMatcher<TT;>;
0 2 1 item TT;
0 2 2 mismatchDescription Lorg/hamcrest/Description;
Signature: (TT;Lorg/hamcrest/Description;)V
MethodParameters:
Name Flags
item
mismatchDescription
public final boolean matches(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
1: aload 0
getfield org.hamcrest.TypeSafeMatcher.expectedType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
aload 1
invokevirtual org.hamcrest.TypeSafeMatcher.matchesSafely:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hamcrest/TypeSafeMatcher<TT;>;
0 5 1 item Ljava/lang/Object;
MethodParameters:
Name Flags
item
public final void describeMismatch(java.lang.Object, org.hamcrest.Description);
descriptor: (Ljava/lang/Object;Lorg/hamcrest/Description;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 3
1: aload 0
aload 1
aload 2
invokespecial org.hamcrest.BaseMatcher.describeMismatch:(Ljava/lang/Object;Lorg/hamcrest/Description;)V
2: goto 11
StackMap locals:
StackMap stack:
3: aload 0
getfield org.hamcrest.TypeSafeMatcher.expectedType:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 10
4: aload 2
ldc "was a "
invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
5: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
6: ldc " ("
invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
7: aload 1
invokeinterface org.hamcrest.Description.appendValue:(Ljava/lang/Object;)Lorg/hamcrest/Description;
8: ldc ")"
invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
pop
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.hamcrest.TypeSafeMatcher.describeMismatchSafely:(Ljava/lang/Object;Lorg/hamcrest/Description;)V
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hamcrest/TypeSafeMatcher<TT;>;
0 12 1 item Ljava/lang/Object;
0 12 2 description Lorg/hamcrest/Description;
MethodParameters:
Name Flags
item
description
}
Signature: <T:Ljava/lang/Object;>Lorg/hamcrest/BaseMatcher<TT;>;
SourceFile: "TypeSafeMatcher.java"