In ilasm/codegen:
[mono.git] / mcs / ilasm / parser / ChangeLog
1 2005-04-08  Ankit Jain  <radical@corewars.org>
2
3         * ILParser.jay (type): When parsing K_VALUETYPE, mark the typeref
4         as a value type.
5         (field_init): The float32 and float64 constructor argument is
6         the hex representation, not the integer equivalent value.
7
8 2005-03-17  Ankit Jain  <radical@corewars.org>
9
10         * ILParser.jay(method_decl): Add default value for a method param.
11         
12 2004-12-02  Miguel de Icaza  <miguel@ximian.com>
13
14         * ILParser.jay(field_init): Explicit cast to the target type, this
15         is what ilasm does (0xFFFFFFFF) as an int gets translated
16         
17         Added D_STACKRESERVE token.
18
19         (prop_head, event_head): Allow it to take a compound name (for explicit
20         interface implementations of properties).
21
22 2004-07-21  Jackson Harper  <jackson@ximian.com>
23
24         * ILParser.jay: Clones ExternTypeRefInsts as well as
25         ExternTypeRefs, wrap this check into a method so things are
26         somewhat clean.
27         
28 2004-07-08  Jackson Harper  <jackson@ximian.com>
29
30         * ILParser.jay: Add custom attributes to assemblyrefs.
31         
32 2004-06-26  Jackson Harper  <jackson@ximian.com>
33
34         * ILParser.jay: vtable fixups use the int32 or int64 keyword, not
35         actual int values. When adding modules for pinvoke info use the
36         ExternTable so we dont get duplicate modules.
37         
38 2004-06-19  Jackson Harper  <jackson@ximian.com>
39
40         * ILParser.jay: Resolve method pointers that are being treated as
41         typerefs.
42         
43 2004-06-19  Jackson Harper  <jackson@ximian.com>
44
45         * ILParser.jay: Resolve other modules global 'type'.
46         
47 2004-06-14  Jackson Harper  <jackson@ximian.com>
48
49         * ILParser.jay: Add file refs.
50         
51 2004-06-14  Jackson Harper  <jackson@ximian.com>
52
53         * ILParser.jay: Add module refs, allow them to be referenced.
54         
55 2004-06-14  Jackson Harper  <jackson@ximian.com>
56
57         * ILParser.jay: Set module names.
58         
59 2004-05-25  Jackson Harper  <jackson@ximian.com>
60
61         * ILParser.jay: Fix casting for data type constants.
62         
63 2004-05-22  Jackson Harper  <jackson@ximian.com>
64
65         * ILParser.jay: [,] is short form for [...,...] this fixes bug
66         number 58569.
67         
68 2004-05-22  Jackson Harper  <jackson@ximian.com>
69
70         * ILParser.jay: Handle wchar, it is just an alias for char. This
71         fixes bug #58523.
72         
73 2004-05-05  Jackson Harper  <jackson@ximian.com>
74
75         * ILParser.jay: Handle endian issues when converting numeric
76         types.
77         
78 2004-04-14  Jackson Harper  <jackson@ximian.com>
79
80         * ILParser.jay: Correct args for version numbers.
81         
82 2004-04-03  Jackson Harper  <jackson@ximian.com>
83
84         * ILParser.jay: Dont use hash alg enum its too restrictive
85         
86 2004-04-02  Jackson Harper  <jackson@ximian.com>
87
88         * ILParser.jay: Set assembly info.
89         
90 2004-04-01  Jackson Harper  <jackson@ximian.com>
91
92         * ILParser.jay: Set a flag in the tokenizer when parsing byte
93         arrays. Otherwise we can't tell WTF they are. Set assemblyref
94         attributes.
95         
96 2004-03-28  Jackson Harper  <jackson@ximian.com>
97
98         * ILParser.jay: Fix typo.
99         
100 2004-03-28  Jackson Harper  <jackson@ximian.com>
101
102         * ILParser.jay: Set true and false literals properly. Add instance
103         property attribute.
104         
105 2004-02-18  Jackson Harper  <jackson@ximian.com>
106
107         * ILParser.jay: Create ExternTypeRefInsts when a valuetype
108         extern_class is encountered. This way the underlying type is not
109         changed to a value type.
110         
111
112 2003-12-10  Jackson Harper <jackson@ximian.com>
113
114         * ILParser.jay: When modifying extern types, clone them and modify
115         the clone.
116         
117 2003-12-10  Jackson Harper <jackson@ximian.com>
118
119         * ILParser.jay: Use the extern table for all extern type
120         creations.
121         
122 2003-12-10  Jackson Harper <jackson@ximian.com>
123
124         * ILParser.jay: Add COMP_NAME token.
125         
126 2003-12-10  Jackson Harper <jackson@ximian.com>
127
128         * ILParser.jay: vtable fixups can be int32s
129         
130 2003-11-18  Jackson Harper <jackson@ximian.com>
131
132         * ILParser.jay: Add zeroinit.
133         
134 2003-11-17 Jackson Harper <jackson@ximian.com>
135
136         * ILParser.jay: Create strings from byte arrays. Fix parsing of
137         bytes that are passed as INT64.
138         
139 2003-11-16 Jackson Harper <jackson@ximian.com>
140
141         * ILParser.jay: Handle string instructions that are given byte
142         arrays. This fixes bug #51039.
143         
144 2003-10-28 Jackson Harper <jackson@ximian.com>
145
146         * ILParser.jay: Use the ExternTable to create external type
147         references. Remove some ultra top secret debugging code.
148         
149 2003-10-17 Jackson Harper <jackson@ximian.com>
150
151         * ILParser.jay: Set value types, set enums as value types. Use
152         correct var for call conv in method signatures.
153         
154 2003-10-10 Jackson Harper <jackson@ximian.com>
155
156         * ILParser.jay: Create generic method refs.
157         
158 2003-10-08 Jackson Harper <jackson@ximian.com>
159
160         * ILParser.jay: Attach generic type parameters to methods.
161         
162 2003-09-27 Jackson Harper <jackson@latitudegeo.com>
163
164         * ILParser.jay: Set pinvoke info. Allow param attributes in type
165         lists.
166         
167 2003-09-21 Jackson Harper <jackson@latitudegeo.com>
168
169         * ILParser.jay: Define data
170         
171 2003-09-15 Jackson Harper <jackson@latitudegeo.com>
172
173         * ILParser.jay: dashed names aren't legal for file names, if the
174         name has a dash in it it needs to be quoted ie 'gtk-sharp'.
175         
176 2003-09-12 Jackson Harper <jackson@latitudegeo.com>
177
178         * ILParser.jay: Fix typo in field inits. Methods attached to
179         modified types should be type spec method refs.
180         
181 2003-08-19 Jackson Harper <jackson@latitudegeo.com>
182
183         * ILParser.jay: Implement address constants and string
184         constants. Add data definitions to their types, and create data
185         item lists. Also implement long form overrides.
186         
187 2003-08-19 Jackson Harper <jackson@latitudegeo.com>
188
189         * ILParser.jay: Add override methods.
190         
191 2003-08-10 Jackson Harper <jackson@latitudegeo.com>
192
193         * ILParser.jay: Create an empty array list for empty type
194         lists. Start phasing out INT32 because the tokenizer will no
195         longer create this token.
196                 
197 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
198
199         * ILParser.jay: Use new sentinel type. Create valuetypes.
200
201 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
202
203         * ILParser.jay: Make value types and enum types.
204         
205 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
206
207         * ILParser.jay: Create label references where appropriate instead
208         of adding labels.
209         
210 2003-08-02 Jackson Harper <jackson@latitudegeo.com>
211
212         * ILParser.jay: Set from label, not to label for filter block handlers
213         
214 2003-07-30 Jackson Harper <jackson@latitudegeo.com>
215
216         * ILParser.jay: Create branch instructions with explicit offsets
217         
218 2003-07-29 Jackson Harper <jackson@latitudegeo.com>
219
220         * ILParser.jay: Use new labeling system for handler blocks.
221         
222 2003-07-29 Jackson Harper <jackson@latitudegeo.com>
223
224         * ILParser.jay: No longer need to supply method references
225         to instructions, they get that when emitting now.
226         
227 2003-07-28 Jackson Harper <jackson@latitudegeo.com>
228
229         * ILParser.jay: Use TypeRef.Ellipsis instead of null for a 
230         placeholder in bound arrays. Do not use AsClassRef anymore.
231         
232 2003-07-21 Jackson Harper <jackson@latitudegeo.com>
233
234         * ILParser.jay: Set maxstack
235         
236 2003-07-20 Jackson Harper <jackson@latitudegeo.com>
237
238         * ILParser.jay: Do not use the AsClassRef method anymore to attach
239         methods and fields to types. All types can do this now. Create
240         generic type refs and generic type instances. 
241         
242 2003-07-17 Jackson Harper <jackson@latitudegeo.com>
243
244         * ILParser.jay: Add generic type refs, and fake generic class refs.
245                 
246 2003-07-15 Jackson Harper <jackson@latitudegeo.com>
247
248         * ILParser.jay: Add generic type constraints and tokens used to
249         create them
250                 
251 2003-07-16  Peter Williams  <peter@newton.cx>
252
253         * .cvsignore: ILParser.cs has been moved.
254
255 2003-07-14 Jackson Harper <jackson@latitudegeo.com>
256
257         * ILParser.jay: Seperate generic constraints from generic parameters.
258                 
259 2003-06-14 Jackson Harper <jackson@latitudegeo.com>
260
261         * ILParser.jay: Add set imagebase, subsystem, and corflags.
262                 
263 2003-06-14 Jackson Harper <jackson@latitidegeo.com>
264
265         * ILParser.jay: Implement custom modified types.
266                 
267 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
268
269         * ILParser.jay: Implement properties
270                 
271 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
272
273         * ILParser.jay: Add generic type parameters to types. Implement events.
274                 
275 2003-06-04 Jackson Harper <jackson@latitudegeo.com>
276
277         * ILParser.jay: Assembly and module names may have dashes in them
278         (like gtk-sharp.dll).
279                 
280 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
281
282         * ILParser.jay: Set assembly names. When looking up types in the
283         form [assembly]name first check if the assembly is this
284         assembly. Implement scope_blocks, and implement scope block form
285         exception handling.
286                 
287 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
288
289         * ILParser.jay: Use type instead of params for calli signatures.
290                 
291 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
292
293         * ILParser.jay: When looking up types first check to see if this
294         is actually a primitive object type (System.String,
295         System.Object). Add custom attributes to types. Handle the il
296         keyword the exact same way as cil. Add ellipsises to param and sig
297         lists. Add an optional name to typelists, this is just parsed it
298         is not implemented properly. Add custom attributes to
299         methods. Implement custom types (just methodrefs to ctors).
300                 
301 2003-05-25 Jackson Harper <jackson@latitudegeo.com>
302
303         * ILParser.jay: Pass call conv to methoref constructors. Add the
304         ELLIPSIS to type_lists, this is for vararg methods
305                 
306 2003-05-23 Jackson Harper <jackson@latitudegeo.com>
307
308         * ILParser.jay: Remove top secret debugging code.
309                 
310 2003-05-23 Jackson Harper <jackson@latitudegeo.com>
311
312         * ILParser.jay: Implement label form structured exception handling.
313                 
314 2003-05-22 Jackson Harper <jackson@latitudegeo.com>
315
316         * ILParser.jay: Comment out K_IMF and K_NAN these are not used in
317         the grammar.
318                 
319 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
320
321         * ILParser.jay: Add ldc.r4 to INSTR_R int also fix cast to double.
322                 
323 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
324
325         * ILParser.jay: When converting from int32 to int64 do an exact
326         bit conversion, not a numerical conversion.
327                 
328 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
329
330         * ILParser.jay: INT_I8s are not int instructions, currently the
331         only INT_I8 instruction is ldc.i8 so this new code does more
332         checks then needed but is written in anticipation of some new long
333         instructions being found. Implement signature instructions, token
334         instructions, and signatures. Convert INT32s masquerading as
335         INT64s to Int64.
336                 
337 2003-05-19 Jackson Harper <jackson@latitudegeo.com>
338
339         * ILParser.jay: Same as below but with float64 ()
340                 
341 2003-05-19 Jackson Harper <jackson@latitudegeo.com>
342
343         * ILParser.jay: When the float32 (0xFFFFFF) syntax is used the hex
344         value represents the exact byte value of a float NOT an integer
345         value that is converted to a float.
346                 
347 2003-05-18 Jackson Harper <jackson@latitudegeo.com>
348
349         * ILParser.jay: Use new methods for converting types to
350         classrefs. Expand grammar for locals.
351
352                 
353 2003-05-18 Jackson Harper <jackson@latitudegeo.com>
354
355         * ILParser.jay: Convert cast integers to floats.
356                 
357 2003-05-11 Jackson Harper <jackson@latitudegeo.com>
358
359         * ILParser.jay: Add tokens for instructions that take param and
360         local args. Do not create empty lists for sig_args and
361         type_lists. Add param and local instructions.
362                 
363 2003-05-11 Jackson Harper <jackson@latitudegeo.com>
364
365         * ILParser.jay: Set size and packing information for types
366                 
367 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
368
369         * ILParser.jay: Add field instructions
370                 
371 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
372
373         * ILParser.jay: Add global method references
374                 
375 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
376
377         * ILParser.jay: Add locals, method references, and method instructions
378                 
379 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
380
381         * ILParser.jay: Add type instructions. NOTE - type_spec is not
382         fully implemented yet, so this has some explosive potential.
383                 
384 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
385
386         * ILParser.jay: Remove dotted_name, it is not used at all
387         anymore. vtattr only take an int64 param, this fix gets rid of all
388         of the remaining reduce/reduce conflicts
389                 
390 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
391
392         * ILParser.jay: Remove extraneous dotted_name, also make comp_name
393         contain dotted_name logic. Oh how I will miss the 301
394         reduce/reduce conflicts these small changes fixed :-)
395                 
396 2003-05-06 Jackson Harper <jackson@latitudegeo.com>
397
398         * ILParser.jay: Emit INSTR_I8 instructions as int
399         instructions. Implement label lists, emit switch instruction.
400                 
401 2003-05-05 Jackson Harper <jackson@latitudegeo.com>
402
403         * ILParser.jay: Add labels to methods, add branching instructions.
404                 
405 2003-05-04 Jackson Harper <jackson@latitudegeo.com>
406
407         * ILParser.jay: Use new MiscInstr.ldstr for ldstr, add INSTR_Rs
408                 
409 2003-05-04 Jackson Harper <jackson@latitudegeo.com>
410
411         * ILParser.jay: Set int64's masquerading as int32 to upper and
412         lower bounds if neccasary. NEED TO TEST this behavoir on windows.
413                 
414 2003-05-01 Jackson Harper <jackson@latitudegeo.com>
415
416         * ILParser.jay: Fix a bunch of conversions, implement hexbytes
417                 
418 2003-04-30 Jackson Harper <jackson@latitudegeo.com>
419
420         * ILParser.jay: Implement non marshalled methodheads, method
421         attributes, impl attributes, imit simple int and ldstr instructions.
422                 
423 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
424
425         * ILParser.jay: Define data, fix repeat_opt allways being set.
426                 
427 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
428
429         * ILParser.jay: Add external types to the extern type table.
430                 
431 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
432
433         * ILParser.jay: Use new types and methods to build a tree.
434                 
435 2003-04-07 Jackson Harper <jackson@latitudegeo.com>
436
437         * ILParser.jay: Implement data items
438                 
439 2003-04-07 Jackson Harper <jackson@latitudegeo.com>
440
441         * ILParser.jay: Implement most field features
442                 
443 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
444
445         * ILParser.jay: Set type parameter index
446                 
447 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
448
449         * ILParser.jay: Emit parameterized types
450                 
451 2003-04-04 Jackson Harper <jackson@latitudegeo.com>
452
453         * ILParser.jay: Add parameterized method declarations.
454                 
455 2003-04-03 Jackson Harper <jackson@latitudegeo.com>
456
457         * ILParser.jay: Add parameterized types to classes.
458                 
459 2003-04-02 Jackson Harper <jackson@latitudegeo.com>
460
461         * ILParser.jay: Support most non-obsolete native types.
462                 
463 2003-04-02 Jackson Harper <jackson@latitudegeo.com>
464
465         * ILParser.jay: Proper names for native int and native uint
466                 
467 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
468
469         * ILParser.jay: Add Call conventions, fix primitive spelling.
470         
471 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
472
473         * ILParser.jay: Add TypedRef primative type.
474         
475 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
476
477         * ILParser.jay: Support pinned, modreq, and modopt types.
478         
479 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
480
481         * ILParser.jay: Use the CodeGen CompleteClass method when a class
482         is completed instead of setting the current class to null. This
483         does some extra cleanup
484         
485 2003-03-31 Jackson Harper <jackson@latitudegeo.com>
486
487         * ILParser.jay: Add bound arrays
488         
489 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
490
491         * ILParser.jay: Concat slashed names properly
492         
493 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
494
495         * ILParser.jay: Implement most of type
496         
497 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
498
499         * ILParser.jay: Add code from old parser to declare and define classes.
500                 
501 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
502
503         * ILParser.jay: New grammar that I haven't made a mess of, this
504         takes all the special cases into account much better.
505                 
506 2003-03-19 Jackson Harper <jackson@latitudegeo.com>
507
508         * ILParser.jay: .hash algorithm can be followed by bytes
509
510 2003-03-19 Jackson Harper <jackson@latitudegeo.com>
511
512         * ILParser.jay: Allow assembly refs to have dots in name.
513
514 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
515
516         * ILParser.jay: Add object to primative types
517
518 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
519
520         * ILParser.jay: Set CallConv for opcodes that have a call conv, 
521         like call and newobj
522
523 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
524
525         * ILParser.jay: Set CallConvs properly, use type_ref instead of type for
526         method overrides.
527
528 2003-03-16 Jackson Harper <jackson@latitudegeo.com>
529
530         * ILParser.jay: .ctor and .cctor can also be method names.
531
532 2003-03-16 Jackson Harper <jackson@latitudegeo.com>
533
534         * ILParser.jay: Use assembly_ref for extern assemblies so names with dashes can be used.
535
536 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
537
538         * ILParser.jay: Define local variables
539
540 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
541
542         * ILParser.jay: Add param_list definition, use param_list for method refs
543
544 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
545
546         * ILParser.jay: de-bacwardificate values passed to add method, 
547         I was setting the return to the parent before, but the parent 
548         value was being set to the return type value so it all worked 
549         out but was very confusing.
550
551 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
552
553         * ILParser.jay: Add external field references
554
555 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
556
557         * ILParser.jay: Add fields to the field table, add field references,
558         emit instructions that take a field param
559
560 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
561
562         * ILParser.jay: Emit ldstr instruction
563
564 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
565
566         * ILParser.jay: Create external method references
567
568 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
569
570         * ILParser.jay: Emit instructions that take a method def as a single param
571
572 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
573
574         * ILParser.jay: Emit instructions that take a single type as a param
575
576 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
577
578         * ILParser.jay: Emit instructions that take a single int32 as a param
579
580 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
581
582         * ILParser.jay: Remove unused references
583
584 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
585
586         * ILParser.jay: Emit simple instructions
587
588 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
589
590         * ILParser.jay: Set MaxStack, clean up some typos
591
592 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
593
594         * ILParser.jay: Set entrypoint 
595
596 2003-03-11 Jackson Harper <jackson@latitudegeo.com>
597
598         * ILParser.jay: Create TypeRefs instead of types, define methods.
599
600 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
601
602         * ILParser.jay: Set Call Conventions and Implementation Flags
603
604 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
605
606         * ILParser.jay: Add implemented interfaces
607
608 2003-03-08 Jackson Harper <jackson@latitudegeo.com>
609
610         * ILParser.jay: Create method attributes
611
612 2003-03-08 Jackson Harper <jackson@latitudegeo.com>
613
614         * ILParser.jay: Reference external assemblies.
615
616 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
617
618         * ILParser.jay: Implemented class inheritence
619
620 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
621
622         * ILParser.jay: Pass null Location when adding class, concat dottedName pieces
623
624 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
625
626         * ILParser.jay: Reconfigure to work with new PEAPI emission system
627
628 2003-02-10 Jackson Harper <jackson@latitudegeo.com>
629
630         * ILParser.jay: Use arg_list for method signatures, set method parameters
631
632 2003-02-09 Jackson Harper <jackson@latitudegeo.com>
633
634         * ILParser.jay: full names can be short names too (for members)
635
636 2003-02-09 Jackson Harper <jackson@latitudegeo.com>
637
638         * ILParser.jay: Use full names for calling instructions
639
640 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
641
642         * ILParser.jay: Create type names properly
643
644 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
645
646         * ILParser.jay: Handle argument lists better
647
648 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
649
650         * ILParser.jay: Handle .local and newobj
651
652 2003-02-06 Jackson Harper <jackson@latitudegeo.com>
653
654         * ILParser.jay: Allow assembly names to have lots of dashes.
655
656 2003-02-06 Jackson Harper <jackson@latitudegeo.com>
657
658         * ILParser.jay: Add dash token, allow assembly refs to have dashes in their names.
659
660 2003-02-02 Jackson Harper <jackson@latitudegeo.com>
661
662         * ILParser.jay: Add call instruction, other little fixes and additions