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