1 2004-12-02 Miguel de Icaza <miguel@ximian.com>
3 * ILParser.jay(field_init): Explicit cast to the target type, this
4 is what ilasm does (0xFFFFFFFF) as an int gets translated
6 Added D_STACKRESERVE token.
8 (prop_head, event_head): Allow it to take a compound name (for explicit
9 interface implementations of properties).
11 2004-07-21 Jackson Harper <jackson@ximian.com>
13 * ILParser.jay: Clones ExternTypeRefInsts as well as
14 ExternTypeRefs, wrap this check into a method so things are
17 2004-07-08 Jackson Harper <jackson@ximian.com>
19 * ILParser.jay: Add custom attributes to assemblyrefs.
21 2004-06-26 Jackson Harper <jackson@ximian.com>
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.
27 2004-06-19 Jackson Harper <jackson@ximian.com>
29 * ILParser.jay: Resolve method pointers that are being treated as
32 2004-06-19 Jackson Harper <jackson@ximian.com>
34 * ILParser.jay: Resolve other modules global 'type'.
36 2004-06-14 Jackson Harper <jackson@ximian.com>
38 * ILParser.jay: Add file refs.
40 2004-06-14 Jackson Harper <jackson@ximian.com>
42 * ILParser.jay: Add module refs, allow them to be referenced.
44 2004-06-14 Jackson Harper <jackson@ximian.com>
46 * ILParser.jay: Set module names.
48 2004-05-25 Jackson Harper <jackson@ximian.com>
50 * ILParser.jay: Fix casting for data type constants.
52 2004-05-22 Jackson Harper <jackson@ximian.com>
54 * ILParser.jay: [,] is short form for [...,...] this fixes bug
57 2004-05-22 Jackson Harper <jackson@ximian.com>
59 * ILParser.jay: Handle wchar, it is just an alias for char. This
62 2004-05-05 Jackson Harper <jackson@ximian.com>
64 * ILParser.jay: Handle endian issues when converting numeric
67 2004-04-14 Jackson Harper <jackson@ximian.com>
69 * ILParser.jay: Correct args for version numbers.
71 2004-04-03 Jackson Harper <jackson@ximian.com>
73 * ILParser.jay: Dont use hash alg enum its too restrictive
75 2004-04-02 Jackson Harper <jackson@ximian.com>
77 * ILParser.jay: Set assembly info.
79 2004-04-01 Jackson Harper <jackson@ximian.com>
81 * ILParser.jay: Set a flag in the tokenizer when parsing byte
82 arrays. Otherwise we can't tell WTF they are. Set assemblyref
85 2004-03-28 Jackson Harper <jackson@ximian.com>
87 * ILParser.jay: Fix typo.
89 2004-03-28 Jackson Harper <jackson@ximian.com>
91 * ILParser.jay: Set true and false literals properly. Add instance
94 2004-02-18 Jackson Harper <jackson@ximian.com>
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.
101 2003-12-10 Jackson Harper <jackson@ximian.com>
103 * ILParser.jay: When modifying extern types, clone them and modify
106 2003-12-10 Jackson Harper <jackson@ximian.com>
108 * ILParser.jay: Use the extern table for all extern type
111 2003-12-10 Jackson Harper <jackson@ximian.com>
113 * ILParser.jay: Add COMP_NAME token.
115 2003-12-10 Jackson Harper <jackson@ximian.com>
117 * ILParser.jay: vtable fixups can be int32s
119 2003-11-18 Jackson Harper <jackson@ximian.com>
121 * ILParser.jay: Add zeroinit.
123 2003-11-17 Jackson Harper <jackson@ximian.com>
125 * ILParser.jay: Create strings from byte arrays. Fix parsing of
126 bytes that are passed as INT64.
128 2003-11-16 Jackson Harper <jackson@ximian.com>
130 * ILParser.jay: Handle string instructions that are given byte
131 arrays. This fixes bug #51039.
133 2003-10-28 Jackson Harper <jackson@ximian.com>
135 * ILParser.jay: Use the ExternTable to create external type
136 references. Remove some ultra top secret debugging code.
138 2003-10-17 Jackson Harper <jackson@ximian.com>
140 * ILParser.jay: Set value types, set enums as value types. Use
141 correct var for call conv in method signatures.
143 2003-10-10 Jackson Harper <jackson@ximian.com>
145 * ILParser.jay: Create generic method refs.
147 2003-10-08 Jackson Harper <jackson@ximian.com>
149 * ILParser.jay: Attach generic type parameters to methods.
151 2003-09-27 Jackson Harper <jackson@latitudegeo.com>
153 * ILParser.jay: Set pinvoke info. Allow param attributes in type
156 2003-09-21 Jackson Harper <jackson@latitudegeo.com>
158 * ILParser.jay: Define data
160 2003-09-15 Jackson Harper <jackson@latitudegeo.com>
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'.
165 2003-09-12 Jackson Harper <jackson@latitudegeo.com>
167 * ILParser.jay: Fix typo in field inits. Methods attached to
168 modified types should be type spec method refs.
170 2003-08-19 Jackson Harper <jackson@latitudegeo.com>
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.
176 2003-08-19 Jackson Harper <jackson@latitudegeo.com>
178 * ILParser.jay: Add override methods.
180 2003-08-10 Jackson Harper <jackson@latitudegeo.com>
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.
186 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
188 * ILParser.jay: Use new sentinel type. Create valuetypes.
190 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
192 * ILParser.jay: Make value types and enum types.
194 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
196 * ILParser.jay: Create label references where appropriate instead
199 2003-08-02 Jackson Harper <jackson@latitudegeo.com>
201 * ILParser.jay: Set from label, not to label for filter block handlers
203 2003-07-30 Jackson Harper <jackson@latitudegeo.com>
205 * ILParser.jay: Create branch instructions with explicit offsets
207 2003-07-29 Jackson Harper <jackson@latitudegeo.com>
209 * ILParser.jay: Use new labeling system for handler blocks.
211 2003-07-29 Jackson Harper <jackson@latitudegeo.com>
213 * ILParser.jay: No longer need to supply method references
214 to instructions, they get that when emitting now.
216 2003-07-28 Jackson Harper <jackson@latitudegeo.com>
218 * ILParser.jay: Use TypeRef.Ellipsis instead of null for a
219 placeholder in bound arrays. Do not use AsClassRef anymore.
221 2003-07-21 Jackson Harper <jackson@latitudegeo.com>
223 * ILParser.jay: Set maxstack
225 2003-07-20 Jackson Harper <jackson@latitudegeo.com>
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.
231 2003-07-17 Jackson Harper <jackson@latitudegeo.com>
233 * ILParser.jay: Add generic type refs, and fake generic class refs.
235 2003-07-15 Jackson Harper <jackson@latitudegeo.com>
237 * ILParser.jay: Add generic type constraints and tokens used to
240 2003-07-16 Peter Williams <peter@newton.cx>
242 * .cvsignore: ILParser.cs has been moved.
244 2003-07-14 Jackson Harper <jackson@latitudegeo.com>
246 * ILParser.jay: Seperate generic constraints from generic parameters.
248 2003-06-14 Jackson Harper <jackson@latitudegeo.com>
250 * ILParser.jay: Add set imagebase, subsystem, and corflags.
252 2003-06-14 Jackson Harper <jackson@latitidegeo.com>
254 * ILParser.jay: Implement custom modified types.
256 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
258 * ILParser.jay: Implement properties
260 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
262 * ILParser.jay: Add generic type parameters to types. Implement events.
264 2003-06-04 Jackson Harper <jackson@latitudegeo.com>
266 * ILParser.jay: Assembly and module names may have dashes in them
267 (like gtk-sharp.dll).
269 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
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
276 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
278 * ILParser.jay: Use type instead of params for calli signatures.
280 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
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).
290 2003-05-25 Jackson Harper <jackson@latitudegeo.com>
292 * ILParser.jay: Pass call conv to methoref constructors. Add the
293 ELLIPSIS to type_lists, this is for vararg methods
295 2003-05-23 Jackson Harper <jackson@latitudegeo.com>
297 * ILParser.jay: Remove top secret debugging code.
299 2003-05-23 Jackson Harper <jackson@latitudegeo.com>
301 * ILParser.jay: Implement label form structured exception handling.
303 2003-05-22 Jackson Harper <jackson@latitudegeo.com>
305 * ILParser.jay: Comment out K_IMF and K_NAN these are not used in
308 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
310 * ILParser.jay: Add ldc.r4 to INSTR_R int also fix cast to double.
312 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
314 * ILParser.jay: When converting from int32 to int64 do an exact
315 bit conversion, not a numerical conversion.
317 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
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
326 2003-05-19 Jackson Harper <jackson@latitudegeo.com>
328 * ILParser.jay: Same as below but with float64 ()
330 2003-05-19 Jackson Harper <jackson@latitudegeo.com>
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.
336 2003-05-18 Jackson Harper <jackson@latitudegeo.com>
338 * ILParser.jay: Use new methods for converting types to
339 classrefs. Expand grammar for locals.
342 2003-05-18 Jackson Harper <jackson@latitudegeo.com>
344 * ILParser.jay: Convert cast integers to floats.
346 2003-05-11 Jackson Harper <jackson@latitudegeo.com>
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.
352 2003-05-11 Jackson Harper <jackson@latitudegeo.com>
354 * ILParser.jay: Set size and packing information for types
356 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
358 * ILParser.jay: Add field instructions
360 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
362 * ILParser.jay: Add global method references
364 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
366 * ILParser.jay: Add locals, method references, and method instructions
368 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
370 * ILParser.jay: Add type instructions. NOTE - type_spec is not
371 fully implemented yet, so this has some explosive potential.
373 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
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
379 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
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 :-)
385 2003-05-06 Jackson Harper <jackson@latitudegeo.com>
387 * ILParser.jay: Emit INSTR_I8 instructions as int
388 instructions. Implement label lists, emit switch instruction.
390 2003-05-05 Jackson Harper <jackson@latitudegeo.com>
392 * ILParser.jay: Add labels to methods, add branching instructions.
394 2003-05-04 Jackson Harper <jackson@latitudegeo.com>
396 * ILParser.jay: Use new MiscInstr.ldstr for ldstr, add INSTR_Rs
398 2003-05-04 Jackson Harper <jackson@latitudegeo.com>
400 * ILParser.jay: Set int64's masquerading as int32 to upper and
401 lower bounds if neccasary. NEED TO TEST this behavoir on windows.
403 2003-05-01 Jackson Harper <jackson@latitudegeo.com>
405 * ILParser.jay: Fix a bunch of conversions, implement hexbytes
407 2003-04-30 Jackson Harper <jackson@latitudegeo.com>
409 * ILParser.jay: Implement non marshalled methodheads, method
410 attributes, impl attributes, imit simple int and ldstr instructions.
412 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
414 * ILParser.jay: Define data, fix repeat_opt allways being set.
416 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
418 * ILParser.jay: Add external types to the extern type table.
420 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
422 * ILParser.jay: Use new types and methods to build a tree.
424 2003-04-07 Jackson Harper <jackson@latitudegeo.com>
426 * ILParser.jay: Implement data items
428 2003-04-07 Jackson Harper <jackson@latitudegeo.com>
430 * ILParser.jay: Implement most field features
432 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
434 * ILParser.jay: Set type parameter index
436 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
438 * ILParser.jay: Emit parameterized types
440 2003-04-04 Jackson Harper <jackson@latitudegeo.com>
442 * ILParser.jay: Add parameterized method declarations.
444 2003-04-03 Jackson Harper <jackson@latitudegeo.com>
446 * ILParser.jay: Add parameterized types to classes.
448 2003-04-02 Jackson Harper <jackson@latitudegeo.com>
450 * ILParser.jay: Support most non-obsolete native types.
452 2003-04-02 Jackson Harper <jackson@latitudegeo.com>
454 * ILParser.jay: Proper names for native int and native uint
456 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
458 * ILParser.jay: Add Call conventions, fix primitive spelling.
460 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
462 * ILParser.jay: Add TypedRef primative type.
464 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
466 * ILParser.jay: Support pinned, modreq, and modopt types.
468 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
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
474 2003-03-31 Jackson Harper <jackson@latitudegeo.com>
476 * ILParser.jay: Add bound arrays
478 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
480 * ILParser.jay: Concat slashed names properly
482 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
484 * ILParser.jay: Implement most of type
486 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
488 * ILParser.jay: Add code from old parser to declare and define classes.
490 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
492 * ILParser.jay: New grammar that I haven't made a mess of, this
493 takes all the special cases into account much better.
495 2003-03-19 Jackson Harper <jackson@latitudegeo.com>
497 * ILParser.jay: .hash algorithm can be followed by bytes
499 2003-03-19 Jackson Harper <jackson@latitudegeo.com>
501 * ILParser.jay: Allow assembly refs to have dots in name.
503 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
505 * ILParser.jay: Add object to primative types
507 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
509 * ILParser.jay: Set CallConv for opcodes that have a call conv,
512 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
514 * ILParser.jay: Set CallConvs properly, use type_ref instead of type for
517 2003-03-16 Jackson Harper <jackson@latitudegeo.com>
519 * ILParser.jay: .ctor and .cctor can also be method names.
521 2003-03-16 Jackson Harper <jackson@latitudegeo.com>
523 * ILParser.jay: Use assembly_ref for extern assemblies so names with dashes can be used.
525 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
527 * ILParser.jay: Define local variables
529 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
531 * ILParser.jay: Add param_list definition, use param_list for method refs
533 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
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.
540 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
542 * ILParser.jay: Add external field references
544 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
546 * ILParser.jay: Add fields to the field table, add field references,
547 emit instructions that take a field param
549 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
551 * ILParser.jay: Emit ldstr instruction
553 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
555 * ILParser.jay: Create external method references
557 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
559 * ILParser.jay: Emit instructions that take a method def as a single param
561 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
563 * ILParser.jay: Emit instructions that take a single type as a param
565 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
567 * ILParser.jay: Emit instructions that take a single int32 as a param
569 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
571 * ILParser.jay: Remove unused references
573 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
575 * ILParser.jay: Emit simple instructions
577 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
579 * ILParser.jay: Set MaxStack, clean up some typos
581 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
583 * ILParser.jay: Set entrypoint
585 2003-03-11 Jackson Harper <jackson@latitudegeo.com>
587 * ILParser.jay: Create TypeRefs instead of types, define methods.
589 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
591 * ILParser.jay: Set Call Conventions and Implementation Flags
593 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
595 * ILParser.jay: Add implemented interfaces
597 2003-03-08 Jackson Harper <jackson@latitudegeo.com>
599 * ILParser.jay: Create method attributes
601 2003-03-08 Jackson Harper <jackson@latitudegeo.com>
603 * ILParser.jay: Reference external assemblies.
605 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
607 * ILParser.jay: Implemented class inheritence
609 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
611 * ILParser.jay: Pass null Location when adding class, concat dottedName pieces
613 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
615 * ILParser.jay: Reconfigure to work with new PEAPI emission system
617 2003-02-10 Jackson Harper <jackson@latitudegeo.com>
619 * ILParser.jay: Use arg_list for method signatures, set method parameters
621 2003-02-09 Jackson Harper <jackson@latitudegeo.com>
623 * ILParser.jay: full names can be short names too (for members)
625 2003-02-09 Jackson Harper <jackson@latitudegeo.com>
627 * ILParser.jay: Use full names for calling instructions
629 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
631 * ILParser.jay: Create type names properly
633 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
635 * ILParser.jay: Handle argument lists better
637 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
639 * ILParser.jay: Handle .local and newobj
641 2003-02-06 Jackson Harper <jackson@latitudegeo.com>
643 * ILParser.jay: Allow assembly names to have lots of dashes.
645 2003-02-06 Jackson Harper <jackson@latitudegeo.com>
647 * ILParser.jay: Add dash token, allow assembly refs to have dashes in their names.
649 2003-02-02 Jackson Harper <jackson@latitudegeo.com>
651 * ILParser.jay: Add call instruction, other little fixes and additions