1 2005-05-12 Jackson Harper <jackson@ximian.com>
3 * ILParser.jay: Handle lists of data items correctly.
5 2005-05-10 Ankit Jain <ankit@corewars.org>
8 * ILParser.jay (type): Emit TypeRefs instead of TypeSpecs for valuetypes,
9 so don't create ExternTypeRefInst.
12 2005-04-30 Ankit Jain <ankit@corewars.org>
14 * ILParser.jay (event_decl): Add custom attribute.
16 2005-04-27 Ankit Jain <ankit@corewars.org>
18 * ILParser.jay (method_ref): Let owner.GetMethodRef handle the
19 creation of TypeSpecMethodRef.
21 2005-04-26 Ankit Jain <ankit@corewars.org>
23 * ILParser.jay (comp_name): Allow n.a.'b' .
25 2005-04-18 Ankit Jain <ankit@corewars.org>
27 * ILParser.jay (manifestres_head): Read resource file and
28 add ManifestResource with CodeGen.
29 (manres_attr): Set visibility flag of the resource.
31 2005-04-12 Ankit Jain <ankit@corewars.org>
33 * ILParser.jay (class_decl, method_decl, prop_decl,
34 assemblyref_decl | customattr_decl): Use
35 codegen.CurrentCustomAttrTarget for adding custom
37 (field_decl, method_decl, event_head, prop_head):
38 Set codegen.CurrentCustomAttrTarget
40 2005-04-08 Ankit Jain <radical@corewars.org>
42 * ILParser.jay (type): When parsing K_VALUETYPE, mark the typeref
44 (field_init): The float32 and float64 constructor argument is
45 the hex representation, not the integer equivalent value.
47 2005-03-17 Ankit Jain <radical@corewars.org>
49 * ILParser.jay(method_decl): Add default value for a method param.
51 2004-12-02 Miguel de Icaza <miguel@ximian.com>
53 * ILParser.jay(field_init): Explicit cast to the target type, this
54 is what ilasm does (0xFFFFFFFF) as an int gets translated
56 Added D_STACKRESERVE token.
58 (prop_head, event_head): Allow it to take a compound name (for explicit
59 interface implementations of properties).
61 2004-07-21 Jackson Harper <jackson@ximian.com>
63 * ILParser.jay: Clones ExternTypeRefInsts as well as
64 ExternTypeRefs, wrap this check into a method so things are
67 2004-07-08 Jackson Harper <jackson@ximian.com>
69 * ILParser.jay: Add custom attributes to assemblyrefs.
71 2004-06-26 Jackson Harper <jackson@ximian.com>
73 * ILParser.jay: vtable fixups use the int32 or int64 keyword, not
74 actual int values. When adding modules for pinvoke info use the
75 ExternTable so we dont get duplicate modules.
77 2004-06-19 Jackson Harper <jackson@ximian.com>
79 * ILParser.jay: Resolve method pointers that are being treated as
82 2004-06-19 Jackson Harper <jackson@ximian.com>
84 * ILParser.jay: Resolve other modules global 'type'.
86 2004-06-14 Jackson Harper <jackson@ximian.com>
88 * ILParser.jay: Add file refs.
90 2004-06-14 Jackson Harper <jackson@ximian.com>
92 * ILParser.jay: Add module refs, allow them to be referenced.
94 2004-06-14 Jackson Harper <jackson@ximian.com>
96 * ILParser.jay: Set module names.
98 2004-05-25 Jackson Harper <jackson@ximian.com>
100 * ILParser.jay: Fix casting for data type constants.
102 2004-05-22 Jackson Harper <jackson@ximian.com>
104 * ILParser.jay: [,] is short form for [...,...] this fixes bug
107 2004-05-22 Jackson Harper <jackson@ximian.com>
109 * ILParser.jay: Handle wchar, it is just an alias for char. This
112 2004-05-05 Jackson Harper <jackson@ximian.com>
114 * ILParser.jay: Handle endian issues when converting numeric
117 2004-04-14 Jackson Harper <jackson@ximian.com>
119 * ILParser.jay: Correct args for version numbers.
121 2004-04-03 Jackson Harper <jackson@ximian.com>
123 * ILParser.jay: Dont use hash alg enum its too restrictive
125 2004-04-02 Jackson Harper <jackson@ximian.com>
127 * ILParser.jay: Set assembly info.
129 2004-04-01 Jackson Harper <jackson@ximian.com>
131 * ILParser.jay: Set a flag in the tokenizer when parsing byte
132 arrays. Otherwise we can't tell WTF they are. Set assemblyref
135 2004-03-28 Jackson Harper <jackson@ximian.com>
137 * ILParser.jay: Fix typo.
139 2004-03-28 Jackson Harper <jackson@ximian.com>
141 * ILParser.jay: Set true and false literals properly. Add instance
144 2004-02-18 Jackson Harper <jackson@ximian.com>
146 * ILParser.jay: Create ExternTypeRefInsts when a valuetype
147 extern_class is encountered. This way the underlying type is not
148 changed to a value type.
151 2003-12-10 Jackson Harper <jackson@ximian.com>
153 * ILParser.jay: When modifying extern types, clone them and modify
156 2003-12-10 Jackson Harper <jackson@ximian.com>
158 * ILParser.jay: Use the extern table for all extern type
161 2003-12-10 Jackson Harper <jackson@ximian.com>
163 * ILParser.jay: Add COMP_NAME token.
165 2003-12-10 Jackson Harper <jackson@ximian.com>
167 * ILParser.jay: vtable fixups can be int32s
169 2003-11-18 Jackson Harper <jackson@ximian.com>
171 * ILParser.jay: Add zeroinit.
173 2003-11-17 Jackson Harper <jackson@ximian.com>
175 * ILParser.jay: Create strings from byte arrays. Fix parsing of
176 bytes that are passed as INT64.
178 2003-11-16 Jackson Harper <jackson@ximian.com>
180 * ILParser.jay: Handle string instructions that are given byte
181 arrays. This fixes bug #51039.
183 2003-10-28 Jackson Harper <jackson@ximian.com>
185 * ILParser.jay: Use the ExternTable to create external type
186 references. Remove some ultra top secret debugging code.
188 2003-10-17 Jackson Harper <jackson@ximian.com>
190 * ILParser.jay: Set value types, set enums as value types. Use
191 correct var for call conv in method signatures.
193 2003-10-10 Jackson Harper <jackson@ximian.com>
195 * ILParser.jay: Create generic method refs.
197 2003-10-08 Jackson Harper <jackson@ximian.com>
199 * ILParser.jay: Attach generic type parameters to methods.
201 2003-09-27 Jackson Harper <jackson@latitudegeo.com>
203 * ILParser.jay: Set pinvoke info. Allow param attributes in type
206 2003-09-21 Jackson Harper <jackson@latitudegeo.com>
208 * ILParser.jay: Define data
210 2003-09-15 Jackson Harper <jackson@latitudegeo.com>
212 * ILParser.jay: dashed names aren't legal for file names, if the
213 name has a dash in it it needs to be quoted ie 'gtk-sharp'.
215 2003-09-12 Jackson Harper <jackson@latitudegeo.com>
217 * ILParser.jay: Fix typo in field inits. Methods attached to
218 modified types should be type spec method refs.
220 2003-08-19 Jackson Harper <jackson@latitudegeo.com>
222 * ILParser.jay: Implement address constants and string
223 constants. Add data definitions to their types, and create data
224 item lists. Also implement long form overrides.
226 2003-08-19 Jackson Harper <jackson@latitudegeo.com>
228 * ILParser.jay: Add override methods.
230 2003-08-10 Jackson Harper <jackson@latitudegeo.com>
232 * ILParser.jay: Create an empty array list for empty type
233 lists. Start phasing out INT32 because the tokenizer will no
234 longer create this token.
236 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
238 * ILParser.jay: Use new sentinel type. Create valuetypes.
240 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
242 * ILParser.jay: Make value types and enum types.
244 2003-08-03 Jackson Harper <jackson@latitudegeo.com>
246 * ILParser.jay: Create label references where appropriate instead
249 2003-08-02 Jackson Harper <jackson@latitudegeo.com>
251 * ILParser.jay: Set from label, not to label for filter block handlers
253 2003-07-30 Jackson Harper <jackson@latitudegeo.com>
255 * ILParser.jay: Create branch instructions with explicit offsets
257 2003-07-29 Jackson Harper <jackson@latitudegeo.com>
259 * ILParser.jay: Use new labeling system for handler blocks.
261 2003-07-29 Jackson Harper <jackson@latitudegeo.com>
263 * ILParser.jay: No longer need to supply method references
264 to instructions, they get that when emitting now.
266 2003-07-28 Jackson Harper <jackson@latitudegeo.com>
268 * ILParser.jay: Use TypeRef.Ellipsis instead of null for a
269 placeholder in bound arrays. Do not use AsClassRef anymore.
271 2003-07-21 Jackson Harper <jackson@latitudegeo.com>
273 * ILParser.jay: Set maxstack
275 2003-07-20 Jackson Harper <jackson@latitudegeo.com>
277 * ILParser.jay: Do not use the AsClassRef method anymore to attach
278 methods and fields to types. All types can do this now. Create
279 generic type refs and generic type instances.
281 2003-07-17 Jackson Harper <jackson@latitudegeo.com>
283 * ILParser.jay: Add generic type refs, and fake generic class refs.
285 2003-07-15 Jackson Harper <jackson@latitudegeo.com>
287 * ILParser.jay: Add generic type constraints and tokens used to
290 2003-07-16 Peter Williams <peter@newton.cx>
292 * .cvsignore: ILParser.cs has been moved.
294 2003-07-14 Jackson Harper <jackson@latitudegeo.com>
296 * ILParser.jay: Seperate generic constraints from generic parameters.
298 2003-06-14 Jackson Harper <jackson@latitudegeo.com>
300 * ILParser.jay: Add set imagebase, subsystem, and corflags.
302 2003-06-14 Jackson Harper <jackson@latitidegeo.com>
304 * ILParser.jay: Implement custom modified types.
306 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
308 * ILParser.jay: Implement properties
310 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
312 * ILParser.jay: Add generic type parameters to types. Implement events.
314 2003-06-04 Jackson Harper <jackson@latitudegeo.com>
316 * ILParser.jay: Assembly and module names may have dashes in them
317 (like gtk-sharp.dll).
319 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
321 * ILParser.jay: Set assembly names. When looking up types in the
322 form [assembly]name first check if the assembly is this
323 assembly. Implement scope_blocks, and implement scope block form
326 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
328 * ILParser.jay: Use type instead of params for calli signatures.
330 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
332 * ILParser.jay: When looking up types first check to see if this
333 is actually a primitive object type (System.String,
334 System.Object). Add custom attributes to types. Handle the il
335 keyword the exact same way as cil. Add ellipsises to param and sig
336 lists. Add an optional name to typelists, this is just parsed it
337 is not implemented properly. Add custom attributes to
338 methods. Implement custom types (just methodrefs to ctors).
340 2003-05-25 Jackson Harper <jackson@latitudegeo.com>
342 * ILParser.jay: Pass call conv to methoref constructors. Add the
343 ELLIPSIS to type_lists, this is for vararg methods
345 2003-05-23 Jackson Harper <jackson@latitudegeo.com>
347 * ILParser.jay: Remove top secret debugging code.
349 2003-05-23 Jackson Harper <jackson@latitudegeo.com>
351 * ILParser.jay: Implement label form structured exception handling.
353 2003-05-22 Jackson Harper <jackson@latitudegeo.com>
355 * ILParser.jay: Comment out K_IMF and K_NAN these are not used in
358 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
360 * ILParser.jay: Add ldc.r4 to INSTR_R int also fix cast to double.
362 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
364 * ILParser.jay: When converting from int32 to int64 do an exact
365 bit conversion, not a numerical conversion.
367 2003-05-21 Jackson Harper <jackson@latitudegeo.com>
369 * ILParser.jay: INT_I8s are not int instructions, currently the
370 only INT_I8 instruction is ldc.i8 so this new code does more
371 checks then needed but is written in anticipation of some new long
372 instructions being found. Implement signature instructions, token
373 instructions, and signatures. Convert INT32s masquerading as
376 2003-05-19 Jackson Harper <jackson@latitudegeo.com>
378 * ILParser.jay: Same as below but with float64 ()
380 2003-05-19 Jackson Harper <jackson@latitudegeo.com>
382 * ILParser.jay: When the float32 (0xFFFFFF) syntax is used the hex
383 value represents the exact byte value of a float NOT an integer
384 value that is converted to a float.
386 2003-05-18 Jackson Harper <jackson@latitudegeo.com>
388 * ILParser.jay: Use new methods for converting types to
389 classrefs. Expand grammar for locals.
392 2003-05-18 Jackson Harper <jackson@latitudegeo.com>
394 * ILParser.jay: Convert cast integers to floats.
396 2003-05-11 Jackson Harper <jackson@latitudegeo.com>
398 * ILParser.jay: Add tokens for instructions that take param and
399 local args. Do not create empty lists for sig_args and
400 type_lists. Add param and local instructions.
402 2003-05-11 Jackson Harper <jackson@latitudegeo.com>
404 * ILParser.jay: Set size and packing information for types
406 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
408 * ILParser.jay: Add field instructions
410 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
412 * ILParser.jay: Add global method references
414 2003-05-10 Jackson Harper <jackson@latitudegeo.com>
416 * ILParser.jay: Add locals, method references, and method instructions
418 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
420 * ILParser.jay: Add type instructions. NOTE - type_spec is not
421 fully implemented yet, so this has some explosive potential.
423 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
425 * ILParser.jay: Remove dotted_name, it is not used at all
426 anymore. vtattr only take an int64 param, this fix gets rid of all
427 of the remaining reduce/reduce conflicts
429 2003-05-07 Jackson Harper <jackson@latitudegeo.com>
431 * ILParser.jay: Remove extraneous dotted_name, also make comp_name
432 contain dotted_name logic. Oh how I will miss the 301
433 reduce/reduce conflicts these small changes fixed :-)
435 2003-05-06 Jackson Harper <jackson@latitudegeo.com>
437 * ILParser.jay: Emit INSTR_I8 instructions as int
438 instructions. Implement label lists, emit switch instruction.
440 2003-05-05 Jackson Harper <jackson@latitudegeo.com>
442 * ILParser.jay: Add labels to methods, add branching instructions.
444 2003-05-04 Jackson Harper <jackson@latitudegeo.com>
446 * ILParser.jay: Use new MiscInstr.ldstr for ldstr, add INSTR_Rs
448 2003-05-04 Jackson Harper <jackson@latitudegeo.com>
450 * ILParser.jay: Set int64's masquerading as int32 to upper and
451 lower bounds if neccasary. NEED TO TEST this behavoir on windows.
453 2003-05-01 Jackson Harper <jackson@latitudegeo.com>
455 * ILParser.jay: Fix a bunch of conversions, implement hexbytes
457 2003-04-30 Jackson Harper <jackson@latitudegeo.com>
459 * ILParser.jay: Implement non marshalled methodheads, method
460 attributes, impl attributes, imit simple int and ldstr instructions.
462 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
464 * ILParser.jay: Define data, fix repeat_opt allways being set.
466 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
468 * ILParser.jay: Add external types to the extern type table.
470 2003-04-17 Jackson Harper <jackson@latitudegeo.com>
472 * ILParser.jay: Use new types and methods to build a tree.
474 2003-04-07 Jackson Harper <jackson@latitudegeo.com>
476 * ILParser.jay: Implement data items
478 2003-04-07 Jackson Harper <jackson@latitudegeo.com>
480 * ILParser.jay: Implement most field features
482 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
484 * ILParser.jay: Set type parameter index
486 2003-04-05 Jackson Harper <jackson@latitudegeo.com>
488 * ILParser.jay: Emit parameterized types
490 2003-04-04 Jackson Harper <jackson@latitudegeo.com>
492 * ILParser.jay: Add parameterized method declarations.
494 2003-04-03 Jackson Harper <jackson@latitudegeo.com>
496 * ILParser.jay: Add parameterized types to classes.
498 2003-04-02 Jackson Harper <jackson@latitudegeo.com>
500 * ILParser.jay: Support most non-obsolete native types.
502 2003-04-02 Jackson Harper <jackson@latitudegeo.com>
504 * ILParser.jay: Proper names for native int and native uint
506 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
508 * ILParser.jay: Add Call conventions, fix primitive spelling.
510 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
512 * ILParser.jay: Add TypedRef primative type.
514 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
516 * ILParser.jay: Support pinned, modreq, and modopt types.
518 2003-04-01 Jackson Harper <jackson@latitudegeo.com>
520 * ILParser.jay: Use the CodeGen CompleteClass method when a class
521 is completed instead of setting the current class to null. This
522 does some extra cleanup
524 2003-03-31 Jackson Harper <jackson@latitudegeo.com>
526 * ILParser.jay: Add bound arrays
528 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
530 * ILParser.jay: Concat slashed names properly
532 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
534 * ILParser.jay: Implement most of type
536 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
538 * ILParser.jay: Add code from old parser to declare and define classes.
540 2003-03-30 Jackson Harper <jackson@latitudegeo.com>
542 * ILParser.jay: New grammar that I haven't made a mess of, this
543 takes all the special cases into account much better.
545 2003-03-19 Jackson Harper <jackson@latitudegeo.com>
547 * ILParser.jay: .hash algorithm can be followed by bytes
549 2003-03-19 Jackson Harper <jackson@latitudegeo.com>
551 * ILParser.jay: Allow assembly refs to have dots in name.
553 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
555 * ILParser.jay: Add object to primative types
557 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
559 * ILParser.jay: Set CallConv for opcodes that have a call conv,
562 2003-03-17 Jackson Harper <jackson@latitudegeo.com>
564 * ILParser.jay: Set CallConvs properly, use type_ref instead of type for
567 2003-03-16 Jackson Harper <jackson@latitudegeo.com>
569 * ILParser.jay: .ctor and .cctor can also be method names.
571 2003-03-16 Jackson Harper <jackson@latitudegeo.com>
573 * ILParser.jay: Use assembly_ref for extern assemblies so names with dashes can be used.
575 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
577 * ILParser.jay: Define local variables
579 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
581 * ILParser.jay: Add param_list definition, use param_list for method refs
583 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
585 * ILParser.jay: de-bacwardificate values passed to add method,
586 I was setting the return to the parent before, but the parent
587 value was being set to the return type value so it all worked
588 out but was very confusing.
590 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
592 * ILParser.jay: Add external field references
594 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
596 * ILParser.jay: Add fields to the field table, add field references,
597 emit instructions that take a field param
599 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
601 * ILParser.jay: Emit ldstr instruction
603 2003-03-15 Jackson Harper <jackson@latitudegeo.com>
605 * ILParser.jay: Create external method references
607 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
609 * ILParser.jay: Emit instructions that take a method def as a single param
611 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
613 * ILParser.jay: Emit instructions that take a single type as a param
615 2003-03-14 Jackson Harper <jackson@latitudegeo.com>
617 * ILParser.jay: Emit instructions that take a single int32 as a param
619 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
621 * ILParser.jay: Remove unused references
623 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
625 * ILParser.jay: Emit simple instructions
627 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
629 * ILParser.jay: Set MaxStack, clean up some typos
631 2003-03-13 Jackson Harper <jackson@latitudegeo.com>
633 * ILParser.jay: Set entrypoint
635 2003-03-11 Jackson Harper <jackson@latitudegeo.com>
637 * ILParser.jay: Create TypeRefs instead of types, define methods.
639 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
641 * ILParser.jay: Set Call Conventions and Implementation Flags
643 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
645 * ILParser.jay: Add implemented interfaces
647 2003-03-08 Jackson Harper <jackson@latitudegeo.com>
649 * ILParser.jay: Create method attributes
651 2003-03-08 Jackson Harper <jackson@latitudegeo.com>
653 * ILParser.jay: Reference external assemblies.
655 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
657 * ILParser.jay: Implemented class inheritence
659 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
661 * ILParser.jay: Pass null Location when adding class, concat dottedName pieces
663 2003-03-06 Jackson Harper <jackson@latitudegeo.com>
665 * ILParser.jay: Reconfigure to work with new PEAPI emission system
667 2003-02-10 Jackson Harper <jackson@latitudegeo.com>
669 * ILParser.jay: Use arg_list for method signatures, set method parameters
671 2003-02-09 Jackson Harper <jackson@latitudegeo.com>
673 * ILParser.jay: full names can be short names too (for members)
675 2003-02-09 Jackson Harper <jackson@latitudegeo.com>
677 * ILParser.jay: Use full names for calling instructions
679 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
681 * ILParser.jay: Create type names properly
683 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
685 * ILParser.jay: Handle argument lists better
687 2003-02-08 Jackson Harper <jackson@latitudegeo.com>
689 * ILParser.jay: Handle .local and newobj
691 2003-02-06 Jackson Harper <jackson@latitudegeo.com>
693 * ILParser.jay: Allow assembly names to have lots of dashes.
695 2003-02-06 Jackson Harper <jackson@latitudegeo.com>
697 * ILParser.jay: Add dash token, allow assembly refs to have dashes in their names.
699 2003-02-02 Jackson Harper <jackson@latitudegeo.com>
701 * ILParser.jay: Add call instruction, other little fixes and additions