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