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