+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.