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