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