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