In corlib/System.Runtime.InteropServices:
[mono.git] / mcs / ilasm / parser / ChangeLog
1 2007-01-10  Ankit Jain  <jankit@novell.com>
2
3         * ILParser.jay (GetTypeRef): Use BaseTypeRef.Clone
4
5 2006-11-09  Ankit Jain  <jankit@novell.com>
6
7         * ILParser.jay (K_RETARGETABLE): New.
8         (asm_attr): Add rule for K_RETARGETABLE.
9         (assembly_head): Handle attributes.
10         (assemblyref_head): Add asm_attr.
11
12 2006-06-07  Ankit Jain  <jankit@novell.com>
13
14         * ILParser.jay : Update to use Report.Warning instead of
15         Console.Error.WriteLine
16
17 2006-06-01  Ankit Jain  <jankit@novell.com>
18
19         * ILParser.jay (instr | INSTR_PARAM ..): Report error if the param is not
20         found.
21
22 2006-06-01  Ankit Jain  <jankit@novell.com>
23
24         * ILParser.jay (method_decl | D_PARAM ..): Param index is zero-based,
25         with zero representing the return value.
26         Update to check CurrentCustomAttrTarget for null before using it.
27
28 2006-05-26  Ankit Jain  <jankit@novell.com>
29         
30         * ILParser.jay: Update to use new Assembly class.
31
32 2006-05-26  Ankit Jain  <jankit@novell.com>
33         
34         Add support or 2.0 style declarative security attributes.
35         * ILParser.jay (primitive_type): New. Extracted from 'type'.
36         (field_init_primitive): New. Extracted from 'field_init', with all
37         primitive types.
38         (sec_decl | ..): New rule for 2.0 style permissions.
39
40         (permissions):
41         (permission):
42         (permission_members):
43         (permission_member):
44         (perm_mbr_nameval_pair):
45         (prop_or_field): New rules for 2.0 style permissions.
46
47         (AddSecDecl): New.
48
49 2006-05-11  Ankit Jain  <jankit@novell.com>
50
51         * ILParser.jay (type |type MODREQ ..): Use CustomModifier.modreq .
52
53 2006-05-10  Ankit Jain  <jankit@novell.com>
54
55         * ILParser.jay (native_type | K_ERROR): Use NativeType.Error for the
56         value.
57         (native_type | K_LPSTRUCT): Likewise for K_LPSTRUCT.
58
59 2006-05-10  Ankit Jain  <jankit@novell.com>
60
61         * ILParser.jay: Add K_PROPERTY.
62
63 2006-02-20  Ankit Jain  <jankit@novell.com>
64
65         * ILParser.jay: Remove D_CONSTRAINT
66
67 2006-02-20  Ankit Jain  <jankit@novell.com>
68
69         * ILParser.jay: Update to use Report.Error instead of directly throwing
70         an exception.
71
72 2006-02-09  Ankit Jain  <jankit@novell.com>
73
74         * ILParser.jay (bound | int32): Handle invalid -ve size.
75
76 2006-02-02  Ankit Jain  <jankit@novell.com>
77
78         * ILParser.jay (bound | int32 ELLIPSIS int32): Throw exception if
79         lower_bound > upper_bound.     
80
81 2006-01-28  Ankit Jain  <jankit@novell.com>
82
83         * ILParser.jay (pinv_attr | ..): Fix typo.
84
85 2006-01-28  Ankit Jain  <jankit@novell.com>
86
87         * ILParser.jay (method_ref): Remove 2 redundant productions.
88         (method_decl | D_OVERRIDE K_METHOD ..): New production for overriding
89         generic methods.
90
91 2006-01-27  Ankit Jain  <jankit@novell.com>
92
93         * ILParser.jay (formal_typars_clause): Allow generics only for NET_2_0 profile.
94         (typars_clause): Likewise.
95
96 2006-01-19  Ankit Jain  <jankit@novell.com>
97
98         * ILParser.jay (decl | customattr_decl): Add custom attributes.
99         (assembly_all | ..): Set CurrentCustomAttrTarget to null.
100
101 2006-01-19  Ankit Jain  <jankit@novell.com>
102
103         * ILParser.jay (K_TYPE): New.
104         (param_type_decl): New. Rule for '.param type ..', for specifying custom attibutes
105         for type parameters.
106         (class_decl | param_type_decl):
107         (method_decl | param_type_decl): New.
108
109 2006-01-16  Ankit Jain  <jankit@novell.com>
110
111         * ILParser.jay (K_BESTFIT):
112         (K_CHARMAPERROR):
113         (K_ON):
114         (K_OFF): New tokens.
115         (pinv_attr | ..): Add rules for the new tokens.
116
117 2006-01-16  Ankit Jain  <jankit@novell.com>
118
119         * ILParser.jay (K_UINT): New token.
120         (type | K_NATIVE K_UINT): New.
121
122 2006-01-15  Ankit Jain  <jankit@novell.com>
123
124         * ILParser.jay (method_decl): Add new "full" syntax specifying overrides.
125
126 2006-01-13  Ankit Jain  <jankit@novell.com>
127
128         * ILParser.jay: Update to use codegen.GetTypeRef instead of creating
129         TypeRefs.
130         Update to use BaseMethodRef.GetGenericMethodRef instead of creating them.
131
132 2006-01-13  Ankit Jain  <jankit@novell.com>
133
134         * ILParser.jay: Update to use CodeGen.GetGlobalMethodRef &
135         CodeGen.GetGlobalFieldRef instead of creating objects.
136
137 2006-01-13  Ankit Jain  <jankit@novell.com>
138
139         * ILParser.jay: Update to use Base* instead of ITypeRef, IClassRef
140         & IGenTypeRef.
141
142 2006-01-10  Ankit Jain  <jankit@novell.com>
143
144         * ILParser.jay (type | BANG ..): Move !* and !!* rules to ..
145         (generic_class_ref): ..this, to allow using VAR/MVARs as class refs.
146         Eg. "extends !0"
147
148 2006-01-09  Ankit Jain  <jankit@novell.com>
149
150         * ILParser.jay (type_spec : class_ref): Remove.
151
152 2006-01-09  Ankit Jain  <jankit@novell.com>
153
154         * ILParser.jay: Update to use GenericParamRef instead of GenericTypeRef.
155
156 2006-01-08  Ankit Jain  <jankit@novell.com>
157
158         * ILParser.jay (constraint_decl): Remove. This syntax is no longer used.
159         (class_decl | constraint_decl): Remove.
160
161 2006-01-07  Ankit Jain  <jankit@novell.com>
162
163         * ILParser.jay: Update to use new GenericParameters class.
164         (generic_class_ref| K_CLASS class_ref typars_clause): New.
165         Update rules to use generic_class_ref instead of 'K_CLASS class_ref..'
166         (constraints_clause): New.
167         (constraints): New. Rules for constraints on generic parameters.
168         (formal_typar_attr): New. Generic param attributes (.ctor, valuetype, class).
169         (formal_typars): Update to use new constraints stuff.
170
171 2006-01-06  Ankit Jain  <jankit@novell.com>
172
173         * ILParser.jay (field_init): Add rules for UINT8/UINT16/etc
174                 
175 2006-01-06  Ankit Jain  <jankit@novell.com>
176
177         * ILParser.jay (sec_decl | D_PERMISSION sec_action comp_qstring): New. Support
178         new (2.0) syntax which uses string(xml) instead of a bytearray for specifying
179         value of the security attribute.
180
181 2006-01-06  Ankit Jain  <jankit@novell.com>
182
183         * ILParser.jay (GetTypeRef): Use new IClassRef.Clone .
184         (extends_clause): Use new IClassRef.GetGenericTypeInst.
185         (impl_clause | K_IMPLEMENTS class_refs): Remove.
186         (impl_clause | impl_class_refs): New.
187         (impl_class_refs): New. Add rules for generic and non-generic interface
188         implementations.
189         (class_ref | slashed_name): Use new codegen.GetTypeRef so that the TypeRef 
190         gets cached.
191         (type | K_CLASS class_ref): Add typars_clause to the rule and handle accordingly.
192         (type | K_VALUETYPE ...): Likewise.
193
194 2005-12-24  Jb Evain  <jbevain@gmail.com>
195
196         * ILParser.jay (prop_attr): Activate instance keyword on properties.
197
198 2005-12-22  Ankit Jain  <jankit@novell.com>
199
200         * ILParser.jay (method_head | ..): Update usage of MethodDef.ctor to pass
201         codegen.CurrentTypeDef also. ResolveGenParams is called by MethodDef internally.
202         (instr | INSTR_FIELD ..): Update usage of MethodDef.ResolveGenParam .
203
204 2005-12-21  Ankit Jain  <jankit@novell.com>
205
206         * ILParser.jay: Update to use new GenericArguments class for 'typars'.
207
208 2005-12-14  Ankit Jain  <jankit@novell.com>
209
210         * ILParser.jay: Add K_UINT8, K_UINT16, K_UINT32 and K_UINT64 tokens.
211         (type): Add rule for the new keywords.
212         (native_type): Likewise.
213         Fix #76978.
214
215 2005-12-13  Ankit Jain  <jankit@novell.com>
216
217         * ILParser.jay (class_head | D_CLASS ..): Use 'comp_name' instead of 'id' to allow
218         dotted names.
219
220 2005-12-09  Ankit Jain  <jankit@novell.com>
221
222         * ILParser.jay (class_decl | D_OVERRIDE ..): Update usage of ITypeRef.GetMethodRef 
223         and MethodDef.CreateSignature .
224         (method_head | D_METHOD ..): Update usage of MethodDef.ctor .
225         Use MethodDef.ResolveGenParams to resolve VARs/MVARs in parameter list.
226         (type | K_CLASS slashed_name ..): Remove redundant rule.
227         (type | BANG id): New. Generic type parameter.
228         (type | BANG BANG id): New. Generic method type parameter.
229         (instr | INSTR_FIELD type ..): Resolve generic param for 'type'.
230         (method_ref | call_conv ..): Set MethodRef's GenParamCount.
231         (method_ref | call_conv type ..): Update usage of TypeSpecMethodRef.ctor and GetMethodRef.
232         (method_ref | call_conv type ..): New. Rule for global generic method refs.
233         (custom_type | call_conv ..): Update usage of GlobalMethodRef.ctor .
234
235 2005-12-05  Ankit Jain  <jankit@novell.com>
236
237         * ILParser.jay (type | BANG int32 .. ): Update to use GenParam instead of
238         PEAPI.MVar and PEAPI.GenericTypeSpec.
239         (method_head | D_METHOD ..): Set callConv to Generic if the method has type
240         parameters.
241         (method_ref | call_conv ...): Likewise.
242
243 2005-09-15  Ankit Jain  <jankit@novell.com>
244
245         * ILParser.jay (ILParser.NameValuePair): New.
246           (ILParser.PermPair): New.
247           (ILParser.CheckSecurityActionValidity): New.
248           (ILParser.ClassRefToObject): New.
249           (ILParser.TypeSpecToPermPair): New.
250           (class_decl | sec_decl): Use the new codegen.AddPermission .
251           (method_decl | sec_decl): Use the new codegen.AddPermission .
252           (sec_decl | D_PERMISSION ..): Use the new TypeSpecToPermPair method.
253           (sec_decl | D_PERMISSIONSET ..): Use PermissionSetAttribute to create PermissionSet
254           which will validate the bytearray.
255           (nameval_pairs): Create ArrayList of NameValuePair.
256           (nameval_pair): Create NameValuePair.
257           (cavalue | class_ref): Use ClassRefToObject.
258           (assembly_decl | sec_decl): Use the new codegen.AddAssemblyPermission .
259
260 2005-09-08  Ankit Jain  <jankit@novell.com>
261
262         * ILParser.jay (decl | D_STACKRESERVE int64): New. Set stack reserve.
263
264 2005-08-29  Ankit Jain  <jankit@novell.com>
265
266         * ILParser.jay : Comment out K_LCID token.
267
268 2005-08-29  Ankit Jain  <jankit@novell.com>
269
270         * ILParser.jay (native_type | K_CUSTOM ..): Instantiate object of CustomMarshaller
271           class.
272         
273 2005-08-23  Ankit Jain  <jankit@novell.com>
274
275         * ILParser (method_ref : call_conv..): Use TypeRef instead of PrimitiveTypeRef
276           if this assembly is mscorlib.
277           (type | ..): Correct names of primitive types.
278
279 2005-08-18  Ankit Jain  <jankit@novell.com>
280
281         * ILParser.jay (instr | INSTR_R bytes_list): Convert bytes_list to single/double
282           and add the corresponding instruction.
283
284 2005-08-18  Ankit Jain  <jankit@novell.com>
285
286         * ILParser.jay: Comment out K_PUBLICKEY keyword, not used in the grammar.
287
288 2005-08-16  Ankit Jain  <jankit@novell.com>
289
290         * ILParser.jay (native_type | K_FIXED K_SYSSTRING ..): Instantiate 
291           object of PEAPI.FixedSysString.
292           (native_type | native_type OPEN_BRACKET ..): Instantiate object of
293           NativeArray with the proper arguments.
294           (native_type | K_METHOD): Use NativeType.FuncPtr.
295           (native_type | K_FIXED K_ARRAY ..): Instantiate object of FixedArray.
296           (native_type | K_SAFEARRAY ..): Instantiate object of SafeArray.
297           (variant_type): Use appropriate values from SafeArrayType enum.
298           (field_decl | D_FIELD ..): Cast repeat_opt to int before casting to uint 
299           as repeat_opt is int32.
300           (field_attr | field_attr K_MARSHAL ..): Add Marshal info for field.
301           Set field attr to HasFieldMarshal.
302           (method_head): Add Marshal info for return type if specified.
303           (sig_arg | param_attr ..): Create ParamDef and add marshal info.
304
305 2005-08-11  Ankit Jain  <jankit@novell.com>
306
307         * ILParser.jay (class_ref | slashed_name): Don't use PrimitiveTypeRef for
308           primitive types if the assembly being compiled is 'mscorlib'.
309           (seh_clause | K_CATCH ..): Report error if exception(class_ref) is a 
310           PrimitiveTypeRef.
311
312 2005-08-08  Ankit Jain  <jankit@novell.com>
313
314         * ILParser.jay (method_decl | D_ENTRYPOINT): Set codegen.HasEntryPoint
315           to true.
316
317 2005-08-05  Ankit Jain  <jankit@novell.com>
318
319         * ILParser.jay (class_decl, method_decl | sec_decl): Use
320           codegen.CurrentDeclSecurityTarget for adding DeclSecurity info.
321           (assembly_decl | sec_decl): Use codegen.AddAssemblyDeclSecurity
322           for adding DeclSecurity info.
323           (sec_decl): Instantiate DeclSecurity object.
324           (sec_action | K_REQUEST, K_DEMAND, .. etc): Use the corresponding
325           value from PEAPI.SecurityAction enum.
326
327 2005-05-12  Jackson Harper  <jackson@ximian.com>
328
329         * ILParser.jay: Handle lists of data items correctly.
330
331 2005-05-10  Ankit Jain  <ankit@corewars.org>
332
333         Fix #74768.
334         * ILParser.jay (type): Emit TypeRefs instead of TypeSpecs for valuetypes,
335         so don't create ExternTypeRefInst.
336         Hack along with Hari.
337
338 2005-04-30  Ankit Jain  <ankit@corewars.org>
339
340         * ILParser.jay (event_decl): Add custom attribute.
341
342 2005-04-27  Ankit Jain  <ankit@corewars.org>
343         
344         * ILParser.jay (method_ref): Let owner.GetMethodRef handle the
345         creation of TypeSpecMethodRef.
346         
347 2005-04-26  Ankit Jain  <ankit@corewars.org>
348
349         * ILParser.jay (comp_name): Allow n.a.'b' . 
350
351 2005-04-18  Ankit Jain  <ankit@corewars.org>
352
353         * ILParser.jay (manifestres_head): Read resource file and 
354         add ManifestResource with CodeGen.
355         (manres_attr): Set visibility flag of the resource.
356         
357 2005-04-12  Ankit Jain  <ankit@corewars.org>
358
359         * ILParser.jay (class_decl, method_decl, prop_decl, 
360         assemblyref_decl | customattr_decl): Use
361         codegen.CurrentCustomAttrTarget for adding custom
362         attributes.
363         (field_decl, method_decl, event_head, prop_head):
364         Set codegen.CurrentCustomAttrTarget     
365
366 2005-04-08  Ankit Jain  <radical@corewars.org>
367
368         * ILParser.jay (type): When parsing K_VALUETYPE, mark the typeref
369         as a value type.
370         (field_init): The float32 and float64 constructor argument is
371         the hex representation, not the integer equivalent value.
372
373 2005-03-17  Ankit Jain  <radical@corewars.org>
374
375         * ILParser.jay(method_decl): Add default value for a method param.
376         
377 2004-12-02  Miguel de Icaza  <miguel@ximian.com>
378
379         * ILParser.jay(field_init): Explicit cast to the target type, this
380         is what ilasm does (0xFFFFFFFF) as an int gets translated
381         
382         Added D_STACKRESERVE token.
383
384         (prop_head, event_head): Allow it to take a compound name (for explicit
385         interface implementations of properties).
386
387 2004-07-21  Jackson Harper  <jackson@ximian.com>
388
389         * ILParser.jay: Clones ExternTypeRefInsts as well as
390         ExternTypeRefs, wrap this check into a method so things are
391         somewhat clean.
392         
393 2004-07-08  Jackson Harper  <jackson@ximian.com>
394
395         * ILParser.jay: Add custom attributes to assemblyrefs.
396         
397 2004-06-26  Jackson Harper  <jackson@ximian.com>
398
399         * ILParser.jay: vtable fixups use the int32 or int64 keyword, not
400         actual int values. When adding modules for pinvoke info use the
401         ExternTable so we dont get duplicate modules.
402         
403 2004-06-19  Jackson Harper  <jackson@ximian.com>
404
405         * ILParser.jay: Resolve method pointers that are being treated as
406         typerefs.
407         
408 2004-06-19  Jackson Harper  <jackson@ximian.com>
409
410         * ILParser.jay: Resolve other modules global 'type'.
411         
412 2004-06-14  Jackson Harper  <jackson@ximian.com>
413
414         * ILParser.jay: Add file refs.
415         
416 2004-06-14  Jackson Harper  <jackson@ximian.com>
417
418         * ILParser.jay: Add module refs, allow them to be referenced.
419         
420 2004-06-14  Jackson Harper  <jackson@ximian.com>
421
422         * ILParser.jay: Set module names.
423         
424 2004-05-25  Jackson Harper  <jackson@ximian.com>
425
426         * ILParser.jay: Fix casting for data type constants.
427         
428 2004-05-22  Jackson Harper  <jackson@ximian.com>
429
430         * ILParser.jay: [,] is short form for [...,...] this fixes bug
431         number 58569.
432         
433 2004-05-22  Jackson Harper  <jackson@ximian.com>
434
435         * ILParser.jay: Handle wchar, it is just an alias for char. This
436         fixes bug #58523.
437         
438 2004-05-05  Jackson Harper  <jackson@ximian.com>
439
440         * ILParser.jay: Handle endian issues when converting numeric
441         types.
442         
443 2004-04-14  Jackson Harper  <jackson@ximian.com>
444
445         * ILParser.jay: Correct args for version numbers.
446         
447 2004-04-03  Jackson Harper  <jackson@ximian.com>
448
449         * ILParser.jay: Dont use hash alg enum its too restrictive
450         
451 2004-04-02  Jackson Harper  <jackson@ximian.com>
452
453         * ILParser.jay: Set assembly info.
454         
455 2004-04-01  Jackson Harper  <jackson@ximian.com>
456
457         * ILParser.jay: Set a flag in the tokenizer when parsing byte
458         arrays. Otherwise we can't tell WTF they are. Set assemblyref
459         attributes.
460         
461 2004-03-28  Jackson Harper  <jackson@ximian.com>
462
463         * ILParser.jay: Fix typo.
464         
465 2004-03-28  Jackson Harper  <jackson@ximian.com>
466
467         * ILParser.jay: Set true and false literals properly. Add instance
468         property attribute.
469         
470 2004-02-18  Jackson Harper  <jackson@ximian.com>
471
472         * ILParser.jay: Create ExternTypeRefInsts when a valuetype
473         extern_class is encountered. This way the underlying type is not
474         changed to a value type.
475         
476
477 2003-12-10  Jackson Harper <jackson@ximian.com>
478
479         * ILParser.jay: When modifying extern types, clone them and modify
480         the clone.
481         
482 2003-12-10  Jackson Harper <jackson@ximian.com>
483
484         * ILParser.jay: Use the extern table for all extern type
485         creations.
486         
487 2003-12-10  Jackson Harper <jackson@ximian.com>
488
489         * ILParser.jay: Add COMP_NAME token.
490         
491 2003-12-10  Jackson Harper <jackson@ximian.com>
492
493         * ILParser.jay: vtable fixups can be int32s
494         
495 2003-11-18  Jackson Harper <jackson@ximian.com>
496
497         * ILParser.jay: Add zeroinit.
498         
499 2003-11-17 Jackson Harper <jackson@ximian.com>
500
501         * ILParser.jay: Create strings from byte arrays. Fix parsing of
502         bytes that are passed as INT64.
503         
504 2003-11-16 Jackson Harper <jackson@ximian.com>
505
506         * ILParser.jay: Handle string instructions that are given byte
507         arrays. This fixes bug #51039.
508         
509 2003-10-28 Jackson Harper <jackson@ximian.com>
510
511         * ILParser.jay: Use the ExternTable to create external type
512         references. Remove some ultra top secret debugging code.
513         
514 2003-10-17 Jackson Harper <jackson@ximian.com>
515
516         * ILParser.jay: Set value types, set enums as value types. Use
517         correct var for call conv in method signatures.
518         
519 2003-10-10 Jackson Harper <jackson@ximian.com>
520
521         * ILParser.jay: Create generic method refs.
522         
523 2003-10-08 Jackson Harper <jackson@ximian.com>
524
525         * ILParser.jay: Attach generic type parameters to methods.
526         
527 2003-09-27 Jackson Harper <jackson@latitudegeo.com>
528
529         * ILParser.jay: Set pinvoke info. Allow param attributes in type
530         lists.
531         
532 2003-09-21 Jackson Harper <jackson@latitudegeo.com>
533
534         * ILParser.jay: Define data
535         
536 2003-09-15 Jackson Harper <jackson@latitudegeo.com>
537
538         * ILParser.jay: dashed names aren't legal for file names, if the
539         name has a dash in it it needs to be quoted ie 'gtk-sharp'.
540         
541 2003-09-12 Jackson Harper <jackson@latitudegeo.com>
542
543         * ILParser.jay: Fix typo in field inits. Methods attached to
544         modified types should be type spec method refs.
545         
546 2003-08-19 Jackson Harper <jackson@latitudegeo.com>
547
548         * ILParser.jay: Implement address constants and string
549         constants. Add data definitions to their types, and create data
550         item lists. Also implement long form overrides.
551         
552 2003-08-19 Jackson Harper <jackson@latitudegeo.com>
553
554         * ILParser.jay: Add override methods.
555         
556 2003-08-10 Jackson Harper <jackson@latitudegeo.com>
557
558         * ILParser.jay: Create an empty array list for empty type
559         lists. Start phasing out INT32 because the tokenizer will no
560         longer create this token.
561                 
562 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
563
564         * ILParser.jay: Use new sentinel type. Create valuetypes.
565
566 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
567
568         * ILParser.jay: Make value types and enum types.
569         
570 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
571
572         * ILParser.jay: Create label references where appropriate instead
573         of adding labels.
574         
575 2003-08-02 Jackson Harper <jackson@latitudegeo.com>
576
577         * ILParser.jay: Set from label, not to label for filter block handlers
578         
579 2003-07-30 Jackson Harper <jackson@latitudegeo.com>
580
581         * ILParser.jay: Create branch instructions with explicit offsets
582         
583 2003-07-29 Jackson Harper <jackson@latitudegeo.com>
584
585         * ILParser.jay: Use new labeling system for handler blocks.
586         
587 2003-07-29 Jackson Harper <jackson@latitudegeo.com>
588
589         * ILParser.jay: No longer need to supply method references
590         to instructions, they get that when emitting now.
591         
592 2003-07-28 Jackson Harper <jackson@latitudegeo.com>
593
594         * ILParser.jay: Use TypeRef.Ellipsis instead of null for a 
595         placeholder in bound arrays. Do not use AsClassRef anymore.
596         
597 2003-07-21 Jackson Harper <jackson@latitudegeo.com>
598
599         * ILParser.jay: Set maxstack
600         
601 2003-07-20 Jackson Harper <jackson@latitudegeo.com>
602
603         * ILParser.jay: Do not use the AsClassRef method anymore to attach
604         methods and fields to types. All types can do this now. Create
605         generic type refs and generic type instances. 
606         
607 2003-07-17 Jackson Harper <jackson@latitudegeo.com>
608
609         * ILParser.jay: Add generic type refs, and fake generic class refs.
610                 
611 2003-07-15 Jackson Harper <jackson@latitudegeo.com>
612
613         * ILParser.jay: Add generic type constraints and tokens used to
614         create them
615                 
616 2003-07-16  Peter Williams  <peter@newton.cx>
617
618         * .cvsignore: ILParser.cs has been moved.
619
620 2003-07-14 Jackson Harper <jackson@latitudegeo.com>
621
622         * ILParser.jay: Seperate generic constraints from generic parameters.
623                 
624 2003-06-14 Jackson Harper <jackson@latitudegeo.com>
625
626         * ILParser.jay: Add set imagebase, subsystem, and corflags.
627                 
628 2003-06-14 Jackson Harper <jackson@latitidegeo.com>
629
630         * ILParser.jay: Implement custom modified types.
631                 
632 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
633
634         * ILParser.jay: Implement properties
635                 
636 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
637
638         * ILParser.jay: Add generic type parameters to types. Implement events.
639                 
640 2003-06-04 Jackson Harper <jackson@latitudegeo.com>
641
642         * ILParser.jay: Assembly and module names may have dashes in them
643         (like gtk-sharp.dll).
644                 
645 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
646
647         * ILParser.jay: Set assembly names. When looking up types in the
648         form [assembly]name first check if the assembly is this
649         assembly. Implement scope_blocks, and implement scope block form
650         exception handling.
651                 
652 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
653
654         * ILParser.jay: Use type instead of params for calli signatures.
655                 
656 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
657
658         * ILParser.jay: When looking up types first check to see if this
659         is actually a primitive object type (System.String,
660         System.Object). Add custom attributes to types. Handle the il
661         keyword the exact same way as cil. Add ellipsises to param and sig
662         lists. Add an optional name to typelists, this is just parsed it
663         is not implemented properly. Add custom attributes to
664         methods. Implement custom types (just methodrefs to ctors).
665                 
666 2003-05-25 Jackson Harper <jackson@latitudegeo.com>
667
668         * ILParser.jay: Pass call conv to methoref constructors. Add the
669         ELLIPSIS to type_lists, this is for vararg methods
670                 
671 2003-05-23 Jackson Harper <jackson@latitudegeo.com>
672
673         * ILParser.jay: Remove top secret debugging code.
674                 
675 2003-05-23 Jackson Harper <jackson@latitudegeo.com>
676
677         * ILParser.jay: Implement label form structured exception handling.
678                 
679 2003-05-22 Jackson Harper <jackson@latitudegeo.com>
680
681         * ILParser.jay: Comment out K_IMF and K_NAN these are not used in
682         the grammar.
683                 
684 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
685
686         * ILParser.jay: Add ldc.r4 to INSTR_R int also fix cast to double.
687                 
688 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
689
690         * ILParser.jay: When converting from int32 to int64 do an exact
691         bit conversion, not a numerical conversion.
692                 
693 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
694
695         * ILParser.jay: INT_I8s are not int instructions, currently the
696         only INT_I8 instruction is ldc.i8 so this new code does more
697         checks then needed but is written in anticipation of some new long
698         instructions being found. Implement signature instructions, token
699         instructions, and signatures. Convert INT32s masquerading as
700         INT64s to Int64.
701                 
702 2003-05-19 Jackson Harper <jackson@latitudegeo.com>
703
704         * ILParser.jay: Same as below but with float64 ()
705                 
706 2003-05-19 Jackson Harper <jackson@latitudegeo.com>
707
708         * ILParser.jay: When the float32 (0xFFFFFF) syntax is used the hex
709         value represents the exact byte value of a float NOT an integer
710         value that is converted to a float.
711                 
712 2003-05-18 Jackson Harper <jackson@latitudegeo.com>
713
714         * ILParser.jay: Use new methods for converting types to
715         classrefs. Expand grammar for locals.
716
717                 
718 2003-05-18 Jackson Harper <jackson@latitudegeo.com>
719
720         * ILParser.jay: Convert cast integers to floats.
721                 
722 2003-05-11 Jackson Harper <jackson@latitudegeo.com>
723
724         * ILParser.jay: Add tokens for instructions that take param and
725         local args. Do not create empty lists for sig_args and
726         type_lists. Add param and local instructions.
727                 
728 2003-05-11 Jackson Harper <jackson@latitudegeo.com>
729
730         * ILParser.jay: Set size and packing information for types
731                 
732 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
733
734         * ILParser.jay: Add field instructions
735                 
736 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
737
738         * ILParser.jay: Add global method references
739                 
740 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
741
742         * ILParser.jay: Add locals, method references, and method instructions
743                 
744 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
745
746         * ILParser.jay: Add type instructions. NOTE - type_spec is not
747         fully implemented yet, so this has some explosive potential.
748                 
749 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
750
751         * ILParser.jay: Remove dotted_name, it is not used at all
752         anymore. vtattr only take an int64 param, this fix gets rid of all
753         of the remaining reduce/reduce conflicts
754                 
755 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
756
757         * ILParser.jay: Remove extraneous dotted_name, also make comp_name
758         contain dotted_name logic. Oh how I will miss the 301
759         reduce/reduce conflicts these small changes fixed :-)
760                 
761 2003-05-06 Jackson Harper <jackson@latitudegeo.com>
762
763         * ILParser.jay: Emit INSTR_I8 instructions as int
764         instructions. Implement label lists, emit switch instruction.
765                 
766 2003-05-05 Jackson Harper <jackson@latitudegeo.com>
767
768         * ILParser.jay: Add labels to methods, add branching instructions.
769                 
770 2003-05-04 Jackson Harper <jackson@latitudegeo.com>
771
772         * ILParser.jay: Use new MiscInstr.ldstr for ldstr, add INSTR_Rs
773                 
774 2003-05-04 Jackson Harper <jackson@latitudegeo.com>
775
776         * ILParser.jay: Set int64's masquerading as int32 to upper and
777         lower bounds if neccasary. NEED TO TEST this behavoir on windows.
778                 
779 2003-05-01 Jackson Harper <jackson@latitudegeo.com>
780
781         * ILParser.jay: Fix a bunch of conversions, implement hexbytes
782                 
783 2003-04-30 Jackson Harper <jackson@latitudegeo.com>
784
785         * ILParser.jay: Implement non marshalled methodheads, method
786         attributes, impl attributes, imit simple int and ldstr instructions.
787                 
788 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
789
790         * ILParser.jay: Define data, fix repeat_opt allways being set.
791                 
792 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
793
794         * ILParser.jay: Add external types to the extern type table.
795                 
796 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
797
798         * ILParser.jay: Use new types and methods to build a tree.
799                 
800 2003-04-07 Jackson Harper <jackson@latitudegeo.com>
801
802         * ILParser.jay: Implement data items
803                 
804 2003-04-07 Jackson Harper <jackson@latitudegeo.com>
805
806         * ILParser.jay: Implement most field features
807                 
808 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
809
810         * ILParser.jay: Set type parameter index
811                 
812 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
813
814         * ILParser.jay: Emit parameterized types
815                 
816 2003-04-04 Jackson Harper <jackson@latitudegeo.com>
817
818         * ILParser.jay: Add parameterized method declarations.
819                 
820 2003-04-03 Jackson Harper <jackson@latitudegeo.com>
821
822         * ILParser.jay: Add parameterized types to classes.
823                 
824 2003-04-02 Jackson Harper <jackson@latitudegeo.com>
825
826         * ILParser.jay: Support most non-obsolete native types.
827                 
828 2003-04-02 Jackson Harper <jackson@latitudegeo.com>
829
830         * ILParser.jay: Proper names for native int and native uint
831                 
832 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
833
834         * ILParser.jay: Add Call conventions, fix primitive spelling.
835         
836 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
837
838         * ILParser.jay: Add TypedRef primative type.
839         
840 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
841
842         * ILParser.jay: Support pinned, modreq, and modopt types.
843         
844 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
845
846         * ILParser.jay: Use the CodeGen CompleteClass method when a class
847         is completed instead of setting the current class to null. This
848         does some extra cleanup
849         
850 2003-03-31 Jackson Harper <jackson@latitudegeo.com>
851
852         * ILParser.jay: Add bound arrays
853         
854 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
855
856         * ILParser.jay: Concat slashed names properly
857         
858 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
859
860         * ILParser.jay: Implement most of type
861         
862 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
863
864         * ILParser.jay: Add code from old parser to declare and define classes.
865                 
866 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
867
868         * ILParser.jay: New grammar that I haven't made a mess of, this
869         takes all the special cases into account much better.
870                 
871 2003-03-19 Jackson Harper <jackson@latitudegeo.com>
872
873         * ILParser.jay: .hash algorithm can be followed by bytes
874
875 2003-03-19 Jackson Harper <jackson@latitudegeo.com>
876
877         * ILParser.jay: Allow assembly refs to have dots in name.
878
879 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
880
881         * ILParser.jay: Add object to primative types
882
883 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
884
885         * ILParser.jay: Set CallConv for opcodes that have a call conv, 
886         like call and newobj
887
888 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
889
890         * ILParser.jay: Set CallConvs properly, use type_ref instead of type for
891         method overrides.
892
893 2003-03-16 Jackson Harper <jackson@latitudegeo.com>
894
895         * ILParser.jay: .ctor and .cctor can also be method names.
896
897 2003-03-16 Jackson Harper <jackson@latitudegeo.com>
898
899         * ILParser.jay: Use assembly_ref for extern assemblies so names with dashes can be used.
900
901 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
902
903         * ILParser.jay: Define local variables
904
905 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
906
907         * ILParser.jay: Add param_list definition, use param_list for method refs
908
909 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
910
911         * ILParser.jay: de-bacwardificate values passed to add method, 
912         I was setting the return to the parent before, but the parent 
913         value was being set to the return type value so it all worked 
914         out but was very confusing.
915
916 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
917
918         * ILParser.jay: Add external field references
919
920 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
921
922         * ILParser.jay: Add fields to the field table, add field references,
923         emit instructions that take a field param
924
925 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
926
927         * ILParser.jay: Emit ldstr instruction
928
929 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
930
931         * ILParser.jay: Create external method references
932
933 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
934
935         * ILParser.jay: Emit instructions that take a method def as a single param
936
937 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
938
939         * ILParser.jay: Emit instructions that take a single type as a param
940
941 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
942
943         * ILParser.jay: Emit instructions that take a single int32 as a param
944
945 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
946
947         * ILParser.jay: Remove unused references
948
949 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
950
951         * ILParser.jay: Emit simple instructions
952
953 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
954
955         * ILParser.jay: Set MaxStack, clean up some typos
956
957 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
958
959         * ILParser.jay: Set entrypoint 
960
961 2003-03-11 Jackson Harper <jackson@latitudegeo.com>
962
963         * ILParser.jay: Create TypeRefs instead of types, define methods.
964
965 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
966
967         * ILParser.jay: Set Call Conventions and Implementation Flags
968
969 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
970
971         * ILParser.jay: Add implemented interfaces
972
973 2003-03-08 Jackson Harper <jackson@latitudegeo.com>
974
975         * ILParser.jay: Create method attributes
976
977 2003-03-08 Jackson Harper <jackson@latitudegeo.com>
978
979         * ILParser.jay: Reference external assemblies.
980
981 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
982
983         * ILParser.jay: Implemented class inheritence
984
985 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
986
987         * ILParser.jay: Pass null Location when adding class, concat dottedName pieces
988
989 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
990
991         * ILParser.jay: Reconfigure to work with new PEAPI emission system
992
993 2003-02-10 Jackson Harper <jackson@latitudegeo.com>
994
995         * ILParser.jay: Use arg_list for method signatures, set method parameters
996
997 2003-02-09 Jackson Harper <jackson@latitudegeo.com>
998
999         * ILParser.jay: full names can be short names too (for members)
1000
1001 2003-02-09 Jackson Harper <jackson@latitudegeo.com>
1002
1003         * ILParser.jay: Use full names for calling instructions
1004
1005 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
1006
1007         * ILParser.jay: Create type names properly
1008
1009 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
1010
1011         * ILParser.jay: Handle argument lists better
1012
1013 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
1014
1015         * ILParser.jay: Handle .local and newobj
1016
1017 2003-02-06 Jackson Harper <jackson@latitudegeo.com>
1018
1019         * ILParser.jay: Allow assembly names to have lots of dashes.
1020
1021 2003-02-06 Jackson Harper <jackson@latitudegeo.com>
1022
1023         * ILParser.jay: Add dash token, allow assembly refs to have dashes in their names.
1024
1025 2003-02-02 Jackson Harper <jackson@latitudegeo.com>
1026
1027         * ILParser.jay: Add call instruction, other little fixes and additions