Copied remotely
[mono.git] / mcs / class / Mono.PEToolkit / build / srcgen / data / md-schema.xml
1 <!-- updated according to final specs -->\r
2 <md-schema version="1.0">\r
3 \r
4 <!-- see tables in 23.2.6 -->\r
5 <coded-tokens>\r
6 \r
7         <!-- NOTE: specs use token-type spelling (map/table/@token-type) rather than table id -->\r
8 \r
9         <map name="TypeDefOrRef" bits="2">\r
10                 <table name="TypeDef" tag="0"/>\r
11                 <table name="TypeRef" tag="1"/>\r
12                 <table name="TypeSpec" tag="2"/>\r
13         </map>\r
14 \r
15         <map name="HasConstant" bits="2">\r
16                 <table name="Field" tag="0" token-type="FieldDef"/>\r
17                 <table name="Param" tag="1" token-type="ParamDef"/>\r
18                 <table name="Property" tag="2"/>\r
19         </map>\r
20 \r
21         <map name="HasCustomAttribute" bits="5"><!-- specs: HasCustomattribute -->\r
22                 <table name="Method" tag="0" token-type="MethodDef"/>\r
23                 <table name="Field" tag="1" token-type="FieldDef"/>\r
24                 <table name="TypeRef" tag="2"/>\r
25                 <table name="TypeDef" tag="3"/>\r
26                 <table name="Param" tag="4" token-type="ParamDef"/>\r
27                 <table name="InterfaceImpl" tag="5"/>\r
28                 <table name="MemberRef" tag="6"/>\r
29                 <table name="Module" tag="7"/>\r
30                 <table name="DeclSecurity" tag="8" token-type="Permission"/>\r
31                 <table name="Property" tag="9"/>\r
32                 <table name="Event" tag="10"/>\r
33                 <table name="StandAloneSig" tag="11" token-type="Signature"/>\r
34                 <table name="ModuleRef" tag="12"/>\r
35                 <table name="TypeSpec" tag="13"/>\r
36                 <table name="Assembly" tag="14"/>\r
37                 <table name="AssemblyRef" tag="15"/>\r
38                 <table name="File" tag="16"/>\r
39                 <table name="ExportedType" tag="17"/>\r
40                 <table name="ManifestResource" tag="18"/>\r
41         </map>\r
42 \r
43         <map name="HasFieldMarshal" bits="1"><!-- specs: HasFieldMarshall -->\r
44                 <table name="Field" tag="0" token-type="FieldDef"/>\r
45                 <table name="Param" tag="1" token-type="ParamDef"/>\r
46         </map>\r
47 \r
48         <map name="HasDeclSecurity" bits="2">\r
49                 <table name="TypeDef" tag="0"/>\r
50                 <table name="Method" tag="1" token-type="MethodDef"/>\r
51                 <table name="Assembly" tag="2"/>\r
52         </map>\r
53 \r
54         <map name="MemberRefParent" bits="3">\r
55                 <table name="TypeDef" tag="0"/><!-- specs: Not used -->\r
56                 <table name="TypeRef" tag="1"/>\r
57                 <table name="ModuleRef" tag="2"/>\r
58                 <table name="Method" tag="3" token-type="MethodDef"/>\r
59                 <table name="TypeSpec" tag="4"/>\r
60         </map>\r
61 \r
62         <map name="HasSemantics" bits="1">\r
63                 <table name="Event" tag="0"/>\r
64                 <table name="Property" tag="1"/>\r
65         </map>\r
66 \r
67         <map name="MethodDefOrRef" bits="1">\r
68                 <table name="Method" tag="0" token-type="MethodDef"/>\r
69                 <table name="MemberRef" tag="1"/>\r
70         </map>\r
71 \r
72         <map name="MemberForwarded" bits="1">\r
73                 <table name="Field" tag="0" token-type="FieldDef"/>\r
74                 <table name="Method" tag="1" token-type="MethodDef"/>\r
75         </map>\r
76 \r
77         <map name="Implementation" bits="2">\r
78                 <table name="File" tag="0"/>\r
79                 <table name="AssemblyRef" tag="1"/>\r
80                 <table name="ExportedType" tag="2"/><!-- specs: tag value absent -->\r
81         </map>\r
82 \r
83         <map name="CustomAttributeType" bits="3">\r
84                 <table name="TypeRef" tag="0"/><!-- specs: not used -->\r
85                 <table name="TypeDef" tag="1"/><!-- specs: not used -->\r
86                 <table name="Method" tag="2" token-type="MethodDef"/>\r
87                 <table name="MemberRef" tag="3"/>\r
88                 <table name="String" tag="4"/><!-- specs: not used -->\r
89         </map>\r
90 \r
91         <!-- LAMESPEC: 2 bits per tag, specs claims 3 -->\r
92         <map name="ResolutionScope" bits="2">\r
93                 <table name="Module" tag="0"/>\r
94                 <table name="ModuleRef" tag="1"/>\r
95                 <table name="AssemblyRef" tag="2"/><!-- LAMESPEC: tag=3 -->\r
96                 <table name="TypeRef" tag="3"/><!-- LAMESPEC: tag=4 -->\r
97         </map>\r
98 \r
99 </coded-tokens>\r
100 \r
101 \r
102 <!-- 22.1.15 Element Types used in Signatures -->\r
103 <element-types>\r
104         <type name="End" value="0x00" remarks="Marks end of a list."/>\r
105         <type name="Void" value="0x01"/>\r
106         <type name="Boolean" value="0x02"/>\r
107         <type name="Char" value="0x03"/>\r
108         <type name="I1" value="0x04"/>\r
109         <type name="U1" value="0x05"/>\r
110         <type name="I2" value="0x06"/>\r
111         <type name="U2" value="0x07"/>\r
112         <type name="I4" value="0x08"/>\r
113         <type name="U4" value="0x09"/>\r
114         <type name="I8" value="0x0a"/>\r
115         <type name="U8" value="0x0b"/>\r
116         <type name="R4" value="0x0c"/>\r
117         <type name="R8" value="0x0d"/>\r
118         <type name="String" value="0x0e"/>\r
119         <type name="Ptr" value="0x0f" remarks="Followed by &lt;type&gt; token."/>\r
120         <type name="ByRef" value="0x10" remarks="Followed by &lt;type&gt; token."/>\r
121         <type name="ValueType" value="0x11" remarks="Followed by &lt;type&gt; token."/>\r
122         <type name="Class" value="0x12" remarks="Followed by &lt;type&gt; token."/>\r
123         <type name="Array" value="0x14"/>\r
124         <type name="TypedByRef" value="0x16"/>\r
125         <type name="I" value="0x18" remarks="System.IntPtr"/>\r
126         <type name="U" value="0x19" remarks="System.UIntPtr"/>\r
127         <type name="FnPtr" value="0x1b" remarks="Followed by full method signature."/>\r
128         <type name="Object" value="0x1c" remarks="System.Object"/>\r
129         <type name="SzArray" value="0x1d" remarks="Single-dim array with 0 lower bound."/>\r
130         <type name="CModReqd" value="0x1f" remarks="Required modifier : followed by a TypeDef or TypeRef token."/>\r
131         <type name="CModOpt" value="0x20" remarks="Optional modifier : followed by a TypeDef or TypeRef token."/>\r
132         <type name="Internal" value="0x21" remarks="Implemented within the CLR."/>\r
133 \r
134         <type name="Modifier" value="0x40" remarks="Or'd with following element types."/>\r
135         <type name="Sentinel" value="0x41" remarks="Sentinel for varargs method signature."/>\r
136         <type name="Pinned" value="0x45" remarks="Denotes a local variable that points at a pinned object."/>\r
137 </element-types>\r
138 \r
139 \r
140 \r
141 \r
142 <!--\r
143  Metadata tables.\r
144 -->\r
145 \r
146 <tables>\r
147 \r
148         <!-- -->\r
149         <table name="Module" id="0x00" section="21.27">\r
150                 <schema>\r
151                         <field name="Generation" type="ushort"/>\r
152                         <field name="Name" type="index(#Strings)"/>\r
153                         <field name="Mvid" type="index(#GUID)"/>\r
154                         <field name="EncId" type="index(#GUID)"/>\r
155                         <field name="EncBaseId" type="index(#GUID)"/>\r
156                 </schema>\r
157         </table>\r
158 \r
159 \r
160         <!-- -->\r
161         <table name="TypeRef" id="0x01" section="21.35">\r
162                 <schema>\r
163                         <field name="ResolutionScope" type="coded-index(ResolutionScope)"/>\r
164                         <field name="Name" type="index(#Strings)"/>\r
165                         <field name="Namespace" type="index(#Strings)"/>\r
166                 </schema>\r
167         </table>\r
168 \r
169 \r
170         <!-- -->\r
171         <table name="TypeDef" id="0x02" section="21.34">\r
172                 <schema>\r
173                         <field name="Flags" type="uint" cli-type="System.Reflection.TypeAttributes"/>\r
174                         <field name="Name" type="index(#Strings)"/>\r
175                         <field name="Namespace" type="index(#Strings)"/>\r
176                         <field name="Extends" type="coded-index(TypeDefOrRef)"/>\r
177                         <field name="FieldList" type="index(Field)"/>\r
178                         <field name="MethodList" type="index(Method)"/>\r
179                 </schema>\r
180         </table>\r
181 \r
182 \r
183         <!-- -->\r
184         <table name="FieldPtr" id="0x03" temporary="yes">\r
185                 <schema>\r
186                         <field name="Field" type="index(Field)"/>\r
187                 </schema>\r
188         </table>\r
189 \r
190 \r
191         <!-- -->\r
192         <table name="Field" id="0x04" section="21.15">\r
193                 <schema>\r
194                         <field name="Flags" type="ushort" cli-type="System.Reflection.FieldAttributes"/>\r
195                         <field name="Name" type="index(#Strings)"/>\r
196                         <field name="Signature" type="index(#Blob)"/>\r
197                 </schema>\r
198         </table>\r
199 \r
200 \r
201         <!-- -->\r
202         <table name="MethodPtr" id="0x05" temporary="yes">\r
203                 <schema>\r
204                         <field name="Method" type="index(Method)"/>\r
205                 </schema>\r
206         </table>\r
207 \r
208 \r
209         <!-- -->\r
210         <table name="Method" id="0x06" section="21.24">\r
211                 <schema>\r
212                         <field name="RVA" type="RVA" remarks="RVA of the COR_ILMETHOD structure for the body of the method."/>\r
213                         <field name="ImplFlags" type="ushort" cli-type="System.Reflection.MethodImplAttributes"/>\r
214                         <field name="Flags" type="ushort" cli-type="System.Reflection.MethodAttributes"/><!-- ??? MethodAttribute -->\r
215                         <field name="Name" type="index(#Strings)"/>\r
216                         <field name="Signature" type="index(#Blob)"/>\r
217                         <field name="ParamList" type="index(Param)"/>\r
218                 </schema>\r
219         </table>\r
220 \r
221 \r
222         <!-- -->\r
223         <table name="ParamPtr" id="0x07" temporary="yes">\r
224                 <schema>\r
225                         <field name="Param" type="index(Param)"/>\r
226                 </schema>\r
227         </table>\r
228 \r
229 \r
230         <!-- -->\r
231         <table name="Param" id="0x08" section="21.30">\r
232                 <schema>\r
233                         <field name="Flags" type="ushort" cli-type="System.Reflection.ParameterAttributes"/><!-- specs: ParamAttributes -->\r
234                         <field name="Sequence" type="ushort"/>\r
235                         <field name="Name" type="index(#Strings)"/>\r
236                 </schema>\r
237         </table>\r
238 \r
239 \r
240         <!-- -->\r
241         <table name="InterfaceImpl" id="0x09" section="21.21">\r
242                 <schema>\r
243                         <field name="Class" type="index(TypeDef)"/>\r
244                         <field name="Interface" type="coded-index(TypeDefOrRef)"/>\r
245                 </schema>\r
246         </table>\r
247 \r
248 \r
249 \r
250         <!-- -->\r
251         <table name="MemberRef" id="0x0a" section="21.23">\r
252                 <schema>\r
253                         <field name="Class" type="coded-index(MemberRefParent)"/>\r
254                         <field name="Name" type="index(#Strings)"/>\r
255                         <field name="Signature" type="index(#Blob)"/>\r
256                 </schema>\r
257         </table>\r
258 \r
259 \r
260         <!-- -->\r
261         <table name="Constant" id="0x0b" section="21.9">\r
262                 <schema>\r
263                         <field name="Type" type="short" cli-type="ElementType" remarks="1 byte ElementType constant, followed by a 1-byte padding zero."/>\r
264                         <field name="Parent" type="coded-index(HasConstant)"/>\r
265                         <field name="Value" type="index(#Blob)"/>\r
266                 </schema>\r
267         </table>\r
268 \r
269 \r
270         <!-- -->\r
271         <table name="CustomAttribute" id="0x0c" section="21.10">\r
272                 <schema>\r
273                         <field name="Parent" type="coded-index(HasCustomAttribute)"/>\r
274                         <field name="Type" type="coded-index(CustomAttributeType)"/>\r
275                         <field name="Value" type="index(#Blob)"/>\r
276                 </schema>\r
277         </table>\r
278 \r
279 \r
280         <!-- -->\r
281         <table name="FieldMarshal" id="0x0d" section="21.17">\r
282                 <schema>\r
283                         <field name="Parent" type="coded-index(HasFieldMarshal)"/>\r
284                         <field name="NativeType" type="index(#Blob)"/>\r
285                 </schema>\r
286         </table>\r
287 \r
288 \r
289         <!-- -->\r
290         <table name="DeclSecurity" id="0x0e" section="21.11">\r
291                 <schema>\r
292                         <field name="Action" type="short"/><!-- TODO: System.Security.SecurityAction -->\r
293                         <field name="Parent" type="coded-index(HasDeclSecurity)"/>\r
294                         <field name="PermissionSet" type="index(#Blob)"/>\r
295                 </schema>\r
296         </table>\r
297 \r
298 \r
299         <!-- -->\r
300         <table name="ClassLayout" id="0x0f" section="21.8">\r
301                 <schema>\r
302                         <field name="PackingSize" type="short"/><!-- TODO: use enum? -->\r
303                         <field name="ClassSize" type="int"/>\r
304                         <field name="Parent" type="index(TypeDef)"/>\r
305                 </schema>\r
306         </table>\r
307 \r
308 \r
309         <!-- -->\r
310         <table name="FieldLayout" id="0x10" section="21.16">\r
311                 <schema>\r
312                         <field name="Offset" type="int"/>\r
313                         <field name="Field" type="index(Field)"/>\r
314                 </schema>\r
315         </table>\r
316 \r
317 \r
318         <!-- -->\r
319         <table name="StandAloneSig" id="0x11" section="21.33">\r
320                 <schema>\r
321                         <field name="Signature" type="index(#Blob)"/>\r
322                 </schema>\r
323         </table>\r
324 \r
325 \r
326         <!-- -->\r
327         <table name="EventMap" id="0x12" section="21.12">\r
328                 <schema>\r
329                         <field name="Parent" type="index(TypeDef)"/>\r
330                         <field name="EventList" type="index(Event)"/>\r
331                 </schema>\r
332         </table>\r
333 \r
334 \r
335         <!-- -->\r
336         <table name="EventPtr" id="0x13" temporary="yes">\r
337                 <schema>\r
338                         <field name="Event" type="index(Event)"/>\r
339                 </schema>\r
340         </table>\r
341 \r
342 \r
343         <!-- -->\r
344         <table name="Event" id="0x14" section="21.13">\r
345                 <schema>\r
346                         <field name="EventFlags" type="short" cli-type="System.Reflection.EventAttributes"/><!-- specs: EventAttribute -->\r
347                         <field name="Name" type="index(#Strings)"/>\r
348                         <field name="EventType" type="coded-index(TypeDefOrRef)"/>\r
349                 </schema>\r
350         </table>\r
351 \r
352 \r
353         <!-- -->\r
354         <table name="PropertyMap" id="0x15" section="21.32">\r
355                 <schema>\r
356                         <field name="Parent" type="index(TypeDef)"/>\r
357                         <field name="PropertyList" type="index(Property)"/>\r
358                 </schema>\r
359         </table>\r
360 \r
361 \r
362         <!-- -->\r
363         <table name="PropertyPtr" id="0x16" temporary="yes">\r
364                 <schema>\r
365                         <field name="Property" type="index(Property)"/>\r
366                 </schema>\r
367         </table>\r
368 \r
369 \r
370         <!-- -->\r
371         <table name="Property" id="0x17" section="21.30"><!-- NOTE: previous name was "Properties" -->\r
372                 <schema>\r
373                         <field name="Flags" type="ushort" cli-type="System.Reflection.PropertyAttributes"/>\r
374                         <field name="Name" type="index(#Strings)"/>\r
375                         <field name="Type" type="index(#Blob)"/>\r
376                 </schema>\r
377         </table>\r
378 \r
379 \r
380         <!-- -->\r
381         <table name="MethodSemantics" id="0x18" section="21.26">\r
382                 <schema>\r
383                         <field name="Semantics" type="ushort" cli-type="MethodSemanticsAttributes"/>\r
384                         <field name="Method" type="index(Method)"/>\r
385                         <field name="Association" type="coded-index(HasSemantics)"/>\r
386                 </schema>\r
387         </table>\r
388 \r
389 \r
390         <!-- -->\r
391         <table name="MethodImpl" id="0x19" section="21.25">\r
392                 <schema>\r
393                         <field name="Class" type="index(TypeDef)"/>\r
394                         <field name="MethodBody" type="coded-index(MethodDefOrRef)"/>\r
395                         <field name="MethodDeclaration" type="coded-index(MethodDefOrRef)"/>\r
396                 </schema>\r
397         </table>\r
398 \r
399 \r
400         <!-- -->\r
401         <table name="ModuleRef" id="0x1a" section="21.28">\r
402                 <schema>\r
403                         <field name="Name" type="index(#Strings)"/>\r
404                 </schema>\r
405         </table>\r
406 \r
407 \r
408         <!-- -->\r
409         <table name="TypeSpec" id="0x1b" section="21.36">\r
410                 <schema>\r
411                         <field name="Signature" type="index(#Blob)"/>\r
412                 </schema>\r
413         </table>\r
414 \r
415 \r
416         <!-- -->\r
417         <table name="ImplMap" id="0x1c" section="21.20">\r
418                 <schema>\r
419                         <field name="MappingFlags" type="ushort" cli-type="PInvokeAttributes"/>\r
420                         <field name="MemberForwarded" type="coded-index(MemberForwarded)"/>\r
421                         <field name="ImportName" type="index(#Strings)"/>\r
422                         <field name="ImportScope" type="index(ModuleRef)"/>\r
423                 </schema>\r
424         </table>\r
425 \r
426 \r
427         <!-- -->\r
428         <table name="FieldRVA" id="0x1d" section="21.18">\r
429                 <schema>\r
430                         <field name="RVA" type="RVA"/>\r
431                         <field name="Field" type="index(Field)"/>\r
432                 </schema>\r
433         </table>\r
434 \r
435 \r
436         <!-- -->\r
437         <table name="ENCLog" id="0x1e" temporary="yes">\r
438                 <schema>\r
439                         <field name="Token" type="uint"/>\r
440                         <field name="FuncCode" type="uint"/>\r
441                 </schema>\r
442         </table>\r
443 \r
444 \r
445         <!-- -->\r
446         <table name="ENCMap" id="0x1f" temporary="yes">\r
447                 <schema>\r
448                         <field name="Token" type="uint"/>\r
449                 </schema>\r
450         </table>\r
451 \r
452 \r
453         <!-- -->\r
454         <table name="Assembly" id="0x20" section="21.2">\r
455                 <schema>\r
456                         <field name="HashAlgId" type="int" cli-type="System.Configuration.Assemblies.AssemblyHashAlgorithm"/>\r
457                         <field name="MajorVersion" type="short"/>\r
458                         <field name="MinorVersion" type="short"/>\r
459                         <field name="BuildNumber" type="short"/>\r
460                         <field name="RevisionNumber" type="short"/>\r
461                         <field name="Flags" type="uint" cli-type="AssemblyFlags"/>\r
462                         <field name="PublicKey" type="index(#Blob)"/>\r
463                         <field name="Name" type="index(#Strings)"/>\r
464                         <field name="Culture" type="index(#Strings)"/>\r
465                 </schema>\r
466         </table>\r
467 \r
468 \r
469         <!-- -->\r
470         <table name="AssemblyProcessor" id="0x21" section="21.4">\r
471                 <schema>\r
472                         <field name="Processor" type="int"/>\r
473                 </schema>\r
474         </table>\r
475 \r
476 \r
477         <!-- -->\r
478         <table name="AssemblyOS" id="0x22" section="21.3">\r
479                 <schema>\r
480                         <field name="OSPlatformID" type="int"/>\r
481                         <field name="OSMajorVersion" type="int"/>\r
482                         <field name="OSMinorVersion" type="int"/>\r
483                 </schema>\r
484         </table>\r
485 \r
486 \r
487         <!-- -->\r
488         <table name="AssemblyRef" id="0x23" section="21.5">\r
489                 <schema>\r
490                         <field name="MajorVersion" type="short"/>\r
491                         <field name="MinorVersion" type="short"/>\r
492                         <field name="BuildNumber" type="short"/>\r
493                         <field name="RevisionNumber" type="short"/>\r
494                         <field name="Flags" type="uint" cli-type="AssemblyFlags"/>\r
495                         <field name="PublicKeyOrToken" type="index(#Blob)"/>\r
496                         <field name="Name" type="index(#Strings)"/>\r
497                         <field name="Culture" type="index(#Strings)"/>\r
498                         <field name="HashValue" type="index(#Blob)"/>\r
499                 </schema>\r
500         </table>\r
501 \r
502 \r
503         <!-- -->\r
504         <table name="AssemblyRefProcessor" id="0x24" section="21.7">\r
505                 <schema>\r
506                         <field name="Processor" type="int"/>\r
507                         <field name="AssemblyRef" type="index(AssemblyRef)"/>\r
508                 </schema>\r
509         </table>\r
510 \r
511 \r
512         <!-- -->\r
513         <table name="AssemblyRefOS" id="0x25" section="21.6">\r
514                 <schema>\r
515                         <field name="OSPlatformID" type="int"/>\r
516                         <field name="OSMajorVersion" type="int"/>\r
517                         <field name="OSMinorVersion" type="int"/>\r
518                         <field name="AssemblyRef" type="index(AssemblyRef)"/>\r
519                 </schema>\r
520         </table>\r
521 \r
522 \r
523         <!-- -->\r
524         <table name="File" id="0x26" section="21.19">\r
525                 <schema>\r
526                         <field name="Flags" type="uint" cli-type="System.IO.FileAttributes"/>\r
527                         <field name="Name" type="index(#Strings)"/>\r
528                         <field name="HashValue" type="index(#Blob)"/>\r
529                 </schema>\r
530         </table>\r
531 \r
532 \r
533         <!-- -->\r
534         <table name="ExportedType" id="0x27" section="21.14">\r
535                 <schema>\r
536                         <field name="Flags" type="uint" cli-type="System.Reflection.TypeAttributes"/>\r
537                         <field name="TypeDefId" type="index(TypeDef)"/>\r
538                         <field name="TypeName" type="index(#Strings)"/>\r
539                         <field name="TypeNamespace" type="index(#Strings)"/>\r
540                         <field name="Implementation" type="coded-index(Implementation)"/>\r
541                 </schema>\r
542         </table>\r
543 \r
544 \r
545         <!-- -->\r
546         <table name="ManifestResource" id="0x28" section="21.22">\r
547                 <schema>\r
548                         <field name="Offset" type="int"/>\r
549                         <field name="Flags" type="uint" cli-type="ManifestResourceAttributes"/>\r
550                         <field name="Name" type="index(#Strings)"/>\r
551                         <field name="Implementation" type="coded-index(Implementation)"/>\r
552                 </schema>\r
553         </table>\r
554 \r
555 \r
556         <!-- -->\r
557         <table name="NestedClass" id="0x29" section="21.29">\r
558                 <schema>\r
559                         <field name="NestedClass" type="index(TypeDef)"/>\r
560                         <field name="EnclosingClass" type="index(TypeDef)"/>\r
561                 </schema>\r
562         </table>\r
563 \r
564 \r
565         <!-- -->\r
566         <table name="TypeTyPar" id="0x2a" temporary="yes">\r
567                 <schema>\r
568                         <field name="Number" type="ushort"/>\r
569                         <field name="Class" type="index(TypeDef)"/>\r
570                         <field name="Bound" type="coded-index(TypeDefOrRef)"/>\r
571                         <field name="Name" type="index(#Strings)"/>\r
572                 </schema>\r
573         </table>\r
574 \r
575 \r
576         <!-- -->\r
577         <table name="MethodTyPar" id="0x2b" temporary="yes">\r
578                 <schema>\r
579                         <field name="Number" type="ushort"/>\r
580                         <field name="Method" type="index(Method)"/>\r
581                         <field name="Bound" type="coded-index(TypeDefOrRef)"/>\r
582                         <field name="Name" type="index(#Strings)"/>\r
583                 </schema>\r
584         </table>\r
585 \r
586 \r
587 </tables>\r
588 \r
589 </md-schema>\r