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