2 assembly assembly-with-methods.exe
5 #method zero is a default ctor
6 #0 -> default 5 -> vararg
8 #signature size, zero is invalid
9 invalid offset blob.i (table-row (6 0) + 10) set-byte 0
12 invalid offset blob.i (table-row (6 0) + 10) + 1 set-byte 0x26
13 invalid offset blob.i (table-row (6 0) + 10) + 1 set-byte 0x27
14 invalid offset blob.i (table-row (6 0) + 10) + 1 set-byte 0x28
15 invalid offset blob.i (table-row (6 0) + 10) + 1 set-byte 0x29
16 invalid offset blob.i (table-row (6 0) + 10) + 1 set-byte 0x2A
17 invalid offset blob.i (table-row (6 0) + 10) + 1 set-byte 0x2B
18 invalid offset blob.i (table-row (6 0) + 10) + 1 set-byte 0x2C
19 invalid offset blob.i (table-row (6 0) + 10) + 1 set-byte 0x2D
20 invalid offset blob.i (table-row (6 0) + 10) + 1 set-byte 0x2E
21 invalid offset blob.i (table-row (6 0) + 10) + 1 set-byte 0x2F
23 #upper nimble flags 0x80 is invalid
24 invalid offset blob.i (table-row (6 0) + 10) + 1 set-bit 7
26 #sig is too small to decode param count
27 invalid offset blob.i (table-row (6 0) + 10) set-byte 1
29 #sig is too small to decode return type
30 invalid offset blob.i (table-row (6 0) + 10) set-byte 2
34 #bytes: size cconv gen_param_count
35 invalid offset blob.i (table-row (6 1) + 10) + 2 set-byte 0
37 #set ret type to an invalid value
38 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0
39 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x17
40 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x1A
41 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x21 #mono doesn't support internal type
42 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x40 #modifier
43 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x41 #sentinel
44 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x45 #pinner
45 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x50 #type
46 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x51 #boxed
47 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x52 #reserved
48 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x53 #field
49 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x54 #property
50 invalid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x55 #enum
53 #method 12 has sig void (int,int,int)
54 #bytes: size cconv param_count void int32 int32 int32
55 valid offset blob.i (table-row (6 12) + 10) + 4 set-byte 0x05
56 valid offset blob.i (table-row (6 12) + 10) + 5 set-byte 0x06
57 valid offset blob.i (table-row (6 12) + 10) + 6 set-byte 0x07
60 invalid offset blob.i (table-row (6 12) + 10) + 5 set-byte 0x01
62 #byref without anything after
63 invalid offset blob.i (table-row (6 12) + 10) + 4 set-byte 0x10
64 invalid offset blob.i (table-row (6 12) + 10) + 5 set-byte 0x10
65 invalid offset blob.i (table-row (6 12) + 10) + 6 set-byte 0x10
68 #Test for stuff in the ret that can't be expressed with C#
70 assembly assembly-with-custommod.exe
72 #method 0 has a modreq
73 #bytes: size cconv param_count mod_req compressed_token
74 invalid offset blob.i (table-row (6 0) + 10) + 4 set-byte 0x7C
75 invalid offset blob.i (table-row (6 0) + 10) + 4 set-byte 0x07
77 #switch modreq to modopt
78 valid offset blob.i (table-row (6 0) + 10) + 3 set-byte 0x20
81 #method 4 returns byref
82 #bytes: size cconv param_count byref int32
83 invalid offset blob.i (table-row (6 4) + 10) + 4 set-byte 0x10
85 invalid offset blob.i (table-row (6 4) + 10) + 4 set-byte 0x16
90 assembly assembly-with-signatures.exe
92 #member ref 0 is has a vararg sig
93 #member ref 1 don't use vararg
96 #bytes: size cconv pcount void str obj obj obj obj ... i32 i32 i32
97 invalid offset blob.i (table-row (0xA 0) + 4) + 10 set-byte 0x41
98 invalid offset blob.i (table-row (0xA 0) + 4) + 11 set-byte 0x41
100 #sentinel but not vararg
101 invalid offset blob.i (table-row (0xA 0) + 4) + 1 set-byte 0