Fix #75186.
[mono.git] / mono / dis / ChangeLog
1 2005-08-23  Ankit Jain  <jankit@novell.com>
2
3         Fix #75186.
4         * get.c (get_ret_type): Use '&' instead of '[out]' for return type.
5
6 2005-08-23  Ankit Jain  <jankit@novell.com>
7
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.
16
17 2005-08-20  Ankit Jain  <jankit@novell.com>
18
19         * dis-cil.c (dissasemble_cil): Specify precision to enable
20           roundtripping of floats.
21         * get.c (get_constant): Likewise.  
22
23 2005-08-13  Jb Evain  <jbevain@gmail.com>
24
25         * get.c (get_token): handle the case when
26           the token is a member ref pointing to a method.
27
28 2005-08-12  Ankit Jain  <jankit@novell.com>
29
30         * get.c (init_key_table): Add "xor" to the table.
31
32 2005-08-12  Jb Evain  <jbevain@gmail.com>
33
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.
37
38 2005-08-12  Ankit Jain <jankit@novell.com>
39
40         * get.c (dis_stringify_variant_type): New. Stringify MonoMarshalVariant.
41           (dis_stringify_marshal_spec): Add new case for MONO_NATIVE_SAFEARRAY. 
42
43 2005-08-11  Ankit Jain <jankit@novell.com>
44
45         * get.c (element_type_map): Use "typedref" instead of "TypedByRef" for
46           MONO_TYPE_TYPEDBYREF.
47           (get_ret_type): Use "typedref" instead of "typedbyref".
48           (get_param): Likewise.
49           
50 Wed Aug 10 17:15:52 CEST 2005 Paolo Molaro <lupus@ximian.com>
51
52         * dump.c: dump the marshal signature blob on --marshal.
53
54 2005-08-04  Ankit Jain <jankit@novell.com>
55
56         * main.c (dis_directive_moduleref): Always escape module ref names.
57
58 2005-08-03  Ankit Jain <jankit@novell.com>
59
60         * main.c (call_conv_map): Oops. Add a sentinel entry (-1, NULL).
61
62 2005-08-03  Ankit Jain <jankit@novell.com>
63
64         * main.c (call_conv_map): Map call conv value of 0 to "".
65
66 2005-08-02  Ankit Jain <jankit@novell.com>
67
68         * main.c (dis_directive_moduleref): Escape module ref names.
69
70 2005-08-01  Ankit Jain <jankit@novell.com>
71
72         * get.c (field_flags_map): Use C comments instead of C#.
73
74 2005-08-01  Ankit Jain <jankit@novell.com>
75
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
79           accordingly.
80         * main.c (dis_field_list): Fix usage of dis_stringify_marshal_spec. Cleanup
81           output of spaces.
82
83 2005-08-01  Ankit Jain <jankit@novell.com>
84
85         * get.c (dis_stringify_marshal_spec): Make it non-static.
86         * main.c (dis_field_list): Print marshal info for fields.
87         
88 2005-07-29  Ankit Jain <jankit@novell.com>
89
90         * get.c (get_constant): Fix printing of some constant types and make it consistent.
91
92 2005-07-28  Ankit Jain <jankit@novell.com>
93
94         * get.c (dis_stringify_method_signature): Fix handling of marshal info for
95           method params. Also, handle possible gaps in the PARAM table.
96
97 2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
98
99         * main.c: Fix noinline->noinlining.
100
101 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
102
103         * monodis.vcproj: Project file for monodis.
104
105 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
106
107         * main.c: Respect MONO_PATH when loading assemblies.
108
109 2005-04-23  Ankit Jain  <ankit@corewars.org>
110
111         * get.c : Revert Atsushi's earlier patch. Its already been fixed with r43342.
112
113 2005-04-22  Atsushi Enomoto  <atsushi@ximian.com>
114
115         * get.c : arraytype[,] should not be wrapped as 'arraytype[]'.
116
117 2005-04-20  Ankit Jain  <ankit@corewars.org>
118
119         Fix #74521.
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.
122
123 2005-04-20  Ankit Jain  <ankit@corewars.org>
124
125         Fix #74657.
126         * main.c (dis_field_list): Print default value if field has
127         HAS_DEFAULT flag set.
128
129 2005-04-12  Ankit Jain  <ankit@corewars.org>
130         
131         Fix #74579.
132         * main.c (dis_mresource): New. Dump embedded managed resources.
133         (main, usage): Add '--mresources' argument.
134
135 2005-04-08  Ankit Jain  <radical@corewars.org>
136
137         Fix #74374.
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.
146
147 2005-04-05  Zoltan Varga  <vargaz@freemail.hu>
148
149         * dump.c dis-cil.c: Apply patches from freebsd ports collection.
150
151 2005-04-04  Zoltan Varga  <vargaz@freemail.hu>
152
153         * get.c (get_constant): Applied patch from Ankit Jain (radical@gmail.com). Fixes #74367.
154
155 2005-03-29  Sebastien Pouliot  <sebastien@ximian.com>
156
157         * dis-cil.c, dump.c: Add mono-compiler.h header to allow/ease 
158         compilation with non-GCC compilers.
159
160 2005-03-04  Zoltan Varga  <vargaz@freemail.hu>
161
162         * get.c (dis_stringify_marshal_spec): Fix this after recent runtime
163         changes.
164
165 2005-03-01  Zoltan Varga  <vargaz@freemail.hu>
166
167         * get.c: Output marshal info for parameters.
168
169 2005-02-13  Zoltan Varga  <vargaz@freemail.hu>
170
171         * main.c: Output managed resources as well. Fixes #72033.
172
173 2005-02-01  Raja R Harinath  <rharinath@novell.com>
174
175         * get.c (get_method_core): Use mono_method_signature (mh), not
176         mh->signature.
177
178 2005-01-30  Zoltan Varga  <vargaz@freemail.hu>
179
180         * get.c dis-cil.c dump.c: Fix 64 bit warnings.
181
182 2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
183
184         * dump.c:
185         * dis-cil.c: added isinf() for Solaris, that does not seem to have it.
186         Fixes the build on Solaris.
187
188 2004-12-13  Miguel de Icaza  <miguel@ximian.com>
189
190         * dis-cil.c, dump.c: Encode special constant +Inf, -Inf and NaN
191         using hex constants instead of letting libc print the values.
192
193 2004-12-11  Martin Baulig  <martin@ximian.com>
194
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 `!'.  
199
200 2004-12-11  Martin Baulig  <martin@ximian.com>
201
202         * get.c (get_token): Escape typedefs.
203
204 2004-12-11  Martin Baulig  <martin@ximian.com>
205
206         * get.c (get_escaped_name): Correctly escape nested classes.
207
208 2004-12-11  Martin Baulig  <martin@ximian.com>
209
210         * get.c (get_class_name): Renamed to get_escaped_class_name() and
211         return an escaped class name; correctly escape nested classes.
212
213 2004-12-11  Martin Baulig  <martin@ximian.com>
214
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.
219
220 2004-12-10  Martin Baulig  <martin@ximian.com>
221
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.
225
226 2004-12-10  Martin Baulig  <martin@ximian.com>
227
228         * get.c (get_fieldref_signature): Escape the field type and name
229         here, too.
230
231 2004-12-10  Martin Baulig  <martin@ximian.com>
232
233         Started to add generics support to monodis.
234
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.
242
243         * dis-cil.c (disasemble_cil): Added `MonoGenericContext *'.
244
245 2004-12-09  Martin Baulig  <martin@ximian.com>
246
247         * get.c (get_generic_param): Take a `MonoGenericContainer *' and
248         use it to print things instead of manually parsing the metadata.
249
250         * main.c (dis_generic_param_and_constraints): Removed, use
251         get_generic_param() instead.
252         (dis_method_list): Added `MonoGenericContext *' argument.
253
254 Mon Dec 6 13:31:48 CET 2004 Paolo Molaro <lupus@ximian.com>
255
256         * main.c: add a --filter=filename option to load a file
257         with a list of types, fields, methods to disassemble.
258
259 2004-12-02  Miguel de Icaza  <miguel@ximian.com>
260
261         * main.c: Rename compilercontrolled to privatescope
262
263         * get.c (get_class_name): Correct implementation that correctly
264         handles nested classes.
265
266 2004-11-26  Miguel de Icaza  <miguel@ximian.com>
267
268         * main.c: Better implementation of the quote keyword, list all of
269         the known keywords to ildasm here. 
270
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
274         directly. 
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.
279
280         (get_typedef): no longer quote the type, we quote in the call site
281         elsewhere.   Avoids double quotes.
282         
283         * main.c (quote_keyword): Quote keywords.
284
285 Tue Nov 9 17:29:28 CET 2004 Paolo Molaro <lupus@ximian.com>
286
287         * dis-cil.c, get.c, get.h: update to exception clause structure changes.
288
289 2004-11-08  Ben Maurer  <bmaurer@ximian.com>
290
291         * get.c, dump.c: warning free.
292
293 2004-10-21  Jackson Harper  <jackson@ximian.com>
294
295         * get.c: Escape typedef names.
296
297 2004-10-19    <vargaz@freemail.hu>
298
299         * main.c: Applied patch from Alexandre Rocha Lima e Marcondes  (alexandremarcondes@psl-pr.softwarelivre.org). Really fix 2.95 build.
300
301 2004-10-04  Sebastien Pouliot  <sebastien@ximian.com>
302
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.
307
308 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
309
310         * main.c: Add support for pinvoke flags BestFit and 
311         ThrowOnUnmappableChar.
312
313 2004-09-23  Miguel de Icaza  <miguel@ximian.com>
314
315         * main.c (dis_directive_assemblyref): Dump the locale and public
316         key tokens 
317
318         * get.c (dis_stringify_object_with_class): Escape assembly name. 
319
320         * main.c (dis_directive_assemblyref): Escape assembly name
321
322 2004-09-21  Martin Baulig  <martin@ximian.com>
323
324         * main.c (main): If just a single assembly was specified, use the
325         runtime version it requires.
326
327 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
328
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.
333
334 2004-09-16  Zoltan Varga  <vargaz@freemail.hu>
335
336         * get.c (get_token): Add support for memberrefs.
337
338 2004-09-06  Zoltan Varga  <vargaz@freemail.hu>
339
340         * main.c: Fix build && warnings.
341
342 2004-09-05  Jambunathan K  <kjambunathan@novell.com>
343         * main.c (dump_cattrs_list): Newly carved out of dump_cattrs.
344         
345         Renamed cattrs_for_method() to more meaningful
346         dump_cattrs_for_method_params()
347         
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.
351
352 2004-09-06  Zoltan Varga  <vargaz@freemail.hu>
353
354         * get.c: Fix printing of unmanaged calling conventions.
355         (get_constant): Fix warning.
356
357 2004-08-28  Jambunathan K  <kjambunathan@novell.com>
358         * main.c: modified cattrs_for_method so that
359           emitting of ".param[] = ..." is complete.
360         
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()
365
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.
369
370         * dump.c: Fixed dump_table_constant so that the parent field's
371           description is correctly displayed.
372
373 2004-08-08  Zoltan Varga  <vargaz@freemail.hu>
374
375         * get.c (get_typespec): Append '*' to pointer types. Fixes #62331.
376
377 2004-08-03  Martin Baulig  <martin@ximian.com>
378
379         * dump.c (method_dor_to_token): Moved to get.c and made public.
380
381         * get.c (get_method_override): New public function.
382
383         * main.c (dis_code): Added `.override' for override methods.
384
385 2004-08-02  Martin Baulig  <martin@ximian.com>
386
387         * get.c (dis_stringify_object_with_class): Include our generic
388         arguments in the method's class name.
389
390         * main.c (dis_generic_param_and_constraints): Use the new
391         constraints syntax.
392
393 2004-08-02  Martin Baulig  <martin@ximian.com>
394
395         * dump.c (dump_stream_blob): Format this nicely.
396         (dump_table_standalonesig): New public function.
397
398         * main.c (dis_locals): If --show-tokens was requested, print the
399         standalone signature token.
400         (table_list): Added "--standalonesig".
401
402 2004-07-09  Jackson Harper  <jackson@ximian.com>
403
404         * get.c: Make "class" the default so only valuetypes get the
405         "valuetype" modifier. Otherwise object, string, int,... will get
406         it.
407         
408 2004-07-08  Jackson Harper  <jackson@ximian.com>
409
410         * main.c: Spaces after visibility types.
411         
412 2004-07-06  Jackson Harper  <jackson@ximian.com>
413
414         * get.c: Add float cast for outputing floats. Patch by Steve Brown.
415         
416 2004-06-25  Jackson Harper  <jackson@ximian.com>
417
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.
421         
422 2004-06-24  David Waite  <mass@akuma.org>
423
424         * dump.c: change to C90-style comments from C99/C++-style
425         
426 2004-06-23  Raja R Harinath  <rharinath@novell.com>
427
428         * main.c (dis_event_signature): Decode and print event_flags.
429
430 2004-06-20  Jackson Harper  <jackson@ximian.com>
431
432         * dis-cil.c: Handle switch statements with no labels.
433         
434 2004-06-19  Jackson Harper  <jackson@ximian.com>
435
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
440         
441 2004-06-19  Jackson Harper  <jackson@ximian.com>
442
443         * get.c/h: New function to stringify function pointers.
444         
445 2004-06-19  Jackson Harper  <jackson@ximian.com>
446
447         * get.c: Fix name escaping so we dont escape everything in the
448         world anymore.
449         
450 2004-06-11  Martin Baulig  <martin@ximian.com>
451
452         * get.c (get_methodref_signature): Include "vararg " in the
453         signature of a varargs method.
454
455 2004-06-11  Martin Baulig  <martin@ximian.com>
456
457         * get.c (get_methodref_signature): If we're a varargs method,
458         print "..." for the sentinel followed by the actual types.
459
460 2004-06-08  Martin Baulig  <martin@ximian.com>
461
462         * dump.c (dump_table_memberref): Added support for MethodDef
463         parents.        
464
465 2004-05-06  Bernie Solomon  <bernard@ugsolutions.com>
466
467         * dump.c:
468         * get.c:
469         * main.c:
470         * util.c:
471         * util.h: rename map_t dis_map_t to avoid AIX symbol clash
472
473 2004-04-01  Martin Baulig  <martin@ximian.com>
474
475         * dump.c (dump_table_memberref): Added support for TypeDef's.
476
477 2004-03-29  Jackson Harper  <jackson@ximian.com>
478
479         * main.c: Handle pinvoke info where there is not an impl_map
480         entry.
481         
482 2004-03-27  Vladimir Vukicevic  <vladimir@pobox.com>
483
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
486        ilasm expect)
487
488 2004-01-31  Martin Baulig  <martin@ximian.com>
489
490         * get.c (get_methodspec): It's a methoddef or ref token.
491
492 2004-01-26  Martin Baulig  <martin@ximian.com>
493
494         * main.cs (--show-tokens): New command line argument to show
495         type tokens in the disassembly.
496
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.
502
503 2004-01-17  Zoltan Varga  <vargaz@freemail.hu>
504
505         * main.c get.c: Add support for dumping the custom attributes of
506         modules.
507
508 2004-01-09  Jackson Harper  <jackson@ximian.com>
509
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
515         
516 2004-01-09  Jackson Harper  <jackson@ximian.com>
517
518         * monodis.1: Add typespec switch
519         
520 2004-01-08  Jackson Harper  <jackson@ximian.com>
521
522         * main.c: Add switch to dump typespec table.
523         * dump.c/dump.h: Add function for dumping typespec table.
524         
525 2003-12-19  Zoltan Varga  <vargaz@freemail.hu>
526
527         * dump.c (dump_table_exported): Fix output.
528
529 2003-12-08  Jackson Harper <jackson@ximian.com>
530
531         * main.cs: escape module names.
532         
533 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
534
535         * main.c (dis_field_list): Update after changes to 
536         mono_metadata_get_constant_index ().
537
538 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
539
540         * dump.c dump.h main.c: Added support for dumping the ImplMap table
541         (--implmap).
542
543         * main.c (dis_method_list): Avoid disassembling native code.
544
545 2003-11-19  Zoltan Varga  <vargaz@freemail.hu>
546
547         * get.c (dis_stringify_modifiers): Fix display of modreq and modopt.
548
549 Thu Nov 13 16:12:09 CET 2003 Paolo Molaro <lupus@ximian.com>
550
551         * util.h, dump.c: get rid of ugly CSIZE macro.
552
553 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
554
555         * main.c: Add disassembly of module, moduleref and file tables.
556
557         * get.h get.c: Add support for modulerefs.
558
559         * dump.c: Avoid crash on empty assembly table.
560
561 2003-10-22 Jackson Harper <jackson@ximian.com>
562
563         * main.c: Use escaped names for method, and type names. Initialize
564         the name table.
565         * main.c (visibility_map): Fix typo, should be nested family not
566         family
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.
575         
576 2003-10-21 Jackson Harper <jackson@ximian.com>
577
578         * get.c (get_fieldref_signature): Use MONO_MEMBERREF_SIGNATURE in
579         the member ref table.
580         
581 2003-10-21  Martin Baulig  <martin@ximian.com>
582
583         * get.c (get_typespec): Add MONO_TYPE_VAR and MONO_TYPE_MVAR.
584
585 2003-10-18 Jackson Harper <jackson@ximian.com>
586
587         * dis-cil.c (get_encoded_user_string): use g_strescape instead of
588         escaping manually.
589         * util.c (hex_dump): Use uppercase hex so there are no conflicts
590         with ilasm keywords ie cf
591         
592 2003-10-17 Jackson Harper <jackson@ximian.com>
593
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. 
599         
600 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
601
602         * get.c (get_ret_type): Remove needless warning message.
603
604 2003-10-13 Jackson Harper <jackson@ximian.com>
605
606         * get.c: stringify nested types properly ie Outer/Inner.
607         
608 2003-10-10 Jackson Harper <jackson@ximian.com>
609
610         * dump.c: When dumping methodspecs dump the full methodspec with
611         signature, and dump the signature.
612         
613 2003-10-10 Jackson Harper <jackson@ximian.com>
614
615         * get.c/get.h: Add methods to get stringified methodspecs and
616         method type parameters. 
617         
618 2003-10-09 Jackson Harper <jackson@ximian.com>
619
620         * main.c/get.c: Remove magic numbers, use constants.
621         
622 2003-10-08 Jackson Harper <jackson@ximian.com>
623
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
627         not though).
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.
631         
632 2003-10-08 Jackson Harper <jackson@ximian.com>
633
634         * main.c (dis_type): NULL cnst_block so we dont explode on
635         interfaces.
636         * main.c (dis_genericparam): oops, fix off-by-one error.
637         
638 2003-10-08 Jackson Harper <jackson@ximian.com>
639
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.
643         
644 2003-10-07 Jackson Harper <jackson@ximian.com>
645
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.
651         
652 2003-10-01 Jackson Harper <jackson@latitudegeo.com>
653         
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.
663         
664 2003-09-19 Jackson Harper <jackson@latitudegeo.com>
665
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
668         endfault.
669         
670 2003-08-22  Zoltan Varga  <vargaz@freemail.hu>
671
672         * main.c (dis_event_list): Same for event methods.
673
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.
677
678         * main.c (dis_property_methods): Print fully qualified method names 
679         for property methods. Fixes #46221.
680
681 2003-07-22 Jackson Harper <jackson@latitudegeo.com>
682
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.
686         
687 Fri Jul 18 13:12:38 CEST 2003 Paolo Molaro <lupus@ximian.com>
688
689         * get.c: updates for array type representation changes.
690
691 2003-06-16 Jackson Harper <jackson@latitudegeo.com>
692
693         * get.c: Fix modopt and modreq
694                 
695 Thu May 29 12:21:47 CEST 2003 Paolo Molaro <lupus@ximian.com>
696
697         * dump.c, get.c: misc fixes.
698
699 Wed May 7 16:50:00 CEST 2003 Paolo Molaro <lupus@ximian.com>
700
701         * main.c: output custom attributes for method parameters.
702
703 Wed May 7 16:24:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
704
705         * main.c: output nested types inside their nesting class.
706
707 2003-04-12  Zoltan Varga  <vargaz@freemail.hu>
708
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.
713
714 2003-03-31  Miguel de Icaza  <miguel@ximian.com>
715
716         * main.c: Sorted command line options table by name.
717
718         * dump.c: Add support for dumping the new generic tables. 
719
720         * monodis.1: Update man page.
721         
722 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
723
724         * main.c: Ouput implements clause as a comma seperated list.
725
726 Thu Feb  6 02:43:23 PST 2003 Piers Haken <piersh@friskit.com>
727
728         * dump.c: more warning cleanups
729
730 Mon Jan 27 17:16:50 CET 2003 Paolo Molaro <lupus@ximian.com>
731
732         * get.c: decode also the size info in get_marshal_info()
733         for ByValStr and ByValArray.
734
735 Tue Sep 24 11:48:53 CEST 2002 Paolo Molaro <lupus@ximian.com>
736
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).
739
740 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
741
742         * get.c: closes bug #30814. Thanks to Zoltan Varga.
743
744 Mon Sep 16 18:49:55 CEST 2002 Paolo Molaro <lupus@ximian.com>
745
746         * main.c, get.c, dump.c: updates for changes in libmetadata.
747
748 Fri Sep 13 15:39:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
749
750         * main.c: dump public key.
751         * get.c, util.h, util.c: prettyfy data dumps.
752
753 2002-08-28  Dick Porter  <dick@ximian.com>
754
755         * Makefile.am: Export HOST_CC for w32 builds
756
757 Tue Aug 6 12:40:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
758
759         * main.c: use mono_image_get_entry_point ().
760
761 Fri Jul 26 11:41:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
762
763         * main.c, dump.h, dump.c: output hash value in File table.
764         Add dumper function for DeclSecurity table.
765
766 Fri Jul 19 14:20:10 CEST 2002 Paolo Molaro <lupus@ximian.com>
767
768         * main.c: handle null parent.
769
770 2002-07-02  Martin Baulig  <martin@gnome.org>
771
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.
777
778 Thu Jun 20 11:50:38 CEST 2002 Paolo Molaro <lupus@ximian.com>
779
780         * main.c, dump.c, dump.h: code to dump the MethodImpl table.
781
782 Mon Jun 17 17:31:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
783
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.
786
787 Tue Jun 11 14:11:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
788
789         * get.c: handle modulerefs.
790         * main.c: fix --mscorlib argument handling.
791
792 Fri Jun 7 19:39:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
793
794         * get.c: handle typerefs of nested types. Don't print "."
795         with an empty namespace.
796
797 Sat Jun 1 13:57:17 CEST 2002 Paolo Molaro <lupus@ximian.com>
798
799         * main.c: print byte values correctly.
800
801 2002-05-20  Martin Baulig  <martin@gnome.org>
802
803         * main.c: Added `--output=FILENAME' command line option.
804
805         * monodis.1: Documented it here.
806
807 Thu May 16 17:21:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
808
809         * main.c, dump,c, get.h, get.c: diassemble custom attributes.
810
811 Wed May 15 16:02:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
812
813         * main.c: output field RVA data.
814
815 Fri May 10 21:00:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
816
817         * main.c: print field offset info if needed.
818
819 Wed May 1 17:07:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
820
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!:)
824
825 Mon Apr 29 12:12:35 CEST 2002 Paolo Molaro <lupus@ximian.com>
826
827         * dump.c, dump.h, main.c: support for dumping the manifest resource table.
828
829 Mon Apr 15 11:35:05 CEST 2002 Paolo Molaro <lupus@ximian.com>
830
831         * dump.c, dump.h, get.c, get.h, main.c: support for dumping the
832         module table and guid values.
833
834 Mon Apr 8 17:15:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
835
836         * main.c: removed unneeded runtime invoke support.
837
838 Thu Mar 28 16:52:11 CET 2002 Paolo Molaro <lupus@ximian.com>
839
840         * dis-cil.c, dump.c, get.c, main.c, util.h: spring warning cleanup.
841
842 Thu Mar 28 11:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
843
844         * util.c: when an invalid flags combination is seen,
845         return the string "invalid-flags", so disassembly can continue.
846
847 Tue Mar 19 18:15:29 CET 2002 Paolo Molaro <lupus@ximian.com>
848
849         * dis-cil.c: use unsigned for variables.
850
851 Sat Mar 16 19:13:57 CET 2002 Paolo Molaro <lupus@ximian.com>
852
853         * dump.c: handle TypeSpec token in memberref table dump.
854
855 2002-03-08  Nick Drochak  <ndrochak@gol.com>
856
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.
863  
864 Tue Mar 5 18:11:01 CET 2002 Paolo Molaro <lupus@ximian.com>
865
866         * dump.c: print index of the methodsemantics table.
867         * main.cs: print event information.
868
869 Wed Feb 20 22:10:48 CET 2002 Paolo Molaro <lupus@ximian.com>
870
871         * dump.c: fix the fix and more complete custom attribute decoder.
872
873 Tue Feb 19 20:20:15 CET 2002 Paolo Molaro <lupus@ximian.com>
874
875         * dump.c: the prolog is before each arg in the custom attribute blob.
876
877 Mon Feb 18 15:48:38 CET 2002 Paolo Molaro <lupus@ximian.com>
878
879         * get.c: include last param.
880
881 Thu Feb 14 18:59:37 CET 2002 Paolo Molaro <lupus@ximian.com>
882
883         * main.c: output pack and size info if needed.
884
885 2002-02-13  Dietmar Maurer  <dietmar@ximian.com>
886
887         * *.c: s/MonoMetadata/MonoImage/ 
888
889 Tue Feb 12 14:33:53 CET 2002 Paolo Molaro <lupus@ximian.com>
890
891         * dump.c: make all the indexes printed starting from 1.
892
893 Fri Feb 8 19:28:31 CET 2002 Paolo Molaro <lupus@ximian.com>
894
895         * get.c: don't abort if a methodref is not found, usa alternative way
896         to get the method name.
897
898 Fri Feb 8 12:29:41 CET 2002 Paolo Molaro <lupus@ximian.com>
899
900         * Makefile.am: correct linking order.
901         * dis-cil.c: use opcode info from opcodes.h instead of a copy of the data.
902
903 Thu Jan 31 18:21:12 CET 2002 Paolo Molaro <lupus@ximian.com>
904
905         * dis-cil.c: reverse order when outputting start try blocks.
906
907 Mon Jan 14 17:00:23 CET 2002 Paolo Molaro <lupus@ximian.com>
908
909         * dump.c: more info in method table dump.
910
911 Mon Dec 24 17:24:13 CET 2001 Paolo Molaro <lupus@ximian.com>
912
913         * main.c, dump.h, dump.c: add dump_table_nestedclass().
914         * dis-cil.c: output int64 as hex.
915
916 Tue Dec 18 18:48:00 CET 2001 Paolo Molaro <lupus@ximian.com>
917
918         * main.c: use mono_metadata_methods_from_property() and
919         mono_metadata_properties_from_typedef() from metadata instead of
920         custom code.
921
922 Tue Nov 27 16:31:52 CET 2001 Paolo Molaro <lupus@ximian.com>
923
924         * main.c: output a marker for method (used in debug support).
925
926 Mon Nov 19 11:32:28 CET 2001 Paolo Molaro <lupus@ximian.com>
927
928         * main.c: remove arch_create_jit_trampoline().
929
930 Thu Nov 15 17:42:03 CET 2001 Paolo Molaro <lupus@ximian.com>
931
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.
935
936 Fri Nov 2 19:04:21 CET 2001 Paolo Molaro <lupus@ximian.com>
937
938         * main.c, dump, dump.c: decode the customattr table.
939         * dump.c: handle also field signature when dumping the memberref
940         table.
941
942 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
943
944         * main.c (dis_property_methods): Added missing colon which avoided
945         setting loc.t
946
947 2001-10-10  Dietmar Maurer  <dietmar@ximian.com>
948
949         * main.c (arch_compile_method):  added to compute vtable entry
950
951 Mon Oct 8 16:13:55 CEST 2001 Paolo Molaro <lupus@ximian.com>
952
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).
956
957 Thu Oct 4 19:05:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
958
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.
962
963 2001-10-04  Dick Porter  <dick@ximian.com>
964
965         * meta.h: include mono-endian.h not endian.h
966
967 2001-10-02  Dietmar Maurer  <dietmar@ximian.com>
968
969         * get.c (get_method): always write namespace and class name.
970
971 2001-09-06  Miguel de Icaza  <miguel@ximian.com>
972
973         * monodis.1: Update man page.
974
975 Tue Aug 28 15:54:45 CEST 2001 Paolo Molaro <lupus@ximian.com>
976
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.
980
981 Mon Aug 27 20:13:49 CEST 2001 Paolo Molaro <lupus@ximian.com>
982
983         * dis-cil.c, get.c: some endian fixes.
984         * main.c: colon-separate version numbers. Print also namespace
985         when outputting class information.
986
987 Fri Aug 24 16:10:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
988
989         * get.c, main.c, get.h: updates for MonoParam merge in MonoType.
990
991 2001-08-24  Dietmar Maurer  <dietmar@ximian.com>
992
993         * main.c (disassemble_file): use assembly_open instead of image_open
994
995 Wed Aug 22 16:22:22 CEST 2001 Paolo Molaro <lupus@ximian.com>
996
997         * dis-cil.c: add a newline after branch instructions. Move
998         end of exception handler code at the end.
999
1000 Tue Aug 21 18:51:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
1001
1002         * dis-cil.c: correctly print the label for multi-byte opcodes.
1003
1004 Mon Aug 20 19:33:34 CEST 2001 Paolo Molaro <lupus@ximian.com>
1005
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.
1012         
1013 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
1014
1015         * get.c (dis_stringify_type): support pinned values
1016
1017 Sat Aug 18 11:24:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
1018
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.
1024
1025 2001-08-17  Dietmar Maurer  <dietmar@ximian.com>
1026
1027         * main.c (pinvoke_info): bug fix - use the right column in the table
1028
1029 2001-08-14  Dietmar Maurer  <dietmar@ximian.com>
1030
1031         * get.c (dis_stringify_type): use strconcat instead of strjoin
1032
1033 Sat Aug 4 12:36:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
1034
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.
1041
1042 Fri Aug 3 18:30:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
1043
1044         * get.c (get_method): fix use of unitialized variable and
1045         remove magic constants all over the place.
1046
1047 Wed Aug 1 22:46:45 CEST 2001 Paolo Molaro <lupus@ximian.com>
1048
1049         * dis-cil.c: properly decode the switch opcode.
1050         
1051 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
1052
1053         * get.c (get_token): decode typedef and typeref tokens
1054
1055         * main.c (dis_method_list): don't decode the next row, that is
1056         totally unnecessary
1057
1058 Tue Jul 31 17:48:11 CEST 2001 Paolo Molaro <lupus@ximian.com>
1059
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.
1063
1064 2001-07-31  Dietmar Maurer  <dietmar@ximian.com>
1065
1066         * main.c (pinvoke_flags): impl.
1067
1068 Mon Jul 30 20:08:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
1069
1070         * dis-cil.c, dis-cil.h, main.c: changes to disassemble also
1071         the information about try/catch/finally blocks.
1072
1073 2001-07-27  Dietmar Maurer  <dietmar@ximian.com>
1074
1075         * get.c (dis_stringify_type): return "void" if !type
1076         (dis_stringify_type): print type* instead of *type
1077
1078 Thu Jul 26 13:22:28 CEST 2001 Paolo Molaro <lupus@ximian.com>
1079
1080         * dis-cil.c, dump.c, get.c, main.c: updates to match changes in metadata.
1081         Removed dead code.
1082
1083 2001-07-17  Miguel de Icaza  <miguel@ximian.com>
1084
1085         * main.c (usage): Print out all the arguments.
1086
1087         * get.c, main.c, dump.c: Remove `expand', `get_encoded_value',
1088         `get_blob_encoded_size' and replaced with the proper functions
1089         from metadata.c
1090
1091 2001-07-15  Miguel de Icaza  <miguel@ximian.com>
1092
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
1096
1097 Sun Jul 15 17:29:10 CEST 2001 Paolo Molaro <lupus@ximian.com>
1098
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.
1105
1106 2001-07-13  Miguel de Icaza  <miguel@ximian.com>
1107
1108         * get.c (get_method): GOOD. Implemented this other bad boy.
1109
1110 2001-07-12  Miguel de Icaza  <miguel@ximian.com>
1111
1112         * get.c (get_token_type): Implement TOKEN_TYPE_TYPE_SPEC.
1113         (get_typespec): Implement.
1114         (get_typedef_or_ref): Use get_typespec.
1115
1116         * dis-cil.c (dissasemble_cil): Implement InlineField
1117         (dissasemble_cil): Implement InlineTok.
1118
1119         * get.c (get_token, get_field): Implemented.  Worked around lame
1120         tables in the spec.
1121
1122 Wed Jul 11 18:52:15 CEST 2001 Paolo Molaro <lupus@ximian.com>
1123
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.
1128
1129 Mon Jul  9 16:39:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
1130
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.
1136
1137 Fri Jul  6 19:49:21 CEST 2001 Paolo Molaro <lupus@ximian.com>
1138
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 ().
1143
1144 2001-07-04  Miguel de Icaza  <miguel@ximian.com>
1145         
1146         * get.c (get_methodref_signature): Implement.
1147
1148         * dump.c (dump_table_memberref): Add memberref dumping.
1149
1150 Tue,  3 Jul 2001 18:32:10 +0200 Paolo Molaro <lupus@ximian.com>
1151
1152         * main.c: return on failure.
1153
1154 2001-07-02  Miguel de Icaza  <miguel@ximian.com>
1155
1156         * dis-cil.c (get_encoded_user_string): Return a string from the
1157         #US heap. o
1158
1159         * get.c (get_blob_encoded_size): Implement 23.1.4 decoding.
1160
1161 2001-07-01  Miguel de Icaza  <miguel@ximian.com>
1162
1163         * dis-cil.c: New file.  CIL opcode dissasembler.
1164
1165 2001-06-27  Miguel de Icaza  <miguel@ximian.com>
1166
1167         * main.c: Split code.
1168
1169 2001-06-22  Miguel de Icaza  <miguel@ximian.com>
1170
1171         * main.c: More work on the disassembler and on the understanding
1172         of the metadata file format.   
1173