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