1 2005-08-23 Ankit Jain <jankit@novell.com>
4 * get.c (get_ret_type): Use '&' instead of '[out]' for return type.
6 2005-08-23 Ankit Jain <jankit@novell.com>
8 * get.c (get_encoded_user_string_or_bytearray): New. Print a string if possible
9 or else a bytearray from the US heap.
10 (get_encoded_user_string_bytearray): New. Print a bytearray from the US heap.
11 (get_constant): Use get_encoded_user_string_or_bytearray for MONO_TYPE_STRING.
12 * get.h (get_encoded_user_string_or_bytearray): Add the new function.
13 * dis-cil.c (get_encoded_user_string): Move to get.c .
14 (disassemble_cil): Use get_encoded_user_string_or_bytearray instead of
15 get_encoded_user_string.
17 2005-08-20 Ankit Jain <jankit@novell.com>
19 * dis-cil.c (dissasemble_cil): Specify precision to enable
20 roundtripping of floats.
21 * get.c (get_constant): Likewise.
23 2005-08-13 Jb Evain <jbevain@gmail.com>
25 * get.c (get_token): handle the case when
26 the token is a member ref pointing to a method.
28 2005-08-12 Ankit Jain <jankit@novell.com>
30 * get.c (init_key_table): Add "xor" to the table.
32 2005-08-12 Jb Evain <jbevain@gmail.com>
34 * get.c (dis_stringify_method_signature): handle case when a method
35 has parameters but no corresponding Param row.
36 Patch forged with Ankit.
38 2005-08-12 Ankit Jain <jankit@novell.com>
40 * get.c (dis_stringify_variant_type): New. Stringify MonoMarshalVariant.
41 (dis_stringify_marshal_spec): Add new case for MONO_NATIVE_SAFEARRAY.
43 2005-08-11 Ankit Jain <jankit@novell.com>
45 * get.c (element_type_map): Use "typedref" instead of "TypedByRef" for
47 (get_ret_type): Use "typedref" instead of "typedbyref".
48 (get_param): Likewise.
50 Wed Aug 10 17:15:52 CEST 2005 Paolo Molaro <lupus@ximian.com>
52 * dump.c: dump the marshal signature blob on --marshal.
54 2005-08-04 Ankit Jain <jankit@novell.com>
56 * main.c (dis_directive_moduleref): Always escape module ref names.
58 2005-08-03 Ankit Jain <jankit@novell.com>
60 * main.c (call_conv_map): Oops. Add a sentinel entry (-1, NULL).
62 2005-08-03 Ankit Jain <jankit@novell.com>
64 * main.c (call_conv_map): Map call conv value of 0 to "".
66 2005-08-02 Ankit Jain <jankit@novell.com>
68 * main.c (dis_directive_moduleref): Escape module ref names.
70 2005-08-01 Ankit Jain <jankit@novell.com>
72 * get.c (field_flags_map): Use C comments instead of C#.
74 2005-08-01 Ankit Jain <jankit@novell.com>
76 * get.c (dis_stringify_marshal_spec): Include "marshal (..)" as part of the
77 returned string. And fix memory leak.
78 (dis_stringify_method_signature): Fix usage of dis_stringify_marshal_spec
80 * main.c (dis_field_list): Fix usage of dis_stringify_marshal_spec. Cleanup
83 2005-08-01 Ankit Jain <jankit@novell.com>
85 * get.c (dis_stringify_marshal_spec): Make it non-static.
86 * main.c (dis_field_list): Print marshal info for fields.
88 2005-07-29 Ankit Jain <jankit@novell.com>
90 * get.c (get_constant): Fix printing of some constant types and make it consistent.
92 2005-07-28 Ankit Jain <jankit@novell.com>
94 * get.c (dis_stringify_method_signature): Fix handling of marshal info for
95 method params. Also, handle possible gaps in the PARAM table.
97 2005-07-26 Zoltan Varga <vargaz@freemail.hu>
99 * main.c: Fix noinline->noinlining.
101 2005-05-26 Sebastien Pouliot <sebastien@ximian.com>
103 * monodis.vcproj: Project file for monodis.
105 2005-05-06 Zoltan Varga <vargaz@freemail.hu>
107 * main.c: Respect MONO_PATH when loading assemblies.
109 2005-04-23 Ankit Jain <ankit@corewars.org>
111 * get.c : Revert Atsushi's earlier patch. Its already been fixed with r43342.
113 2005-04-22 Atsushi Enomoto <atsushi@ximian.com>
115 * get.c : arraytype[,] should not be wrapped as 'arraytype[]'.
117 2005-04-20 Ankit Jain <ankit@corewars.org>
120 * get.c (get_generic_param, get_method_core, get_methoddef): Dont use
121 dis_stringify_object_with_class directly, use dis_stringify_type instead.
123 2005-04-20 Ankit Jain <ankit@corewars.org>
126 * main.c (dis_field_list): Print default value if field has
127 HAS_DEFAULT flag set.
129 2005-04-12 Ankit Jain <ankit@corewars.org>
132 * main.c (dis_mresource): New. Dump embedded managed resources.
133 (main, usage): Add '--mresources' argument.
135 2005-04-08 Ankit Jain <radical@corewars.org>
138 * main.c (dis_type): Add 'is_nested' and 'forward' arguments. If
139 'is_nested', don't emit .namespace directive even if namespace is
140 set. If 'forward', print only types.
141 (dis_types): Update to allow emitting forward declarations.
142 (disassemble_file): Emit forward declarations if requested.
143 (main, usage): Add '--forward-decls' argument.
144 * get.c (get_typedef): When printing a nested type, don't include
145 the namespace again, even if it is set.
147 2005-04-05 Zoltan Varga <vargaz@freemail.hu>
149 * dump.c dis-cil.c: Apply patches from freebsd ports collection.
151 2005-04-04 Zoltan Varga <vargaz@freemail.hu>
153 * get.c (get_constant): Applied patch from Ankit Jain (radical@gmail.com). Fixes #74367.
155 2005-03-29 Sebastien Pouliot <sebastien@ximian.com>
157 * dis-cil.c, dump.c: Add mono-compiler.h header to allow/ease
158 compilation with non-GCC compilers.
160 2005-03-04 Zoltan Varga <vargaz@freemail.hu>
162 * get.c (dis_stringify_marshal_spec): Fix this after recent runtime
165 2005-03-01 Zoltan Varga <vargaz@freemail.hu>
167 * get.c: Output marshal info for parameters.
169 2005-02-13 Zoltan Varga <vargaz@freemail.hu>
171 * main.c: Output managed resources as well. Fixes #72033.
173 2005-02-01 Raja R Harinath <rharinath@novell.com>
175 * get.c (get_method_core): Use mono_method_signature (mh), not
178 2005-01-30 Zoltan Varga <vargaz@freemail.hu>
180 * get.c dis-cil.c dump.c: Fix 64 bit warnings.
182 2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
185 * dis-cil.c: added isinf() for Solaris, that does not seem to have it.
186 Fixes the build on Solaris.
188 2004-12-13 Miguel de Icaza <miguel@ximian.com>
190 * dis-cil.c, dump.c: Encode special constant +Inf, -Inf and NaN
191 using hex constants instead of letting libc print the values.
193 2004-12-11 Martin Baulig <martin@ximian.com>
195 * get.c (get_typespec): Added `gboolean is_def' argument; removed
196 the special case for MONO_TYPE_VAR/MVAR and pass `is_def' down to
197 dis_stringify_type().
198 (get_escaped_name): Allow `!'.
200 2004-12-11 Martin Baulig <martin@ximian.com>
202 * get.c (get_token): Escape typedefs.
204 2004-12-11 Martin Baulig <martin@ximian.com>
206 * get.c (get_escaped_name): Correctly escape nested classes.
208 2004-12-11 Martin Baulig <martin@ximian.com>
210 * get.c (get_class_name): Renamed to get_escaped_class_name() and
211 return an escaped class name; correctly escape nested classes.
213 2004-12-11 Martin Baulig <martin@ximian.com>
215 * get.c (dis_stringify_type): Added `gboolean is_def' argument; if
216 false, display type parameters as numbers and not as names.
217 (dis_stringify_object_with_class): Added `gboolean is_def' argument.
218 (dis_stringify_array): Likewise.
220 2004-12-10 Martin Baulig <martin@ximian.com>
222 * get.c (init_key_table): Added `type' and `strict'.
223 (get_generic_param): Also escape the type parameter names.
224 Correctly handle multiple constraints.
226 2004-12-10 Martin Baulig <martin@ximian.com>
228 * get.c (get_fieldref_signature): Escape the field type and name
231 2004-12-10 Martin Baulig <martin@ximian.com>
233 Started to add generics support to monodis.
235 * get.c (get_typedef_or_ref): Added `MonoGenericContext *'.
236 (get_field_signature, get_field): Likewise.
237 (get_methodref_signature, get_methodspec): Likewise.
238 (get_token, get_token_type, get_typespec): Likewise.
239 (get_method, get_method_type_param): Likewise.
240 (get_method_override, dis_stringify_method_signature): Likewise.
241 (get_type, get_ret_type, get_param): Likewise.
243 * dis-cil.c (disasemble_cil): Added `MonoGenericContext *'.
245 2004-12-09 Martin Baulig <martin@ximian.com>
247 * get.c (get_generic_param): Take a `MonoGenericContainer *' and
248 use it to print things instead of manually parsing the metadata.
250 * main.c (dis_generic_param_and_constraints): Removed, use
251 get_generic_param() instead.
252 (dis_method_list): Added `MonoGenericContext *' argument.
254 Mon Dec 6 13:31:48 CET 2004 Paolo Molaro <lupus@ximian.com>
256 * main.c: add a --filter=filename option to load a file
257 with a list of types, fields, methods to disassemble.
259 2004-12-02 Miguel de Icaza <miguel@ximian.com>
261 * main.c: Rename compilercontrolled to privatescope
263 * get.c (get_class_name): Correct implementation that correctly
264 handles nested classes.
266 2004-11-26 Miguel de Icaza <miguel@ximian.com>
268 * main.c: Better implementation of the quote keyword, list all of
269 the known keywords to ildasm here.
271 * get.c (dis_stringify_object_with_class): Take an argument
272 `prefix' that controls whether the `class', `valuetype' labels are
273 used. This is needed for the catch clause that takes the type
275 (get_method_core): Rename get_method to get_method_core, and allow
276 for only part of the signature to be specified, so we can produce
277 .override signatures correctly.
278 (get_method_override): Pass false as the `fullsig' argument.
280 (get_typedef): no longer quote the type, we quote in the call site
281 elsewhere. Avoids double quotes.
283 * main.c (quote_keyword): Quote keywords.
285 Tue Nov 9 17:29:28 CET 2004 Paolo Molaro <lupus@ximian.com>
287 * dis-cil.c, get.c, get.h: update to exception clause structure changes.
289 2004-11-08 Ben Maurer <bmaurer@ximian.com>
291 * get.c, dump.c: warning free.
293 2004-10-21 Jackson Harper <jackson@ximian.com>
295 * get.c: Escape typedef names.
297 2004-10-19 <vargaz@freemail.hu>
299 * main.c: Applied patch from Alexandre Rocha Lima e Marcondes (alexandremarcondes@psl-pr.softwarelivre.org). Really fix 2.95 build.
301 2004-10-04 Sebastien Pouliot <sebastien@ximian.com>
303 * dump.c: Added new "internal" security actions for non-CAS demands:
304 NonCasDemand, NonCasLinkDemand and NonCasInheritance.
305 * main.c: Added new "internal" security actions for non-CAS demands:
306 noncasdemand, noncaslinkdemand and noncasinheritance.
308 2004-09-24 Zoltan Varga <vargaz@freemail.hu>
310 * main.c: Add support for pinvoke flags BestFit and
311 ThrowOnUnmappableChar.
313 2004-09-23 Miguel de Icaza <miguel@ximian.com>
315 * main.c (dis_directive_assemblyref): Dump the locale and public
318 * get.c (dis_stringify_object_with_class): Escape assembly name.
320 * main.c (dis_directive_assemblyref): Escape assembly name
322 2004-09-21 Martin Baulig <martin@ximian.com>
324 * main.c (main): If just a single assembly was specified, use the
325 runtime version it requires.
327 2004-09-16 Sebastien Pouliot <sebastien@ximian.com>
329 * dump.c: Added new security actions added in 2.0: LinkDemandChoice,
330 InheritanceDemandChoice and DemandChoice.
331 * main.c: Added ".permissionset" to output IL. Removed "hassecurity"
332 as MS ilasm can't compile it.
334 2004-09-16 Zoltan Varga <vargaz@freemail.hu>
336 * get.c (get_token): Add support for memberrefs.
338 2004-09-06 Zoltan Varga <vargaz@freemail.hu>
340 * main.c: Fix build && warnings.
342 2004-09-05 Jambunathan K <kjambunathan@novell.com>
343 * main.c (dump_cattrs_list): Newly carved out of dump_cattrs.
345 Renamed cattrs_for_method() to more meaningful
346 dump_cattrs_for_method_params()
348 (dump_cattrs_for_method_params): Fixed so that ".param[]" gets
349 dumped only when necessary. i.e., when a method parameter has
350 either a default value and/or when it has a custom attribute.
352 2004-09-06 Zoltan Varga <vargaz@freemail.hu>
354 * get.c: Fix printing of unmanaged calling conventions.
355 (get_constant): Fix warning.
357 2004-08-28 Jambunathan K <kjambunathan@novell.com>
358 * main.c: modified cattrs_for_method so that
359 emitting of ".param[] = ..." is complete.
361 * get.c: Modified get_constant() so that
362 1. MONO_TYPE_CHAR now handles unicode characters
363 2. MONO_TYPE_I8 now emits int64(...)
364 3. MONO_TYPE_STRING emits a bytearray()
366 2004-08-18 Jambunathan K <kjambunathan@novell.com>
367 * get.c: Changed dis_stringify_param to emit [opt] for parameters
368 that are marked as Optional.
370 * dump.c: Fixed dump_table_constant so that the parent field's
371 description is correctly displayed.
373 2004-08-08 Zoltan Varga <vargaz@freemail.hu>
375 * get.c (get_typespec): Append '*' to pointer types. Fixes #62331.
377 2004-08-03 Martin Baulig <martin@ximian.com>
379 * dump.c (method_dor_to_token): Moved to get.c and made public.
381 * get.c (get_method_override): New public function.
383 * main.c (dis_code): Added `.override' for override methods.
385 2004-08-02 Martin Baulig <martin@ximian.com>
387 * get.c (dis_stringify_object_with_class): Include our generic
388 arguments in the method's class name.
390 * main.c (dis_generic_param_and_constraints): Use the new
393 2004-08-02 Martin Baulig <martin@ximian.com>
395 * dump.c (dump_stream_blob): Format this nicely.
396 (dump_table_standalonesig): New public function.
398 * main.c (dis_locals): If --show-tokens was requested, print the
399 standalone signature token.
400 (table_list): Added "--standalonesig".
402 2004-07-09 Jackson Harper <jackson@ximian.com>
404 * get.c: Make "class" the default so only valuetypes get the
405 "valuetype" modifier. Otherwise object, string, int,... will get
408 2004-07-08 Jackson Harper <jackson@ximian.com>
410 * main.c: Spaces after visibility types.
412 2004-07-06 Jackson Harper <jackson@ximian.com>
414 * get.c: Add float cast for outputing floats. Patch by Steve Brown.
416 2004-06-25 Jackson Harper <jackson@ximian.com>
418 * get.c: Add a few more keywords to be escaped.
419 * main.c: MS's ildasm writes '// end of class' not '// end of
420 type'. The python.net tool searches for this string.
422 2004-06-24 David Waite <mass@akuma.org>
424 * dump.c: change to C90-style comments from C99/C++-style
426 2004-06-23 Raja R Harinath <rharinath@novell.com>
428 * main.c (dis_event_signature): Decode and print event_flags.
430 2004-06-20 Jackson Harper <jackson@ximian.com>
432 * dis-cil.c: Handle switch statements with no labels.
434 2004-06-19 Jackson Harper <jackson@ximian.com>
436 * dump.c/h: New function to dump the contents of the blob
437 stream. I found it useful for debugging so I will share.
438 * main.c: Add --blob switch to dump the blob stream.
439 * monodis.1: Document --blob
441 2004-06-19 Jackson Harper <jackson@ximian.com>
443 * get.c/h: New function to stringify function pointers.
445 2004-06-19 Jackson Harper <jackson@ximian.com>
447 * get.c: Fix name escaping so we dont escape everything in the
450 2004-06-11 Martin Baulig <martin@ximian.com>
452 * get.c (get_methodref_signature): Include "vararg " in the
453 signature of a varargs method.
455 2004-06-11 Martin Baulig <martin@ximian.com>
457 * get.c (get_methodref_signature): If we're a varargs method,
458 print "..." for the sentinel followed by the actual types.
460 2004-06-08 Martin Baulig <martin@ximian.com>
462 * dump.c (dump_table_memberref): Added support for MethodDef
465 2004-05-06 Bernie Solomon <bernard@ugsolutions.com>
471 * util.h: rename map_t dis_map_t to avoid AIX symbol clash
473 2004-04-01 Martin Baulig <martin@ximian.com>
475 * dump.c (dump_table_memberref): Added support for TypeDef's.
477 2004-03-29 Jackson Harper <jackson@ximian.com>
479 * main.c: Handle pinvoke info where there is not an impl_map
482 2004-03-27 Vladimir Vukicevic <vladimir@pobox.com>
484 * get.c (get_constant): output bool consts as bool(true) or
485 bool(false) (to be same as ildasm, also what mono and ms
488 2004-01-31 Martin Baulig <martin@ximian.com>
490 * get.c (get_methodspec): It's a methoddef or ref token.
492 2004-01-26 Martin Baulig <martin@ximian.com>
494 * main.cs (--show-tokens): New command line argument to show
495 type tokens in the disassembly.
497 * get.c (get_typedef, get_typespec, get_typeref): If
498 `show_tokens', include the token in the type name.
499 (get_type): Do some type parsing here and include the token in the
500 returned type name if requested.
501 (get_method): Include tokens if requested.
503 2004-01-17 Zoltan Varga <vargaz@freemail.hu>
505 * main.c get.c: Add support for dumping the custom attributes of
508 2004-01-09 Jackson Harper <jackson@ximian.com>
510 * monodis.1: Add --show-method-tokens switch
511 * get.c: When stringifying methods show the method token if the
512 show-method-tokens flag is set.
513 * get.h: Add show_method_tokens flag
514 * main.c: Add --show-method-tokens switch
516 2004-01-09 Jackson Harper <jackson@ximian.com>
518 * monodis.1: Add typespec switch
520 2004-01-08 Jackson Harper <jackson@ximian.com>
522 * main.c: Add switch to dump typespec table.
523 * dump.c/dump.h: Add function for dumping typespec table.
525 2003-12-19 Zoltan Varga <vargaz@freemail.hu>
527 * dump.c (dump_table_exported): Fix output.
529 2003-12-08 Jackson Harper <jackson@ximian.com>
531 * main.cs: escape module names.
533 2003-12-03 Zoltan Varga <vargaz@freemail.hu>
535 * main.c (dis_field_list): Update after changes to
536 mono_metadata_get_constant_index ().
538 2003-11-26 Zoltan Varga <vargaz@freemail.hu>
540 * dump.c dump.h main.c: Added support for dumping the ImplMap table
543 * main.c (dis_method_list): Avoid disassembling native code.
545 2003-11-19 Zoltan Varga <vargaz@freemail.hu>
547 * get.c (dis_stringify_modifiers): Fix display of modreq and modopt.
549 Thu Nov 13 16:12:09 CET 2003 Paolo Molaro <lupus@ximian.com>
551 * util.h, dump.c: get rid of ugly CSIZE macro.
553 2003-11-01 Zoltan Varga <vargaz@freemail.hu>
555 * main.c: Add disassembly of module, moduleref and file tables.
557 * get.h get.c: Add support for modulerefs.
559 * dump.c: Avoid crash on empty assembly table.
561 2003-10-22 Jackson Harper <jackson@ximian.com>
563 * main.c: Use escaped names for method, and type names. Initialize
565 * main.c (visibility_map): Fix typo, should be nested family not
567 * main.c (dis_data): Use uppercase hex to avoid name conflicts.
568 * get.c/get.h: New method to get an escaped name. This method will
569 take a name and escape it if it is an ilasm keyword, or uses a non
570 id char. Use escaped names for type, method, field, and parameter names.
571 * get.c (get_typespec): A typespec can be used for anything, so we
572 need to handle all types not just modified types.
573 * get.c (dis_stringify_object_with_class): Handle nested classes
574 * get.c (get_token): Add field keyword to field tokens.
576 2003-10-21 Jackson Harper <jackson@ximian.com>
578 * get.c (get_fieldref_signature): Use MONO_MEMBERREF_SIGNATURE in
579 the member ref table.
581 2003-10-21 Martin Baulig <martin@ximian.com>
583 * get.c (get_typespec): Add MONO_TYPE_VAR and MONO_TYPE_MVAR.
585 2003-10-18 Jackson Harper <jackson@ximian.com>
587 * dis-cil.c (get_encoded_user_string): use g_strescape instead of
589 * util.c (hex_dump): Use uppercase hex so there are no conflicts
590 with ilasm keywords ie cf
592 2003-10-17 Jackson Harper <jackson@ximian.com>
594 * dis-cil.c (get_encoded_user_string): Escape user strings when
595 loading. ie ""quote"" should be "\"quote\"".
596 * dis-cil.c (dissasemble_cil): Write SEH debug info into a comment
597 block. Combine SEH blocks that have the same offset and length,
598 this prevents creating invalid SEH blocks.
600 2003-10-15 Zoltan Varga <vargaz@freemail.hu>
602 * get.c (get_ret_type): Remove needless warning message.
604 2003-10-13 Jackson Harper <jackson@ximian.com>
606 * get.c: stringify nested types properly ie Outer/Inner.
608 2003-10-10 Jackson Harper <jackson@ximian.com>
610 * dump.c: When dumping methodspecs dump the full methodspec with
611 signature, and dump the signature.
613 2003-10-10 Jackson Harper <jackson@ximian.com>
615 * get.c/get.h: Add methods to get stringified methodspecs and
616 method type parameters.
618 2003-10-09 Jackson Harper <jackson@ximian.com>
620 * main.c/get.c: Remove magic numbers, use constants.
622 2003-10-08 Jackson Harper <jackson@ximian.com>
624 * main.c (dis_genericparam): renamed to
625 dis_generic_param_and_constraints, allow a table type to be passed
626 to the method so this could be used with generic methods (It is
628 * get.c/get.h (get_generic_param): method to stringify generic
629 type and method parameters.
630 * get.c (dis_stringify_method_signature): Add generic parameters.
632 2003-10-08 Jackson Harper <jackson@ximian.com>
634 * main.c (dis_type): NULL cnst_block so we dont explode on
636 * main.c (dis_genericparam): oops, fix off-by-one error.
638 2003-10-08 Jackson Harper <jackson@ximian.com>
640 * get.c/get.h add method to get a methoddef from an index, simplify
641 get_typd_or_methdef, use new get_methoddef to get the method
642 because we have a method index not a method token.
644 2003-10-07 Jackson Harper <jackson@ximian.com>
646 * main.c: When dis. generic parameters the TypeOrMethodDef token
647 only needs to be shifted 1 bit. Added dis of generic constraints.
648 * get.c/get.h: New method for getting a TypeOrMethodDef token
649 * dump.c: When dumping generic parameters and generic constraints
650 output readable names instead of just tokens.
652 2003-10-01 Jackson Harper <jackson@latitudegeo.com>
654 * main.c: Fix visibility level names, when outputing pinvoke info
655 quote the module and method names, properties have specialname,
656 and rtspecialname flags (nothing else), dis global methods and
657 fields FIXME: indentation issues.
658 * get.h: declare get_fieldref_signature
659 * get.c: Fix unsigned ints (not uint), single quote argument names
660 (this is kinda a hack, ildasm will only single quote arg names
661 that are ilasm keywords), remove fixme, we know what typedbyref
662 means, output fieldref signatures instead of their token value.
664 2003-09-19 Jackson Harper <jackson@latitudegeo.com>
666 * dis-cil.c: Output fault blocks, and filter blocks. If in a
667 filter block outptut 0xDC as endfilter if in a fault output as
670 2003-08-22 Zoltan Varga <vargaz@freemail.hu>
672 * main.c (dis_event_list): Same for event methods.
674 * get.c (dis_stringify_method_signature): New argument specifying
675 whenever to return a fully qualified method name.
676 * dump.c main.c: Updated to work with the new function.
678 * main.c (dis_property_methods): Print fully qualified method names
679 for property methods. Fixes #46221.
681 2003-07-22 Jackson Harper <jackson@latitudegeo.com>
683 * main.c: Dissasemble generic type parameters for type
684 definitions. TODO: Sort type parameters by index, and
685 auto-generate names for parameters that have no name.
687 Fri Jul 18 13:12:38 CEST 2003 Paolo Molaro <lupus@ximian.com>
689 * get.c: updates for array type representation changes.
691 2003-06-16 Jackson Harper <jackson@latitudegeo.com>
693 * get.c: Fix modopt and modreq
695 Thu May 29 12:21:47 CEST 2003 Paolo Molaro <lupus@ximian.com>
697 * dump.c, get.c: misc fixes.
699 Wed May 7 16:50:00 CEST 2003 Paolo Molaro <lupus@ximian.com>
701 * main.c: output custom attributes for method parameters.
703 Wed May 7 16:24:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
705 * main.c: output nested types inside their nesting class.
707 2003-04-12 Zoltan Varga <vargaz@freemail.hu>
709 * get.c (dis_stringify_modifiers): Print a space between custom modifers.
710 * get.c (get_custom_mod): Handle multiple custom modifiers aka bug #30812.
711 * main.c: Print klass name at the end of each method to make it easier
712 to find a given method.
714 2003-03-31 Miguel de Icaza <miguel@ximian.com>
716 * main.c: Sorted command line options table by name.
718 * dump.c: Add support for dumping the new generic tables.
720 * monodis.1: Update man page.
722 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
724 * main.c: Ouput implements clause as a comma seperated list.
726 Thu Feb 6 02:43:23 PST 2003 Piers Haken <piersh@friskit.com>
728 * dump.c: more warning cleanups
730 Mon Jan 27 17:16:50 CET 2003 Paolo Molaro <lupus@ximian.com>
732 * get.c: decode also the size info in get_marshal_info()
733 for ByValStr and ByValArray.
735 Tue Sep 24 11:48:53 CEST 2002 Paolo Molaro <lupus@ximian.com>
737 * main.c: use mono_type_size () to get the size of
738 a blob of data for a type (Zoltan Varga spotted the bug).
740 2002-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
742 * get.c: closes bug #30814. Thanks to Zoltan Varga.
744 Mon Sep 16 18:49:55 CEST 2002 Paolo Molaro <lupus@ximian.com>
746 * main.c, get.c, dump.c: updates for changes in libmetadata.
748 Fri Sep 13 15:39:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
750 * main.c: dump public key.
751 * get.c, util.h, util.c: prettyfy data dumps.
753 2002-08-28 Dick Porter <dick@ximian.com>
755 * Makefile.am: Export HOST_CC for w32 builds
757 Tue Aug 6 12:40:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
759 * main.c: use mono_image_get_entry_point ().
761 Fri Jul 26 11:41:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
763 * main.c, dump.h, dump.c: output hash value in File table.
764 Add dumper function for DeclSecurity table.
766 Fri Jul 19 14:20:10 CEST 2002 Paolo Molaro <lupus@ximian.com>
768 * main.c: handle null parent.
770 2002-07-02 Martin Baulig <martin@gnome.org>
772 * get.c (dis_stringify_object_with_class): New static function to
773 stringify an object when we already have its class.
774 (dis_stringify_object): Get the class and call dis_stringify_object().
775 (get_method): Call dis_stringify_object_with_class() since we already
776 have the object's class.
778 Thu Jun 20 11:50:38 CEST 2002 Paolo Molaro <lupus@ximian.com>
780 * main.c, dump.c, dump.h: code to dump the MethodImpl table.
782 Mon Jun 17 17:31:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
784 * get.h, get.c: get_marshal_info() to get a marshal descriptor.
785 * main.c, dump.h, dump.c: added code to dump the FieldMarshl table.
787 Tue Jun 11 14:11:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
789 * get.c: handle modulerefs.
790 * main.c: fix --mscorlib argument handling.
792 Fri Jun 7 19:39:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
794 * get.c: handle typerefs of nested types. Don't print "."
795 with an empty namespace.
797 Sat Jun 1 13:57:17 CEST 2002 Paolo Molaro <lupus@ximian.com>
799 * main.c: print byte values correctly.
801 2002-05-20 Martin Baulig <martin@gnome.org>
803 * main.c: Added `--output=FILENAME' command line option.
805 * monodis.1: Documented it here.
807 Thu May 16 17:21:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
809 * main.c, dump,c, get.h, get.c: diassemble custom attributes.
811 Wed May 15 16:02:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
813 * main.c: output field RVA data.
815 Fri May 10 21:00:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
817 * main.c: print field offset info if needed.
819 Wed May 1 17:07:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
821 * dump.c, dump.h, main.c: dump ExportedTypes table.
822 * get.c: fix get_module (), remove magic numbers.
823 * monodis.1: update manpage (hi miguel!:)
825 Mon Apr 29 12:12:35 CEST 2002 Paolo Molaro <lupus@ximian.com>
827 * dump.c, dump.h, main.c: support for dumping the manifest resource table.
829 Mon Apr 15 11:35:05 CEST 2002 Paolo Molaro <lupus@ximian.com>
831 * dump.c, dump.h, get.c, get.h, main.c: support for dumping the
832 module table and guid values.
834 Mon Apr 8 17:15:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
836 * main.c: removed unneeded runtime invoke support.
838 Thu Mar 28 16:52:11 CET 2002 Paolo Molaro <lupus@ximian.com>
840 * dis-cil.c, dump.c, get.c, main.c, util.h: spring warning cleanup.
842 Thu Mar 28 11:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
844 * util.c: when an invalid flags combination is seen,
845 return the string "invalid-flags", so disassembly can continue.
847 Tue Mar 19 18:15:29 CET 2002 Paolo Molaro <lupus@ximian.com>
849 * dis-cil.c: use unsigned for variables.
851 Sat Mar 16 19:13:57 CET 2002 Paolo Molaro <lupus@ximian.com>
853 * dump.c: handle TypeSpec token in memberref table dump.
855 2002-03-08 Nick Drochak <ndrochak@gol.com>
857 * monodis.1: Add info about new parameter
858 * main.c: Add flag to remember if user wants to us mscorlib for
859 non-corilb assembly names
860 * get.c(get_typedef): use mscorlib for assembly name only
861 if user specifies it with a command line parameter. Default
862 behavior is now to use actual assembly name.
864 Tue Mar 5 18:11:01 CET 2002 Paolo Molaro <lupus@ximian.com>
866 * dump.c: print index of the methodsemantics table.
867 * main.cs: print event information.
869 Wed Feb 20 22:10:48 CET 2002 Paolo Molaro <lupus@ximian.com>
871 * dump.c: fix the fix and more complete custom attribute decoder.
873 Tue Feb 19 20:20:15 CET 2002 Paolo Molaro <lupus@ximian.com>
875 * dump.c: the prolog is before each arg in the custom attribute blob.
877 Mon Feb 18 15:48:38 CET 2002 Paolo Molaro <lupus@ximian.com>
879 * get.c: include last param.
881 Thu Feb 14 18:59:37 CET 2002 Paolo Molaro <lupus@ximian.com>
883 * main.c: output pack and size info if needed.
885 2002-02-13 Dietmar Maurer <dietmar@ximian.com>
887 * *.c: s/MonoMetadata/MonoImage/
889 Tue Feb 12 14:33:53 CET 2002 Paolo Molaro <lupus@ximian.com>
891 * dump.c: make all the indexes printed starting from 1.
893 Fri Feb 8 19:28:31 CET 2002 Paolo Molaro <lupus@ximian.com>
895 * get.c: don't abort if a methodref is not found, usa alternative way
896 to get the method name.
898 Fri Feb 8 12:29:41 CET 2002 Paolo Molaro <lupus@ximian.com>
900 * Makefile.am: correct linking order.
901 * dis-cil.c: use opcode info from opcodes.h instead of a copy of the data.
903 Thu Jan 31 18:21:12 CET 2002 Paolo Molaro <lupus@ximian.com>
905 * dis-cil.c: reverse order when outputting start try blocks.
907 Mon Jan 14 17:00:23 CET 2002 Paolo Molaro <lupus@ximian.com>
909 * dump.c: more info in method table dump.
911 Mon Dec 24 17:24:13 CET 2001 Paolo Molaro <lupus@ximian.com>
913 * main.c, dump.h, dump.c: add dump_table_nestedclass().
914 * dis-cil.c: output int64 as hex.
916 Tue Dec 18 18:48:00 CET 2001 Paolo Molaro <lupus@ximian.com>
918 * main.c: use mono_metadata_methods_from_property() and
919 mono_metadata_properties_from_typedef() from metadata instead of
922 Tue Nov 27 16:31:52 CET 2001 Paolo Molaro <lupus@ximian.com>
924 * main.c: output a marker for method (used in debug support).
926 Mon Nov 19 11:32:28 CET 2001 Paolo Molaro <lupus@ximian.com>
928 * main.c: remove arch_create_jit_trampoline().
930 Thu Nov 15 17:42:03 CET 2001 Paolo Molaro <lupus@ximian.com>
932 * dump.c: decode more info in the constant table.
933 * get.c: show literals the same way ildasm does.
934 * main.c: decode literal values for fields.
936 Fri Nov 2 19:04:21 CET 2001 Paolo Molaro <lupus@ximian.com>
938 * main.c, dump, dump.c: decode the customattr table.
939 * dump.c: handle also field signature when dumping the memberref
942 2001-11-07 Miguel de Icaza <miguel@ximian.com>
944 * main.c (dis_property_methods): Added missing colon which avoided
947 2001-10-10 Dietmar Maurer <dietmar@ximian.com>
949 * main.c (arch_compile_method): added to compute vtable entry
951 Mon Oct 8 16:13:55 CEST 2001 Paolo Molaro <lupus@ximian.com>
953 * get.c, get.h: MonoArray changed in MonoArrayType.
954 * main.c: guard against calling bsearch with a NULL pointer
955 (pointed out by Laurent Rioux, smoux).
957 Thu Oct 4 19:05:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
959 * dis-cil.c: fix printing of exception stuff.
960 * dump.c: display some more info in the typedef table dump.
961 * main.c: typo fix and method list fix.
963 2001-10-04 Dick Porter <dick@ximian.com>
965 * meta.h: include mono-endian.h not endian.h
967 2001-10-02 Dietmar Maurer <dietmar@ximian.com>
969 * get.c (get_method): always write namespace and class name.
971 2001-09-06 Miguel de Icaza <miguel@ximian.com>
973 * monodis.1: Update man page.
975 Tue Aug 28 15:54:45 CEST 2001 Paolo Molaro <lupus@ximian.com>
977 * main.c, dump.c, dump.h, get.c: added dump_table_interfaceimpl ().
978 Output info about interfaces when disassembling a type. Many small
979 changes to make the output correct assembler.
981 Mon Aug 27 20:13:49 CEST 2001 Paolo Molaro <lupus@ximian.com>
983 * dis-cil.c, get.c: some endian fixes.
984 * main.c: colon-separate version numbers. Print also namespace
985 when outputting class information.
987 Fri Aug 24 16:10:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
989 * get.c, main.c, get.h: updates for MonoParam merge in MonoType.
991 2001-08-24 Dietmar Maurer <dietmar@ximian.com>
993 * main.c (disassemble_file): use assembly_open instead of image_open
995 Wed Aug 22 16:22:22 CEST 2001 Paolo Molaro <lupus@ximian.com>
997 * dis-cil.c: add a newline after branch instructions. Move
998 end of exception handler code at the end.
1000 Tue Aug 21 18:51:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
1002 * dis-cil.c: correctly print the label for multi-byte opcodes.
1004 Mon Aug 20 19:33:34 CEST 2001 Paolo Molaro <lupus@ximian.com>
1006 * util.c: add a space when decoding multiple flags.
1007 * dump.c, dump.h, main.c: decode the property map and
1008 methodsemantics tables. Disassemble property information
1009 to .property IL directives.
1010 * get.c: allow passing a NULL as method in dis_stringify_method ()
1011 if a methoddef_row is given.
1013 2001-08-20 Dietmar Maurer <dietmar@ximian.com>
1015 * get.c (dis_stringify_type): support pinned values
1017 Sat Aug 18 11:24:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
1019 * dump.c, get.c, get.h, main.c: dis_stringify_method_signature()
1020 gets an optional methodef_row index instead of a name, so it
1021 can figure out also the names and attributes of params.
1022 parse_method_signature() and free_method_signature() removed as
1023 they are useless now.
1025 2001-08-17 Dietmar Maurer <dietmar@ximian.com>
1027 * main.c (pinvoke_info): bug fix - use the right column in the table
1029 2001-08-14 Dietmar Maurer <dietmar@ximian.com>
1031 * get.c (dis_stringify_type): use strconcat instead of strjoin
1033 Sat Aug 4 12:36:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
1035 * get.c, get.h, main.c, dump.c: implement dis_stringify_method_signature().
1036 More magic constants replaced by enum values (spotted at least 3 real bugs
1037 doing this). Print usage information if an unknown option is given.
1038 Print the full signature when dumping the method table.
1039 Changed method and field table dumps to show the typedef name the field
1040 or method belongs to.
1042 Fri Aug 3 18:30:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
1044 * get.c (get_method): fix use of unitialized variable and
1045 remove magic constants all over the place.
1047 Wed Aug 1 22:46:45 CEST 2001 Paolo Molaro <lupus@ximian.com>
1049 * dis-cil.c: properly decode the switch opcode.
1051 2001-08-01 Dietmar Maurer <dietmar@ximian.com>
1053 * get.c (get_token): decode typedef and typeref tokens
1055 * main.c (dis_method_list): don't decode the next row, that is
1058 Tue Jul 31 17:48:11 CEST 2001 Paolo Molaro <lupus@ximian.com>
1060 * dis-cil.c, dis-cil.h, dump.c, dump.h, get.c, get.h, main.c, push-pop.h:
1061 massive namespace cleanup.
1062 * main.c: dis_locals() now just strigifies a MonoMethodHeader.
1064 2001-07-31 Dietmar Maurer <dietmar@ximian.com>
1066 * main.c (pinvoke_flags): impl.
1068 Mon Jul 30 20:08:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
1070 * dis-cil.c, dis-cil.h, main.c: changes to disassemble also
1071 the information about try/catch/finally blocks.
1073 2001-07-27 Dietmar Maurer <dietmar@ximian.com>
1075 * get.c (dis_stringify_type): return "void" if !type
1076 (dis_stringify_type): print type* instead of *type
1078 Thu Jul 26 13:22:28 CEST 2001 Paolo Molaro <lupus@ximian.com>
1080 * dis-cil.c, dump.c, get.c, main.c: updates to match changes in metadata.
1083 2001-07-17 Miguel de Icaza <miguel@ximian.com>
1085 * main.c (usage): Print out all the arguments.
1087 * get.c, main.c, dump.c: Remove `expand', `get_encoded_value',
1088 `get_blob_encoded_size' and replaced with the proper functions
1091 2001-07-15 Miguel de Icaza <miguel@ximian.com>
1093 * main.c (dis_code): Only display .entrypoint when we are dealing
1094 with a module that contains an entry point. This removes a bunch
1095 of warnings for .dll dumping
1097 Sun Jul 15 17:29:10 CEST 2001 Paolo Molaro <lupus@ximian.com>
1099 * get.h,get.c: added some dis_stringify_object() functions:
1100 metadata decoding is now done in libmetadata. Still need to use
1101 them throughhout the code (and move other decode code to
1102 metadata). Fix also field decoding (band-aid until we load
1103 also referenced assemblies).
1104 * dis/main.c: start using the new routines.
1106 2001-07-13 Miguel de Icaza <miguel@ximian.com>
1108 * get.c (get_method): GOOD. Implemented this other bad boy.
1110 2001-07-12 Miguel de Icaza <miguel@ximian.com>
1112 * get.c (get_token_type): Implement TOKEN_TYPE_TYPE_SPEC.
1113 (get_typespec): Implement.
1114 (get_typedef_or_ref): Use get_typespec.
1116 * dis-cil.c (dissasemble_cil): Implement InlineField
1117 (dissasemble_cil): Implement InlineTok.
1119 * get.c (get_token, get_field): Implemented. Worked around lame
1122 Wed Jul 11 18:52:15 CEST 2001 Paolo Molaro <lupus@ximian.com>
1124 * dis-cil.c: output real name of local var.
1125 * dump.c: output more info about fields (flags and type). Properly decode
1126 Property signatures. Decode also method table.
1127 * main.c: Fix local variable info. Hopefully fix field and property list.
1129 Mon Jul 9 16:39:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
1131 * dump.c: write stuff to output, not stderr. Give more info for properties.
1132 * dump.c,dump.h,main.c: implement dump_table_event(), dump_table_file(),
1133 dump_table_moduleref().
1134 * get.c: first attempt to decode string constants, need to find if and where
1135 this is actually specified.
1137 Fri Jul 6 19:49:21 CEST 2001 Paolo Molaro <lupus@ximian.com>
1139 * dump.c,dump.h: implement dump_table_property().
1140 * main.c: implement local variable info disassembling.
1141 Annotate entrypoint method. Remove memory leak in
1142 parse_method_signature ().
1144 2001-07-04 Miguel de Icaza <miguel@ximian.com>
1146 * get.c (get_methodref_signature): Implement.
1148 * dump.c (dump_table_memberref): Add memberref dumping.
1150 Tue, 3 Jul 2001 18:32:10 +0200 Paolo Molaro <lupus@ximian.com>
1152 * main.c: return on failure.
1154 2001-07-02 Miguel de Icaza <miguel@ximian.com>
1156 * dis-cil.c (get_encoded_user_string): Return a string from the
1159 * get.c (get_blob_encoded_size): Implement 23.1.4 decoding.
1161 2001-07-01 Miguel de Icaza <miguel@ximian.com>
1163 * dis-cil.c: New file. CIL opcode dissasembler.
1165 2001-06-27 Miguel de Icaza <miguel@ximian.com>
1167 * main.c: Split code.
1169 2001-06-22 Miguel de Icaza <miguel@ximian.com>
1171 * main.c: More work on the disassembler and on the understanding
1172 of the metadata file format.