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