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