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