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