Advertisement
Guest User

Untitled

a guest
Jan 1st, 2017
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 57.07 KB | None | 0 0
  1.  
  2. // Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
  3. // Copyright (c) Microsoft Corporation. All rights reserved.
  4.  
  5.  
  6. // ================================= M E T A I N F O ================================================
  7.  
  8. // ===========================================================
  9. // Metadata section: 0x424a5342, version: 1.1, extra: 0, version len: 12, version: v4.0.30319
  10. // flags: 0x00, streams: 5
  11. // : 42 53 4a 42 01 00 01 00 00 00 00 00 0c 00 00 00 >BSJB <
  12. // : 76 34 2e 30 2e 33 30 33 31 39 00 00 00 00 05 00 >v4.0.30319 <
  13. // : 6c 00 00 00 10 04 00 00 23 7e 00 00 7c 04 00 00 >l #~ | <
  14. // : 34 03 00 00 23 53 74 72 69 6e 67 73 00 00 00 00 >4 #Strings <
  15. // : b0 07 00 00 30 00 00 00 23 55 53 00 e0 07 00 00 > 0 #US <
  16. // : 10 00 00 00 23 47 55 49 44 00 00 00 f0 07 00 00 > #GUID <
  17. // : 44 01 00 00 23 42 6c 6f 62 00 00 00 >D #Blob <
  18. // Stream 0: name: #~, size 1040
  19. // Stream 1: name: #Strings, size 820
  20. // Stream 2: name: #US, size 48
  21. // Stream 3: name: #GUID, size 16
  22. // Stream 4: name: #Blob, size 324
  23. // Metadata header: 2.0, heaps: 0x00, rid: 0x01, valid: 0x00000e0908021757, sorted: 0x000016003301fa00
  24. // : 00 00 00 00 02 00 00 01 57 17 02 08 09 0e 00 00 > W <
  25. // : 00 fa 01 33 00 16 00 00 > 3 <
  26. //
  27. // Strings: 817(0x331), Blobs: 324(0x144), Guids: 16(0x10), User strings: 48(0x30)
  28. // =================================================
  29. // 0(0): Module cRecs: 1(0x1), cbRec: 10(0xa), cbTable: 10(0xa)
  30. // col 0: Generation oCol: 0, cbCol:2, USHORT
  31. // col 1: Name oCol: 2, cbCol:2, string
  32. // col 2: Mvid oCol: 4, cbCol:2, GUID
  33. // col 3: EncId oCol: 6, cbCol:2, GUID
  34. // col 4: EncBaseId oCol: 8, cbCol:2, GUID
  35. // -------------------------------------------------
  36. // 1 == 0:0000, 1:string#1d3, 2:guid#1, 3:guid#0, 4:guid#0
  37. // =================================================
  38. // 1(0x1): TypeRef cRecs: 18(0x12), cbRec: 6(0x6), cbTable: 108(0x6c)
  39. // col 0: ResolutionScope oCol: 0, cbCol:2, ResolutionScope
  40. // col 1: Name oCol: 2, cbCol:2, string
  41. // col 2: Namespace oCol: 4, cbCol:2, string
  42. // -------------------------------------------------
  43. // 1 == 0:ResolutionScope[23000004], 1:string#2f5, 2:string#217
  44. // 2 == 0:ResolutionScope[23000004], 1:string#1a2, 2:string#28d
  45. // 3 == 0:ResolutionScope[23000004], 1:string#22, 2:string#cd
  46. // 4 == 0:ResolutionScope[23000004], 1:string#6e, 2:string#217
  47. // 5 == 0:ResolutionScope[23000004], 1:string#22b, 2:string#217
  48. // 6 == 0:ResolutionScope[23000004], 1:string#30, 2:string#cd
  49. // 7 == 0:ResolutionScope[23000004], 1:string#1e9, 2:string#217
  50. // 8 == 0:ResolutionScope[23000004], 1:string#21e, 2:string#217
  51. // 9 == 0:ResolutionScope[23000004], 1:string#101, 2:string#217
  52. // a == 0:ResolutionScope[23000004], 1:string#25a, 2:string#2d0
  53. // b == 0:ResolutionScope[23000004], 1:string#f5, 2:string#217
  54. // c == 0:ResolutionScope[23000001], 1:string#5b, 2:string#1e0
  55. // d == 0:ResolutionScope[23000001], 1:string#3e, 2:string#1e0
  56. // e == 0:ResolutionScope[23000004], 1:string#171, 2:string#27a
  57. // f == 0:ResolutionScope[0100000e], 1:string#2ad, 2:string#0
  58. // 10 == 0:ResolutionScope[23000004], 1:string#1b5, 2:string#28d
  59. // 11 == 0:ResolutionScope[23000004], 1:string#185, 2:string#28d
  60. // 12 == 0:ResolutionScope[23000004], 1:string#156, 2:string#28d
  61. // =================================================
  62. // 2(0x2): TypeDef cRecs: 4(0x4), cbRec: 14(0xe), cbTable: 56(0x38)
  63. // col 0: Flags oCol: 0, cbCol:4, ULONG
  64. // col 1: Name oCol: 4, cbCol:2, string
  65. // col 2: Namespace oCol: 6, cbCol:2, string
  66. // col 3: Extends oCol: 8, cbCol:2, TypeDefOrRef
  67. // col 4: FieldList oCol: a, cbCol:2, Field
  68. // col 5: MethodList oCol: c, cbCol:2, Method
  69. // -------------------------------------------------
  70. // 1 == 0:00000000, 1:string#b9, 2:string#0, 3:TypeDefOrRef[02000000], 4:Field[4000001], 5:Method[6000001]
  71. // 2 == 0:00100101, 1:string#109, 2:string#1f0, 3:TypeDefOrRef[01000001], 4:Field[4000001], 5:Method[6000001]
  72. // 3 == 0:00100105, 1:string#e, 2:string#0, 3:TypeDefOrRef[1b000006], 4:Field[4000001], 5:Method[6000005]
  73. // 4 == 0:00100105, 1:string#1, 2:string#0, 3:TypeDefOrRef[1b000008], 4:Field[4000003], 5:Method[6000007]
  74. // =================================================
  75. // 3(0x3): FieldPtr cRecs: 0(0), cbRec: 2(0x2), cbTable: 0(0)
  76. // col 0: Field oCol: 0, cbCol:2, Field
  77. // =================================================
  78. // 4(0x4): Field cRecs: 7(0x7), cbRec: 6(0x6), cbTable: 42(0x2a)
  79. // col 0: Flags oCol: 0, cbCol:2, USHORT
  80. // col 1: Name oCol: 2, cbCol:2, string
  81. // col 2: Signature oCol: 4, cbCol:2, blob
  82. // -------------------------------------------------
  83. // 1 == 0:0003, 1:string#b1, 2:blob#59
  84. // 2 == 0:0003, 1:string#3, 2:blob#61
  85. // 3 == 0:0003, 1:string#7e, 2:blob#82
  86. // 4 == 0:0003, 1:string#87, 2:blob#9b
  87. // 5 == 0:0003, 1:string#90, 2:blob#8c
  88. // 6 == 0:0003, 1:string#9f, 2:blob#59
  89. // 7 == 0:0003, 1:string#a7, 2:blob#61
  90. // =================================================
  91. // 5(0x5): MethodPtr cRecs: 0(0), cbRec: 2(0x2), cbTable: 0(0)
  92. // col 0: Method oCol: 0, cbCol:2, Method
  93. // =================================================
  94. // 6(0x6): Method cRecs: 10(0xa), cbRec: 14(0xe), cbTable: 140(0x8c)
  95. // col 0: RVA oCol: 0, cbCol:4, ULONG
  96. // col 1: ImplFlags oCol: 4, cbCol:2, USHORT
  97. // col 2: Flags oCol: 6, cbCol:2, USHORT
  98. // col 3: Name oCol: 8, cbCol:2, string
  99. // col 4: Signature oCol: a, cbCol:2, blob
  100. // col 5: ParamList oCol: c, cbCol:2, Param
  101. // -------------------------------------------------
  102. // 1 == 0:00002050, 1:0000, 2:0096, 3:string#127, 4:blob#e0, 5:Param[8000001]
  103. // 2 == 0:0000207b, 1:0000, 2:0091, 3:string#208, 4:blob#e0, 5:Param[8000003]
  104. // 3 == 0:00002084, 1:0000, 2:0091, 3:string#226, 4:blob#f6, 5:Param[8000005]
  105. // 4 == 0:0000212c, 1:0000, 2:1881, 3:string#274, 4:blob#1, 5:Param[8000006]
  106. // 5 == 0:00002134, 1:0000, 2:00c6, 3:string#266, 4:blob#fc, 5:Param[8000006]
  107. // 6 == 0:00002147, 1:0000, 2:1886, 3:string#274, 4:blob#104, 5:Param[8000006]
  108. // 7 == 0:0000215d, 1:0000, 2:1886, 3:string#274, 4:blob#104, 5:Param[8000008]
  109. // 8 == 0:00002174, 1:0000, 2:00c6, 3:string#315, 4:blob#48, 5:Param[800000a]
  110. // 9 == 0:00002254, 1:0000, 2:0081, 3:string#75, 4:blob#1, 5:Param[800000a]
  111. // a == 0:00002261, 1:0000, 2:00c6, 3:string#147, 4:blob#1, 5:Param[800000a]
  112. // =================================================
  113. // 7(0x7): ParamPtr cRecs: 0(0), cbRec: 2(0x2), cbTable: 0(0)
  114. // col 0: Param oCol: 0, cbCol:2, Param
  115. // =================================================
  116. // 8(0x8): Param cRecs: 9(0x9), cbRec: 6(0x6), cbTable: 54(0x36)
  117. // col 0: Flags oCol: 0, cbCol:2, USHORT
  118. // col 1: Sequence oCol: 2, cbCol:2, USHORT
  119. // col 2: Name oCol: 4, cbCol:2, string
  120. // -------------------------------------------------
  121. // 1 == 0:0000, 1:0001, 2:string#1f8
  122. // 2 == 0:0000, 1:0002, 2:string#253
  123. // 3 == 0:0000, 1:0001, 2:string#1f8
  124. // 4 == 0:0000, 1:0002, 2:string#253
  125. // 5 == 0:0000, 1:0001, 2:string#31e
  126. // 6 == 0:0000, 1:0001, 2:string#1f8
  127. // 7 == 0:0000, 1:0002, 2:string#253
  128. // 8 == 0:0000, 1:0001, 2:string#1f8
  129. // 9 == 0:0000, 1:0002, 2:string#253
  130. // =================================================
  131. // 9(0x9): InterfaceImpl cRecs: 1(0x1), cbRec: 4(0x4), cbTable: 4(0x4)
  132. // col 0:* Class oCol: 0, cbCol:2, TypeDef
  133. // col 1: Interface oCol: 2, cbCol:2, TypeDefOrRef
  134. // -------------------------------------------------
  135. // 1 == 0:TypeDef[2000004], 1:TypeDefOrRef[0100000a]
  136. // =================================================
  137. // 10(0xa): MemberRef cRecs: 38(0x26), cbRec: 6(0x6), cbTable: 228(0xe4)
  138. // col 0: Class oCol: 0, cbCol:2, MemberRefParent
  139. // col 1: Name oCol: 2, cbCol:2, string
  140. // col 2: Signature oCol: 4, cbCol:2, blob
  141. // -------------------------------------------------
  142. // 1 == 0:MemberRefParent[01000002], 1:string#274, 2:blob#1
  143. // 2 == 0:MemberRefParent[01000005], 1:string#274, 2:blob#5
  144. // 3 == 0:MemberRefParent[01000007], 1:string#32b, 2:blob#a
  145. // 4 == 0:MemberRefParent[01000007], 1:string#323, 2:blob#d
  146. // 5 == 0:MemberRefParent[1b000001], 1:string#274, 2:blob#19
  147. // 6 == 0:MemberRefParent[01000004], 1:string#274, 2:blob#19
  148. // 7 == 0:MemberRefParent[1b000002], 1:string#266, 2:blob#25
  149. // 8 == 0:MemberRefParent[01000003], 1:string#266, 2:blob#25
  150. // 9 == 0:MemberRefParent[1b000004], 1:string#309, 2:blob#3b
  151. // a == 0:MemberRefParent[01000006], 1:string#309, 2:blob#3b
  152. // b == 0:MemberRefParent[01000009], 1:string#11d, 2:blob#43
  153. // c == 0:MemberRefParent[0100000a], 1:string#315, 2:blob#48
  154. // d == 0:MemberRefParent[0100000b], 1:string#147, 2:blob#1
  155. // e == 0:MemberRefParent[01000001], 1:string#274, 2:blob#1
  156. // f == 0:MemberRefParent[1b000007], 1:string#b1, 2:blob#59
  157. // 10 == 0:MemberRefParent[1b000007], 1:string#3, 2:blob#61
  158. // 11 == 0:MemberRefParent[1b000006], 1:string#274, 2:blob#1
  159. // 12 == 0:MemberRefParent[0100000c], 1:string#274, 2:blob#1
  160. // 13 == 0:MemberRefParent[1b000008], 1:string#274, 2:blob#1
  161. // 14 == 0:MemberRefParent[0100000d], 1:string#274, 2:blob#1
  162. // 15 == 0:MemberRefParent[1b00000a], 1:string#9f, 2:blob#59
  163. // 16 == 0:MemberRefParent[1b00000a], 1:string#a7, 2:blob#61
  164. // 17 == 0:MemberRefParent[1b000008], 1:string#14f, 2:blob#82
  165. // 18 == 0:MemberRefParent[0100000d], 1:string#14f, 2:blob#82
  166. // 19 == 0:MemberRefParent[1b00000a], 1:string#7e, 2:blob#82
  167. // 1a == 0:MemberRefParent[1b00000c], 1:string#266, 2:blob#25
  168. // 1b == 0:MemberRefParent[1b00000a], 1:string#90, 2:blob#8c
  169. // 1c == 0:MemberRefParent[1b00000d], 1:string#309, 2:blob#3b
  170. // 1d == 0:MemberRefParent[1b00000a], 1:string#87, 2:blob#9b
  171. // 1e == 0:MemberRefParent[1b00000b], 1:string#ee, 2:blob#9f
  172. // 1f == 0:MemberRefParent[1b000008], 1:string#e8, 2:blob#a6
  173. // 20 == 0:MemberRefParent[0100000d], 1:string#e8, 2:blob#a6
  174. // 21 == 0:MemberRefParent[1b000008], 1:string#2fc, 2:blob#ad
  175. // 22 == 0:MemberRefParent[0100000d], 1:string#2fc, 2:blob#ad
  176. // 23 == 0:MemberRefParent[0100000e], 1:string#274, 2:blob#b2
  177. // 24 == 0:MemberRefParent[01000010], 1:string#274, 2:blob#1
  178. // 25 == 0:MemberRefParent[01000011], 1:string#274, 2:blob#1
  179. // 26 == 0:MemberRefParent[01000012], 1:string#274, 2:blob#1
  180. // =================================================
  181. // 11(0xb): Constant cRecs: 0(0), cbRec: 6(0x6), cbTable: 0(0)
  182. // col 0: Type oCol: 0, cbCol:1, BYTE
  183. // col 1:* Parent oCol: 2, cbCol:2, HasConstant
  184. // col 2: Value oCol: 4, cbCol:2, blob
  185. // =================================================
  186. // 12(0xc): CustomAttribute cRecs: 8(0x8), cbRec: 6(0x6), cbTable: 48(0x30)
  187. // col 0:* Parent oCol: 0, cbCol:2, HasCustomAttribute
  188. // col 1: Type oCol: 2, cbCol:2, CustomAttributeType
  189. // col 2: Value oCol: 4, cbCol:2, blob
  190. // -------------------------------------------------
  191. // 1 == 0:HasCustomAttribute[06000001], 1:CustomAttributeType[0a000001], 2:blob#13d
  192. // 2 == 0:HasCustomAttribute[20000001], 1:CustomAttributeType[0a000023], 2:blob#115
  193. // 3 == 0:HasCustomAttribute[20000001], 1:CustomAttributeType[0a000024], 2:blob#11e
  194. // 4 == 0:HasCustomAttribute[20000001], 1:CustomAttributeType[0a000001], 2:blob#13d
  195. // 5 == 0:HasCustomAttribute[02000002], 1:CustomAttributeType[0a000025], 2:blob#13d
  196. // 6 == 0:HasCustomAttribute[02000002], 1:CustomAttributeType[0a000001], 2:blob#13d
  197. // 7 == 0:HasCustomAttribute[02000003], 1:CustomAttributeType[0a000026], 2:blob#13d
  198. // 8 == 0:HasCustomAttribute[02000004], 1:CustomAttributeType[0a000026], 2:blob#13d
  199. // =================================================
  200. // 13(0xd): FieldMarshal cRecs: 0(0), cbRec: 4(0x4), cbTable: 0(0)
  201. // col 0:* Parent oCol: 0, cbCol:2, HasFieldMarshal
  202. // col 1: NativeType oCol: 2, cbCol:2, blob
  203. // =================================================
  204. // 14(0xe): DeclSecurity cRecs: 0(0), cbRec: 6(0x6), cbTable: 0(0)
  205. // col 0: Action oCol: 0, cbCol:2, short
  206. // col 1:* Parent oCol: 2, cbCol:2, HasDeclSecurity
  207. // col 2: PermissionSet oCol: 4, cbCol:2, blob
  208. // =================================================
  209. // 15(0xf): ClassLayout cRecs: 0(0), cbRec: 8(0x8), cbTable: 0(0)
  210. // col 0: PackingSize oCol: 0, cbCol:2, USHORT
  211. // col 1: ClassSize oCol: 2, cbCol:4, ULONG
  212. // col 2:* Parent oCol: 6, cbCol:2, TypeDef
  213. // =================================================
  214. // 16(0x10): FieldLayout cRecs: 0(0), cbRec: 6(0x6), cbTable: 0(0)
  215. // col 0: OffSet oCol: 0, cbCol:4, ULONG
  216. // col 1:* Field oCol: 4, cbCol:2, Field
  217. // =================================================
  218. // 17(0x11): StandAloneSig cRecs: 2(0x2), cbRec: 2(0x2), cbTable: 4(0x4)
  219. // col 0: Signature oCol: 0, cbCol:2, blob
  220. // -------------------------------------------------
  221. // 1 == 0:blob#bd
  222. // 2 == 0:blob#ca
  223. // =================================================
  224. // 18(0x12): EventMap cRecs: 0(0), cbRec: 4(0x4), cbTable: 0(0)
  225. // col 0: Parent oCol: 0, cbCol:2, TypeDef
  226. // col 1: EventList oCol: 2, cbCol:2, Event
  227. // =================================================
  228. // 19(0x13): EventPtr cRecs: 0(0), cbRec: 2(0x2), cbTable: 0(0)
  229. // col 0: Event oCol: 0, cbCol:2, Event
  230. // =================================================
  231. // 20(0x14): Event cRecs: 0(0), cbRec: 6(0x6), cbTable: 0(0)
  232. // col 0: EventFlags oCol: 0, cbCol:2, USHORT
  233. // col 1: Name oCol: 2, cbCol:2, string
  234. // col 2: EventType oCol: 4, cbCol:2, TypeDefOrRef
  235. // =================================================
  236. // 21(0x15): PropertyMap cRecs: 0(0), cbRec: 4(0x4), cbTable: 0(0)
  237. // col 0: Parent oCol: 0, cbCol:2, TypeDef
  238. // col 1: PropertyList oCol: 2, cbCol:2, Property
  239. // =================================================
  240. // 22(0x16): PropertyPtr cRecs: 0(0), cbRec: 2(0x2), cbTable: 0(0)
  241. // col 0: Property oCol: 0, cbCol:2, Property
  242. // =================================================
  243. // 23(0x17): Property cRecs: 0(0), cbRec: 6(0x6), cbTable: 0(0)
  244. // col 0: PropFlags oCol: 0, cbCol:2, USHORT
  245. // col 1: Name oCol: 2, cbCol:2, string
  246. // col 2: Type oCol: 4, cbCol:2, blob
  247. // =================================================
  248. // 24(0x18): MethodSemantics cRecs: 0(0), cbRec: 6(0x6), cbTable: 0(0)
  249. // col 0: Semantic oCol: 0, cbCol:2, USHORT
  250. // col 1: Method oCol: 2, cbCol:2, Method
  251. // col 2:* Association oCol: 4, cbCol:2, HasSemantic
  252. // =================================================
  253. // 25(0x19): MethodImpl cRecs: 0(0), cbRec: 6(0x6), cbTable: 0(0)
  254. // col 0:* Class oCol: 0, cbCol:2, TypeDef
  255. // col 1: MethodBody oCol: 2, cbCol:2, MethodDefOrRef
  256. // col 2: MethodDeclaration oCol: 4, cbCol:2, MethodDefOrRef
  257. // =================================================
  258. // 26(0x1a): ModuleRef cRecs: 0(0), cbRec: 2(0x2), cbTable: 0(0)
  259. // col 0: Name oCol: 0, cbCol:2, string
  260. // =================================================
  261. // 27(0x1b): TypeSpec cRecs: 13(0xd), cbRec: 2(0x2), cbTable: 26(0x1a)
  262. // col 0: Signature oCol: 0, cbCol:2, blob
  263. // -------------------------------------------------
  264. // 1 == 0:blob#12
  265. // 2 == 0:blob#1f
  266. // 3 == 0:blob#2e
  267. // 4 == 0:blob#35
  268. // 5 == 0:blob#40
  269. // 6 == 0:blob#4c
  270. // 7 == 0:blob#52
  271. // 8 == 0:blob#6a
  272. // 9 == 0:blob#70
  273. // a == 0:blob#73
  274. // b == 0:blob#7a
  275. // c == 0:blob#85
  276. // d == 0:blob#94
  277. // =================================================
  278. // 28(0x1c): ImplMap cRecs: 0(0), cbRec: 8(0x8), cbTable: 0(0)
  279. // col 0: MappingFlags oCol: 0, cbCol:2, USHORT
  280. // col 1:* MemberForwarded oCol: 2, cbCol:2, MemberForwarded
  281. // col 2: ImportName oCol: 4, cbCol:2, string
  282. // col 3: ImportScope oCol: 6, cbCol:2, ModuleRef
  283. // =================================================
  284. // 29(0x1d): FieldRVA cRecs: 0(0), cbRec: 6(0x6), cbTable: 0(0)
  285. // col 0: RVA oCol: 0, cbCol:4, ULONG
  286. // col 1:* Field oCol: 4, cbCol:2, Field
  287. // =================================================
  288. // 30(0x1e): ENCLog cRecs: 0(0), cbRec: 8(0x8), cbTable: 0(0)
  289. // col 0: Token oCol: 0, cbCol:4, ULONG
  290. // col 1: FuncCode oCol: 4, cbCol:4, ULONG
  291. // =================================================
  292. // 31(0x1f): ENCMap cRecs: 0(0), cbRec: 4(0x4), cbTable: 0(0)
  293. // col 0: Token oCol: 0, cbCol:4, ULONG
  294. // =================================================
  295. // 32(0x20): Assembly cRecs: 1(0x1), cbRec: 22(0x16), cbTable: 22(0x16)
  296. // col 0: HashAlgId oCol: 0, cbCol:4, ULONG
  297. // col 1: MajorVersion oCol: 4, cbCol:2, USHORT
  298. // col 2: MinorVersion oCol: 6, cbCol:2, USHORT
  299. // col 3: BuildNumber oCol: 8, cbCol:2, USHORT
  300. // col 4: RevisionNumber oCol: a, cbCol:2, USHORT
  301. // col 5: Flags oCol: c, cbCol:4, ULONG
  302. // col 6: PublicKey oCol:10, cbCol:2, blob
  303. // col 7: Name oCol:12, cbCol:2, string
  304. // col 8: Locale oCol:14, cbCol:2, string
  305. // -------------------------------------------------
  306. // 1 == 0:00008004, 1:0000, 2:0000, 3:ffff, 4:ffff, 5:00000000, 6:blob#0, 7:string#13e, 8:string#0
  307. // =================================================
  308. // 33(0x21): AssemblyProcessor cRecs: 0(0), cbRec: 4(0x4), cbTable: 0(0)
  309. // col 0: Processor oCol: 0, cbCol:4, ULONG
  310. // =================================================
  311. // 34(0x22): AssemblyOS cRecs: 0(0), cbRec: 12(0xc), cbTable: 0(0)
  312. // col 0: OSPlatformId oCol: 0, cbCol:4, ULONG
  313. // col 1: OSMajorVersion oCol: 4, cbCol:4, ULONG
  314. // col 2: OSMinorVersion oCol: 8, cbCol:4, ULONG
  315. // =================================================
  316. // 35(0x23): AssemblyRef cRecs: 8(0x8), cbRec: 20(0x14), cbTable: 160(0xa0)
  317. // col 0: MajorVersion oCol: 0, cbCol:2, USHORT
  318. // col 1: MinorVersion oCol: 2, cbCol:2, USHORT
  319. // col 2: BuildNumber oCol: 4, cbCol:2, USHORT
  320. // col 3: RevisionNumber oCol: 6, cbCol:2, USHORT
  321. // col 4: Flags oCol: 8, cbCol:4, ULONG
  322. // col 5: PublicKeyOrToken oCol: c, cbCol:2, blob
  323. // col 6: Name oCol: e, cbCol:2, string
  324. // col 7: Locale oCol:10, cbCol:2, string
  325. // col 8: HashValue oCol:12, cbCol:2, blob
  326. // -------------------------------------------------
  327. // 1 == 0:0002, 1:0000, 2:0009, 3:0005, 4:00000000, 5:blob#ce, 6:string#1e0, 7:string#0, 8:blob#0
  328. // 2 == 0:0002, 1:0000, 2:0009, 3:0005, 4:00000000, 5:blob#ce, 6:string#2bc, 7:string#0, 8:blob#0
  329. // 3 == 0:0002, 1:0000, 2:0009, 3:0005, 4:00000000, 5:blob#ce, 6:string#241, 7:string#0, 8:blob#0
  330. // 4 == 0:0004, 1:0000, 2:0000, 3:0000, 4:00000000, 5:blob#d7, 6:string#c4, 7:string#0, 8:blob#0
  331. // 5 == 0:0004, 1:0000, 2:0000, 3:0000, 4:00000000, 5:blob#d7, 6:string#217, 7:string#0, 8:blob#0
  332. // 6 == 0:0004, 1:0000, 2:0000, 3:0000, 4:00000000, 5:blob#d7, 6:string#132, 7:string#0, 8:blob#0
  333. // 7 == 0:0000, 1:0000, 2:0000, 3:0000, 4:00000000, 5:blob#0, 6:string#2e3, 7:string#0, 8:blob#0
  334. // 8 == 0:0004, 1:0000, 2:0000, 3:0000, 4:00000000, 5:blob#d7, 6:string#1fd, 7:string#0, 8:blob#0
  335. // =================================================
  336. // 36(0x24): AssemblyRefProcessor cRecs: 0(0), cbRec: 6(0x6), cbTable: 0(0)
  337. // col 0: Processor oCol: 0, cbCol:4, ULONG
  338. // col 1: AssemblyRef oCol: 4, cbCol:2, AssemblyRef
  339. // =================================================
  340. // 37(0x25): AssemblyRefOS cRecs: 0(0), cbRec: 14(0xe), cbTable: 0(0)
  341. // col 0: OSPlatformId oCol: 0, cbCol:4, ULONG
  342. // col 1: OSMajorVersion oCol: 4, cbCol:4, ULONG
  343. // col 2: OSMinorVersion oCol: 8, cbCol:4, ULONG
  344. // col 3: AssemblyRef oCol: c, cbCol:2, AssemblyRef
  345. // =================================================
  346. // 38(0x26): File cRecs: 0(0), cbRec: 8(0x8), cbTable: 0(0)
  347. // col 0: Flags oCol: 0, cbCol:4, ULONG
  348. // col 1: Name oCol: 4, cbCol:2, string
  349. // col 2: HashValue oCol: 6, cbCol:2, blob
  350. // =================================================
  351. // 39(0x27): ExportedType cRecs: 0(0), cbRec: 14(0xe), cbTable: 0(0)
  352. // col 0: Flags oCol: 0, cbCol:4, ULONG
  353. // col 1: TypeDefId oCol: 4, cbCol:4, ULONG
  354. // col 2: TypeName oCol: 8, cbCol:2, string
  355. // col 3: TypeNamespace oCol: a, cbCol:2, string
  356. // col 4: Implementation oCol: c, cbCol:2, Implementation
  357. // =================================================
  358. // 40(0x28): ManifestResource cRecs: 0(0), cbRec: 12(0xc), cbTable: 0(0)
  359. // col 0: Offset oCol: 0, cbCol:4, ULONG
  360. // col 1: Flags oCol: 4, cbCol:4, ULONG
  361. // col 2: Name oCol: 8, cbCol:2, string
  362. // col 3: Implementation oCol: a, cbCol:2, Implementation
  363. // =================================================
  364. // 41(0x29): NestedClass cRecs: 2(0x2), cbRec: 4(0x4), cbTable: 8(0x8)
  365. // col 0:* NestedClass oCol: 0, cbCol:2, TypeDef
  366. // col 1: EnclosingClass oCol: 2, cbCol:2, TypeDef
  367. // -------------------------------------------------
  368. // 1 == 0:TypeDef[2000003], 1:TypeDef[2000002]
  369. // 2 == 0:TypeDef[2000004], 1:TypeDef[2000003]
  370. // =================================================
  371. // 42(0x2a): GenericParam cRecs: 4(0x4), cbRec: 8(0x8), cbTable: 32(0x20)
  372. // col 0: Number oCol: 0, cbCol:2, USHORT
  373. // col 1: Flags oCol: 2, cbCol:2, USHORT
  374. // col 2:* Owner oCol: 4, cbCol:2, TypeOrMethodDef
  375. // col 3: Name oCol: 6, cbCol:2, string
  376. // -------------------------------------------------
  377. // 1 == 0:0000, 1:0000, 2:TypeOrMethodDef[06000001], 3:string#c2
  378. // 2 == 0:0000, 1:0000, 2:TypeOrMethodDef[06000002], 3:string#c2
  379. // 3 == 0:0000, 1:0000, 2:TypeOrMethodDef[02000003], 3:string#c2
  380. // 4 == 0:0000, 1:0000, 2:TypeOrMethodDef[02000004], 3:string#c2
  381. // =================================================
  382. // 43(0x2b): MethodSpec cRecs: 2(0x2), cbRec: 4(0x4), cbTable: 8(0x8)
  383. // col 0: Method oCol: 0, cbCol:2, MethodDefOrRef
  384. // col 1: Instantiation oCol: 2, cbCol:2, blob
  385. // -------------------------------------------------
  386. // 1 == 0:MethodDefOrRef[06000002], 1:blob#b8
  387. // 2 == 0:MethodDefOrRef[06000001], 1:blob#c6
  388. // =================================================
  389. // 44(0x2c): GenericParamConstraint cRecs: 0(0), cbRec: 4(0x4), cbTable: 0(0)
  390. // col 0:* Owner oCol: 0, cbCol:2, GenericParam
  391. // col 1: Constraint oCol: 2, cbCol:2, TypeDefOrRef
  392. //
  393. // Blob Heap: 324(0x144) bytes
  394. // 0,0 : > <
  395. // 1,3 : 20 00 01 > <
  396. // 5,4 : 20 01 01 0e > <
  397. // a,2 : 06 0e > <
  398. // d,4 : 00 01 02 0e > <
  399. // 12,6 : 15 12 11 02 0e 02 > <
  400. // 19,5 : 20 02 01 1c 18 > <
  401. // 1f,5 : 15 12 0d 01 08 > <
  402. // 25,8 : 20 00 15 12 19 01 13 00 > <
  403. // 2e,6 : 15 12 19 01 13 00 > <
  404. // 35,5 : 15 12 19 01 08 > <
  405. // 3b,4 : 20 00 13 00 > <
  406. // 40,2 : 13 00 > <
  407. // 43,4 : 00 01 01 08 > <
  408. // 48,3 : 20 00 02 > <
  409. // 4c,5 : 15 12 31 01 08 > 1 <
  410. // 52,6 : 15 12 0c 01 13 00 > <
  411. // 59,7 : 06 15 12 0d 01 1e 00 > <
  412. // 61,8 : 06 15 12 11 02 1e 00 02 > <
  413. // 6a,5 : 15 12 35 01 08 > 5 <
  414. // 70,2 : 1e 00 > <
  415. // 73,6 : 15 12 10 01 13 00 > <
  416. // 7a,7 : 15 12 11 02 1e 00 02 > <
  417. // 82,2 : 06 08 > <
  418. // 85,6 : 15 12 0d 01 1e 00 > <
  419. // 8c,7 : 06 15 12 19 01 1e 00 > <
  420. // 94,6 : 15 12 19 01 1e 00 > <
  421. // 9b,3 : 06 1e 00 > <
  422. // 9f,6 : 20 01 13 01 13 00 > <
  423. // a6,6 : 20 02 02 08 13 00 > <
  424. // ad,4 : 20 01 02 08 > <
  425. // b2,5 : 20 01 01 11 3d > = <
  426. // b8,4 : 0a 01 1e 00 > <
  427. // bd,8 : 07 02 08 15 12 19 01 08 > <
  428. // c6,3 : 0a 01 0e > <
  429. // ca,3 : 07 01 02 > <
  430. // ce,8 : 32 c3 97 70 e9 a2 1a 67 >2 p g <
  431. // d7,8 : b7 7a 5c 56 19 34 e0 89 > z\V 4 <
  432. // e0,15: 10 01 02 15 12 0d 01 08 15 12 0d 01 1e 00 15 12 > <
  433. // : 11 02 1e 00 02 > <
  434. // f6,5 : 00 01 01 1d 0e > <
  435. // fc,7 : 20 00 15 12 19 01 08 > <
  436. // 104,10: 20 02 01 15 12 0d 01 1e 00 15 12 11 02 1e 00 02 > <
  437. // 115,8 : 01 00 01 01 00 00 00 00 > <
  438. // 11e,1e: 01 00 01 00 54 02 16 57 72 61 70 4e 6f 6e 45 78 > T WrapNonEx<
  439. // : 63 65 70 74 69 6f 6e 54 68 72 6f 77 73 01 >ceptionThrows <
  440. // 13d,4 : 01 00 00 00 > <
  441. // 142,0 : > <
  442. // 143,0 : > <
  443. //
  444. // String Heap: 817(0x331) bytes
  445. // 00000000: 00 > <
  446. // 00000001: 24 00 >$ <
  447. // 00000003: 24 66 69 6c 74 65 72 24 31 30 00 >$filter$10 <
  448. // 0000000e: 24 49 6e 64 65 78 57 68 65 72 65 49 6d 70 6c 24 >$IndexWhereImpl$<
  449. // : 33 60 31 00 >3`1 <
  450. // 00000022: 49 45 6e 75 6d 65 72 61 62 6c 65 60 31 00 >IEnumerable`1 <
  451. // 00000030: 49 45 6e 75 6d 65 72 61 74 6f 72 60 31 00 >IEnumerator`1 <
  452. // 0000003e: 47 65 6e 65 72 69 63 47 65 6e 65 72 61 74 6f 72 >GenericGenerator<
  453. // : 45 6e 75 6d 65 72 61 74 6f 72 60 31 00 >Enumerator`1 <
  454. // 0000005b: 47 65 6e 65 72 69 63 47 65 6e 65 72 61 74 6f 72 >GenericGenerator<
  455. // : 60 31 00 >`1 <
  456. // 0000006e: 46 75 6e 63 60 32 00 >Func`2 <
  457. // 00000075: 24 65 6e 73 75 72 65 32 00 >$ensure2 <
  458. // 0000007e: 24 69 6e 64 65 78 24 34 00 >$index$4 <
  459. // 00000087: 24 76 61 6c 75 65 24 35 00 >$value$5 <
  460. // 00000090: 24 24 69 74 65 72 61 74 6f 72 24 31 24 36 00 >$$iterator$1$6 <
  461. // 0000009f: 24 63 6f 6c 6c 24 37 00 >$coll$7 <
  462. // 000000a7: 24 66 69 6c 74 65 72 24 38 00 >$filter$8 <
  463. // 000000b1: 24 63 6f 6c 6c 24 39 00 >$coll$9 <
  464. // 000000b9: 3c 4d 6f 64 75 6c 65 3e 00 ><Module> <
  465. // 000000c2: 54 00 >T <
  466. // 000000c4: 6d 73 63 6f 72 6c 69 62 00 >mscorlib <
  467. // 000000cd: 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f >System.Collectio<
  468. // : 6e 73 2e 47 65 6e 65 72 69 63 00 >ns.Generic <
  469. // 000000e8: 59 69 65 6c 64 00 >Yield <
  470. // 000000ee: 49 6e 76 6f 6b 65 00 >Invoke <
  471. // 000000f5: 49 44 69 73 70 6f 73 61 62 6c 65 00 >IDisposable <
  472. // 00000101: 43 6f 6e 73 6f 6c 65 00 >Console <
  473. // 00000109: 4c 69 6e 71 5f 6f 70 65 72 61 74 6f 72 4d 6f 64 >Linq_operatorMod<
  474. // : 75 6c 65 00 >ule <
  475. // 0000011d: 57 72 69 74 65 4c 69 6e 65 00 >WriteLine <
  476. // 00000127: 49 6e 64 65 78 57 68 65 72 65 00 >IndexWhere <
  477. // 00000132: 53 79 73 74 65 6d 2e 43 6f 72 65 00 >System.Core <
  478. // 0000013e: 74 65 73 74 63 61 73 65 00 >testcase <
  479. // 00000147: 44 69 73 70 6f 73 65 00 >Dispose <
  480. // 0000014f: 5f 73 74 61 74 65 00 >_state <
  481. // 00000156: 43 6f 6d 70 69 6c 65 72 47 65 6e 65 72 61 74 65 >CompilerGenerate<
  482. // : 64 41 74 74 72 69 62 75 74 65 00 >dAttribute <
  483. // 00000171: 44 65 62 75 67 67 61 62 6c 65 41 74 74 72 69 62 >DebuggableAttrib<
  484. // : 75 74 65 00 >ute <
  485. // 00000185: 43 6f 6d 70 69 6c 65 72 47 6c 6f 62 61 6c 53 63 >CompilerGlobalSc<
  486. // : 6f 70 65 41 74 74 72 69 62 75 74 65 00 >opeAttribute <
  487. // 000001a2: 45 78 74 65 6e 73 69 6f 6e 41 74 74 72 69 62 75 >ExtensionAttribu<
  488. // : 74 65 00 >te <
  489. // 000001b5: 52 75 6e 74 69 6d 65 43 6f 6d 70 61 74 69 62 69 >RuntimeCompatibi<
  490. // : 6c 69 74 79 41 74 74 72 69 62 75 74 65 00 >lityAttribute <
  491. // 000001d3: 74 65 73 74 63 61 73 65 2e 65 78 65 00 >testcase.exe <
  492. // 000001e0: 42 6f 6f 2e 4c 61 6e 67 00 >Boo.Lang <
  493. // 000001e9: 53 74 72 69 6e 67 00 >String <
  494. // 000001f0: 54 65 73 74 69 6e 67 00 >Testing <
  495. // 000001f8: 63 6f 6c 6c 00 >coll <
  496. // 000001fd: 53 79 73 74 65 6d 2e 58 6d 6c 00 >System.Xml <
  497. // 00000208: 49 6e 64 65 78 57 68 65 72 65 49 6d 70 6c 00 >IndexWhereImpl <
  498. // 00000217: 53 79 73 74 65 6d 00 >System <
  499. // 0000021e: 42 6f 6f 6c 65 61 6e 00 >Boolean <
  500. // 00000226: 4d 61 69 6e 00 >Main <
  501. // 0000022b: 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 65 >ArgumentNullExce<
  502. // : 70 74 69 6f 6e 00 >ption <
  503. // 00000241: 42 6f 6f 2e 4c 61 6e 67 2e 43 6f 6d 70 69 6c 65 >Boo.Lang.Compile<
  504. // : 72 00 >r <
  505. // 00000253: 66 69 6c 74 65 72 00 >filter <
  506. // 0000025a: 49 45 6e 75 6d 65 72 61 74 6f 72 00 >IEnumerator <
  507. // 00000266: 47 65 74 45 6e 75 6d 65 72 61 74 6f 72 00 >GetEnumerator <
  508. // 00000274: 2e 63 74 6f 72 00 >.ctor <
  509. // 0000027a: 53 79 73 74 65 6d 2e 44 69 61 67 6e 6f 73 74 69 >System.Diagnosti<
  510. // : 63 73 00 >cs <
  511. // 0000028d: 53 79 73 74 65 6d 2e 52 75 6e 74 69 6d 65 2e 43 >System.Runtime.C<
  512. // : 6f 6d 70 69 6c 65 72 53 65 72 76 69 63 65 73 00 >ompilerServices <
  513. // 000002ad: 44 65 62 75 67 67 69 6e 67 4d 6f 64 65 73 00 >DebuggingModes <
  514. // 000002bc: 42 6f 6f 2e 4c 61 6e 67 2e 45 78 74 65 6e 73 69 >Boo.Lang.Extensi<
  515. // : 6f 6e 73 00 >ons <
  516. // 000002d0: 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f >System.Collectio<
  517. // : 6e 73 00 >ns <
  518. // 000002e3: 42 6f 6f 43 6f 6d 70 69 6c 65 72 2e 54 65 73 74 >BooCompiler.Test<
  519. // : 73 00 >s <
  520. // 000002f5: 4f 62 6a 65 63 74 00 >Object <
  521. // 000002fc: 59 69 65 6c 64 44 65 66 61 75 6c 74 00 >YieldDefault <
  522. // 00000309: 67 65 74 5f 43 75 72 72 65 6e 74 00 >get_Current <
  523. // 00000315: 4d 6f 76 65 4e 65 78 74 00 >MoveNext <
  524. // 0000031e: 61 72 67 76 00 >argv <
  525. // 00000323: 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 00 >IsNullOrEmpty <
  526. //
  527. // User Strings
  528. // -------------------------------------------------------
  529. // 70000001 : ( 6) L"filter"
  530. // 7000000f : ( 4) L"coll"
  531. // 70000019 : ( 1) L"a"
  532. // 7000001d : ( 1) L"b"
  533. // 70000021 : ( 1) L"d"
  534. // 70000025 : ( 1) L"f"
  535. // 70000029 : ( 1) L"g"
  536. // ===========================================================
  537. // ===========================================================
  538. // ===========================================================
  539. // ================================= END OF METAINFO ================================================
  540.  
  541.  
  542. // Metadata version: v4.0.30319
  543. .assembly extern /*23000001*/ Boo.Lang
  544. {
  545. .publickeytoken = (32 C3 97 70 E9 A2 1A 67 ) // 2..p...g
  546. .ver 2:0:9:5
  547. }
  548. .assembly extern /*23000002*/ Boo.Lang.Extensions
  549. {
  550. .publickeytoken = (32 C3 97 70 E9 A2 1A 67 ) // 2..p...g
  551. .ver 2:0:9:5
  552. }
  553. .assembly extern /*23000003*/ Boo.Lang.Compiler
  554. {
  555. .publickeytoken = (32 C3 97 70 E9 A2 1A 67 ) // 2..p...g
  556. .ver 2:0:9:5
  557. }
  558. .assembly extern /*23000004*/ mscorlib
  559. {
  560. .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
  561. .ver 4:0:0:0
  562. }
  563. .assembly extern /*23000005*/ System
  564. {
  565. .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
  566. .ver 4:0:0:0
  567. }
  568. .assembly extern /*23000006*/ System.Core
  569. {
  570. .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
  571. .ver 4:0:0:0
  572. }
  573. .assembly extern /*23000007*/ BooCompiler.Tests
  574. {
  575. .ver 0:0:0:0
  576. }
  577. .assembly extern /*23000008*/ System.Xml
  578. {
  579. .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
  580. .ver 4:0:0:0
  581. }
  582. .assembly /*20000001*/ testcase
  583. {
  584.  
  585. // --- The following custom attribute is added automatically, do not uncomment -------
  586. // .custom /*0C000002:0A000023*/ instance void [mscorlib/*23000004*/]System.Diagnostics.DebuggableAttribute/*0100000E*/::.ctor(valuetype [mscorlib/*23000004*/]System.Diagnostics.DebuggableAttribute/*0100000E*//DebuggingModes/*0100000F*/) /* 0A000023 */ = ( 01 00 01 01 00 00 00 00 )
  587.  
  588. .custom /*0C000003:0A000024*/ instance void [mscorlib/*23000004*/]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute/*01000010*/::.ctor() /* 0A000024 */ = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
  589. 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
  590. .custom /*0C000004:0A000001*/ instance void [mscorlib/*23000004*/]System.Runtime.CompilerServices.ExtensionAttribute/*01000002*/::.ctor() /* 0A000001 */ = ( 01 00 00 00 )
  591. .hash algorithm 0x00008004
  592. .ver 0:0:65535:65535
  593. }
  594. .module testcase.exe
  595. // MVID: {6CA5FB14-5086-42DF-BEF2-9090A5AD62F5}
  596. .imagebase 0x00400000
  597. .file alignment 0x00000200
  598. .stackreserve 0x00100000
  599. .subsystem 0x0003 // WINDOWS_CUI
  600. .corflags 0x00010001 // ILONLY TRACKDEBUGDATA
  601. // Image base: 0x006F0000
  602.  
  603.  
  604. // =============== CLASS MEMBERS DECLARATION ===================
  605.  
  606. .class /*02000002*/ public auto ansi sealed beforefieldinit Testing.Linq_operatorModule
  607. extends [mscorlib/*23000004*/]System.Object/*01000001*/
  608. {
  609. .custom /*0C000005:0A000025*/ instance void [mscorlib/*23000004*/]System.Runtime.CompilerServices.CompilerGlobalScopeAttribute/*01000011*/::.ctor() /* 0A000025 */ = ( 01 00 00 00 )
  610. .custom /*0C000006:0A000001*/ instance void [mscorlib/*23000004*/]System.Runtime.CompilerServices.ExtensionAttribute/*01000002*/::.ctor() /* 0A000001 */ = ( 01 00 00 00 )
  611. .class /*02000003*/ auto ansi sealed nested assembly beforefieldinit $IndexWhereImpl$3`1<T>
  612. extends class [Boo.Lang/*23000001*/]Boo.Lang.GenericGenerator`1/*0100000C*/<int32>/*1B000006*/
  613. {
  614. .custom /*0C000007:0A000026*/ instance void [mscorlib/*23000004*/]System.Runtime.CompilerServices.CompilerGeneratedAttribute/*01000012*/::.ctor() /* 0A000026 */ = ( 01 00 00 00 )
  615. .class /*02000004*/ auto ansi sealed nested assembly beforefieldinit $<T>
  616. extends class [Boo.Lang/*23000001*/]Boo.Lang.GenericGeneratorEnumerator`1/*0100000D*/<int32>/*1B000008*/
  617. implements [mscorlib/*23000004*/]System.Collections.IEnumerator/*0100000A*/
  618. {
  619. .custom /*0C000008:0A000026*/ instance void [mscorlib/*23000004*/]System.Runtime.CompilerServices.CompilerGeneratedAttribute/*01000012*/::.ctor() /* 0A000026 */ = ( 01 00 00 00 )
  620. .field /*04000003*/ assembly int32 $index$4
  621. .field /*04000004*/ assembly !!0 $value$5
  622. .field /*04000005*/ assembly class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<!!0> $$iterator$1$6
  623. .field /*04000006*/ assembly class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0> $coll$7
  624. .field /*04000007*/ assembly class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool> $filter$8
  625. .method /*06000007*/ public hidebysig specialname rtspecialname
  626. instance void .ctor(class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0> coll,
  627. class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool> 'filter') cil managed
  628. {
  629. // Code size 21 (0x15)
  630. .maxstack 8
  631. IL_0000: ldarg.0
  632. IL_0001: call instance void class [Boo.Lang/*23000001*/]Boo.Lang.GenericGeneratorEnumerator`1/*0100000D*/<int32>/*1B000008*/::.ctor() /* 0A000013 */
  633. IL_0006: ldarg.0
  634. IL_0007: ldarg.1
  635. IL_0008: stfld class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$coll$7 /* 0A000015 */
  636. IL_000d: ldarg.0
  637. IL_000e: ldarg.2
  638. IL_000f: stfld class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$filter$8 /* 0A000016 */
  639. IL_0014: ret
  640. } // end of method $::.ctor
  641.  
  642. .method /*06000008*/ public hidebysig virtual
  643. instance bool MoveNext() cil managed
  644. {
  645. // Code size 195 (0xc3)
  646. .maxstack 11
  647. .locals /*11000002*/ init (bool V_0)
  648. .try
  649. {
  650. IL_0000: ldarg.0
  651. IL_0001: ldfld int32 class [Boo.Lang/*23000001*/]Boo.Lang.GenericGeneratorEnumerator`1/*0100000D*/<int32>/*1B000008*/::_state /* 0A000017 */
  652. IL_0006: switch (
  653. IL_001b,
  654. IL_00af,
  655. IL_00af,
  656. IL_007c)
  657. IL_001b: ldarg.0
  658. IL_001c: ldc.i4.0
  659. IL_001d: stfld int32 class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$index$4 /* 0A000019 */
  660. IL_0022: ldarg.0
  661. IL_0023: ldarg.0
  662. IL_0024: ldfld class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$coll$7 /* 0A000015 */
  663. IL_0029: callvirt instance class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<!0> class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0>/*1B00000C*/::GetEnumerator() /* 0A00001A */
  664. IL_002e: stfld class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<!!0> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$$iterator$1$6 /* 0A00001B */
  665. IL_0033: ldarg.0
  666. IL_0034: ldc.i4.2
  667. IL_0035: stfld int32 class [Boo.Lang/*23000001*/]Boo.Lang.GenericGeneratorEnumerator`1/*0100000D*/<int32>/*1B000008*/::_state /* 0A000017 */
  668. IL_003a: br IL_008a
  669.  
  670. IL_003f: ldarg.0
  671. IL_0040: ldarg.0
  672. IL_0041: ldfld class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<!!0> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$$iterator$1$6 /* 0A00001B */
  673. IL_0046: callvirt instance !0 class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<!!0>/*1B00000D*/::get_Current() /* 0A00001C */
  674. IL_004b: stfld !!0 class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$value$5 /* 0A00001D */
  675. IL_0050: ldarg.0
  676. IL_0051: ldfld class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$filter$8 /* 0A000016 */
  677. IL_0056: ldarg.0
  678. IL_0057: ldfld !!0 class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$value$5 /* 0A00001D */
  679. IL_005c: callvirt instance !1 class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool>/*1B00000B*/::Invoke(!0) /* 0A00001E */
  680. IL_0061: brfalse IL_007c
  681.  
  682. IL_0066: ldarg.0
  683. IL_0067: ldc.i4.3
  684. IL_0068: ldarg.0
  685. IL_0069: ldfld int32 class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$index$4 /* 0A000019 */
  686. IL_006e: callvirt instance bool class [Boo.Lang/*23000001*/]Boo.Lang.GenericGeneratorEnumerator`1/*0100000D*/<int32>/*1B000008*/::Yield(int32,
  687. !0) /* 0A00001F */
  688. IL_0073: stloc V_0
  689. IL_0077: leave IL_00be
  690.  
  691. IL_007c: ldarg.0
  692. IL_007d: ldarg.0
  693. IL_007e: ldfld int32 class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$index$4 /* 0A000019 */
  694. IL_0083: ldc.i4.1
  695. IL_0084: add.ovf
  696. IL_0085: stfld int32 class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$index$4 /* 0A000019 */
  697. IL_008a: ldarg.0
  698. IL_008b: ldfld class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<!!0> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$$iterator$1$6 /* 0A00001B */
  699. IL_0090: callvirt instance bool [mscorlib/*23000004*/]System.Collections.IEnumerator/*0100000A*/::MoveNext() /* 0A00000C */
  700. IL_0095: brtrue IL_003f
  701.  
  702. IL_009a: ldarg.0
  703. IL_009b: ldc.i4.1
  704. IL_009c: stfld int32 class [Boo.Lang/*23000001*/]Boo.Lang.GenericGeneratorEnumerator`1/*0100000D*/<int32>/*1B000008*/::_state /* 0A000017 */
  705. IL_00a1: ldarg.0
  706. IL_00a2: callvirt instance void Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/::$ensure2() /* 06000009 */
  707. IL_00a7: ldarg.0
  708. IL_00a8: ldc.i4.1
  709. IL_00a9: callvirt instance bool class [Boo.Lang/*23000001*/]Boo.Lang.GenericGeneratorEnumerator`1/*0100000D*/<int32>/*1B000008*/::YieldDefault(int32) /* 0A000021 */
  710. IL_00ae: pop
  711. IL_00af: leave IL_00bb
  712.  
  713. } // end .try
  714. fault
  715. {
  716. IL_00b4: ldarg.0
  717. IL_00b5: callvirt instance void Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/::Dispose() /* 0600000A */
  718. IL_00ba: endfinally
  719. } // end handler
  720. IL_00bb: ldc.i4.0
  721. IL_00bc: br.s IL_00c2
  722.  
  723. IL_00be: ldloc V_0
  724. IL_00c2: ret
  725. } // end of method $::MoveNext
  726.  
  727. .method /*06000009*/ private hidebysig
  728. instance void $ensure2() cil managed
  729. {
  730. // Code size 12 (0xc)
  731. .maxstack 8
  732. IL_0000: ldarg.0
  733. IL_0001: ldfld class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<!!0> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/<!T>/*1B00000A*/::$$iterator$1$6 /* 0A00001B */
  734. IL_0006: callvirt instance void [mscorlib/*23000004*/]System.IDisposable/*0100000B*/::Dispose() /* 0A00000D */
  735. IL_000b: ret
  736. } // end of method $::$ensure2
  737.  
  738. .method /*0600000A*/ public hidebysig virtual
  739. instance void Dispose() cil managed
  740. {
  741. // Code size 53 (0x35)
  742. .maxstack 8
  743. IL_0000: ldarg.0
  744. IL_0001: ldfld int32 class [Boo.Lang/*23000001*/]Boo.Lang.GenericGeneratorEnumerator`1/*0100000D*/<int32>/*1B000008*/::_state /* 0A000017 */
  745. IL_0006: switch (
  746. IL_001b,
  747. IL_001b,
  748. IL_0027,
  749. IL_0027)
  750. IL_001b: ldarg.0
  751. IL_001c: ldc.i4.1
  752. IL_001d: stfld int32 class [Boo.Lang/*23000001*/]Boo.Lang.GenericGeneratorEnumerator`1/*0100000D*/<int32>/*1B000008*/::_state /* 0A000017 */
  753. IL_0022: br IL_0034
  754.  
  755. IL_0027: ldarg.0
  756. IL_0028: ldc.i4.1
  757. IL_0029: stfld int32 class [Boo.Lang/*23000001*/]Boo.Lang.GenericGeneratorEnumerator`1/*0100000D*/<int32>/*1B000008*/::_state /* 0A000017 */
  758. IL_002e: ldarg.0
  759. IL_002f: callvirt instance void Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/::$ensure2() /* 06000009 */
  760. IL_0034: ret
  761. } // end of method $::Dispose
  762.  
  763. } // end of class $
  764.  
  765. .field /*04000001*/ assembly class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0> $coll$9
  766. .field /*04000002*/ assembly class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool> $filter$10
  767. .method /*06000005*/ public hidebysig virtual
  768. instance class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<int32>
  769. GetEnumerator() cil managed
  770. {
  771. // Code size 18 (0x12)
  772. .maxstack 8
  773. IL_0000: ldarg.0
  774. IL_0001: ldfld class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*/<!T>/*1B000007*/::$coll$9 /* 0A00000F */
  775. IL_0006: ldarg.0
  776. IL_0007: ldfld class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*/<!T>/*1B000007*/::$filter$10 /* 0A000010 */
  777. IL_000c: newobj instance void Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*//$/*02000004*/::.ctor(class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0>,
  778. class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool>) /* 06000007 */
  779. IL_0011: ret
  780. } // end of method $IndexWhereImpl$3`1::GetEnumerator
  781.  
  782. .method /*06000006*/ public hidebysig specialname rtspecialname
  783. instance void .ctor(class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0> coll,
  784. class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool> 'filter') cil managed
  785. {
  786. // Code size 21 (0x15)
  787. .maxstack 8
  788. IL_0000: ldarg.0
  789. IL_0001: call instance void class [Boo.Lang/*23000001*/]Boo.Lang.GenericGenerator`1/*0100000C*/<int32>/*1B000006*/::.ctor() /* 0A000011 */
  790. IL_0006: ldarg.0
  791. IL_0007: ldarg.1
  792. IL_0008: stfld class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*/<!T>/*1B000007*/::$coll$9 /* 0A00000F */
  793. IL_000d: ldarg.0
  794. IL_000e: ldarg.2
  795. IL_000f: stfld class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool> class Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*/<!T>/*1B000007*/::$filter$10 /* 0A000010 */
  796. IL_0014: ret
  797. } // end of method $IndexWhereImpl$3`1::.ctor
  798.  
  799. } // end of class $IndexWhereImpl$3`1
  800.  
  801. .method /*06000001*/ public hidebysig static
  802. class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<int32>
  803. IndexWhere<T>(class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!T> coll,
  804. class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!T,bool> 'filter') cil managed
  805. {
  806. .custom /*0C000001:0A000001*/ instance void [mscorlib/*23000004*/]System.Runtime.CompilerServices.ExtensionAttribute/*01000002*/::.ctor() /* 0A000001 */ = ( 01 00 00 00 )
  807. // Code size 42 (0x2a)
  808. .maxstack 8
  809. IL_0000: ldarg.1
  810. IL_0001: brtrue IL_0011
  811.  
  812. IL_0006: ldstr "filter" /* 70000001 */
  813. IL_000b: newobj instance void [mscorlib/*23000004*/]System.ArgumentNullException/*01000005*/::.ctor(string) /* 0A000002 */
  814. IL_0010: throw
  815.  
  816. IL_0011: ldarg.0
  817. IL_0012: brtrue IL_0022
  818.  
  819. IL_0017: ldstr "coll" /* 7000000F */
  820. IL_001c: newobj instance void [mscorlib/*23000004*/]System.ArgumentNullException/*01000005*/::.ctor(string) /* 0A000002 */
  821. IL_0021: throw
  822.  
  823. IL_0022: ldarg.0
  824. IL_0023: ldarg.1
  825. IL_0024: call class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<int32> Testing.Linq_operatorModule/*02000002*/::IndexWhereImpl<!!0>(class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0>,
  826. class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool>) /* 2B000001 */
  827. IL_0029: ret
  828. } // end of method Linq_operatorModule::IndexWhere
  829.  
  830. .method /*06000002*/ private hidebysig static
  831. class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<int32>
  832. IndexWhereImpl<T>(class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!T> coll,
  833. class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!T,bool> 'filter') cil managed
  834. {
  835. // Code size 8 (0x8)
  836. .maxstack 8
  837. IL_0000: ldarg.0
  838. IL_0001: ldarg.1
  839. IL_0002: newobj instance void Testing.Linq_operatorModule/*02000002*//$IndexWhereImpl$3`1/*02000003*/::.ctor(class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!T>,
  840. class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!T,bool>) /* 06000006 */
  841. IL_0007: ret
  842. } // end of method Linq_operatorModule::IndexWhereImpl
  843.  
  844. .method /*06000003*/ private hidebysig static
  845. void Main(string[] argv) cil managed
  846. {
  847. .entrypoint
  848. // Code size 137 (0x89)
  849. .maxstack 7
  850. .locals /*11000001*/ init (int32 V_0,
  851. class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<int32> V_1)
  852. IL_0000: ldc.i4.7
  853. IL_0001: newarr [mscorlib/*23000004*/]System.String/*01000007*/
  854. IL_0006: dup
  855. IL_0007: ldc.i4.0
  856. IL_0008: ldstr "a" /* 70000019 */
  857. IL_000d: stelem.ref
  858. IL_000e: dup
  859. IL_000f: ldc.i4.1
  860. IL_0010: ldstr "b" /* 7000001D */
  861. IL_0015: stelem.ref
  862. IL_0016: dup
  863. IL_0017: ldc.i4.2
  864. IL_0018: ldsfld string [mscorlib/*23000004*/]System.String/*01000007*/::Empty /* 0A000003 */
  865. IL_001d: stelem.ref
  866. IL_001e: dup
  867. IL_001f: ldc.i4.3
  868. IL_0020: ldstr "d" /* 70000021 */
  869. IL_0025: stelem.ref
  870. IL_0026: dup
  871. IL_0027: ldc.i4.5
  872. IL_0028: ldstr "f" /* 70000025 */
  873. IL_002d: stelem.ref
  874. IL_002e: dup
  875. IL_002f: ldc.i4.6
  876. IL_0030: ldstr "g" /* 70000029 */
  877. IL_0035: stelem.ref
  878. IL_0036: ldnull
  879. IL_0037: ldftn bool [mscorlib/*23000004*/]System.String/*01000007*/::IsNullOrEmpty(string) /* 0A000004 */
  880. IL_003d: newobj instance void class [mscorlib/*23000004*/]System.Func`2/*01000004*/<string,bool>/*1B000001*/::.ctor(object,
  881. native int) /* 0A000005 */
  882. IL_0042: call class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<int32> Testing.Linq_operatorModule/*02000002*/::IndexWhere<string>(class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<!!0>,
  883. class [mscorlib/*23000004*/]System.Func`2/*01000004*/<!!0,bool>) /* 2B000002 */
  884. IL_0047: callvirt instance class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<!0> class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerable`1/*01000003*/<int32>/*1B000002*/::GetEnumerator() /* 0A000007 */
  885. IL_004c: stloc V_1
  886. .try
  887. {
  888. IL_0050: br IL_006b
  889.  
  890. IL_0055: ldloc V_1
  891. IL_0059: callvirt instance !0 class [mscorlib/*23000004*/]System.Collections.Generic.IEnumerator`1/*01000006*/<int32>/*1B000004*/::get_Current() /* 0A000009 */
  892. IL_005e: stloc V_0
  893. IL_0062: ldloc V_0
  894. IL_0066: call void [mscorlib/*23000004*/]System.Console/*01000009*/::WriteLine(int32) /* 0A00000B */
  895. IL_006b: ldloc V_1
  896. IL_006f: callvirt instance bool [mscorlib/*23000004*/]System.Collections.IEnumerator/*0100000A*/::MoveNext() /* 0A00000C */
  897. IL_0074: brtrue IL_0055
  898.  
  899. IL_0079: leave IL_0088
  900.  
  901. } // end .try
  902. finally
  903. {
  904. IL_007e: ldloc V_1
  905. IL_0082: callvirt instance void [mscorlib/*23000004*/]System.IDisposable/*0100000B*/::Dispose() /* 0A00000D */
  906. IL_0087: endfinally
  907. } // end handler
  908. IL_0088: ret
  909. } // end of method Linq_operatorModule::Main
  910.  
  911. .method /*06000004*/ private hidebysig specialname rtspecialname
  912. instance void .ctor() cil managed
  913. {
  914. // Code size 7 (0x7)
  915. .maxstack 8
  916. IL_0000: ldarg.0
  917. IL_0001: call instance void [mscorlib/*23000004*/]System.Object/*01000001*/::.ctor() /* 0A00000E */
  918. IL_0006: ret
  919. } // end of method Linq_operatorModule::.ctor
  920.  
  921. } // end of class Testing.Linq_operatorModule
  922.  
  923.  
  924. // =============================================================
  925.  
  926. // *********** DISASSEMBLY COMPLETE ***********************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement