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