a6ef5b366a2ec999c46fe59a89d0147434d6a912
[mono.git] / mono / dis / ChangeLog
1 2006-06-27  Ankit Jain  <jankit@novell.com>
2
3         * get.c (get_assemblyref): Escape name.
4         (get_moduleref): Likewise.
5         (get_module): Likewise.
6
7 2006-06-02  Ankit Jain  <jankit@novell.com>
8
9         * get.c (dis_stringify_method_signature_full): Fix two memory leaks.
10
11 2006-06-02  Ankit Jain  <jankit@novell.com>
12
13         * main.c (dis_method_list): Print only the method name in "{ // end
14         of.."
15
16 2006-06-02  Ankit Jain  <jankit@novell.com>
17
18         * get.c (get_typedef): Return NULL for <Module> type.
19         (get_escaped_class_name): Likewise.
20         (dis_stringify_object_with_class): Likewise.
21
22         (dis_stringify_type): Return NULL if the type name is NULL.
23         (get_escaped_name): Don't try to escape a NULL name.
24
25         (get_fieldref_signature): Type name can be null.
26         (get_field): Likewise.
27         (get_method_core): Likewise.
28         (get_methoddef): Likewise.
29         
30         * main.c (dis_method_list): Print correct message for global methods.
31         (dis_globals): Don't print '<Module>' for global methods/fields.
32
33 2006-06-01  Ankit Jain  <jankit@novell.com>
34
35         * declsec.c (dump_declsec_entry20): Fix a warning.
36
37 2006-05-28  Zoltan Varga  <vargaz@gmail.com>
38
39         * declsec.c (dump_declsec_entry20): Fix a warning.
40
41 2006-05-26  Ankit Jain  <jankit@novell.com>
42
43         Patch from Sebastien Pouliot.
44         * declsec.h: New. 
45         * declsec.c: New. Support for new declarative security attribute
46         metadata format (2.0)
47         * dump.c (dump_table_declsec): Support the new 2.0 format.
48         * main.c (dump_declarative_security): Support the new 2.0 format.
49         * Makefile.am : Add declsec.c & declsec.h .
50
51 2006-05-15  Ankit Jain  <jankit@novell.com>
52
53         * dis-cil.c (disassemble_cil): Exception clauses can be unordered,
54         handle that.
55
56 2006-05-11  Ankit Jain  <jankit@novell.com>
57
58         * get.c (get_custom_mod): Fix printing of custom modifiers.
59         (dis_stringify_type): Likewise.
60         (get_field_signature): Likewise.
61         (get_ret_type): Likewise.
62         (get_param): Likewise.
63
64 2006-05-11  Ankit Jain  <jankit@novell.com>
65
66         * get.c (dis_stringify_method_signature): Rename to .. 
67         (dis_stringify_method_signature_full): .. this. Add 'with_marshal_info'
68         param.
69         * get.h (dis_stringify_method_signature_full): Add new function.
70         * main.c (dis_property_methods): Update to use
71         dis_stringify_method_signature_full.
72         (dis_event_methods): Likewise.
73
74 2006-05-10  Ankit Jain  <jankit@novell.com>
75
76         * get.c (init_key_table): Add keyword 'switch'.
77
78 2006-05-10  Ankit Jain  <jankit@novell.com>
79
80         * get.c (init_key_table): Add keyword 'property'.
81
82 2006-03-15  Zoltan Varga  <vargaz@gmail.com>
83
84         * main.c (typedef_flags): Decode TYPE_ATTRIBUTE_FORWARDER.
85
86 2006-02-21  Ankit Jain  <jankit@novell.com>
87
88         * get.c (can_print_generic_param_name): Rename to ..
89         (cant_print_generic_param_name): .. this, to match function name with behavior.
90
91 2006-02-21  Ankit Jain  <jankit@novell.com>
92
93         * get.c (mono_generic_params_with_ambiguous_names): New.
94         (generic_containers): New. Hashtable of all generic containers that have
95         been checked for ambiguous params.
96         (check_ambiguous_genparams): New. Walk a MonoGenericContainer
97         and fill mono_generic_params_with_ambiguous_names table.
98         (can_print_generic_param_name): New. Check whether a MonoGenericParam has
99         ambiguous names.
100         (dis_stringify_type): Use new is_ambiguous_generic_param to determine
101         whether to print number or name for VAR/MVAR.
102
103 2006-02-18  Raja R Harinath  <harinath@gmail.com>
104
105         * get.c (get_typespec): Don't use mono_type_create_from_typespec_full().
106         Use get_type() instead.
107         (get_type): Add 'is_def' parameter.
108         (get_field_signature, get_ret_type, get_param): Update.
109         * dump.c (dump_table_property): Likewise.
110         * get.h (get_type): Update prototype.
111
112 2006-02-16  Raja R Harinath  <rharinath@novell.com>
113
114         * get.c (get_typespec): Pass MonoGenericContainer to
115         mono_type_create_from_typespec_full.
116         (get_type): Likewise.
117         * main.c (dis_code): Likewise.
118         (dis_property_signature): Likewise.
119
120 2006-02-15  Ankit Jain  <jankit@novell.com>
121
122         * get.c (get_array_shape): Use mono_metadata_decode_signed_value to get
123         lower bounds.
124
125 2006-02-09  Ankit Jain  <jankit@novell.com>
126
127         * get.c (stringify_array): New. Returns the stringified representation
128         of an array.
129         (dis_stringify_array): Use stringify_array.
130         (get_array_shape): Likewise. Also, allow lo_bounds to be signed.
131
132 2006-02-03  Sebastien Pouliot  <sebastien@ximian.com>
133
134         * get.c: Added #include <mono/utils/mono-compiler.h> so VS.NET
135         can compile monodis.
136
137 2006-01-28  Ankit Jain  <jankit@novell.com>
138
139         * get.c (get_method_core): Emit generic arity for a MemberRef.
140         (get_method_override): Emit full sig only if its a generic type.
141
142 2006-01-27  Ankit Jain  <jankit@novell.com>
143
144         * get.c (get_methodref_signature): Remove 'context' parameter.
145         Update call sites.
146         * get.h (get_methodref_signature): Update.
147         * dump.c (dump_table_memberref): Update.
148
149 2006-01-26  Raja R Harinath  <harinath@gmail.com>
150
151         * get.c (stringify_double): Simplify, and avoid 'E' too.
152
153 2006-01-26  Ankit Jain  <jankit@novell.com>
154
155         * get.c (stringify_double): Remove trailing '.' if it has 'e'.
156
157 2006-01-25  Ankit Jain  <jankit@novell.com>
158
159         * get.c (stringify_double): New. Fix printing of float/doubles to enable
160         roundtripping.
161         * get.h (stringify_double): Add new function.
162         (get_constant): Use stringify_double.
163         * dis-cil.c (disassemble_cil): Likewise.
164         
165 2006-01-25  Ankit Jain  <jankit@novell.com>
166             Raja R Harinath  <rharinath@novell.com>
167
168         * get.c (dis_stringify_type): For MVAR/VAR, print number if the generic param
169         is in the mono_generic_params_with_ambiguous_names table.
170
171 2006-01-20  Raja R Harinath  <rharinath@novell.com>
172
173         * main.c (monodis_assembly_load_hook): New.
174         (monodis_assembly_search_hook): New.
175         (main): Install them as hooks into the assembly loading core.
176
177 2006-01-19  Ankit Jain  <jankit@novell.com>
178
179         * main.c (dis_type): Dump custom attributes for a type before doing the same
180         for its type parameters.
181
182 2006-01-18  Ankit Jain  <jankit@novell.com>
183
184         * main.c (typedef_flags): Change 'special-name' to 'specialname'.
185
186 2006-01-17  Ankit Jain  <jankit@novell.com>
187
188         * get.c (get_method_override): Use '.override method' syntax if the class or
189         or the method itself is generic.
190         * main.c (dis_code): Emit '.override' only, 'method' gets handled by get_method_override.
191
192 2006-01-17  Ankit Jain  <jankit@novell.com>
193
194         * get.c (init_key_table): Add keywords 'bestfit', 'charmaperror', 'off' & 'on'.
195
196 2006-01-16  Ankit Jain  <jankit@novell.com>
197
198         * get.c (get_method_core): Handle a MemberRef with a TypeSpec parent.
199         Inflate MonoMethod after getting it from mono_get_method_full.
200
201 2006-01-15  Ankit Jain  <jankit@novell.com>
202
203         * get.c (get_method_override): Get full signature of the method.
204         * main.c (dis_code): Emit ".override method" for full signature
205         of the method.
206
207 2006-01-06  Ankit Jain  <jankit@novell.com>
208
209         * get.c (get_generic_param): Generic param attributes can be any combination
210         of .ctor, valuetype and class, emit correctly.
211
212 2006-01-03  Ankit Jain  <jankit@novell.com>
213
214         * get.c (init_key_table): Add keywords uint8, uint16, uint32 and uint64.
215
216 2005-12-24  Jb Evain  <jbevain@gmail.com>
217
218         * main.c (dis_property_signature): read the hasthis flag.
219
220 2005-12-13  Zoltan Varga  <vargaz@gmail.com>
221
222         * get.c (get_constant): Use finite() instead of isnormal () since the
223         latter is not available on solaris.
224
225 2005-11-23  Ankit Jain  <jankit@novell.com>
226
227         * get.c (get_methodspec): Use mono_get_method_full so as to handle
228         methodspecs that refer to generic methods in other assemblies.
229
230 2005-11-23  Ankit Jain  <jankit@novell.com>
231
232         * dump.c (has_cattr_get_table): Handle GenericParam.
233         * get.c (dis_get_custom_attrs): Likewise.
234         * main.c (dump_cattrs_for_type_params): New. Dump custom attributes
235         for type parameters.
236         (dis_method_list): Call dump_cattrs_for_type_params.
237         (dis_type): Likewise.
238
239 2005-11-17  Ankit Jain  <jankit@novell.com>
240
241         * get.c (dis_stringify_type): Escape generic type parameter names.
242
243 2005-11-17  Ankit Jain  <jankit@novell.com>
244
245         * get.c (str_escape): New. Escape a given list of characters.
246           (get_escaped_name): Escape ' and \ using str_escape, and 
247         allow ` .
248
249 2005-11-10  Ankit Jain  <jankit@novell.com>
250
251         * dump.c (dump_table_method): Load generic param constraints.
252         * get.c (dis_stringify_method_signature): Likewise.
253         * main.c (dis_method_list): Likewise.
254           (dis_type): Likewise.
255
256 2005-11-10  Ankit Jain  <jankit@novell.com>
257
258         * get.c (init_key_table): Add keyword - uint.
259
260 2005-11-08  Ankit Jain  <jankit@novell.com>
261
262         * dump.c (dump_table_method): Get the type/method context required for parsing
263           method signature and dis_stringify'ing it.
264
265 2005-11-08  Ankit Jain  <jankit@novell.com>
266
267         * get.c (init_key_table): Add keywords - callconv and flags.
268
269 2005-10-28  Ankit Jain  <jankit@novell.com>
270
271         * dis_stringify_method_signature: Add detail for 'returns:' in the comment.
272
273 2005-10-28  Ankit Jain  <jankit@novell.com>
274
275         * tests: Add new directory for test cases.
276
277 2005-10-28  Ankit Jain  <jankit@novell.com>
278
279         * get.c (dis_stringify_method_signature): Use context instead of container
280           as container can be NULL.
281
282 2005-10-20  Ankit Jain  <jankit@novell.com>
283
284         * get.c (get_method_core): Use the parent context for get_methodspec
285           instead of the inflated method's context.
286           (get_methodspec): Get the context for the generic method.
287           Use parent_context for getting the method's type parameters. 
288
289 2005-10-20  Ankit Jain  <jankit@novell.com>
290
291         * main.c (dis_method_list): Oops. Check method_context for null.
292
293 2005-10-19  Ankit Jain  <jankit@novell.com>
294
295         * main.c (dis_method_list): Fix warning introduced by my last patch.
296
297 2005-10-19  Ankit Jain  <jankit@novell.com>
298
299         * main.c (dis_method_list): Use 'method_context' instead of 'container' for 
300           mono_metadata_parse_method_signature_full.
301
302 2005-10-02  Zoltan Varga  <vargaz@freemail.hu>
303
304         * get.h get.c main.c: Fix some warnings and bugs.
305
306 2005-09-20  Ankit Jain  <jankit@novell.com>
307
308         * monodis.1: Update documentation for --output.
309
310 2005-09-20  Ankit Jain  <jankit@novell.com>
311
312         * main.c (table_list): Add --mresources to the table.
313           (usage): Don't add "--mresources" explicitly for usage output.
314           (main): Remove explicit handling for --mresources.
315
316 2005-09-20  Ankit Jain  <jankit@novell.com>
317
318         * main.c (main): Dump managed resources when --output is specified.
319
320 2005-09-08  Ankit Jain  <jankit@novell.com>
321
322         * monodis.1: Document --customattr, --declsec, --forward-decls, --implmap,
323           --marshal, --methodimpl, --methodspec, --mresources, --nested, --standalonesig,
324           and --typespec.
325
326 2005-09-08  Ankit Jain  <jankit@novell.com>
327
328         * main.c (dis_nt_header): New. Dump pe_stack_reserve if different from the
329           default value (0x100000).
330           (disassemble_file): Call dis_nt_header.
331
332 2005-09-06  Ankit Jain  <jankit@novell.com>
333
334         * main.cs (dis_directive_assemblyref): Use the row id into the AssemblyRef
335           table instead of 1 for dump_cattrs.
336           Spotted by Harinath.
337
338 2005-09-05  Atsushi Enomoto  <atsushi@ximian.com>
339
340         quick build fix.
341         * get.cs : (dis_get_custom_attrs) added assembly reference support.
342         * main.cs: (dis_directive_assemblyref) use MONO_TOKEN_ASSEMBLY_REF.
343
344 2005-09-05  Ankit Jain  <jankit@novell.com>
345
346         * main.c (dis_directive_assemblyref): Dump custom attributes.
347
348 2005-08-29  Ankit Jain  <jankit@novell.com>
349
350         * get.c (dis_stringify_marshal_spec): Add new case for MONO_NATIVE_CUSTOM.
351         
352 2005-08-27  Ankit Jain  <jankit@novell.com>
353
354         * get.c (init_key_table): Add keywords - ldelem, stelem, stloc, stobj,
355           stsfld, sub, sub.ovf, sub.ovf.un, unbox to the table.
356
357 2005-08-25  Ankit Jain  <jankit@novell.com>
358
359         * get.c (get_encoded_user_string_or_bytearray): Add len param.
360           (get_constant): Pass len param to get_encoded_user_string_or_bytearray.
361         * dis-cil.c (dissasemble_cil): Calculate len of the userstring and pass to
362           get_encoded_user_string_or_bytearray.
363         * get.h (get_encoded_user_string_or_bytearray): Add len param.
364
365 2005-08-23  Ankit Jain  <jankit@novell.com>
366
367         Fix #75186.
368         * get.c (get_ret_type): Use '&' instead of '[out]' for return type.
369
370 2005-08-23  Ankit Jain  <jankit@novell.com>
371
372         * get.c (get_encoded_user_string_or_bytearray): New. Print a string if possible
373           or else a bytearray from the US heap.
374           (get_encoded_user_string_bytearray): New. Print a bytearray from the US heap.
375           (get_constant): Use get_encoded_user_string_or_bytearray for MONO_TYPE_STRING.
376         * get.h (get_encoded_user_string_or_bytearray): Add the new function. 
377         * dis-cil.c (get_encoded_user_string): Move to get.c .
378           (disassemble_cil): Use get_encoded_user_string_or_bytearray instead of 
379           get_encoded_user_string.
380
381 2005-08-20  Ankit Jain  <jankit@novell.com>
382
383         * dis-cil.c (dissasemble_cil): Specify precision to enable
384           roundtripping of floats.
385         * get.c (get_constant): Likewise.  
386
387 2005-08-13  Jb Evain  <jbevain@gmail.com>
388
389         * get.c (get_token): handle the case when
390           the token is a member ref pointing to a method.
391
392 2005-08-12  Ankit Jain  <jankit@novell.com>
393
394         * get.c (init_key_table): Add "xor" to the table.
395
396 2005-08-12  Jb Evain  <jbevain@gmail.com>
397
398         * get.c (dis_stringify_method_signature): handle case when a method
399           has parameters but no corresponding Param row.
400           Patch forged with Ankit.
401
402 2005-08-12  Ankit Jain <jankit@novell.com>
403
404         * get.c (dis_stringify_variant_type): New. Stringify MonoMarshalVariant.
405           (dis_stringify_marshal_spec): Add new case for MONO_NATIVE_SAFEARRAY. 
406
407 2005-08-11  Ankit Jain <jankit@novell.com>
408
409         * get.c (element_type_map): Use "typedref" instead of "TypedByRef" for
410           MONO_TYPE_TYPEDBYREF.
411           (get_ret_type): Use "typedref" instead of "typedbyref".
412           (get_param): Likewise.
413           
414 Wed Aug 10 17:15:52 CEST 2005 Paolo Molaro <lupus@ximian.com>
415
416         * dump.c: dump the marshal signature blob on --marshal.
417
418 2005-08-04  Ankit Jain <jankit@novell.com>
419
420         * main.c (dis_directive_moduleref): Always escape module ref names.
421
422 2005-08-03  Ankit Jain <jankit@novell.com>
423
424         * main.c (call_conv_map): Oops. Add a sentinel entry (-1, NULL).
425
426 2005-08-03  Ankit Jain <jankit@novell.com>
427
428         * main.c (call_conv_map): Map call conv value of 0 to "".
429
430 2005-08-02  Ankit Jain <jankit@novell.com>
431
432         * main.c (dis_directive_moduleref): Escape module ref names.
433
434 2005-08-01  Ankit Jain <jankit@novell.com>
435
436         * get.c (field_flags_map): Use C comments instead of C#.
437
438 2005-08-01  Ankit Jain <jankit@novell.com>
439
440         * get.c (dis_stringify_marshal_spec): Include "marshal (..)" as part of the
441           returned string. And fix memory leak.
442           (dis_stringify_method_signature): Fix usage of dis_stringify_marshal_spec
443           accordingly.
444         * main.c (dis_field_list): Fix usage of dis_stringify_marshal_spec. Cleanup
445           output of spaces.
446
447 2005-08-01  Ankit Jain <jankit@novell.com>
448
449         * get.c (dis_stringify_marshal_spec): Make it non-static.
450         * main.c (dis_field_list): Print marshal info for fields.
451         
452 2005-07-29  Ankit Jain <jankit@novell.com>
453
454         * get.c (get_constant): Fix printing of some constant types and make it consistent.
455
456 2005-07-28  Ankit Jain <jankit@novell.com>
457
458         * get.c (dis_stringify_method_signature): Fix handling of marshal info for
459           method params. Also, handle possible gaps in the PARAM table.
460
461 2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
462
463         * main.c: Fix noinline->noinlining.
464
465 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
466
467         * monodis.vcproj: Project file for monodis.
468
469 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
470
471         * main.c: Respect MONO_PATH when loading assemblies.
472
473 2005-04-23  Ankit Jain  <ankit@corewars.org>
474
475         * get.c : Revert Atsushi's earlier patch. Its already been fixed with r43342.
476
477 2005-04-22  Atsushi Enomoto  <atsushi@ximian.com>
478
479         * get.c : arraytype[,] should not be wrapped as 'arraytype[]'.
480
481 2005-04-20  Ankit Jain  <ankit@corewars.org>
482
483         Fix #74521.
484         * get.c (get_generic_param, get_method_core, get_methoddef): Dont use
485         dis_stringify_object_with_class directly, use dis_stringify_type instead.
486
487 2005-04-20  Ankit Jain  <ankit@corewars.org>
488
489         Fix #74657.
490         * main.c (dis_field_list): Print default value if field has
491         HAS_DEFAULT flag set.
492
493 2005-04-12  Ankit Jain  <ankit@corewars.org>
494         
495         Fix #74579.
496         * main.c (dis_mresource): New. Dump embedded managed resources.
497         (main, usage): Add '--mresources' argument.
498
499 2005-04-08  Ankit Jain  <radical@corewars.org>
500
501         Fix #74374.
502         * main.c (dis_type): Add 'is_nested' and 'forward' arguments.  If
503         'is_nested', don't emit .namespace directive even if namespace is
504         set.  If 'forward', print only types.
505         (dis_types): Update to allow emitting forward declarations.
506         (disassemble_file): Emit forward declarations if requested.
507         (main, usage): Add '--forward-decls' argument.
508         * get.c (get_typedef): When printing a nested type, don't include
509         the namespace again, even if it is set.
510
511 2005-04-05  Zoltan Varga  <vargaz@freemail.hu>
512
513         * dump.c dis-cil.c: Apply patches from freebsd ports collection.
514
515 2005-04-04  Zoltan Varga  <vargaz@freemail.hu>
516
517         * get.c (get_constant): Applied patch from Ankit Jain (radical@gmail.com). Fixes #74367.
518
519 2005-03-29  Sebastien Pouliot  <sebastien@ximian.com>
520
521         * dis-cil.c, dump.c: Add mono-compiler.h header to allow/ease 
522         compilation with non-GCC compilers.
523
524 2005-03-04  Zoltan Varga  <vargaz@freemail.hu>
525
526         * get.c (dis_stringify_marshal_spec): Fix this after recent runtime
527         changes.
528
529 2005-03-01  Zoltan Varga  <vargaz@freemail.hu>
530
531         * get.c: Output marshal info for parameters.
532
533 2005-02-13  Zoltan Varga  <vargaz@freemail.hu>
534
535         * main.c: Output managed resources as well. Fixes #72033.
536
537 2005-02-01  Raja R Harinath  <rharinath@novell.com>
538
539         * get.c (get_method_core): Use mono_method_signature (mh), not
540         mh->signature.
541
542 2005-01-30  Zoltan Varga  <vargaz@freemail.hu>
543
544         * get.c dis-cil.c dump.c: Fix 64 bit warnings.
545
546 2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
547
548         * dump.c:
549         * dis-cil.c: added isinf() for Solaris, that does not seem to have it.
550         Fixes the build on Solaris.
551
552 2004-12-13  Miguel de Icaza  <miguel@ximian.com>
553
554         * dis-cil.c, dump.c: Encode special constant +Inf, -Inf and NaN
555         using hex constants instead of letting libc print the values.
556
557 2004-12-11  Martin Baulig  <martin@ximian.com>
558
559         * get.c (get_typespec): Added `gboolean is_def' argument; removed
560         the special case for MONO_TYPE_VAR/MVAR and pass `is_def' down to
561         dis_stringify_type().
562         (get_escaped_name): Allow `!'.  
563
564 2004-12-11  Martin Baulig  <martin@ximian.com>
565
566         * get.c (get_token): Escape typedefs.
567
568 2004-12-11  Martin Baulig  <martin@ximian.com>
569
570         * get.c (get_escaped_name): Correctly escape nested classes.
571
572 2004-12-11  Martin Baulig  <martin@ximian.com>
573
574         * get.c (get_class_name): Renamed to get_escaped_class_name() and
575         return an escaped class name; correctly escape nested classes.
576
577 2004-12-11  Martin Baulig  <martin@ximian.com>
578
579         * get.c (dis_stringify_type): Added `gboolean is_def' argument; if
580         false, display type parameters as numbers and not as names.
581         (dis_stringify_object_with_class): Added `gboolean is_def' argument.
582         (dis_stringify_array): Likewise.
583
584 2004-12-10  Martin Baulig  <martin@ximian.com>
585
586         * get.c (init_key_table): Added `type' and `strict'.
587         (get_generic_param): Also escape the type parameter names.
588         Correctly handle multiple constraints.
589
590 2004-12-10  Martin Baulig  <martin@ximian.com>
591
592         * get.c (get_fieldref_signature): Escape the field type and name
593         here, too.
594
595 2004-12-10  Martin Baulig  <martin@ximian.com>
596
597         Started to add generics support to monodis.
598
599         * get.c (get_typedef_or_ref): Added `MonoGenericContext *'.
600         (get_field_signature, get_field): Likewise.
601         (get_methodref_signature, get_methodspec): Likewise.
602         (get_token, get_token_type, get_typespec): Likewise.
603         (get_method, get_method_type_param): Likewise.
604         (get_method_override, dis_stringify_method_signature): Likewise.
605         (get_type, get_ret_type, get_param): Likewise.
606
607         * dis-cil.c (disasemble_cil): Added `MonoGenericContext *'.
608
609 2004-12-09  Martin Baulig  <martin@ximian.com>
610
611         * get.c (get_generic_param): Take a `MonoGenericContainer *' and
612         use it to print things instead of manually parsing the metadata.
613
614         * main.c (dis_generic_param_and_constraints): Removed, use
615         get_generic_param() instead.
616         (dis_method_list): Added `MonoGenericContext *' argument.
617
618 Mon Dec 6 13:31:48 CET 2004 Paolo Molaro <lupus@ximian.com>
619
620         * main.c: add a --filter=filename option to load a file
621         with a list of types, fields, methods to disassemble.
622
623 2004-12-02  Miguel de Icaza  <miguel@ximian.com>
624
625         * main.c: Rename compilercontrolled to privatescope
626
627         * get.c (get_class_name): Correct implementation that correctly
628         handles nested classes.
629
630 2004-11-26  Miguel de Icaza  <miguel@ximian.com>
631
632         * main.c: Better implementation of the quote keyword, list all of
633         the known keywords to ildasm here. 
634
635         * get.c (dis_stringify_object_with_class): Take an argument
636         `prefix' that controls whether the `class', `valuetype' labels are
637         used.  This is needed for the catch clause that takes the type
638         directly. 
639         (get_method_core): Rename get_method to get_method_core, and allow
640         for only part of the signature to be specified, so we can produce
641         .override signatures correctly.
642         (get_method_override): Pass false as the `fullsig' argument.
643
644         (get_typedef): no longer quote the type, we quote in the call site
645         elsewhere.   Avoids double quotes.
646         
647         * main.c (quote_keyword): Quote keywords.
648
649 Tue Nov 9 17:29:28 CET 2004 Paolo Molaro <lupus@ximian.com>
650
651         * dis-cil.c, get.c, get.h: update to exception clause structure changes.
652
653 2004-11-08  Ben Maurer  <bmaurer@ximian.com>
654
655         * get.c, dump.c: warning free.
656
657 2004-10-21  Jackson Harper  <jackson@ximian.com>
658
659         * get.c: Escape typedef names.
660
661 2004-10-19    <vargaz@freemail.hu>
662
663         * main.c: Applied patch from Alexandre Rocha Lima e Marcondes  (alexandremarcondes@psl-pr.softwarelivre.org). Really fix 2.95 build.
664
665 2004-10-04  Sebastien Pouliot  <sebastien@ximian.com>
666
667         * dump.c: Added new "internal" security actions for non-CAS demands:
668         NonCasDemand, NonCasLinkDemand and NonCasInheritance.
669         * main.c: Added new "internal" security actions for non-CAS demands:
670         noncasdemand, noncaslinkdemand and noncasinheritance.
671
672 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
673
674         * main.c: Add support for pinvoke flags BestFit and 
675         ThrowOnUnmappableChar.
676
677 2004-09-23  Miguel de Icaza  <miguel@ximian.com>
678
679         * main.c (dis_directive_assemblyref): Dump the locale and public
680         key tokens 
681
682         * get.c (dis_stringify_object_with_class): Escape assembly name. 
683
684         * main.c (dis_directive_assemblyref): Escape assembly name
685
686 2004-09-21  Martin Baulig  <martin@ximian.com>
687
688         * main.c (main): If just a single assembly was specified, use the
689         runtime version it requires.
690
691 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
692
693         * dump.c: Added new security actions added in 2.0: LinkDemandChoice,
694         InheritanceDemandChoice and DemandChoice.
695         * main.c: Added ".permissionset" to output IL. Removed "hassecurity"
696         as MS ilasm can't compile it.
697
698 2004-09-16  Zoltan Varga  <vargaz@freemail.hu>
699
700         * get.c (get_token): Add support for memberrefs.
701
702 2004-09-06  Zoltan Varga  <vargaz@freemail.hu>
703
704         * main.c: Fix build && warnings.
705
706 2004-09-05  Jambunathan K  <kjambunathan@novell.com>
707         * main.c (dump_cattrs_list): Newly carved out of dump_cattrs.
708         
709         Renamed cattrs_for_method() to more meaningful
710         dump_cattrs_for_method_params()
711         
712         (dump_cattrs_for_method_params): Fixed so that ".param[]" gets
713         dumped only when necessary. i.e., when a method parameter has
714         either a default value and/or when it has a custom attribute.
715
716 2004-09-06  Zoltan Varga  <vargaz@freemail.hu>
717
718         * get.c: Fix printing of unmanaged calling conventions.
719         (get_constant): Fix warning.
720
721 2004-08-28  Jambunathan K  <kjambunathan@novell.com>
722         * main.c: modified cattrs_for_method so that
723           emitting of ".param[] = ..." is complete.
724         
725         * get.c: Modified get_constant() so that
726           1. MONO_TYPE_CHAR now handles unicode characters
727           2. MONO_TYPE_I8 now emits int64(...)
728           3. MONO_TYPE_STRING emits a bytearray()
729
730 2004-08-18  Jambunathan K  <kjambunathan@novell.com>
731         * get.c: Changed dis_stringify_param to emit [opt] for parameters
732           that are marked as Optional.
733
734         * dump.c: Fixed dump_table_constant so that the parent field's
735           description is correctly displayed.
736
737 2004-08-08  Zoltan Varga  <vargaz@freemail.hu>
738
739         * get.c (get_typespec): Append '*' to pointer types. Fixes #62331.
740
741 2004-08-03  Martin Baulig  <martin@ximian.com>
742
743         * dump.c (method_dor_to_token): Moved to get.c and made public.
744
745         * get.c (get_method_override): New public function.
746
747         * main.c (dis_code): Added `.override' for override methods.
748
749 2004-08-02  Martin Baulig  <martin@ximian.com>
750
751         * get.c (dis_stringify_object_with_class): Include our generic
752         arguments in the method's class name.
753
754         * main.c (dis_generic_param_and_constraints): Use the new
755         constraints syntax.
756
757 2004-08-02  Martin Baulig  <martin@ximian.com>
758
759         * dump.c (dump_stream_blob): Format this nicely.
760         (dump_table_standalonesig): New public function.
761
762         * main.c (dis_locals): If --show-tokens was requested, print the
763         standalone signature token.
764         (table_list): Added "--standalonesig".
765
766 2004-07-09  Jackson Harper  <jackson@ximian.com>
767
768         * get.c: Make "class" the default so only valuetypes get the
769         "valuetype" modifier. Otherwise object, string, int,... will get
770         it.
771         
772 2004-07-08  Jackson Harper  <jackson@ximian.com>
773
774         * main.c: Spaces after visibility types.
775         
776 2004-07-06  Jackson Harper  <jackson@ximian.com>
777
778         * get.c: Add float cast for outputing floats. Patch by Steve Brown.
779         
780 2004-06-25  Jackson Harper  <jackson@ximian.com>
781
782         * get.c: Add a few more keywords to be escaped.
783         * main.c: MS's ildasm writes '// end of class' not '// end of
784         type'. The python.net tool searches for this string.
785         
786 2004-06-24  David Waite  <mass@akuma.org>
787
788         * dump.c: change to C90-style comments from C99/C++-style
789         
790 2004-06-23  Raja R Harinath  <rharinath@novell.com>
791
792         * main.c (dis_event_signature): Decode and print event_flags.
793
794 2004-06-20  Jackson Harper  <jackson@ximian.com>
795
796         * dis-cil.c: Handle switch statements with no labels.
797         
798 2004-06-19  Jackson Harper  <jackson@ximian.com>
799
800         * dump.c/h: New function to dump the contents of the blob
801         stream. I found it useful for debugging so I will share.
802         * main.c: Add --blob switch to dump the blob stream.
803         * monodis.1: Document --blob
804         
805 2004-06-19  Jackson Harper  <jackson@ximian.com>
806
807         * get.c/h: New function to stringify function pointers.
808         
809 2004-06-19  Jackson Harper  <jackson@ximian.com>
810
811         * get.c: Fix name escaping so we dont escape everything in the
812         world anymore.
813         
814 2004-06-11  Martin Baulig  <martin@ximian.com>
815
816         * get.c (get_methodref_signature): Include "vararg " in the
817         signature of a varargs method.
818
819 2004-06-11  Martin Baulig  <martin@ximian.com>
820
821         * get.c (get_methodref_signature): If we're a varargs method,
822         print "..." for the sentinel followed by the actual types.
823
824 2004-06-08  Martin Baulig  <martin@ximian.com>
825
826         * dump.c (dump_table_memberref): Added support for MethodDef
827         parents.        
828
829 2004-05-06  Bernie Solomon  <bernard@ugsolutions.com>
830
831         * dump.c:
832         * get.c:
833         * main.c:
834         * util.c:
835         * util.h: rename map_t dis_map_t to avoid AIX symbol clash
836
837 2004-04-01  Martin Baulig  <martin@ximian.com>
838
839         * dump.c (dump_table_memberref): Added support for TypeDef's.
840
841 2004-03-29  Jackson Harper  <jackson@ximian.com>
842
843         * main.c: Handle pinvoke info where there is not an impl_map
844         entry.
845         
846 2004-03-27  Vladimir Vukicevic  <vladimir@pobox.com>
847
848        * get.c (get_constant): output bool consts as bool(true) or
849        bool(false)  (to be same as ildasm, also what mono and ms
850        ilasm expect)
851
852 2004-01-31  Martin Baulig  <martin@ximian.com>
853
854         * get.c (get_methodspec): It's a methoddef or ref token.
855
856 2004-01-26  Martin Baulig  <martin@ximian.com>
857
858         * main.cs (--show-tokens): New command line argument to show
859         type tokens in the disassembly.
860
861         * get.c (get_typedef, get_typespec, get_typeref): If
862         `show_tokens', include the token in the type name.
863         (get_type): Do some type parsing here and include the token in the
864         returned type name if requested.
865         (get_method): Include tokens if requested.
866
867 2004-01-17  Zoltan Varga  <vargaz@freemail.hu>
868
869         * main.c get.c: Add support for dumping the custom attributes of
870         modules.
871
872 2004-01-09  Jackson Harper  <jackson@ximian.com>
873
874         * monodis.1: Add --show-method-tokens switch
875         * get.c: When stringifying methods show the method token if the
876         show-method-tokens flag is set.
877         * get.h: Add show_method_tokens flag
878         * main.c: Add --show-method-tokens switch
879         
880 2004-01-09  Jackson Harper  <jackson@ximian.com>
881
882         * monodis.1: Add typespec switch
883         
884 2004-01-08  Jackson Harper  <jackson@ximian.com>
885
886         * main.c: Add switch to dump typespec table.
887         * dump.c/dump.h: Add function for dumping typespec table.
888         
889 2003-12-19  Zoltan Varga  <vargaz@freemail.hu>
890
891         * dump.c (dump_table_exported): Fix output.
892
893 2003-12-08  Jackson Harper <jackson@ximian.com>
894
895         * main.cs: escape module names.
896         
897 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
898
899         * main.c (dis_field_list): Update after changes to 
900         mono_metadata_get_constant_index ().
901
902 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
903
904         * dump.c dump.h main.c: Added support for dumping the ImplMap table
905         (--implmap).
906
907         * main.c (dis_method_list): Avoid disassembling native code.
908
909 2003-11-19  Zoltan Varga  <vargaz@freemail.hu>
910
911         * get.c (dis_stringify_modifiers): Fix display of modreq and modopt.
912
913 Thu Nov 13 16:12:09 CET 2003 Paolo Molaro <lupus@ximian.com>
914
915         * util.h, dump.c: get rid of ugly CSIZE macro.
916
917 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
918
919         * main.c: Add disassembly of module, moduleref and file tables.
920
921         * get.h get.c: Add support for modulerefs.
922
923         * dump.c: Avoid crash on empty assembly table.
924
925 2003-10-22 Jackson Harper <jackson@ximian.com>
926
927         * main.c: Use escaped names for method, and type names. Initialize
928         the name table.
929         * main.c (visibility_map): Fix typo, should be nested family not
930         family
931         * main.c (dis_data): Use uppercase hex to avoid name conflicts.
932         * get.c/get.h: New method to get an escaped name. This method will
933         take a name and escape it if it is an ilasm keyword, or uses a non
934         id char. Use escaped names for type, method, field, and parameter names.
935         * get.c (get_typespec): A typespec can be used for anything, so we
936         need to handle all types not just modified types.
937         * get.c (dis_stringify_object_with_class): Handle nested classes
938         * get.c (get_token): Add field keyword to field tokens.
939         
940 2003-10-21 Jackson Harper <jackson@ximian.com>
941
942         * get.c (get_fieldref_signature): Use MONO_MEMBERREF_SIGNATURE in
943         the member ref table.
944         
945 2003-10-21  Martin Baulig  <martin@ximian.com>
946
947         * get.c (get_typespec): Add MONO_TYPE_VAR and MONO_TYPE_MVAR.
948
949 2003-10-18 Jackson Harper <jackson@ximian.com>
950
951         * dis-cil.c (get_encoded_user_string): use g_strescape instead of
952         escaping manually.
953         * util.c (hex_dump): Use uppercase hex so there are no conflicts
954         with ilasm keywords ie cf
955         
956 2003-10-17 Jackson Harper <jackson@ximian.com>
957
958         * dis-cil.c (get_encoded_user_string): Escape user strings when
959         loading. ie ""quote"" should be "\"quote\"".
960         * dis-cil.c (dissasemble_cil): Write SEH debug info into a comment
961         block. Combine SEH blocks that have the same offset and length,
962         this prevents creating invalid SEH blocks. 
963         
964 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
965
966         * get.c (get_ret_type): Remove needless warning message.
967
968 2003-10-13 Jackson Harper <jackson@ximian.com>
969
970         * get.c: stringify nested types properly ie Outer/Inner.
971         
972 2003-10-10 Jackson Harper <jackson@ximian.com>
973
974         * dump.c: When dumping methodspecs dump the full methodspec with
975         signature, and dump the signature.
976         
977 2003-10-10 Jackson Harper <jackson@ximian.com>
978
979         * get.c/get.h: Add methods to get stringified methodspecs and
980         method type parameters. 
981         
982 2003-10-09 Jackson Harper <jackson@ximian.com>
983
984         * main.c/get.c: Remove magic numbers, use constants.
985         
986 2003-10-08 Jackson Harper <jackson@ximian.com>
987
988         * main.c (dis_genericparam): renamed to
989         dis_generic_param_and_constraints, allow a table type to be passed
990         to the method so this could be used with generic methods (It is
991         not though).
992         * get.c/get.h (get_generic_param): method to stringify generic
993         type and method parameters.
994         * get.c (dis_stringify_method_signature): Add generic parameters.
995         
996 2003-10-08 Jackson Harper <jackson@ximian.com>
997
998         * main.c (dis_type): NULL cnst_block so we dont explode on
999         interfaces.
1000         * main.c (dis_genericparam): oops, fix off-by-one error.
1001         
1002 2003-10-08 Jackson Harper <jackson@ximian.com>
1003
1004         * get.c/get.h add method to get a methoddef from an index, simplify
1005         get_typd_or_methdef, use new get_methoddef to get the method
1006         because we have a method index not a method token.
1007         
1008 2003-10-07 Jackson Harper <jackson@ximian.com>
1009
1010         * main.c: When dis. generic parameters the TypeOrMethodDef token
1011         only needs to be shifted 1 bit. Added dis of generic constraints.
1012         * get.c/get.h: New method for getting a TypeOrMethodDef token
1013         * dump.c: When dumping generic parameters and generic constraints
1014         output readable names instead of just tokens.
1015         
1016 2003-10-01 Jackson Harper <jackson@latitudegeo.com>
1017         
1018         * main.c: Fix visibility level names, when outputing pinvoke info
1019         quote the module and method names, properties have specialname,
1020         and rtspecialname flags (nothing else), dis global methods and
1021         fields FIXME: indentation issues.
1022         * get.h: declare get_fieldref_signature
1023         * get.c: Fix unsigned ints (not uint), single quote argument names
1024         (this is kinda a hack, ildasm will only single quote arg names
1025         that are ilasm keywords), remove fixme, we know what typedbyref
1026         means, output fieldref signatures instead of their token value.
1027         
1028 2003-09-19 Jackson Harper <jackson@latitudegeo.com>
1029
1030         * dis-cil.c: Output fault blocks, and filter blocks. If in a
1031         filter block outptut 0xDC as endfilter if in a fault output as
1032         endfault.
1033         
1034 2003-08-22  Zoltan Varga  <vargaz@freemail.hu>
1035
1036         * main.c (dis_event_list): Same for event methods.
1037
1038         * get.c (dis_stringify_method_signature): New argument specifying
1039         whenever to return a fully qualified method name.
1040         * dump.c main.c: Updated to work with the new function.
1041
1042         * main.c (dis_property_methods): Print fully qualified method names 
1043         for property methods. Fixes #46221.
1044
1045 2003-07-22 Jackson Harper <jackson@latitudegeo.com>
1046
1047         * main.c: Dissasemble generic type parameters for type
1048         definitions. TODO: Sort type parameters by index, and
1049         auto-generate names for parameters that have no name.
1050         
1051 Fri Jul 18 13:12:38 CEST 2003 Paolo Molaro <lupus@ximian.com>
1052
1053         * get.c: updates for array type representation changes.
1054
1055 2003-06-16 Jackson Harper <jackson@latitudegeo.com>
1056
1057         * get.c: Fix modopt and modreq
1058                 
1059 Thu May 29 12:21:47 CEST 2003 Paolo Molaro <lupus@ximian.com>
1060
1061         * dump.c, get.c: misc fixes.
1062
1063 Wed May 7 16:50:00 CEST 2003 Paolo Molaro <lupus@ximian.com>
1064
1065         * main.c: output custom attributes for method parameters.
1066
1067 Wed May 7 16:24:43 CEST 2003 Paolo Molaro <lupus@ximian.com>
1068
1069         * main.c: output nested types inside their nesting class.
1070
1071 2003-04-12  Zoltan Varga  <vargaz@freemail.hu>
1072
1073         * get.c (dis_stringify_modifiers): Print a space between custom modifers.
1074         * get.c (get_custom_mod): Handle multiple custom modifiers aka bug #30812.
1075         * main.c: Print klass name at the end of each method to make it easier
1076         to find a given method.
1077
1078 2003-03-31  Miguel de Icaza  <miguel@ximian.com>
1079
1080         * main.c: Sorted command line options table by name.
1081
1082         * dump.c: Add support for dumping the new generic tables. 
1083
1084         * monodis.1: Update man page.
1085         
1086 2003-03-09 Jackson Harper <jackson@latitudegeo.com>
1087
1088         * main.c: Ouput implements clause as a comma seperated list.
1089
1090 Thu Feb  6 02:43:23 PST 2003 Piers Haken <piersh@friskit.com>
1091
1092         * dump.c: more warning cleanups
1093
1094 Mon Jan 27 17:16:50 CET 2003 Paolo Molaro <lupus@ximian.com>
1095
1096         * get.c: decode also the size info in get_marshal_info()
1097         for ByValStr and ByValArray.
1098
1099 Tue Sep 24 11:48:53 CEST 2002 Paolo Molaro <lupus@ximian.com>
1100
1101         * main.c: use mono_type_size () to get the size of
1102         a blob of data for a type (Zoltan Varga spotted the bug).
1103
1104 2002-09-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1105
1106         * get.c: closes bug #30814. Thanks to Zoltan Varga.
1107
1108 Mon Sep 16 18:49:55 CEST 2002 Paolo Molaro <lupus@ximian.com>
1109
1110         * main.c, get.c, dump.c: updates for changes in libmetadata.
1111
1112 Fri Sep 13 15:39:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
1113
1114         * main.c: dump public key.
1115         * get.c, util.h, util.c: prettyfy data dumps.
1116
1117 2002-08-28  Dick Porter  <dick@ximian.com>
1118
1119         * Makefile.am: Export HOST_CC for w32 builds
1120
1121 Tue Aug 6 12:40:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
1122
1123         * main.c: use mono_image_get_entry_point ().
1124
1125 Fri Jul 26 11:41:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
1126
1127         * main.c, dump.h, dump.c: output hash value in File table.
1128         Add dumper function for DeclSecurity table.
1129
1130 Fri Jul 19 14:20:10 CEST 2002 Paolo Molaro <lupus@ximian.com>
1131
1132         * main.c: handle null parent.
1133
1134 2002-07-02  Martin Baulig  <martin@gnome.org>
1135
1136         * get.c (dis_stringify_object_with_class): New static function to
1137         stringify an object when we already have its class.
1138         (dis_stringify_object): Get the class and call dis_stringify_object().
1139         (get_method): Call dis_stringify_object_with_class() since we already
1140         have the object's class.
1141
1142 Thu Jun 20 11:50:38 CEST 2002 Paolo Molaro <lupus@ximian.com>
1143
1144         * main.c, dump.c, dump.h: code to dump the MethodImpl table.
1145
1146 Mon Jun 17 17:31:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
1147
1148         * get.h, get.c: get_marshal_info() to get a marshal descriptor.
1149         * main.c, dump.h, dump.c: added code to dump the FieldMarshl table.
1150
1151 Tue Jun 11 14:11:12 CEST 2002 Paolo Molaro <lupus@ximian.com>
1152
1153         * get.c: handle modulerefs.
1154         * main.c: fix --mscorlib argument handling.
1155
1156 Fri Jun 7 19:39:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
1157
1158         * get.c: handle typerefs of nested types. Don't print "."
1159         with an empty namespace.
1160
1161 Sat Jun 1 13:57:17 CEST 2002 Paolo Molaro <lupus@ximian.com>
1162
1163         * main.c: print byte values correctly.
1164
1165 2002-05-20  Martin Baulig  <martin@gnome.org>
1166
1167         * main.c: Added `--output=FILENAME' command line option.
1168
1169         * monodis.1: Documented it here.
1170
1171 Thu May 16 17:21:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
1172
1173         * main.c, dump,c, get.h, get.c: diassemble custom attributes.
1174
1175 Wed May 15 16:02:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
1176
1177         * main.c: output field RVA data.
1178
1179 Fri May 10 21:00:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
1180
1181         * main.c: print field offset info if needed.
1182
1183 Wed May 1 17:07:56 CEST 2002 Paolo Molaro <lupus@ximian.com>
1184
1185         * dump.c, dump.h, main.c: dump ExportedTypes table.
1186         * get.c: fix get_module (), remove magic numbers.
1187         * monodis.1: update manpage (hi miguel!:)
1188
1189 Mon Apr 29 12:12:35 CEST 2002 Paolo Molaro <lupus@ximian.com>
1190
1191         * dump.c, dump.h, main.c: support for dumping the manifest resource table.
1192
1193 Mon Apr 15 11:35:05 CEST 2002 Paolo Molaro <lupus@ximian.com>
1194
1195         * dump.c, dump.h, get.c, get.h, main.c: support for dumping the
1196         module table and guid values.
1197
1198 Mon Apr 8 17:15:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
1199
1200         * main.c: removed unneeded runtime invoke support.
1201
1202 Thu Mar 28 16:52:11 CET 2002 Paolo Molaro <lupus@ximian.com>
1203
1204         * dis-cil.c, dump.c, get.c, main.c, util.h: spring warning cleanup.
1205
1206 Thu Mar 28 11:29:58 CET 2002 Paolo Molaro <lupus@ximian.com>
1207
1208         * util.c: when an invalid flags combination is seen,
1209         return the string "invalid-flags", so disassembly can continue.
1210
1211 Tue Mar 19 18:15:29 CET 2002 Paolo Molaro <lupus@ximian.com>
1212
1213         * dis-cil.c: use unsigned for variables.
1214
1215 Sat Mar 16 19:13:57 CET 2002 Paolo Molaro <lupus@ximian.com>
1216
1217         * dump.c: handle TypeSpec token in memberref table dump.
1218
1219 2002-03-08  Nick Drochak  <ndrochak@gol.com>
1220
1221         * monodis.1: Add info about new parameter
1222         * main.c: Add flag to remember if user wants to us mscorlib for
1223         non-corilb assembly names
1224         * get.c(get_typedef): use mscorlib for assembly name only
1225         if user specifies it with a command line parameter. Default
1226         behavior is now to use actual assembly name.
1227  
1228 Tue Mar 5 18:11:01 CET 2002 Paolo Molaro <lupus@ximian.com>
1229
1230         * dump.c: print index of the methodsemantics table.
1231         * main.cs: print event information.
1232
1233 Wed Feb 20 22:10:48 CET 2002 Paolo Molaro <lupus@ximian.com>
1234
1235         * dump.c: fix the fix and more complete custom attribute decoder.
1236
1237 Tue Feb 19 20:20:15 CET 2002 Paolo Molaro <lupus@ximian.com>
1238
1239         * dump.c: the prolog is before each arg in the custom attribute blob.
1240
1241 Mon Feb 18 15:48:38 CET 2002 Paolo Molaro <lupus@ximian.com>
1242
1243         * get.c: include last param.
1244
1245 Thu Feb 14 18:59:37 CET 2002 Paolo Molaro <lupus@ximian.com>
1246
1247         * main.c: output pack and size info if needed.
1248
1249 2002-02-13  Dietmar Maurer  <dietmar@ximian.com>
1250
1251         * *.c: s/MonoMetadata/MonoImage/ 
1252
1253 Tue Feb 12 14:33:53 CET 2002 Paolo Molaro <lupus@ximian.com>
1254
1255         * dump.c: make all the indexes printed starting from 1.
1256
1257 Fri Feb 8 19:28:31 CET 2002 Paolo Molaro <lupus@ximian.com>
1258
1259         * get.c: don't abort if a methodref is not found, usa alternative way
1260         to get the method name.
1261
1262 Fri Feb 8 12:29:41 CET 2002 Paolo Molaro <lupus@ximian.com>
1263
1264         * Makefile.am: correct linking order.
1265         * dis-cil.c: use opcode info from opcodes.h instead of a copy of the data.
1266
1267 Thu Jan 31 18:21:12 CET 2002 Paolo Molaro <lupus@ximian.com>
1268
1269         * dis-cil.c: reverse order when outputting start try blocks.
1270
1271 Mon Jan 14 17:00:23 CET 2002 Paolo Molaro <lupus@ximian.com>
1272
1273         * dump.c: more info in method table dump.
1274
1275 Mon Dec 24 17:24:13 CET 2001 Paolo Molaro <lupus@ximian.com>
1276
1277         * main.c, dump.h, dump.c: add dump_table_nestedclass().
1278         * dis-cil.c: output int64 as hex.
1279
1280 Tue Dec 18 18:48:00 CET 2001 Paolo Molaro <lupus@ximian.com>
1281
1282         * main.c: use mono_metadata_methods_from_property() and
1283         mono_metadata_properties_from_typedef() from metadata instead of
1284         custom code.
1285
1286 Tue Nov 27 16:31:52 CET 2001 Paolo Molaro <lupus@ximian.com>
1287
1288         * main.c: output a marker for method (used in debug support).
1289
1290 Mon Nov 19 11:32:28 CET 2001 Paolo Molaro <lupus@ximian.com>
1291
1292         * main.c: remove arch_create_jit_trampoline().
1293
1294 Thu Nov 15 17:42:03 CET 2001 Paolo Molaro <lupus@ximian.com>
1295
1296         * dump.c: decode more info in the constant table.
1297         * get.c: show literals the same way ildasm does.
1298         * main.c: decode literal values for fields.
1299
1300 Fri Nov 2 19:04:21 CET 2001 Paolo Molaro <lupus@ximian.com>
1301
1302         * main.c, dump, dump.c: decode the customattr table.
1303         * dump.c: handle also field signature when dumping the memberref
1304         table.
1305
1306 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
1307
1308         * main.c (dis_property_methods): Added missing colon which avoided
1309         setting loc.t
1310
1311 2001-10-10  Dietmar Maurer  <dietmar@ximian.com>
1312
1313         * main.c (arch_compile_method):  added to compute vtable entry
1314
1315 Mon Oct 8 16:13:55 CEST 2001 Paolo Molaro <lupus@ximian.com>
1316
1317         * get.c, get.h: MonoArray changed in MonoArrayType.
1318         * main.c: guard against calling bsearch with a NULL pointer
1319         (pointed out by Laurent Rioux, smoux).
1320
1321 Thu Oct 4 19:05:56 CEST 2001 Paolo Molaro <lupus@ximian.com>
1322
1323         * dis-cil.c: fix printing of exception stuff.
1324         * dump.c: display some more info in the typedef table dump.
1325         * main.c: typo fix and method list fix.
1326
1327 2001-10-04  Dick Porter  <dick@ximian.com>
1328
1329         * meta.h: include mono-endian.h not endian.h
1330
1331 2001-10-02  Dietmar Maurer  <dietmar@ximian.com>
1332
1333         * get.c (get_method): always write namespace and class name.
1334
1335 2001-09-06  Miguel de Icaza  <miguel@ximian.com>
1336
1337         * monodis.1: Update man page.
1338
1339 Tue Aug 28 15:54:45 CEST 2001 Paolo Molaro <lupus@ximian.com>
1340
1341         * main.c, dump.c, dump.h, get.c: added dump_table_interfaceimpl ().
1342         Output info about interfaces when disassembling a type. Many small
1343         changes to make the output correct assembler.
1344
1345 Mon Aug 27 20:13:49 CEST 2001 Paolo Molaro <lupus@ximian.com>
1346
1347         * dis-cil.c, get.c: some endian fixes.
1348         * main.c: colon-separate version numbers. Print also namespace
1349         when outputting class information.
1350
1351 Fri Aug 24 16:10:12 CEST 2001 Paolo Molaro <lupus@ximian.com>
1352
1353         * get.c, main.c, get.h: updates for MonoParam merge in MonoType.
1354
1355 2001-08-24  Dietmar Maurer  <dietmar@ximian.com>
1356
1357         * main.c (disassemble_file): use assembly_open instead of image_open
1358
1359 Wed Aug 22 16:22:22 CEST 2001 Paolo Molaro <lupus@ximian.com>
1360
1361         * dis-cil.c: add a newline after branch instructions. Move
1362         end of exception handler code at the end.
1363
1364 Tue Aug 21 18:51:05 CEST 2001 Paolo Molaro <lupus@ximian.com>
1365
1366         * dis-cil.c: correctly print the label for multi-byte opcodes.
1367
1368 Mon Aug 20 19:33:34 CEST 2001 Paolo Molaro <lupus@ximian.com>
1369
1370         * util.c: add a space when decoding multiple flags.
1371         * dump.c, dump.h, main.c: decode the property map and
1372         methodsemantics tables. Disassemble property information
1373         to .property IL directives.
1374         * get.c: allow passing a NULL as method in dis_stringify_method ()
1375         if a methoddef_row is given.
1376         
1377 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
1378
1379         * get.c (dis_stringify_type): support pinned values
1380
1381 Sat Aug 18 11:24:07 CEST 2001 Paolo Molaro <lupus@ximian.com>
1382
1383         * dump.c, get.c, get.h, main.c: dis_stringify_method_signature()
1384         gets an optional methodef_row index instead of a name, so it
1385         can figure out also the names and attributes of params.
1386         parse_method_signature() and free_method_signature() removed as
1387         they are useless now.
1388
1389 2001-08-17  Dietmar Maurer  <dietmar@ximian.com>
1390
1391         * main.c (pinvoke_info): bug fix - use the right column in the table
1392
1393 2001-08-14  Dietmar Maurer  <dietmar@ximian.com>
1394
1395         * get.c (dis_stringify_type): use strconcat instead of strjoin
1396
1397 Sat Aug 4 12:36:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
1398
1399         * get.c, get.h, main.c, dump.c: implement dis_stringify_method_signature().
1400         More magic constants replaced by enum values (spotted at least 3 real bugs
1401         doing this). Print usage information if an unknown option is given.
1402         Print the full signature when dumping the method table.
1403         Changed method and field table dumps to show the typedef name the field
1404         or method belongs to.
1405
1406 Fri Aug 3 18:30:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
1407
1408         * get.c (get_method): fix use of unitialized variable and
1409         remove magic constants all over the place.
1410
1411 Wed Aug 1 22:46:45 CEST 2001 Paolo Molaro <lupus@ximian.com>
1412
1413         * dis-cil.c: properly decode the switch opcode.
1414         
1415 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
1416
1417         * get.c (get_token): decode typedef and typeref tokens
1418
1419         * main.c (dis_method_list): don't decode the next row, that is
1420         totally unnecessary
1421
1422 Tue Jul 31 17:48:11 CEST 2001 Paolo Molaro <lupus@ximian.com>
1423
1424         * dis-cil.c, dis-cil.h, dump.c, dump.h, get.c, get.h, main.c, push-pop.h:
1425         massive namespace cleanup.
1426         * main.c: dis_locals() now just strigifies a MonoMethodHeader.
1427
1428 2001-07-31  Dietmar Maurer  <dietmar@ximian.com>
1429
1430         * main.c (pinvoke_flags): impl.
1431
1432 Mon Jul 30 20:08:37 CEST 2001 Paolo Molaro <lupus@ximian.com>
1433
1434         * dis-cil.c, dis-cil.h, main.c: changes to disassemble also
1435         the information about try/catch/finally blocks.
1436
1437 2001-07-27  Dietmar Maurer  <dietmar@ximian.com>
1438
1439         * get.c (dis_stringify_type): return "void" if !type
1440         (dis_stringify_type): print type* instead of *type
1441
1442 Thu Jul 26 13:22:28 CEST 2001 Paolo Molaro <lupus@ximian.com>
1443
1444         * dis-cil.c, dump.c, get.c, main.c: updates to match changes in metadata.
1445         Removed dead code.
1446
1447 2001-07-17  Miguel de Icaza  <miguel@ximian.com>
1448
1449         * main.c (usage): Print out all the arguments.
1450
1451         * get.c, main.c, dump.c: Remove `expand', `get_encoded_value',
1452         `get_blob_encoded_size' and replaced with the proper functions
1453         from metadata.c
1454
1455 2001-07-15  Miguel de Icaza  <miguel@ximian.com>
1456
1457         * main.c (dis_code): Only display .entrypoint when we are dealing
1458         with a module that contains an entry point.  This removes a bunch
1459         of warnings for .dll dumping
1460
1461 Sun Jul 15 17:29:10 CEST 2001 Paolo Molaro <lupus@ximian.com>
1462
1463         * get.h,get.c: added some dis_stringify_object() functions:
1464         metadata decoding is now done in libmetadata. Still need to use
1465         them throughhout the code (and move other decode code to
1466         metadata). Fix also field decoding (band-aid until we load
1467         also referenced assemblies).
1468         * dis/main.c: start using the new routines.
1469
1470 2001-07-13  Miguel de Icaza  <miguel@ximian.com>
1471
1472         * get.c (get_method): GOOD. Implemented this other bad boy.
1473
1474 2001-07-12  Miguel de Icaza  <miguel@ximian.com>
1475
1476         * get.c (get_token_type): Implement TOKEN_TYPE_TYPE_SPEC.
1477         (get_typespec): Implement.
1478         (get_typedef_or_ref): Use get_typespec.
1479
1480         * dis-cil.c (dissasemble_cil): Implement InlineField
1481         (dissasemble_cil): Implement InlineTok.
1482
1483         * get.c (get_token, get_field): Implemented.  Worked around lame
1484         tables in the spec.
1485
1486 Wed Jul 11 18:52:15 CEST 2001 Paolo Molaro <lupus@ximian.com>
1487
1488         * dis-cil.c: output real name of local var.
1489         * dump.c: output more info about fields (flags and type). Properly decode
1490         Property signatures. Decode also method table.
1491         * main.c: Fix local variable info. Hopefully fix field and property list.
1492
1493 Mon Jul  9 16:39:41 CEST 2001 Paolo Molaro <lupus@ximian.com>
1494
1495         * dump.c: write stuff to output, not stderr. Give more info for properties.
1496         * dump.c,dump.h,main.c: implement dump_table_event(), dump_table_file(),
1497         dump_table_moduleref().
1498         * get.c: first attempt to decode string constants, need to find if and where
1499         this is actually specified.
1500
1501 Fri Jul  6 19:49:21 CEST 2001 Paolo Molaro <lupus@ximian.com>
1502
1503         * dump.c,dump.h: implement dump_table_property().
1504         * main.c: implement local variable info disassembling.
1505         Annotate entrypoint method. Remove memory leak in 
1506         parse_method_signature ().
1507
1508 2001-07-04  Miguel de Icaza  <miguel@ximian.com>
1509         
1510         * get.c (get_methodref_signature): Implement.
1511
1512         * dump.c (dump_table_memberref): Add memberref dumping.
1513
1514 Tue,  3 Jul 2001 18:32:10 +0200 Paolo Molaro <lupus@ximian.com>
1515
1516         * main.c: return on failure.
1517
1518 2001-07-02  Miguel de Icaza  <miguel@ximian.com>
1519
1520         * dis-cil.c (get_encoded_user_string): Return a string from the
1521         #US heap. o
1522
1523         * get.c (get_blob_encoded_size): Implement 23.1.4 decoding.
1524
1525 2001-07-01  Miguel de Icaza  <miguel@ximian.com>
1526
1527         * dis-cil.c: New file.  CIL opcode dissasembler.
1528
1529 2001-06-27  Miguel de Icaza  <miguel@ximian.com>
1530
1531         * main.c: Split code.
1532
1533 2001-06-22  Miguel de Icaza  <miguel@ximian.com>
1534
1535         * main.c: More work on the disassembler and on the understanding
1536         of the metadata file format.   
1537