final class com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher extends org.hamcrest.BaseMatcher<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher
super_class: org.hamcrest.BaseMatcher
{
private final long expected;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.oracle.truffle.nfi.test.NumericNFITest this$0;
descriptor: Lcom/oracle/truffle/nfi/test/NumericNFITest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$nfi$spi$types$NativeSimpleType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private void <init>(com.oracle.truffle.nfi.test.NumericNFITest, long);
descriptor: (Lcom/oracle/truffle/nfi/test/NumericNFITest;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.this$0:Lcom/oracle/truffle/nfi/test/NumericNFITest;
aload 0
invokespecial org.hamcrest.BaseMatcher.<init>:()V
1: aload 0
lload 2
putfield com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.expected:J
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/nfi/test/NumericNFITest$NumberMatcher;
0 3 2 expected J
MethodParameters:
Name Flags
this$0 final
expected
private boolean matchesType(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
ifeq 25
1: invokestatic com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.$SWITCH_TABLE$com$oracle$truffle$nfi$spi$types$NativeSimpleType:()[I
aload 0
getfield com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.this$0:Lcom/oracle/truffle/nfi/test/NumericNFITest;
getfield com.oracle.truffle.nfi.test.NumericNFITest.type:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iaload
tableswitch { // 2 - 11
2: 10
3: 2
4: 13
5: 4
6: 16
7: 6
8: 8
9: 8
10: 19
11: 21
default: 23
}
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInByte:(Ljava/lang/Object;)Z
3: ireturn
4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInShort:(Ljava/lang/Object;)Z
5: ireturn
6: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInInt:(Ljava/lang/Object;)Z
7: ireturn
8: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
9: ireturn
10: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
ldc 256
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 11
iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
12: ireturn
13: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
ldc 65536
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 14
iconst_1
ireturn
StackMap locals:
StackMap stack:
14: iconst_0
15: ireturn
16: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
ldc 4294967296
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 17
iconst_1
ireturn
StackMap locals:
StackMap stack:
17: iconst_0
18: ireturn
19: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInFloat:(Ljava/lang/Object;)Z
20: ireturn
21: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInDouble:(Ljava/lang/Object;)Z
22: ireturn
23: StackMap locals:
StackMap stack:
goto 25
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
24: pop
25: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/oracle/truffle/nfi/test/NumericNFITest$NumberMatcher;
0 26 1 item Ljava/lang/Object;
Exception table:
from to target type
0 3 24 Class com.oracle.truffle.api.interop.UnsupportedMessageException
4 5 24 Class com.oracle.truffle.api.interop.UnsupportedMessageException
6 7 24 Class com.oracle.truffle.api.interop.UnsupportedMessageException
8 9 24 Class com.oracle.truffle.api.interop.UnsupportedMessageException
10 12 24 Class com.oracle.truffle.api.interop.UnsupportedMessageException
13 15 24 Class com.oracle.truffle.api.interop.UnsupportedMessageException
16 18 24 Class com.oracle.truffle.api.interop.UnsupportedMessageException
19 20 24 Class com.oracle.truffle.api.interop.UnsupportedMessageException
21 22 24 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
item
public boolean matches(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.matchesType:(Ljava/lang/Object;)Z
ifeq 1
getstatic com.oracle.truffle.nfi.test.NumericNFITest.UNCACHED_INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
aload 0
getfield com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.expected:J
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
2: ireturn
3: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
pop
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/nfi/test/NumericNFITest$NumberMatcher;
0 5 1 item Ljava/lang/Object;
Exception table:
from to target type
0 2 3 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
item
public void describeMismatch(java.lang.Object, org.hamcrest.Description);
descriptor: (Ljava/lang/Object;Lorg/hamcrest/Description;)V
flags: (0x0001) ACC_PUBLIC
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: aload 0
aload 1
invokevirtual com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.matchesType:(Ljava/lang/Object;)Z
ifne 3
2: aload 2
ldc " (wrong type)"
invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
pop
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/nfi/test/NumericNFITest$NumberMatcher;
0 4 1 item Ljava/lang/Object;
0 4 2 description Lorg/hamcrest/Description;
MethodParameters:
Name Flags
item
description
public void describeTo(org.hamcrest.Description);
descriptor: (Lorg/hamcrest/Description;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.expected:J
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
ldc " (type "
invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
aload 0
getfield com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.this$0:Lcom/oracle/truffle/nfi/test/NumericNFITest;
getfield com.oracle.truffle.nfi.test.NumericNFITest.type:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.name:()Ljava/lang/String;
invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
ldc ")"
invokeinterface org.hamcrest.Description.appendText:(Ljava/lang/String;)Lorg/hamcrest/Description;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/nfi/test/NumericNFITest$NumberMatcher;
0 2 1 description Lorg/hamcrest/Description;
MethodParameters:
Name Flags
description
static int[] $SWITCH_TABLE$com$oracle$truffle$nfi$spi$types$NativeSimpleType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.$SWITCH_TABLE$com$oracle$truffle$nfi$spi$types$NativeSimpleType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.values:()[Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.DOUBLE:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 11
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.FLOAT:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 10
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.NULLABLE:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 15
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.OBJECT:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 14
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.POINTER:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 12
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.SINT16:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iconst_5
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.SINT32:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 7
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.SINT64:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 9
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.SINT8:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iconst_3
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.STRING:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 13
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.UINT16:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iconst_4
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.UINT32:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 6
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.UINT64:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
bipush 8
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.UINT8:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iconst_2
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.VOID:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.types.NativeSimpleType.ordinal:()I
iconst_1
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
dup
putstatic com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher.$SWITCH_TABLE$com$oracle$truffle$nfi$spi$types$NativeSimpleType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
}
Signature: Lorg/hamcrest/BaseMatcher<Ljava/lang/Object;>;
SourceFile: "NumericNFITest.java"
NestHost: com.oracle.truffle.nfi.test.NumericNFITest
InnerClasses:
final NumberMatcher = com.oracle.truffle.nfi.test.NumericNFITest$NumberMatcher of com.oracle.truffle.nfi.test.NumericNFITest