2007-03-13 Jonathan Chambers <joncham@gmail.com>
[mono.git] / mono / dis / ChangeLog
index 6050853efb7ea4c14a88cf34fba2091bd7194942..72ee81d037cfb92695c13e27a05b0d734e7241e9 100644 (file)
@@ -1,3 +1,543 @@
+2007-03-13  Jonathan Chambers  <joncham@gmail.com>
+
+       * monodis.vcproj: Move to msvc directory.
+       
+2007-03-13  Jonathan Chambers  <joncham@gmail.com>
+
+       * monodis.vcproj: Begin Win64 port.
+       
+Fri Jan 26 12:30:22 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * get.c, dis-cil.c: warning fixes.
+
+Wed Jan 17 17:26:08 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * main.c: if a file can't be loaded as an assembly, load it as a
+       modules, so monodis can be used also for netmodules.
+
+2007-01-04  Raja R Harinath  <rharinath@novell.com>
+
+       * get.c (get_method_core): Pick generic container from the
+       declaring method.
+
+2006-12-27  Raja R Harinath  <rharinath@novell.com>
+
+       Avoid MonoGenericContext
+       * dis-cil.c, dump.c, get.c, get.h, main.c: Replace all instances
+       of MonoGenericContext with MonoGenericContainer, except for calls
+       to mono_class_get_full and mono_get_method_full.  Use a top-down
+       pass to propagate the original argument type from 'dis_method_list'.
+
+       * dis-cil.c, dump.c, get.c, get.h, main.c: Replace several
+       instances of MonoGenericContext with MonoGenericContainer.
+       Use a bottom-up pass to propagate the "demand" parameter type from
+       metadata type parsing.
+
+2006-11-09  Ankit Jain  <jankit@novell.com>
+
+       * dump.c (dump_table_assemblyref): Dump Flags also.
+       * main.c (assembly_ref_flags): New. Stringify AssemblyRef flags.
+       (dis_directive_assemblyref): Emit flags also.
+       (dis_directive_assembly): Likewise.
+
+2006-10-06  Miguel de Icaza  <miguel@novell.com>
+
+       * main.c (dis_directive_assembly): Fix the rendering of .locale to
+       be a data dump.
+
+2006-10-06  Zoltan Varga  <vargaz@gmail.com>
+
+       * dump.c main.c: Applied patch from Jb. Allow dumping the PropertyPtr table.
+
+2006-10-05  Zoltan Varga  <vargaz@gmail.com>
+
+       * dump.c main.c: Allow dumping the *Ptr tables.
+
+2006-09-12  Zoltan Varga  <vargaz@gmail.com>
+
+       * declsec.c: Fix windows VC build.
+
+2006-08-09  Alp Toker  <alp@atoker.com>
+
+       * dis-cil.c:
+       * dis-cil.h:
+       * main.c:
+       * monodis.1:
+       * push-pop.h:
+       * util.c: Typofix 'dissasemble' to 'disassemble'.
+
+2006-06-27  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_assemblyref): Escape name.
+       (get_moduleref): Likewise.
+       (get_module): Likewise.
+
+2006-06-02  Ankit Jain  <jankit@novell.com>
+
+       * get.c (dis_stringify_method_signature_full): Fix two memory leaks.
+
+2006-06-02  Ankit Jain  <jankit@novell.com>
+
+       * main.c (dis_method_list): Print only the method name in "{ // end
+       of.."
+
+2006-06-02  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_typedef): Return NULL for <Module> type.
+       (get_escaped_class_name): Likewise.
+       (dis_stringify_object_with_class): Likewise.
+
+       (dis_stringify_type): Return NULL if the type name is NULL.
+       (get_escaped_name): Don't try to escape a NULL name.
+
+       (get_fieldref_signature): Type name can be null.
+       (get_field): Likewise.
+       (get_method_core): Likewise.
+       (get_methoddef): Likewise.
+       
+       * main.c (dis_method_list): Print correct message for global methods.
+       (dis_globals): Don't print '<Module>' for global methods/fields.
+
+2006-06-01  Ankit Jain  <jankit@novell.com>
+
+       * declsec.c (dump_declsec_entry20): Fix a warning.
+
+2006-05-28  Zoltan Varga  <vargaz@gmail.com>
+
+       * declsec.c (dump_declsec_entry20): Fix a warning.
+
+2006-05-26  Ankit Jain  <jankit@novell.com>
+
+       Patch from Sebastien Pouliot.
+       * declsec.h: New. 
+       * declsec.c: New. Support for new declarative security attribute
+       metadata format (2.0)
+       * dump.c (dump_table_declsec): Support the new 2.0 format.
+       * main.c (dump_declarative_security): Support the new 2.0 format.
+       * Makefile.am : Add declsec.c & declsec.h .
+
+2006-05-15  Ankit Jain  <jankit@novell.com>
+
+       * dis-cil.c (disassemble_cil): Exception clauses can be unordered,
+       handle that.
+
+2006-05-11  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_custom_mod): Fix printing of custom modifiers.
+       (dis_stringify_type): Likewise.
+       (get_field_signature): Likewise.
+       (get_ret_type): Likewise.
+       (get_param): Likewise.
+
+2006-05-11  Ankit Jain  <jankit@novell.com>
+
+       * get.c (dis_stringify_method_signature): Rename to .. 
+       (dis_stringify_method_signature_full): .. this. Add 'with_marshal_info'
+       param.
+       * get.h (dis_stringify_method_signature_full): Add new function.
+       * main.c (dis_property_methods): Update to use
+       dis_stringify_method_signature_full.
+       (dis_event_methods): Likewise.
+
+2006-05-10  Ankit Jain  <jankit@novell.com>
+
+       * get.c (init_key_table): Add keyword 'switch'.
+
+2006-05-10  Ankit Jain  <jankit@novell.com>
+
+       * get.c (init_key_table): Add keyword 'property'.
+
+2006-03-15  Zoltan Varga  <vargaz@gmail.com>
+
+       * main.c (typedef_flags): Decode TYPE_ATTRIBUTE_FORWARDER.
+
+2006-02-21  Ankit Jain  <jankit@novell.com>
+
+       * get.c (can_print_generic_param_name): Rename to ..
+       (cant_print_generic_param_name): .. this, to match function name with behavior.
+
+2006-02-21  Ankit Jain  <jankit@novell.com>
+
+       * get.c (mono_generic_params_with_ambiguous_names): New.
+       (generic_containers): New. Hashtable of all generic containers that have
+       been checked for ambiguous params.
+       (check_ambiguous_genparams): New. Walk a MonoGenericContainer
+       and fill mono_generic_params_with_ambiguous_names table.
+       (can_print_generic_param_name): New. Check whether a MonoGenericParam has
+       ambiguous names.
+       (dis_stringify_type): Use new is_ambiguous_generic_param to determine
+       whether to print number or name for VAR/MVAR.
+
+2006-02-18  Raja R Harinath  <harinath@gmail.com>
+
+       * get.c (get_typespec): Don't use mono_type_create_from_typespec_full().
+       Use get_type() instead.
+       (get_type): Add 'is_def' parameter.
+       (get_field_signature, get_ret_type, get_param): Update.
+       * dump.c (dump_table_property): Likewise.
+       * get.h (get_type): Update prototype.
+
+2006-02-16  Raja R Harinath  <rharinath@novell.com>
+
+       * get.c (get_typespec): Pass MonoGenericContainer to
+       mono_type_create_from_typespec_full.
+       (get_type): Likewise.
+       * main.c (dis_code): Likewise.
+       (dis_property_signature): Likewise.
+
+2006-02-15  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_array_shape): Use mono_metadata_decode_signed_value to get
+       lower bounds.
+
+2006-02-09  Ankit Jain  <jankit@novell.com>
+
+       * get.c (stringify_array): New. Returns the stringified representation
+       of an array.
+       (dis_stringify_array): Use stringify_array.
+       (get_array_shape): Likewise. Also, allow lo_bounds to be signed.
+
+2006-02-03  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * get.c: Added #include <mono/utils/mono-compiler.h> so VS.NET
+       can compile monodis.
+
+2006-01-28  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_method_core): Emit generic arity for a MemberRef.
+       (get_method_override): Emit full sig only if its a generic type.
+
+2006-01-27  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_methodref_signature): Remove 'context' parameter.
+       Update call sites.
+       * get.h (get_methodref_signature): Update.
+       * dump.c (dump_table_memberref): Update.
+
+2006-01-26  Raja R Harinath  <harinath@gmail.com>
+
+       * get.c (stringify_double): Simplify, and avoid 'E' too.
+
+2006-01-26  Ankit Jain  <jankit@novell.com>
+
+       * get.c (stringify_double): Remove trailing '.' if it has 'e'.
+
+2006-01-25  Ankit Jain  <jankit@novell.com>
+
+       * get.c (stringify_double): New. Fix printing of float/doubles to enable
+       roundtripping.
+       * get.h (stringify_double): Add new function.
+       (get_constant): Use stringify_double.
+       * dis-cil.c (disassemble_cil): Likewise.
+       
+2006-01-25  Ankit Jain  <jankit@novell.com>
+           Raja R Harinath  <rharinath@novell.com>
+
+       * get.c (dis_stringify_type): For MVAR/VAR, print number if the generic param
+       is in the mono_generic_params_with_ambiguous_names table.
+
+2006-01-20  Raja R Harinath  <rharinath@novell.com>
+
+       * main.c (monodis_assembly_load_hook): New.
+       (monodis_assembly_search_hook): New.
+       (main): Install them as hooks into the assembly loading core.
+
+2006-01-19  Ankit Jain  <jankit@novell.com>
+
+       * main.c (dis_type): Dump custom attributes for a type before doing the same
+       for its type parameters.
+
+2006-01-18  Ankit Jain  <jankit@novell.com>
+
+       * main.c (typedef_flags): Change 'special-name' to 'specialname'.
+
+2006-01-17  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_method_override): Use '.override method' syntax if the class or
+       or the method itself is generic.
+       * main.c (dis_code): Emit '.override' only, 'method' gets handled by get_method_override.
+
+2006-01-17  Ankit Jain  <jankit@novell.com>
+
+       * get.c (init_key_table): Add keywords 'bestfit', 'charmaperror', 'off' & 'on'.
+
+2006-01-16  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_method_core): Handle a MemberRef with a TypeSpec parent.
+       Inflate MonoMethod after getting it from mono_get_method_full.
+
+2006-01-15  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_method_override): Get full signature of the method.
+       * main.c (dis_code): Emit ".override method" for full signature
+       of the method.
+
+2006-01-06  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_generic_param): Generic param attributes can be any combination
+       of .ctor, valuetype and class, emit correctly.
+
+2006-01-03  Ankit Jain  <jankit@novell.com>
+
+       * get.c (init_key_table): Add keywords uint8, uint16, uint32 and uint64.
+
+2005-12-24  Jb Evain  <jbevain@gmail.com>
+
+       * main.c (dis_property_signature): read the hasthis flag.
+
+2005-12-13  Zoltan Varga  <vargaz@gmail.com>
+
+       * get.c (get_constant): Use finite() instead of isnormal () since the
+       latter is not available on solaris.
+
+2005-11-23  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_methodspec): Use mono_get_method_full so as to handle
+       methodspecs that refer to generic methods in other assemblies.
+
+2005-11-23  Ankit Jain  <jankit@novell.com>
+
+       * dump.c (has_cattr_get_table): Handle GenericParam.
+       * get.c (dis_get_custom_attrs): Likewise.
+       * main.c (dump_cattrs_for_type_params): New. Dump custom attributes
+       for type parameters.
+       (dis_method_list): Call dump_cattrs_for_type_params.
+       (dis_type): Likewise.
+
+2005-11-17  Ankit Jain  <jankit@novell.com>
+
+       * get.c (dis_stringify_type): Escape generic type parameter names.
+
+2005-11-17  Ankit Jain  <jankit@novell.com>
+
+       * get.c (str_escape): New. Escape a given list of characters.
+         (get_escaped_name): Escape ' and \ using str_escape, and 
+       allow ` .
+
+2005-11-10  Ankit Jain  <jankit@novell.com>
+
+       * dump.c (dump_table_method): Load generic param constraints.
+       * get.c (dis_stringify_method_signature): Likewise.
+       * main.c (dis_method_list): Likewise.
+         (dis_type): Likewise.
+
+2005-11-10  Ankit Jain  <jankit@novell.com>
+
+       * get.c (init_key_table): Add keyword - uint.
+
+2005-11-08  Ankit Jain  <jankit@novell.com>
+
+       * dump.c (dump_table_method): Get the type/method context required for parsing
+         method signature and dis_stringify'ing it.
+
+2005-11-08  Ankit Jain  <jankit@novell.com>
+
+       * get.c (init_key_table): Add keywords - callconv and flags.
+
+2005-10-28  Ankit Jain  <jankit@novell.com>
+
+       * dis_stringify_method_signature: Add detail for 'returns:' in the comment.
+
+2005-10-28  Ankit Jain  <jankit@novell.com>
+
+       * tests: Add new directory for test cases.
+
+2005-10-28  Ankit Jain  <jankit@novell.com>
+
+       * get.c (dis_stringify_method_signature): Use context instead of container
+         as container can be NULL.
+
+2005-10-20  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_method_core): Use the parent context for get_methodspec
+         instead of the inflated method's context.
+         (get_methodspec): Get the context for the generic method.
+         Use parent_context for getting the method's type parameters. 
+
+2005-10-20  Ankit Jain  <jankit@novell.com>
+
+       * main.c (dis_method_list): Oops. Check method_context for null.
+
+2005-10-19  Ankit Jain  <jankit@novell.com>
+
+       * main.c (dis_method_list): Fix warning introduced by my last patch.
+
+2005-10-19  Ankit Jain  <jankit@novell.com>
+
+       * main.c (dis_method_list): Use 'method_context' instead of 'container' for 
+         mono_metadata_parse_method_signature_full.
+
+2005-10-02  Zoltan Varga  <vargaz@freemail.hu>
+
+       * get.h get.c main.c: Fix some warnings and bugs.
+
+2005-09-20  Ankit Jain  <jankit@novell.com>
+
+       * monodis.1: Update documentation for --output.
+
+2005-09-20  Ankit Jain  <jankit@novell.com>
+
+       * main.c (table_list): Add --mresources to the table.
+         (usage): Don't add "--mresources" explicitly for usage output.
+         (main): Remove explicit handling for --mresources.
+
+2005-09-20  Ankit Jain  <jankit@novell.com>
+
+       * main.c (main): Dump managed resources when --output is specified.
+
+2005-09-08  Ankit Jain  <jankit@novell.com>
+
+       * monodis.1: Document --customattr, --declsec, --forward-decls, --implmap,
+         --marshal, --methodimpl, --methodspec, --mresources, --nested, --standalonesig,
+         and --typespec.
+
+2005-09-08  Ankit Jain  <jankit@novell.com>
+
+       * main.c (dis_nt_header): New. Dump pe_stack_reserve if different from the
+         default value (0x100000).
+         (disassemble_file): Call dis_nt_header.
+
+2005-09-06  Ankit Jain  <jankit@novell.com>
+
+       * main.cs (dis_directive_assemblyref): Use the row id into the AssemblyRef
+         table instead of 1 for dump_cattrs.
+         Spotted by Harinath.
+
+2005-09-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       quick build fix.
+       * get.cs : (dis_get_custom_attrs) added assembly reference support.
+       * main.cs: (dis_directive_assemblyref) use MONO_TOKEN_ASSEMBLY_REF.
+
+2005-09-05  Ankit Jain  <jankit@novell.com>
+
+       * main.c (dis_directive_assemblyref): Dump custom attributes.
+
+2005-08-29  Ankit Jain  <jankit@novell.com>
+
+       * get.c (dis_stringify_marshal_spec): Add new case for MONO_NATIVE_CUSTOM.
+       
+2005-08-27  Ankit Jain  <jankit@novell.com>
+
+       * get.c (init_key_table): Add keywords - ldelem, stelem, stloc, stobj,
+         stsfld, sub, sub.ovf, sub.ovf.un, unbox to the table.
+
+2005-08-25  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_encoded_user_string_or_bytearray): Add len param.
+         (get_constant): Pass len param to get_encoded_user_string_or_bytearray.
+       * dis-cil.c (dissasemble_cil): Calculate len of the userstring and pass to
+         get_encoded_user_string_or_bytearray.
+       * get.h (get_encoded_user_string_or_bytearray): Add len param.
+
+2005-08-23  Ankit Jain  <jankit@novell.com>
+
+       Fix #75186.
+       * get.c (get_ret_type): Use '&' instead of '[out]' for return type.
+
+2005-08-23  Ankit Jain  <jankit@novell.com>
+
+       * get.c (get_encoded_user_string_or_bytearray): New. Print a string if possible
+         or else a bytearray from the US heap.
+         (get_encoded_user_string_bytearray): New. Print a bytearray from the US heap.
+         (get_constant): Use get_encoded_user_string_or_bytearray for MONO_TYPE_STRING.
+       * get.h (get_encoded_user_string_or_bytearray): Add the new function. 
+       * dis-cil.c (get_encoded_user_string): Move to get.c .
+         (disassemble_cil): Use get_encoded_user_string_or_bytearray instead of 
+         get_encoded_user_string.
+
+2005-08-20  Ankit Jain  <jankit@novell.com>
+
+       * dis-cil.c (dissasemble_cil): Specify precision to enable
+         roundtripping of floats.
+       * get.c (get_constant): Likewise.  
+
+2005-08-13  Jb Evain  <jbevain@gmail.com>
+
+       * get.c (get_token): handle the case when
+         the token is a member ref pointing to a method.
+
+2005-08-12  Ankit Jain  <jankit@novell.com>
+
+       * get.c (init_key_table): Add "xor" to the table.
+
+2005-08-12  Jb Evain  <jbevain@gmail.com>
+
+       * get.c (dis_stringify_method_signature): handle case when a method
+         has parameters but no corresponding Param row.
+         Patch forged with Ankit.
+
+2005-08-12  Ankit Jain <jankit@novell.com>
+
+       * get.c (dis_stringify_variant_type): New. Stringify MonoMarshalVariant.
+         (dis_stringify_marshal_spec): Add new case for MONO_NATIVE_SAFEARRAY. 
+
+2005-08-11  Ankit Jain <jankit@novell.com>
+
+       * get.c (element_type_map): Use "typedref" instead of "TypedByRef" for
+         MONO_TYPE_TYPEDBYREF.
+         (get_ret_type): Use "typedref" instead of "typedbyref".
+         (get_param): Likewise.
+         
+Wed Aug 10 17:15:52 CEST 2005 Paolo Molaro <lupus@ximian.com>
+
+       * dump.c: dump the marshal signature blob on --marshal.
+
+2005-08-04  Ankit Jain <jankit@novell.com>
+
+       * main.c (dis_directive_moduleref): Always escape module ref names.
+
+2005-08-03  Ankit Jain <jankit@novell.com>
+
+       * main.c (call_conv_map): Oops. Add a sentinel entry (-1, NULL).
+
+2005-08-03  Ankit Jain <jankit@novell.com>
+
+       * main.c (call_conv_map): Map call conv value of 0 to "".
+
+2005-08-02  Ankit Jain <jankit@novell.com>
+
+       * main.c (dis_directive_moduleref): Escape module ref names.
+
+2005-08-01  Ankit Jain <jankit@novell.com>
+
+       * get.c (field_flags_map): Use C comments instead of C#.
+
+2005-08-01  Ankit Jain <jankit@novell.com>
+
+       * get.c (dis_stringify_marshal_spec): Include "marshal (..)" as part of the
+         returned string. And fix memory leak.
+         (dis_stringify_method_signature): Fix usage of dis_stringify_marshal_spec
+         accordingly.
+       * main.c (dis_field_list): Fix usage of dis_stringify_marshal_spec. Cleanup
+         output of spaces.
+
+2005-08-01  Ankit Jain <jankit@novell.com>
+
+       * get.c (dis_stringify_marshal_spec): Make it non-static.
+       * main.c (dis_field_list): Print marshal info for fields.
+       
+2005-07-29  Ankit Jain <jankit@novell.com>
+
+       * get.c (get_constant): Fix printing of some constant types and make it consistent.
+
+2005-07-28  Ankit Jain <jankit@novell.com>
+
+       * get.c (dis_stringify_method_signature): Fix handling of marshal info for
+         method params. Also, handle possible gaps in the PARAM table.
+
+2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
+
+       * main.c: Fix noinline->noinlining.
+
+2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * monodis.vcproj: Project file for monodis.
+
+2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
+
+       * main.c: Respect MONO_PATH when loading assemblies.
+
 2005-04-23  Ankit Jain  <ankit@corewars.org>
 
        * get.c : Revert Atsushi's earlier patch. Its already been fixed with r43342.