+
+Wed Feb 24 15:47:16 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * confiure.in, data/mono-2.pc.in, data/Makefile.am,
+ samples/embed/*: increase the API version.
+
+2010-02-18 Marek Habersack <mhabersack@novell.com>
+
+ * scripts/mono-configuration-crypto.in: added
+
+ * scripts/Makefile.am: added mono-configuration-crypto targets
+
+2010-01-27 Zoltan Varga <vargaz@gmail.com>
+
+ * configure.in: Fix the setting of LLVM_CXXFLAGS.
+
+2010-01-22 Andrés G. Aragoneses <knocte@gmail.com>
+
+ * configure.in: Improve r150055 by checking for CXX=g++ as well, according to
+ http://lists.gnu.org/archive/html/bug-autoconf/2002-04/msg00077.html
+
+2010-01-22 Zoltan Varga <vargaz@gmail.com>
+
+ * configure.in: Disable the solaris tar check on !solaris platforms.
+
+2010-01-22 Zoltan Varga <vargaz@gmail.com>
+
+ * configure.in: Check whenever g++ is installed, since libtool requires it
+ even if no c++ files will be compiled.
+ See BNC#572871.
+
+2010-01-22 Zoltan Varga <vargaz@gmail.com>
+
+ * configure.in: Add -fno-rrti to CXXFLAGS.
+
+2010-01-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * configure.in: Add support for disabling mdb support.
+
2010-01-15 Zoltan Varga <vargaz@gmail.com>
* configure.in: Don't define TARGET_WIN32 when --target is used.
DIST_SUBDIRS = po libgc $(eglib_dir) mono ikvm-native support data runtime scripts man samples web tools msvc docs
endif
-EXTRA_DIST= nls.m4 po.m4 progtest.m4 mono-uninstalled.pc.in build-mingw32.sh LICENSE mkinstalldirs
+EXTRA_DIST= nls.m4 po.m4 progtest.m4 mono-uninstalled.pc.in build-mingw32.sh LICENSE mkinstalldirs autogen.sh
DISTCHECK_CONFIGURE_FLAGS = EXTERNAL_MCS=false EXTERNAL_RUNTIME=false
AM_INIT_AUTOMAKE(mono,2.7)
AM_MAINTAINER_MODE
-API_VER=1.0
+API_VER=2.0
AC_SUBST(API_VER)
AC_PROG_LN_S
with_tls=pthread
has_dtrace=yes
use_sigposix=yes
+ enable_solaris_tar_check=yes
;;
*-*-darwin*)
parallel_mark="Disabled_Currently_Hangs_On_MacOSX"
AC_CHECK_TOOL(CC, gcc, gcc)
AC_PROG_CC
+AC_CHECK_TOOL(CXX, g++, g++)
AC_PROG_CXX
AM_PROG_AS
AM_PROG_CC_STDC
AC_SUBST(CCAS)
AC_SUBST(CCASFLAGS)
+# AC_PROG_CXX helpfully sets CXX to g++ even if no c++ compiler is found so check
+# GXX instead. See http://lists.gnu.org/archive/html/bug-autoconf/2002-04/msg00056.html
+if test "x$CXX" = "xg++"; then
+ if test "x$GXX" != "xyes"; then
+ # automake/libtool is so broken, it requires g++ even if the c++ sources
+ # are inside automake conditionals
+ AC_MSG_ERROR([You need to install g++])
+ fi
+fi
+
AC_CHECK_PROG(BISON, bison,yes,no)
if test "x$BISON" = "xno";
then
[ --disable-solaris-tar-check disable solaris tar check],
do_solaris_tar_check=no, do_solaris_tar_check=yes)
-if test x"$do_solaris_tar_check" = xyes; then
+if test x"$do_solaris_tar_check" = xyes -a x"$enable_solaris_tar_check" = xyes; then
AC_MSG_CHECKING(integrity of package)
if test -f $srcdir/$mcsdir/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap/SoapTypeMapper.cs
then
# The output of --cflags seems to include optimizations flags too
LLVM_CFLAGS=`$LLVM_CONFIG --cflags | sed -e 's/-O2//g' | sed -e 's/-O0//g' | sed -e 's/-fomit-frame-pointer//g' | sed -e 's/-fPIC//g'`
- LLVM_CXXFLAGS=`$LLVM_CONFIG --cxxflags`
+ # LLVM is compiled with -fno-rtti, so we need this too, since our classes inherit
+ # from LLVM classes.
+ LLVM_CXXFLAGS="`$LLVM_CONFIG --cxxflags` -fno-rtti"
LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
LLVM_LIBS=`$LLVM_CONFIG --libs core bitwriter jit x86codegen`
LLVM_LIBS="$LLVM_LDFLAGS $LLVM_LIBS -lstdc++"
fi
mono_debugger_supported=no
-if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86" -o "x$TARGET" = "xALPHA"; then
- if test x$use_included_gc = xyes; then
- case "$host" in
- *-*-*linux*)
- mono_debugger_supported=yes
- ;;
- *86-apple-darwin*)
- mono_debugger_supported=yes
- ;;
- esac
+AC_ARG_ENABLE(mono-debugger, [ --disable-mono-debugger disable support for the mdb debugger], try_mono_debugger=$enableval, try_mono_debugger=yes)
+if test "x$try_mono_debugger" = "xyes"; then
+ if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86" -o "x$TARGET" = "xALPHA"; then
+ if test x$use_included_gc = xyes; then
+ case "$host" in
+ *-*-*linux*)
+ mono_debugger_supported=yes
+ ;;
+ *86-apple-darwin*)
+ mono_debugger_supported=yes
+ ;;
+ esac
+ fi
fi
fi
data/net_4_0/Makefile
data/net_2_0/Browsers/Makefile
data/mint.pc
-data/mono.pc
+data/mono-2.pc
data/mono-cairo.pc
data/mono-nunit.pc
data/mono-options.pc
EXTRA_DIST = \
config.in \
- browscap.ini mono.supp mono.d README \
- mono.pc.in mint.pc.in dotnet.pc.in dotnet35.pc.in wcf.pc.in monodoc.pc.in \
+ browscap.ini mono.supp mono.d README ChangeLog \
+ mono-2.pc.in mint.pc.in dotnet.pc.in dotnet35.pc.in wcf.pc.in monodoc.pc.in \
mono-nunit.pc.in mono-cairo.pc.in mono-options.pc.in cecil.pc.in \
mono-lineeditor.pc.in system.web.extensions_1.0.pc.in system.web.extensions.design_1.0.pc.in\
dtrace-prelink.sh mono.web.pc.in system.web.mvc.pc.in \
net_1_1/machine.config \
- gdb/mono-gdb.py
+ gdb/mono-gdb.py \
+ gdb/gdb-python.diff
pkgconfigdir = $(libdir)/pkgconfig
if JIT_SUPPORTED
if INTERP_SUPPORTED
-pkgconfig_DATA= mono.pc mint.pc dotnet.pc dotnet35.pc wcf.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc system.web.extensions_1.0.pc \
+pkgconfig_DATA= mono-2.pc mint.pc dotnet.pc dotnet35.pc wcf.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc system.web.extensions_1.0.pc \
system.web.extensions.design_1.0.pc mono.web.pc system.web.mvc.pc
else
-pkgconfig_DATA= mono.pc dotnet.pc dotnet35.pc wcf.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc system.web.extensions_1.0.pc \
+pkgconfig_DATA= mono-2.pc dotnet.pc dotnet35.pc wcf.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc system.web.extensions_1.0.pc \
system.web.extensions.design_1.0.pc mono.web.pc system.web.mvc.pc
endif
else
pkgconfig_DATA= mint.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc
endif
-DISTCLEANFILES= mono.pc mint.pc dotnet.pc dotnet35.pc wcf.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc system.web.extensions_1.0.pc \
+DISTCLEANFILES= mono-2.pc mint.pc dotnet.pc dotnet35.pc wcf.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc system.web.extensions_1.0.pc \
system.web.extensions.design_1.0.pc mono.web.pc system.web.mvc.pc
mono_DATA = config \
--- /dev/null
+prefix=${pcfiledir}/../..
+exec_prefix=${pcfiledir}/../..
+libdir=${prefix}/@reloc_libdir@
+includedir=${prefix}/include/mono-@API_VER@
+sysconfdir=@sysconfdir@
+
+Name: Mono
+Description: Mono Runtime
+Version: @VERSION@
+Requires: glib-2.0 gthread-2.0
+Libs: -L${libdir} @export_ldflags@ -lmono-@API_VER@ @libmono_ldflags@
+Cflags: -I${includedir} @libmono_cflags@
+++ /dev/null
-prefix=${pcfiledir}/../..
-exec_prefix=${pcfiledir}/../..
-libdir=${prefix}/@reloc_libdir@
-includedir=${prefix}/include/mono-@API_VER@
-sysconfdir=@sysconfdir@
-
-Name: Mono
-Description: Mono Runtime
-Version: @VERSION@
-Requires: glib-2.0 gthread-2.0
-Libs: -L${libdir} @export_ldflags@ -lmono @libmono_ldflags@
-Cflags: -I${includedir} @libmono_cflags@
<map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
<!-- Silverlight 2.0 key -->
<map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- XNA Framework key -->
+ <map Token="6d5c3888ef60e27d" PublicKey="0024000004800000940000000602000000240000525341310004000001000100f9a2641bac9847900d92a33d652ccc4e8b529360f908e7af53e57008b2a9a1938c32a160d47f795a23590557608d2c8d0c0e8846a052d070f9298281b8185343dbe5b479bd52de256f73c2a943e1a8a42065b5c918622dc14b1c0151dbd94d9a4543e7cd03e536b1b1d2d6d99af535d227ab9bdac76af9312a21d457bdf817e6" />
</pubTokenMapping>
</strongNames>
</configuration>
<map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
<!-- Silverlight 2.0 key -->
<map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- XNA Framework key -->
+ <map Token="6d5c3888ef60e27d" PublicKey="0024000004800000940000000602000000240000525341310004000001000100f9a2641bac9847900d92a33d652ccc4e8b529360f908e7af53e57008b2a9a1938c32a160d47f795a23590557608d2c8d0c0e8846a052d070f9298281b8185343dbe5b479bd52de256f73c2a943e1a8a42065b5c918622dc14b1c0151dbd94d9a4543e7cd03e536b1b1d2d6d99af535d227ab9bdac76af9312a21d457bdf817e6" />
</pubTokenMapping>
</strongNames>
<map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
<!-- Silverlight 2.0 key -->
<map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
+ <!-- XNA Framework key -->
+ <map Token="6d5c3888ef60e27d" PublicKey="0024000004800000940000000602000000240000525341310004000001000100f9a2641bac9847900d92a33d652ccc4e8b529360f908e7af53e57008b2a9a1938c32a160d47f795a23590557608d2c8d0c0e8846a052d070f9298281b8185343dbe5b479bd52de256f73c2a943e1a8a42065b5c918622dc14b1c0151dbd94d9a4543e7cd03e536b1b1d2d6d99af535d227ab9bdac76af9312a21d457bdf817e6" />
</pubTokenMapping>
</strongNames>
<compilation debug="false" defaultLanguage="c#" explicit="true" strict="false" >
<assemblies>
<!--<add assembly="mscorlib" /> -->
+ <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"/>
- <add assembly="System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"/>
- <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+ <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <add assembly="System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <!-- <add assembly="System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> -->
+ <add assembly="System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <!-- <add assembly="System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
+ <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <!-- <add assembly="System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.ServiceModel.Channels, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
<add assembly="System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
- <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <!-- <add assembly="System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.WorkflowServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <!-- <add assembly="System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> -->
+ <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
+ <!-- <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
+ <!-- <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> -->
+ <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <!-- <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> -->
+ <!-- <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> -->
<add assembly="*" /> <!-- Add assemblies in bin directory -->
</assemblies>
<expressionBuilders>
-mono_check_corlib_version
-mono_domain_has_type_resolve
-mono_domain_is_unloading
-mono_domain_owns_vtable_slot
-mono_domain_set
-mono_domain_try_type_resolve
-mono_install_runtime_cleanup
-mono_runtime_cleanup
-mono_runtime_init
-mono_runtime_is_shutting_down
-mono_runtime_quit
-mono_assemblies_cleanup
-mono_assembly_addref
-mono_assembly_close
-mono_assembly_get_image
-mono_assembly_get_main
-mono_assembly_getrootdir
-mono_assembly_load
-mono_assembly_loaded
-mono_assembly_loaded_full
-mono_assembly_load_from
-mono_assembly_load_full
-mono_assembly_name_free
-mono_assembly_name_parse
-mono_assembly_names_equal
-mono_assembly_open
-mono_install_assembly_load_hook
-mono_install_assembly_postload_refonly_search_hook
-mono_install_assembly_postload_search_hook
-mono_install_assembly_preload_hook
-mono_install_assembly_refonly_preload_hook
-mono_install_assembly_refonly_search_hook
-mono_install_assembly_search_hook
-mono_register_bundled_assemblies
-mono_set_dirs
-mono_stringify_assembly_name
-mono_gc_alloc_fixed
-mono_gc_base_init
-mono_gc_collect
-mono_gc_disable
-mono_gc_enable
-mono_gc_enable_events
-mono_gc_free_fixed
-mono_gc_get_heap_size
-mono_gc_get_used_size
-mono_gc_invoke_finalizers
-mono_gc_is_gc_thread
-mono_gc_make_descr_from_bitmap
-mono_gc_max_generation
-mono_gc_pending_finalizers
-mono_gc_register_thread
-mono_gc_wbarrier_arrayref_copy
-mono_gc_wbarrier_generic_store
-mono_gc_wbarrier_set_arrayref
-mono_gc_wbarrier_set_field
-mono_gc_wbarrier_value_copy
-mono_gc_weak_link_add
-mono_gc_weak_link_get
-mono_gc_weak_link_remove
-mono_object_is_alive
-mono_array_class_get
-mono_array_element_size
-mono_bounded_array_class_get
-mono_class_array_element_size
-mono_class_data_size
-mono_class_enum_basetype
-mono_classes_cleanup
-mono_class_from_generic_parameter
-mono_class_from_mono_type
-mono_class_from_name
-mono_class_from_name_case
-mono_class_from_typeref
-mono_class_get
-mono_class_get_byref_type
-mono_class_get_cctor
-mono_class_get_element_class
-mono_class_get_events
-mono_class_get_event_token
-mono_class_get_exception_for_failure
-mono_class_get_field
-mono_class_get_field_from_name
-mono_class_get_fields
-mono_class_get_field_token
-mono_class_get_finalizer
-mono_class_get_flags
-mono_class_get_full
-mono_class_get_image
-mono_class_get_implemented_interfaces
-mono_class_get_interfaces
-mono_class_get_method_from_name
-mono_class_get_method_from_name_flags
-mono_class_get_methods
-mono_class_get_name
-mono_class_get_namespace
-mono_class_get_nested_types
-mono_class_get_nesting_type
-mono_class_get_nullable_param
-mono_class_get_parent
-mono_class_get_properties
-mono_class_get_property_from_name
-mono_class_get_property_token
-mono_class_get_rank
-mono_class_get_type
-mono_class_get_type_token
-mono_class_inflate_generic_method
-mono_class_inflate_generic_type
-mono_class_init
-mono_class_instance_size
-mono_class_is_assignable_from
-mono_class_is_enum
-mono_class_is_nullable
-mono_class_is_open_constructed_type
-mono_class_is_subclass_of
-mono_class_is_valuetype
-mono_class_layout_fields
-mono_class_min_align
-mono_class_name_from_token
-mono_class_needs_cctor_run
-mono_class_num_events
-mono_class_num_fields
-mono_class_num_methods
-mono_class_num_properties
-mono_class_set_failure
-mono_class_setup_methods
-mono_class_setup_mono_type
-mono_class_setup_parent
-mono_class_setup_supertypes
-mono_class_setup_vtable
-mono_class_setup_vtable_general
-mono_class_value_size
-mono_dup_array_type
-mono_event_get_add_method
-mono_event_get_flags
-mono_event_get_name
-mono_event_get_parent
-mono_event_get_raise_method
-mono_event_get_remove_method
-mono_field_get_data
-mono_field_get_flags
-mono_field_get_name
-mono_field_get_parent
-mono_field_get_type
-mono_get_inflated_generic_class
-mono_get_shared_generic_inst
-mono_image_add_to_name_cache
-mono_install_get_class_from_name
-mono_install_lookup_dynamic_token
-mono_ldtoken
-mono_lookup_dynamic_token
-mono_lookup_dynamic_token_class
-mono_property_get_flags
-mono_property_get_get_method
-mono_property_get_name
-mono_property_get_parent
-mono_property_get_set_method
-mono_ptr_class_get
-mono_type_get_full_name
-mono_type_get_name
-mono_type_get_name_full
-mono_type_get_underlying_type
-mono_class_describe_statics
-mono_disasm_code
-mono_disasm_code_one
-mono_method_desc_free
-mono_method_desc_from_method
-mono_method_desc_full_match
-mono_method_desc_match
-mono_method_desc_new
-mono_method_desc_search_in_class
-mono_method_desc_search_in_image
-mono_method_full_name
-mono_object_describe
-mono_object_describe_fields
-mono_signature_get_desc
-mono_type_full_name
-mono_type_get_desc
-mono_value_describe_fields
-_mono_debug_address_from_il_offset
-mono_debug_close_mono_symbol_file
-mono_debug_open_mono_symbols
-mono_debug_symfile_lookup_location
-mono_debug_symfile_lookup_method
-mono_decimal2double
-mono_decimal2Int64
-mono_decimal2string
-mono_decimal2UInt64
-mono_decimalCompare
-mono_decimalDiv
-mono_decimalFloorAndTrunc
-mono_decimalIncr
-mono_decimalIntDiv
-mono_decimalMult
-mono_decimalRound
-mono_decimalSetExponent
-mono_double2decimal
-mono_string2decimal
-mono_cleanup
-mono_context_get
-mono_context_set
-mono_debugger_check_runtime_version
-mono_domain_assembly_open
-mono_domain_create
-mono_domain_foreach
-mono_domain_free
-mono_domain_get
-mono_domain_get_by_id
-mono_domain_get_id
-mono_domain_get_tls_key
-mono_domain_set_internal
-mono_get_array_class
-mono_get_boolean_class
-mono_get_byte_class
-mono_get_char_class
-mono_get_corlib
-mono_get_double_class
-mono_get_enum_class
-mono_get_exception_class
-mono_get_int16_class
-mono_get_int32_class
-mono_get_int64_class
-mono_get_intptr_class
-mono_get_object_class
-mono_get_root_domain
-mono_get_sbyte_class
-mono_get_single_class
-mono_get_string_class
-mono_get_thread_class
-mono_get_uint16_class
-mono_get_uint32_class
-mono_get_uint64_class
-mono_get_uintptr_class
-mono_get_void_class
-mono_init
-mono_init_from_assembly
-mono_init_version
-mono_jit_info_get_code_size
-mono_jit_info_get_code_start
-mono_jit_info_get_method
-mono_jit_info_table_find
-mono_string_equal
-mono_string_hash
-mono_environment_exitcode_get
-mono_environment_exitcode_set
-mono_exception_from_name
-mono_exception_from_name_domain
-mono_exception_from_name_msg
-mono_exception_from_name_two_strings
-mono_exception_from_token
-mono_get_exception_appdomain_unloaded
-mono_get_exception_argument
-mono_get_exception_argument_null
-mono_get_exception_argument_out_of_range
-mono_get_exception_arithmetic
-mono_get_exception_array_type_mismatch
-mono_get_exception_bad_image_format
-mono_get_exception_cannot_unload_appdomain
-mono_get_exception_divide_by_zero
-mono_get_exception_execution_engine
-mono_get_exception_file_not_found
-mono_get_exception_file_not_found2
-mono_get_exception_index_out_of_range
-mono_get_exception_invalid_cast
-mono_get_exception_invalid_operation
-mono_get_exception_io
-mono_get_exception_missing_field
-mono_get_exception_missing_method
-mono_get_exception_not_implemented
-mono_get_exception_not_supported
-mono_get_exception_null_reference
-mono_get_exception_overflow
-mono_get_exception_reflection_type_load
-mono_get_exception_security
-mono_get_exception_serialization
-mono_get_exception_stack_overflow
-mono_get_exception_synchronization_lock
-mono_get_exception_thread_abort
-mono_get_exception_thread_state
-mono_get_exception_type_initialization
-mono_get_exception_type_load
-mono_domain_finalize
-mono_gc_finalize_notify
-mono_gchandle_free
-mono_gchandle_free_domain
-mono_gchandle_get_target
-mono_gchandle_is_in_domain
-mono_gchandle_new
-mono_gchandle_new_weakref
-mono_gc_is_finalizer_thread
-mono_gc_out_of_memory
-mono_object_register_finalizer
-mono_add_internal_call
-mono_create_icall_signature
-mono_lookup_internal_call
-mono_cli_rva_image_map
-mono_image_addref
-mono_image_close
-mono_image_ensure_section
-mono_image_ensure_section_idx
-mono_image_get_assembly
-mono_image_get_entry_point
-mono_image_get_filename
-mono_image_get_guid
-mono_image_get_name
-mono_image_get_public_key
-mono_image_get_resource
-mono_image_get_strong_name
-mono_image_get_table_info
-mono_image_get_table_rows
-mono_image_has_authenticode_entry
-mono_image_is_dynamic
-mono_image_loaded
-mono_image_loaded_by_guid
-mono_image_loaded_by_guid_full
-mono_image_loaded_full
-mono_image_load_file_for_image
-mono_image_lookup_resource
-mono_image_open
-mono_image_open_from_data
-mono_image_open_from_data_full
-mono_image_open_full
-mono_image_rva_map
-mono_images_cleanup
-mono_image_strerror
-mono_image_strong_name_position
-mono_pe_file_open
-mono_table_info_get_rows
-mono_dllmap_insert
-mono_field_from_token
-mono_free_method
-mono_get_method
-mono_get_method_full
-mono_get_shared_generic_method
-mono_install_stack_walk
-mono_loader_cleanup
-mono_loader_clear_error
-mono_loader_error_prepare_exception
-mono_loader_get_last_error
-mono_loader_lock
-mono_loader_set_error_assembly_load
-mono_loader_set_error_field_load
-mono_loader_set_error_method_load
-mono_loader_set_error_type_load
-mono_loader_unlock
-mono_lookup_pinvoke_call
-mono_method_get_class
-mono_method_get_flags
-mono_method_get_header
-mono_method_get_index
-mono_method_get_last_managed
-mono_method_get_marshal_info
-mono_method_get_name
-mono_method_get_param_names
-mono_method_get_param_token
-mono_method_get_signature
-mono_method_get_signature_full
-mono_method_get_token
-mono_method_get_wrapper_data
-mono_method_has_marshal_info
-mono_method_signature
-mono_stack_walk
-mono_stack_walk_no_il
-load_normalization_resource
-mono_array_to_lparray
-mono_array_to_savearray
-mono_class_native_size
-mono_delegate_free_ftnptr
-mono_delegate_to_ftnptr
-mono_ftnptr_to_delegate
-mono_marshal_alloc
-mono_marshal_asany
-mono_marshal_cleanup
-mono_marshal_free
-mono_marshal_free_array
-mono_marshal_free_asany
-mono_marshal_get_castclass
-mono_marshal_get_delegate_begin_invoke
-mono_marshal_get_delegate_end_invoke
-mono_marshal_get_delegate_invoke
-mono_marshal_get_generic_array_helper
-mono_marshal_get_icall_wrapper
-mono_marshal_get_isinst
-mono_marshal_get_ldfld_remote_wrapper
-mono_marshal_get_ldfld_wrapper
-mono_marshal_get_managed_wrapper
-mono_marshal_get_native_func_wrapper
-mono_marshal_get_native_wrapper
-mono_marshal_get_proxy_cancast
-mono_marshal_get_ptr_to_struct
-mono_marshal_get_remoting_invoke
-mono_marshal_get_remoting_invoke_for_target
-mono_marshal_get_remoting_invoke_with_check
-mono_marshal_get_runtime_invoke
-mono_marshal_get_stelemref
-mono_marshal_get_stfld_remote_wrapper
-mono_marshal_get_stfld_wrapper
-mono_marshal_get_struct_to_ptr
-mono_marshal_get_synchronized_wrapper
-mono_marshal_get_unbox_wrapper
-mono_marshal_get_write_barrier
-mono_marshal_get_xappdomain_invoke
-mono_marshal_load_type_info
-mono_marshal_method_from_wrapper
-mono_marshal_realloc
-mono_marshal_set_last_error
-mono_marshal_string_to_utf16
-mono_marshal_type_size
-mono_mb_add_data
-mono_mb_add_local
-mono_mb_create_method
-mono_mb_emit_add_to_local
-mono_mb_emit_branch
-mono_mb_emit_byte
-mono_mb_emit_exception
-mono_mb_emit_i2
-mono_mb_emit_i4
-mono_mb_emit_icon
-mono_mb_emit_ldarg
-mono_mb_emit_ldarg_addr
-mono_mb_emit_ldflda
-mono_mb_emit_ldloc
-mono_mb_emit_ldloc_addr
-mono_mb_emit_ldstr
-mono_mb_emit_managed_call
-mono_mb_emit_native_call
-mono_mb_emit_short_branch
-mono_mb_emit_stloc
-mono_mb_free
-mono_mb_new
-mono_mb_patch_addr
-mono_mb_patch_addr_s
-mono_string_builder_to_utf16
-mono_string_builder_to_utf8
-mono_string_to_ansibstr
-mono_string_to_bstr
-mono_string_to_byvalstr
-mono_string_to_byvalwstr
-mono_string_utf16_to_builder
-mono_string_utf8_to_builder
-mono_type_native_stack_size
-mono_type_to_ldind
-mono_type_to_stind
-mono_upgrade_remote_class_wrapper
-mono_mempool_alloc
-mono_mempool_alloc0
-mono_mempool_contains_addr
-mono_mempool_destroy
-mono_mempool_empty
-mono_mempool_get_allocated
-mono_mempool_invalidate
-mono_mempool_new
-mono_mempool_stats
-mono_mempool_strdup
-mono_guid_to_string
-mono_metadata_blob_heap
-mono_metadata_cleanup
-mono_metadata_compute_size
-mono_metadata_custom_attrs_from_index
-mono_metadata_declsec_from_index
-mono_metadata_decode_blob_size
-mono_metadata_decode_row
-mono_metadata_decode_row_col
-mono_metadata_decode_signed_value
-mono_metadata_decode_table_row
-mono_metadata_decode_table_row_col
-mono_metadata_decode_value
-mono_metadata_encode_value
-mono_metadata_events_from_typedef
-mono_metadata_field_info
-mono_metadata_free_array
-mono_metadata_free_marshal_spec
-mono_metadata_free_method_signature
-mono_metadata_free_mh
-mono_metadata_free_type
-mono_metadata_generic_class_is_valuetype
-mono_metadata_generic_method_equal
-mono_metadata_get_constant_index
-mono_metadata_get_marshal_info
-mono_metadata_guid_heap
-mono_metadata_has_generic_params
-mono_metadata_implmap_from_method
-mono_metadata_inflate_generic_inst
-mono_metadata_interfaces_from_typedef
-mono_metadata_interfaces_from_typedef_full
-mono_metadata_load_generic_params
-mono_metadata_locate
-mono_metadata_locate_token
-mono_metadata_methods_from_event
-mono_metadata_methods_from_property
-mono_metadata_nested_in_typedef
-mono_metadata_nesting_typedef
-mono_metadata_packing_from_typedef
-mono_metadata_parse_array
-mono_metadata_parse_array_full
-mono_metadata_parse_custom_mod
-mono_metadata_parse_field_type
-mono_metadata_parse_generic_inst
-mono_metadata_parse_marshal_spec
-mono_metadata_parse_method_signature
-mono_metadata_parse_method_signature_full
-mono_metadata_parse_mh
-mono_metadata_parse_mh_full
-mono_metadata_parse_param
-mono_metadata_parse_signature
-mono_metadata_parse_signature_full
-mono_metadata_parse_type
-mono_metadata_parse_typedef_or_ref
-mono_metadata_parse_type_full
-mono_metadata_properties_from_typedef
-mono_metadata_signature_alloc
-mono_metadata_signature_dup
-mono_metadata_signature_equal
-mono_metadata_string_heap
-mono_metadata_token_from_dor
-mono_metadata_translate_token_index
-mono_metadata_typedef_from_field
-mono_metadata_typedef_from_method
-mono_metadata_type_equal
-mono_metadata_type_hash
-mono_metadata_user_string
-mono_method_header_get_clauses
-mono_method_header_get_code
-mono_method_header_get_locals
-mono_method_header_get_num_clauses
-mono_signature_explicit_this
-mono_signature_get_call_conv
-mono_signature_get_param_count
-mono_signature_get_params
-mono_signature_get_return_type
-mono_signature_hash
-mono_signature_is_instance
-mono_signature_vararg_start
-mono_type_create_from_typespec
-mono_type_generic_inst_is_valuetype
-mono_type_get_array_type
-mono_type_get_class
-mono_type_get_modifiers
-mono_type_get_ptr_type
-mono_type_get_signature
-mono_type_get_type
-mono_type_is_byref
-mono_type_size
-mono_type_stack_size
-mono_type_to_unmanaged
-mono_monitor_cleanup
-mono_monitor_enter
-mono_monitor_exit
-mono_monitor_try_enter
-mono_config_for_assembly
-mono_config_parse
-mono_config_parse_memory
-mono_get_config_dir
-mono_debugger_add_symbol_file
-mono_debugger_breakpoint_callback
-mono_debugger_event
-mono_debugger_handle_exception
-mono_debugger_insert_breakpoint
-mono_debugger_insert_breakpoint_full
-mono_debugger_lock
-mono_debugger_lookup_assembly
-mono_debugger_lookup_type
-mono_debugger_method_has_breakpoint
-mono_debugger_remove_breakpoint
-mono_debugger_runtime_invoke
-mono_debugger_start_add_type
-mono_debugger_throw_exception
-mono_debugger_unhandled_exception
-mono_debugger_unlock
-mono_debug_add_method
-mono_debug_find_method
-mono_debug_free_source_location
-mono_debug_lookup_method
-mono_debug_lookup_source_location
-mono_debug_print_stack_frame
-mono_debug_using_mono_debugger
-mono_array_clone
-mono_array_clone_in_domain
-mono_array_full_copy
-mono_array_new
-mono_array_new_full
-mono_array_new_specific
-mono_async_result_new
-mono_class_get_allocation_ftn
-mono_class_vtable
-mono_compile_method
-mono_delegate_ctor
-mono_field_get_value
-mono_field_get_value_object
-mono_field_set_value
-mono_field_static_get_value
-mono_field_static_set_value
-mono_get_addr_from_ftnptr
-mono_get_constant_value_from_blob
-mono_get_delegate_invoke
-mono_install_compile_method
-mono_install_delegate_trampoline
-mono_install_free_method
-mono_install_handler
-mono_install_remoting_trampoline
-mono_install_runtime_invoke
-mono_install_trampoline
-mono_ldstr
-mono_load_remote_field
-mono_load_remote_field_new
-mono_message_init
-mono_message_invoke
-mono_method_call_message_new
-mono_method_return_message_restore
-mono_nullable_box
-mono_nullable_init
-mono_object_castclass_mbyref
-mono_object_clone
-mono_object_get_class
-mono_object_get_domain
-mono_object_get_size
-mono_object_get_virtual_method
-mono_object_isinst
-mono_object_isinst_mbyref
-mono_object_new
-mono_object_new_alloc_specific
-mono_object_new_fast
-mono_object_new_from_token
-mono_object_new_specific
-mono_object_unbox
-mono_print_unhandled_exception
-mono_property_get_value
-mono_property_set_value
-mono_raise_exception
-mono_release_type_locks
-mono_remote_class
-mono_remote_class_vtable
-mono_remoting_invoke
-mono_runtime_class_init
-mono_runtime_delegate_invoke
-mono_runtime_exec_main
-mono_runtime_exec_managed_code
-mono_runtime_free_method
-mono_runtime_get_main_args
-mono_runtime_invoke
-mono_runtime_invoke_array
-mono_runtime_object_init
-mono_runtime_run_main
-mono_store_remote_field
-mono_store_remote_field_new
-mono_string_from_utf16
-mono_string_intern
-mono_string_is_interned
-mono_string_new
-mono_string_new_len
-mono_string_new_size
-mono_string_new_utf16
-mono_string_new_wrapper
-mono_string_to_utf16
-mono_string_to_utf8
-mono_string_to_utf8_mp
-mono_thread_get_main
-mono_thread_set_main
-mono_type_initialization_cleanup
-mono_type_initialization_init
-mono_unhandled_exception
-mono_upgrade_remote_class
-mono_value_box
-mono_value_copy
-mono_value_copy_array
-mono_vtable_get_static_field_data
-mono_wait_handle_new
-mono_opcode_name
-mono_opcode_value
-mono_profiler_allocation
-mono_profiler_appdomain_event
-mono_profiler_appdomain_loaded
-mono_profiler_assembly_event
-mono_profiler_assembly_loaded
-mono_profiler_class_event
-mono_profiler_class_loaded
-mono_profiler_code_transition
-mono_profiler_coverage_get
-mono_profiler_gc_event
-mono_profiler_gc_heap_resize
-mono_profiler_get_events
-mono_profiler_install
-mono_profiler_install_allocation
-mono_profiler_install_appdomain
-mono_profiler_install_assembly
-mono_profiler_install_class
-mono_profiler_install_coverage_filter
-mono_profiler_install_enter_leave
-mono_profiler_install_gc
-mono_profiler_install_jit_compile
-mono_profiler_install_jit_end
-mono_profiler_install_module
-mono_profiler_install_statistical
-mono_profiler_install_thread
-mono_profiler_install_transition
-mono_profiler_load
-mono_profiler_method_end_jit
-mono_profiler_method_enter
-mono_profiler_method_jit
-mono_profiler_method_leave
-mono_profiler_module_event
-mono_profiler_module_loaded
-mono_profiler_set_events
-mono_profiler_shutdown
-mono_profiler_stat_hit
-mono_profiler_thread_end
-mono_profiler_thread_start
-mono_raw_buffer_cleanup
-mono_raw_buffer_free
-mono_raw_buffer_load
-mono_raw_buffer_update
-mono_assembly_get_object
-mono_custom_attrs_construct
-mono_custom_attrs_free
-mono_custom_attrs_from_assembly
-mono_custom_attrs_from_class
-mono_custom_attrs_from_event
-mono_custom_attrs_from_field
-mono_custom_attrs_from_index
-mono_custom_attrs_from_method
-mono_custom_attrs_from_param
-mono_custom_attrs_from_property
-mono_custom_attrs_get_attr
-mono_custom_attrs_has_attr
-mono_declsec_flags_from_assembly
-mono_declsec_flags_from_class
-mono_declsec_flags_from_method
-mono_declsec_get_assembly_action
-mono_declsec_get_class_action
-mono_declsec_get_demands
-mono_declsec_get_inheritdemands_class
-mono_declsec_get_inheritdemands_method
-mono_declsec_get_linkdemands
-mono_declsec_get_method_action
-mono_event_get_object
-mono_field_get_object
-mono_get_dbnull_object
-mono_image_basic_init
-mono_image_build_metadata
-mono_image_create_method_token
-mono_image_create_pefile
-mono_image_create_token
-mono_image_insert_string
-mono_image_load_module
-mono_method_body_get_object
-mono_method_get_object
-mono_module_file_get_object
-mono_module_get_object
-mono_param_get_objects
-mono_property_get_object
-mono_reflection_bind_generic_method_parameters
-mono_reflection_bind_generic_parameters
-mono_reflection_call_is_assignable_to
-mono_reflection_create_dynamic_method
-mono_reflection_create_generic_class
-mono_reflection_create_internal_class
-mono_reflection_create_runtime_class
-mono_reflection_event_builder_get_event_info
-mono_reflection_generic_class_initialize
-mono_reflection_get_custom_attrs
-mono_reflection_get_custom_attrs_blob
-mono_reflection_get_custom_attrs_by_type
-mono_reflection_get_custom_attrs_data
-mono_reflection_get_custom_attrs_info
-mono_reflection_get_token
-mono_reflection_get_type
-mono_reflection_initialize_generic_parameter
-mono_reflection_lookup_dynamic_token
-mono_reflection_marshal_from_marshal_spec
-mono_reflection_parse_type
-mono_reflection_setup_generic_class
-mono_reflection_setup_internal_class
-mono_reflection_sighelper_get_signature_field
-mono_reflection_sighelper_get_signature_local
-mono_reflection_type_from_name
-mono_type_get_object
-mono_activate_security_manager
-mono_get_context_capture_method
-mono_is_ecma_key
-mono_is_security_manager_active
-mono_security_manager_get_methods
-mono_thread_pool_add
-mono_thread_pool_finish
-mono_alloc_special_static_data
-mono_get_special_static_data
-mono_thread_abort_all_other_threads
-mono_thread_attach
-mono_thread_cleanup
-mono_thread_create
-mono_thread_current
-mono_thread_detach
-mono_thread_exit
-mono_thread_force_interruption_checkpoint
-mono_thread_get_abort_signal
-mono_thread_get_pending_exception
-mono_thread_get_tls_key
-mono_thread_has_appdomain_ref
-mono_thread_interruption_checkpoint
-mono_thread_interruption_requested
-mono_thread_interruption_request_flag
-mono_thread_manage
-mono_thread_new_init
-mono_thread_pop_appdomain_ref
-mono_thread_push_appdomain_ref
-mono_thread_request_interruption
-mono_threads_abort_appdomain_threads
-mono_threads_clear_cached_culture
-mono_threads_get_default_stacksize
-mono_threads_install_cleanup
-mono_threads_request_thread_dump
-mono_threads_set_default_stacksize
-mono_thread_stop
-mono_thread_suspend_all_other_threads
-mono_free_verify_list
-mono_image_verify_tables
-mono_method_verify
-mono_verify_corlib
-mono_perform_abc_removal
-mono_debugger_main
-mono_debug_add_aot_method
-mono_debug_print_vars
-mono_jit_cleanup
-mono_jit_exec
-mono_jit_init
-mono_main
-mono_parse_default_optimizations
-mono_inst_name
-mono_burg_emit
-mono_burg_kids
-mono_burg_label
-mono_burg_rule
-mono_debugger_run_finally
-mono_handle_exception
-mono_print_thread_dump
-mono_walk_stack
-mono_create_jump_trampoline
-mono_pmip
-mono_print_method_from_ip
-mono_set_defaults
-mono_trace_enter_method
-mono_trace_leave_method
-mono_debugger_create_notification_function
-mono_profiler_startup
-mono_profiler_startup
-add_delegate
-mono_invoke_delegate
-mono_test_marshal_inout_byval_class_delegate
-mono_test_marshal_lpstruct
-mono_test_marshal_lpstruct_blittable
-mono_test_marshal_pass_inout_custom
-mono_test_marshal_pass_out_byval_custom
-mono_test_marshal_return_fnptr
-mono_bitset_alloc_size
-mono_bitset_clear
-mono_bitset_clear_all
-mono_bitset_clone
-mono_bitset_copyto
-mono_bitset_count
-mono_bitset_equal
-mono_bitset_find_first
-mono_bitset_find_first_unset
-mono_bitset_find_last
-mono_bitset_find_start
-mono_bitset_foreach
-mono_bitset_free
-mono_bitset_intersection
-mono_bitset_intersection_2
-mono_bitset_invert
-mono_bitset_mem_new
-mono_bitset_new
-mono_bitset_set
-mono_bitset_set_all
-mono_bitset_size
-mono_bitset_sub
-mono_bitset_test
-mono_bitset_test_bulk
-mono_bitset_union
-mono_code_manager_commit
-mono_code_manager_destroy
-mono_code_manager_foreach
-mono_code_manager_invalidate
-mono_code_manager_new
-mono_code_manager_new_dynamic
-mono_code_manager_reserve
-mono_counters_dump
-mono_counters_enable
-mono_counters_register
-mono_g_hash_table_destroy
-mono_g_hash_table_foreach
-mono_g_hash_table_foreach_remove
-mono_g_hash_table_foreach_steal
-mono_g_hash_table_insert
-mono_g_hash_table_lookup
-mono_g_hash_table_lookup_extended
-mono_g_hash_table_new
-mono_g_hash_table_new_full
-mono_g_hash_table_new_type
-mono_g_hash_table_remap
-mono_g_hash_table_remove
-mono_g_hash_table_replace
-mono_g_hash_table_size
-mono_g_hash_table_steal
-mono_trace
-mono_trace_cleanup
-mono_trace_is_traced
-mono_trace_pop
-mono_trace_push
-mono_trace_set_level
-mono_trace_set_level_string
-mono_trace_set_mask
-mono_trace_set_mask_string
-mono_tracev
-mono_signbit_double
-mono_signbit_float
-mono_md5_final
-mono_md5_get_digest
-mono_md5_get_digest_from_file
-mono_md5_init
-mono_md5_update
-mono_path_canonicalize
-mono_path_resolve_symlinks
-mono_digest_get_public_token
-mono_sha1_final
-mono_sha1_get_digest
-mono_sha1_get_digest_from_file
-mono_sha1_init
-mono_sha1_update
-mono_escape_uri_string
-mono_unicode_from_external
-mono_unicode_to_external
-mono_utf8_from_external
-GetThreadContext
-DeleteCriticalSection
-InitializeCriticalSection
-InitializeCriticalSectionAndSpinCount
-SetCriticalSectionSpinCount
-TryEnterCriticalSection
-errno_to_WSA
-GetLastError
-SetLastError
-CreateEvent
-OpenEvent
-PulseEvent
-ResetEvent
-SetEvent
-CloseHandle
-DuplicateHandle
-CopyFile
-CreateDirectory
-CreateFile
-CreatePipe
-DeleteFile
-FileTimeToSystemTime
-FindClose
-FindFirstFile
-FindNextFile
-FlushFileBuffers
-GetCurrentDirectory
-GetFileAttributes
-GetFileAttributesEx
-GetFileSize
-GetFileTime
-GetFileType
-GetLogicalDriveStrings
-GetStdHandle
-GetTempPath
-LockFile
-MoveFile
-ReadFile
-RemoveDirectory
-SetCurrentDirectory
-SetEndOfFile
-SetFileAttributes
-SetFilePointer
-SetFileTime
-UnlockFile
-WriteFile
-mono_once
-CreateMutex
-OpenMutex
-ReleaseMutex
-CreateProcess
-EnumProcesses
-EnumProcessModules
-GetCurrentProcess
-GetCurrentProcessId
-GetExitCodeProcess
-GetModuleBaseName
-GetProcessId
-GetProcessTimes
-GetProcessWorkingSetSize
-OpenProcess
-SetProcessWorkingSetSize
-ShellExecuteEx
-TerminateProcess
-ImpersonateLoggedOnUser
-RevertToSelf
-CreateSemaphore
-OpenSemaphore
-ReleaseSemaphore
-closesocket
-ioctlsocket
-WSACleanup
-WSAGetLastError
-WSAIoctl
-WSASetLastError
-WSAStartup
-GetSystemInfo
-CreateThread
-ExitThread
-GetCurrentThread
-GetCurrentThreadId
-GetExitCodeThread
-mono_pthread_key_for_tls
-OpenThread
-QueueUserAPC
-ResumeThread
-Sleep
-SleepEx
-SuspendThread
-TlsAlloc
-TlsFree
-TlsGetValue
-TlsSetValue
-GetTickCount
-QueryPerformanceCounter
-QueryPerformanceFrequency
-SignalObjectAndWait
-WaitForMultipleObjects
-WaitForMultipleObjectsEx
-WaitForSingleObject
-WaitForSingleObjectEx
+ikvm_CallOnLoad
+ikvm_GetJNIEnvVTable
+ikvm_MarshalDelegate
+ikvm_FreeLibrary
+ikvm_GetProcAddress
+ikvm_LoadLibrary
+ikvm_mmap
+ikvm_msync
+ikvm_munmap
+GC_add_to_fl
+GC_allochblk
+GC_allochblk_nth
+GC_dump_regions
+GC_free_block_ending_at
+GC_freehblk
+GC_get_first_part
+GC_hblk_fl_from_blocks
+GC_merge_unmapped
+GC_print_hblkfreelist
+GC_remove_from_fl
+GC_split_block
+GC_unmap_old
+free_list_index_of
+GC_add_to_heap
+GC_adj_words_allocd
+GC_allocobj
+GC_clear_a_few_frames
+GC_clear_fl_marks
+GC_collect_a_little
+GC_collect_a_little_inner
+GC_collect_or_expand
+GC_expand_hp
+GC_expand_hp_inner
+GC_finish_collection
+GC_gcollect
+GC_max
+GC_maybe_gc
+GC_min
+GC_never_stop_func
+GC_notify_full_gc
+GC_print_heap_sects
+GC_set_fl_marks
+GC_set_max_heap_size
+GC_should_collect
+GC_stopped_mark
+GC_timeout_stop_func
+GC_try_to_collect
+GC_try_to_collect_inner
+GC_add_to_black_list_normal
+GC_add_to_black_list_stack
+GC_bl_init
+GC_clear_bl
+GC_copy_bl
+GC_default_print_heap_obj_proc
+GC_is_black_listed
+GC_number_stack_black_listed
+GC_print_source_ptr
+GC_promote_black_lists
+GC_unpromote_black_lists
+GC_add_smashed
+GC_check_annotated_obj
+GC_check_heap_block
+GC_check_heap_proc
+GC_debug_change_stubborn
+GC_debug_end_stubborn_change
+GC_debug_free
+GC_debug_free_inner
+GC_debug_invoke_finalizer
+GC_debug_malloc
+GC_debug_malloc_atomic
+GC_debug_malloc_atomic_ignore_off_page
+GC_debug_malloc_atomic_uncollectable
+GC_debug_malloc_ignore_off_page
+GC_debug_malloc_replacement
+GC_debug_malloc_stubborn
+GC_debug_malloc_uncollectable
+GC_debug_print_heap_obj_proc
+GC_debug_realloc
+GC_debug_realloc_replacement
+GC_debug_register_displacement
+GC_debug_register_finalizer
+GC_debug_register_finalizer_ignore_self
+GC_debug_register_finalizer_no_order
+GC_do_nothing
+GC_has_other_debug_info
+GC_make_closure
+GC_print_all_smashed_proc
+GC_print_obj
+GC_print_smashed_obj
+GC_print_type
+GC_register_describe_type_fn
+GC_start_debugging
+GC_store_debug_info
+GC_register_dynamic_libraries
+GC_register_dynamic_libraries_dl_iterate_phdr
+GC_register_main_static_data
+GC_call_with_alloc_lock
+GC_dump_finalization
+GC_enqueue_all_finalizers
+GC_finalize
+GC_finalize_all
+GC_general_register_disappearing_link
+GC_grow_table
+GC_ignore_self_finalize_mark_proc
+GC_invoke_finalizers
+GC_normal_finalize_mark_proc
+GC_notify_or_invoke_finalizers
+GC_null_finalize_mark_proc
+GC_print_finalization_stats
+GC_push_finalizer_structures
+GC_register_disappearing_link
+GC_register_finalizer
+GC_register_finalizer_ignore_self
+GC_register_finalizer_inner
+GC_register_finalizer_no_order
+GC_should_invoke_finalizers
+GC_unregister_disappearing_link
+GC_dlopen
+GC_debug_gcj_fast_malloc
+GC_debug_gcj_malloc
+GC_gcj_fast_malloc
+GC_gcj_malloc
+GC_gcj_malloc_ignore_off_page
+GC_init_gcj_malloc
+GC_apply_to_all_blocks
+GC_find_header
+GC_init_headers
+GC_install_counts
+GC_install_header
+GC_next_used_block
+GC_prev_block
+GC_remove_counts
+GC_remove_header
+GC_scratch_alloc
+GC_generic_push_regs
+GC_with_callee_saves_pushed
+GC_alloc_large
+GC_alloc_large_and_clear
+GC_alloc_reclaim_list
+GC_free
+GC_free_inner
+GC_generic_malloc
+GC_generic_malloc_inner
+GC_generic_malloc_inner_ignore_off_page
+GC_malloc
+GC_malloc_atomic
+GC_generic_malloc_ignore_off_page
+GC_generic_malloc_many
+GC_generic_malloc_words_small
+GC_generic_malloc_words_small_inner
+GC_generic_or_special_malloc
+GC_incr_mem_freed
+GC_incr_words_allocd
+GC_malloc_atomic_ignore_off_page
+GC_malloc_atomic_uncollectable
+GC_malloc_ignore_off_page
+GC_malloc_many
+GC_malloc_uncollectable
+GC_memalign
+GC_realloc
+GC_block_was_dirty
+GC_clear_hdr_marks
+GC_clear_mark_bit
+GC_clear_marks
+GC_collection_in_progress
+GC_do_local_mark
+GC_do_parallel_mark
+GC_find_start
+GC_help_marker
+GC_initiate_gc
+GC_invalidate_mark_state
+GC_is_marked
+GC_mark_and_push
+GC_mark_and_push_stack
+GC_mark_from
+GC_mark_init
+GC_mark_local
+GC_mark_some
+GC_mark_stack_empty
+GC_noop
+GC_noop1
+GC_push_all
+GC_push_all_eager
+GC_push_all_stack
+GC_push_conditional
+GC_push_marked
+GC_push_marked1
+GC_push_marked2
+GC_push_marked4
+GC_push_next_marked
+GC_push_next_marked_dirty
+GC_push_next_marked_uncollectable
+GC_push_one
+GC_push_selected
+GC_return_mark_stack
+GC_set_hdr_marks
+GC_set_mark_bit
+GC_signal_mark_stack_overflow
+GC_steal_mark_stack
+GC_true_func
+GC_add_roots
+GC_add_roots_inner
+GC_approx_sp
+GC_clear_roots
+GC_cond_register_dynamic_libraries
+GC_exclude_static_roots
+GC_is_static_root
+GC_next_exclusion
+GC_print_static_roots
+GC_push_conditional_with_exclusions
+GC_push_current_stack
+GC_push_gc_structures
+GC_push_roots
+GC_remove_roots
+GC_remove_roots_inner
+GC_remove_tmp_roots
+GC_roots_present
+GC_abort
+GC_base
+GC_clear_stack
+GC_clear_stack_inner
+GC_default_oom_fn
+GC_default_warn_proc
+GC_disable
+GC_dump
+GC_enable
+GC_enable_incremental
+GC_err_printf
+GC_err_puts
+GC_err_write
+GC_exit_check
+GC_extend_size_map
+GC_get_bytes_since_gc
+GC_get_free_bytes
+GC_get_heap_size
+GC_get_suspend_signal
+GC_get_total_bytes
+GC_init
+GC_init_inner
+GC_init_size_map
+GC_new_free_list
+GC_new_free_list_inner
+GC_new_kind
+GC_new_kind_inner
+GC_new_proc
+GC_new_proc_inner
+GC_printf
+GC_project2
+GC_set_free_space_divisor
+GC_set_warn_proc
+GC_size
+GC_write
+GC_build_fl
+GC_build_fl1
+GC_build_fl2
+GC_build_fl4
+GC_build_fl_clear2
+GC_build_fl_clear3
+GC_build_fl_clear4
+GC_new_hblk
+GC_add_map_entry
+GC_invalidate_map
+GC_register_displacement
+GC_register_displacement_inner
+GC_apply_to_maps
+GC_default_push_other_roots
+GC_dirty_init
+GC_disable_signals
+GC_enable_signals
+GC_fault_handler
+GC_find_limit
+GC_get_stack_base
+GC_incremental_protection_needs
+GC_init_linux_data_start
+GC_is_fresh
+GC_linux_stack_base
+GC_page_was_dirty
+GC_page_was_ever_dirty
+GC_print_address_map
+GC_read_dirty
+GC_register_data_segments
+GC_remap
+GC_remove_protection
+GC_repeat_read
+GC_reset_fault_handler
+GC_set_and_save_fault_handler
+GC_setpagesize
+GC_setup_temporary_fault_handler
+GC_unix_get_mem
+GC_unmap
+GC_unmap_end
+GC_unmap_gap
+GC_unmap_start
+GC_mono_debugger_get_stack_ptr
+GC_push_all_stacks
+GC_remove_allowed_signals
+GC_restart_handler
+GC_start_world
+GC_stop_init
+GC_stop_world
+GC_suspend_all
+GC_suspend_handler
+GC_acquire_mark_lock
+GC_delete_gc_thread
+GC_delete_thread
+GC_destroy_thread_local
+GC_end_blocking
+GC_generic_lock
+GC_get_nprocs
+GC_init_parallel
+GC_init_thread_local
+GC_local_gcj_fast_malloc
+GC_local_gcj_malloc
+GC_local_malloc
+GC_local_malloc_atomic
+GC_lock
+GC_lookup_thread
+GC_mark_thread
+GC_mark_thread_local_free_lists
+GC_new_thread
+GC_notify_all_builder
+GC_notify_all_marker
+GC_pause
+GC_pthread_create
+GC_pthread_detach
+GC_pthread_join
+GC_pthread_sigmask
+GC_push_thread_structures
+GC_release_mark_lock
+GC_sleep
+GC_start_blocking
+GC_start_routine
+GC_start_routine_head
+GC_thr_init
+GC_thread_deregister_foreign
+GC_thread_exit_proc
+GC_thread_is_registered
+GC_thread_register_foreign
+GC_wait_builder
+GC_wait_for_gc_completion
+GC_wait_for_reclaim
+GC_wait_marker
+GC_default_is_valid_displacement_print_proc
+GC_default_is_visible_print_proc
+GC_default_same_obj_print_proc
+GC_is_valid_displacement
+GC_is_visible
+GC_on_stack
+GC_post_incr
+GC_pre_incr
+GC_same_obj
+GC_add_leaked
+GC_block_empty
+GC_block_nearly_full
+GC_block_nearly_full1
+GC_block_nearly_full3
+GC_clear_fl_links
+GC_continue_reclaim
+GC_n_set_marks
+GC_print_all_errors
+GC_print_block_descr
+GC_print_block_list
+GC_reclaim1
+GC_reclaim_all
+GC_reclaim_block
+GC_reclaim_check
+GC_reclaim_clear
+GC_reclaim_clear2
+GC_reclaim_clear4
+GC_reclaim_generic
+GC_reclaim_small_nonempty_block
+GC_reclaim_uninit
+GC_reclaim_uninit2
+GC_reclaim_uninit4
+GC_start_reclaim
+GC_key_create
+GC_remove_specific
+GC_setspecific
+GC_slow_getspecific
+GC_change_stubborn
+GC_end_stubborn_change
+GC_malloc_stubborn
+GC_push_stubborn_structures
+GC_add_ext_descriptor
+GC_array_mark_proc
+GC_calloc_explicitly_typed
+GC_descr_obj_size
+GC_double_descr
+GC_init_explicit_typing
+GC_make_array_descriptor
+GC_make_descriptor
+GC_make_sequence_descriptor
+GC_malloc_explicitly_typed
+GC_malloc_explicitly_typed_ignore_off_page
+GC_push_complex_descriptor
+GC_typed_mark_proc
+Mono_Posix_Syscall_readdir
+Mono_Posix_Syscall_readdir_r
+Mono_Posix_Syscall_rewinddir
+Mono_Posix_Syscall_seekdir
+Mono_Posix_Syscall_telldir
+Mono_Posix_Stdlib_SetLastError
+Mono_Posix_Syscall_strerror_r
+Mono_Posix_Syscall_creat
+Mono_Posix_Syscall_fcntl
+Mono_Posix_Syscall_fcntl_arg
+Mono_Posix_Syscall_fcntl_lock
+Mono_Posix_Syscall_open
+Mono_Posix_Syscall_open_mode
+Mono_Posix_Syscall_posix_fadvise
+Mono_Posix_Syscall_posix_fallocate
+Mono_Posix_Syscall_endfsent
+Mono_Posix_Syscall_getfsent
+Mono_Posix_Syscall_getfsfile
+Mono_Posix_Syscall_getfsspec
+Mono_Posix_Syscall_setfsent
+Mono_Posix_Syscall_endgrent
+Mono_Posix_Syscall_fgetgrent
+Mono_Posix_Syscall_getgrent
+Mono_Posix_Syscall_getgrgid
+Mono_Posix_Syscall_getgrgid_r
+Mono_Posix_Syscall_getgrnam
+Mono_Posix_Syscall_getgrnam_r
+Mono_Posix_Syscall_setgrent
+Mono_Posix_Syscall_setgroups
+fclose_file_func
+ferror_file_func
+fill_fopen_filefunc
+fopen_file_func
+fread_file_func
+fseek_file_func
+ftell_file_func
+fwrite_file_func
+helper_Mono_Posix_GetGroupName
+helper_Mono_Posix_GetUserName
+helper_Mono_Posix_Stat
+helper_Mono_Posix_getpwnamuid
+helper_Mono_Posix_readdir
+wexitstatus
+wifexited
+wifsignaled
+wifstopped
+wstopsig
+wtermsig
+Mono_Posix_FromAccessModes
+Mono_Posix_FromConfstrName
+Mono_Posix_FromDirectoryNotifyFlags
+Mono_Posix_FromErrno
+Mono_Posix_FromFcntlCommand
+Mono_Posix_FromFilePermissions
+Mono_Posix_FromFlock
+Mono_Posix_FromLockType
+Mono_Posix_FromLockfCommand
+Mono_Posix_FromMlockallFlags
+Mono_Posix_FromMmapFlags
+Mono_Posix_FromMmapProts
+Mono_Posix_FromMountFlags
+Mono_Posix_FromMremapFlags
+Mono_Posix_FromMsyncFlags
+Mono_Posix_FromOpenFlags
+Mono_Posix_FromPathconfName
+Mono_Posix_FromPollEvents
+Mono_Posix_FromPollfd
+Mono_Posix_FromPosixFadviseAdvice
+Mono_Posix_FromPosixMadviseAdvice
+Mono_Posix_FromSeekFlags
+Mono_Posix_FromSignum
+Mono_Posix_FromStat
+Mono_Posix_FromSysconfName
+Mono_Posix_FromSyslogFacility
+Mono_Posix_FromSyslogLevel
+Mono_Posix_FromSyslogOptions
+Mono_Posix_FromTimespec
+Mono_Posix_FromTimeval
+Mono_Posix_FromTimezone
+Mono_Posix_FromUtimbuf
+Mono_Posix_FromWaitOptions
+Mono_Posix_FromXattrFlags
+Mono_Posix_ToAccessModes
+Mono_Posix_ToConfstrName
+Mono_Posix_ToDirectoryNotifyFlags
+Mono_Posix_ToErrno
+Mono_Posix_ToFcntlCommand
+Mono_Posix_ToFilePermissions
+Mono_Posix_ToFlock
+Mono_Posix_ToLockType
+Mono_Posix_ToLockfCommand
+Mono_Posix_ToMlockallFlags
+Mono_Posix_ToMmapFlags
+Mono_Posix_ToMmapProts
+Mono_Posix_ToMountFlags
+Mono_Posix_ToMremapFlags
+Mono_Posix_ToMsyncFlags
+Mono_Posix_ToOpenFlags
+Mono_Posix_ToPathconfName
+Mono_Posix_ToPollEvents
+Mono_Posix_ToPollfd
+Mono_Posix_ToPosixFadviseAdvice
+Mono_Posix_ToPosixMadviseAdvice
+Mono_Posix_ToSeekFlags
+Mono_Posix_ToSignum
+Mono_Posix_ToStat
+Mono_Posix_ToSysconfName
+Mono_Posix_ToSyslogFacility
+Mono_Posix_ToSyslogLevel
+Mono_Posix_ToSyslogOptions
+Mono_Posix_ToTimespec
+Mono_Posix_ToTimeval
+Mono_Posix_ToTimezone
+Mono_Posix_ToUtimbuf
+Mono_Posix_ToWaitOptions
+Mono_Posix_ToXattrFlags
+map_Mono_Posix_AccessMode
+map_Mono_Posix_FileMode
+map_Mono_Posix_OpenFlags
+map_Mono_Posix_PollEvents
+map_Mono_Posix_Signals
+map_Mono_Posix_WaitOptions
+Mono_Posix_Syscall_endpwent
+Mono_Posix_Syscall_fgetpwent
+Mono_Posix_Syscall_getpwent
+Mono_Posix_Syscall_getpwnam
+Mono_Posix_Syscall_getpwnam_r
+Mono_Posix_Syscall_getpwuid
+Mono_Posix_Syscall_getpwuid_r
+Mono_Posix_Syscall_setpwent
+breakprop
+close_serial
+discard_buffer
+get_bytes_in_buffer
+get_signals
+list_serial_devices
+open_serial
+poll_serial
+read_serial
+set_attributes
+set_signal
+write_serial
+Mono_Posix_FromRealTimeSignum
+Mono_Posix_SIGRTMAX
+Mono_Posix_SIGRTMIN
+Mono_Posix_Stdlib_InvokeSignalHandler
+Mono_Posix_Stdlib_SIG_DFL
+Mono_Posix_Stdlib_SIG_ERR
+Mono_Posix_Stdlib_SIG_IGN
+Mono_Posix_Syscall_psignal
+Mono_Unix_UnixSignal_WaitAny
+Mono_Unix_UnixSignal_install
+Mono_Unix_UnixSignal_uninstall
+Mono_Posix_Stdlib_BUFSIZ
+Mono_Posix_Stdlib_CreateFilePosition
+Mono_Posix_Stdlib_DumpFilePosition
+Mono_Posix_Stdlib_EOF
+Mono_Posix_Stdlib_FILENAME_MAX
+Mono_Posix_Stdlib_FOPEN_MAX
+Mono_Posix_Stdlib_L_tmpnam
+Mono_Posix_Stdlib_TMP_MAX
+Mono_Posix_Stdlib__IOFBF
+Mono_Posix_Stdlib__IOLBF
+Mono_Posix_Stdlib__IONBF
+Mono_Posix_Stdlib_clearerr
+Mono_Posix_Stdlib_fgetpos
+Mono_Posix_Stdlib_fread
+Mono_Posix_Stdlib_fseek
+Mono_Posix_Stdlib_fsetpos
+Mono_Posix_Stdlib_ftell
+Mono_Posix_Stdlib_fwrite
+Mono_Posix_Stdlib_perror
+Mono_Posix_Stdlib_rewind
+Mono_Posix_Stdlib_setbuf
+Mono_Posix_Stdlib_setvbuf
+Mono_Posix_Stdlib_snprintf
+Mono_Posix_Stdlib_stderr
+Mono_Posix_Stdlib_stdin
+Mono_Posix_Stdlib_stdout
+Mono_Posix_Syscall_L_ctermid
+Mono_Posix_Syscall_L_cuserid
+Mono_Posix_Stdlib_EXIT_FAILURE
+Mono_Posix_Stdlib_EXIT_SUCCESS
+Mono_Posix_Stdlib_MB_CUR_MAX
+Mono_Posix_Stdlib_RAND_MAX
+Mono_Posix_Stdlib_calloc
+Mono_Posix_Stdlib_malloc
+Mono_Posix_Stdlib_realloc
+Mono_Posix_Stdlib_strlen
+GetProcessHeap
+HeapAlloc
+HeapCreate
+HeapDestroy
+HeapFree
+HeapQueryInformation
+HeapReAlloc
+HeapSetInformation
+HeapSize
+HeapValidate
+FindWindowExW
+GetWindowLongA
+SendMessageA
+SetWindowPos
+supportw_register_delegate
+supportw_test_all
+Mono_Posix_Syscall_closelog
+Mono_Posix_Syscall_openlog
+Mono_Posix_Syscall_syslog
+Mono_Posix_Syscall_syslog2
+Mono_Posix_Syscall_mincore
+Mono_Posix_Syscall_mlock
+Mono_Posix_Syscall_mmap
+Mono_Posix_Syscall_mprotect
+Mono_Posix_Syscall_mremap
+Mono_Posix_Syscall_msync
+Mono_Posix_Syscall_munlock
+Mono_Posix_Syscall_munmap
+Mono_Posix_Syscall_posix_madvise
+Mono_Posix_Syscall_remap_file_pages
+Mono_Posix_Syscall_sendfile
+Mono_Posix_Syscall_fstat
+Mono_Posix_Syscall_lstat
+Mono_Posix_Syscall_mknod
+Mono_Posix_Syscall_stat
+Mono_Posix_FromStatvfs
+Mono_Posix_Syscall_fstatvfs
+Mono_Posix_Syscall_statvfs
+Mono_Posix_ToStatvfs
+Mono_Posix_Syscall_futimes
+Mono_Posix_Syscall_gettimeofday
+Mono_Posix_Syscall_lutimes
+Mono_Posix_Syscall_settimeofday
+Mono_Posix_Syscall_utimes
+Mono_Posix_Syscall_utimes_bad
+Mono_Posix_Syscall_uname
+Mono_Posix_Syscall_WEXITSTATUS
+Mono_Posix_Syscall_WIFEXITED
+Mono_Posix_Syscall_WIFSIGNALED
+Mono_Posix_Syscall_WIFSTOPPED
+Mono_Posix_Syscall_WSTOPSIG
+Mono_Posix_Syscall_WTERMSIG
+Mono_Posix_Syscall_fgetxattr
+Mono_Posix_Syscall_flistxattr
+Mono_Posix_Syscall_fremovexattr
+Mono_Posix_Syscall_fsetxattr
+Mono_Posix_Syscall_getxattr
+Mono_Posix_Syscall_lgetxattr
+Mono_Posix_Syscall_listxattr
+Mono_Posix_Syscall_llistxattr
+Mono_Posix_Syscall_lremovexattr
+Mono_Posix_Syscall_lsetxattr
+Mono_Posix_Syscall_removexattr
+Mono_Posix_Syscall_setxattr
+Mono_Posix_Syscall_nanosleep
+Mono_Posix_Syscall_stime
+Mono_Posix_Syscall_time
+Mono_Posix_Syscall_confstr
+Mono_Posix_Syscall_endusershell
+Mono_Posix_Syscall_fpathconf
+Mono_Posix_Syscall_ftruncate
+Mono_Posix_Syscall_getcwd
+Mono_Posix_Syscall_getdomainname
+Mono_Posix_Syscall_gethostid
+Mono_Posix_Syscall_gethostname
+Mono_Posix_Syscall_getlogin_r
+Mono_Posix_Syscall_lockf
+Mono_Posix_Syscall_lseek
+Mono_Posix_Syscall_pathconf
+Mono_Posix_Syscall_pipe
+Mono_Posix_Syscall_pread
+Mono_Posix_Syscall_pwrite
+Mono_Posix_Syscall_read
+Mono_Posix_Syscall_readlink
+Mono_Posix_Syscall_setdomainname
+Mono_Posix_Syscall_sethostid
+Mono_Posix_Syscall_sethostname
+Mono_Posix_Syscall_setusershell
+Mono_Posix_Syscall_swab
+Mono_Posix_Syscall_sync
+Mono_Posix_Syscall_sysconf
+Mono_Posix_Syscall_truncate
+Mono_Posix_Syscall_ttyname_r
+Mono_Posix_Syscall_write
+unzClose
+unzCloseCurrentFile
+unzGetCurrentFileInfo
+unzGetFilePos
+unzGetGlobalComment
+unzGetGlobalInfo
+unzGetLocalExtrafield
+unzGetOffset
+unzGoToFilePos
+unzGoToFirstFile
+unzGoToNextFile
+unzLocateFile
+unzOpen
+unzOpen2
+unzOpenCurrentFile
+unzOpenCurrentFile2
+unzOpenCurrentFile3
+unzOpenCurrentFilePassword
+unzReadCurrentFile
+unzSetOffset
+unzStringFileNameCompare
+unzeof
+unztell
+Mono_Posix_Syscall_utime
+_mph_copy_structure_strings
+zipClose
+zipCloseFileInZip
+zipCloseFileInZipRaw
+zipOpen
+zipOpen2
+zipOpenNewFileInZip
+zipOpenNewFileInZip2
+zipOpenNewFileInZip3
+zipWriteInFileInZip
+CloseZStream
+CreateZStream
+Flush
+ReadZStream
+WriteZStream
__bsd_dtoa
bsd_strtod
TestBlittableClass
+SByteIn
+ShortIn
+test_method_thunk
+UIntIn
+ULongIn
+UShortIn
+add_delegate
+ByteIn
+DoubleIn
+FloatIn
+get_ITest
+IntIn
+ITestIn
+ITestOut
+LongIn
#
# Produced by the tests
#
+mono_invoke_delegate
+mono_invoke_simple_delegate
+mono_safe_handle_ref
+mono_safe_handle_return
+mono_safe_handle_struct
+mono_safe_handle_struct_ref
+mono_safe_handle_struct_simple
+mono_test_marshal_inout_byval_class_delegate
+mono_test_marshal_lpstruct
+mono_test_marshal_lpstruct_blittable
+mono_test_marshal_pass_inout_custom
+mono_test_marshal_pass_out_byval_custom
+mono_test_marshal_return_fnptr
+mono_xr
+mono_xr_as_handle
mono_test_asany
mono_test_byvalstr_check
mono_test_byvalstr_gen
mono_test_return_vtype
mono_test_split_double_arguments
mono_test_stdcall_name_mangling
+mono_test_managed_marshal_bool_in
+mono_test_managed_marshal_bool_out
+mono_test_managed_marshal_bool_ref
+mono_test_managed_Winx64_struct1_in
+mono_test_managed_Winx64_struct1_struct5_in
+mono_test_managed_Winx64_struct5_in
+mono_test_marshal_asany_in
+mono_test_marshal_asany_out
+mono_test_marshal_bool_in
+mono_test_marshal_bool_in_as_I1_U1
+mono_test_marshal_bool_out
+mono_test_marshal_bool_out_as_I1_U1
+mono_test_marshal_bool_ref
+mono_test_marshal_bool_ref_as_I1_U1
+mono_test_marshal_bstr_in
+mono_test_marshal_bstr_in_null
+mono_test_marshal_bstr_out
+mono_test_marshal_bstr_out_null
+mono_test_marshal_byref_string_delegate
+mono_test_marshal_ccw_itest
+mono_test_marshal_com_object_create
+mono_test_marshal_com_object_destroy
+mono_test_marshal_com_object_ref_count
+mono_test_marshal_com_object_same
+mono_test_marshal_custom_out_param_delegate
+mono_test_marshal_date_time
+mono_test_marshal_long_struct
+mono_test_marshal_out_delegate
+mono_test_marshal_pass_return_float
+mono_test_marshal_return_unicode_string_delegate
+mono_test_marshal_variant_in_bool_false
+mono_test_marshal_variant_in_bool_false_unmanaged
+mono_test_marshal_variant_in_bool_true
+mono_test_marshal_variant_in_bool_true_unmanaged
+mono_test_marshal_variant_in_bstr
+mono_test_marshal_variant_in_bstr_unmanaged
+mono_test_marshal_variant_in_byte
+mono_test_marshal_variant_in_byte_unmanaged
+mono_test_marshal_variant_in_double
+mono_test_marshal_variant_in_double_unmanaged
+mono_test_marshal_variant_in_float
+mono_test_marshal_variant_in_float_unmanaged
+mono_test_marshal_variant_in_int
+mono_test_marshal_variant_in_int_unmanaged
+mono_test_marshal_variant_in_long
+mono_test_marshal_variant_in_long_unmanaged
+mono_test_marshal_variant_in_sbyte
+mono_test_marshal_variant_in_sbyte_unmanaged
+mono_test_marshal_variant_in_short
+mono_test_marshal_variant_in_short_unmanaged
+mono_test_marshal_variant_in_uint
+mono_test_marshal_variant_in_uint_unmanaged
+mono_test_marshal_variant_in_ulong
+mono_test_marshal_variant_in_ulong_unmanaged
+mono_test_marshal_variant_in_ushort
+mono_test_marshal_variant_in_ushort_unmanaged
+mono_test_marshal_variant_out_bool_false
+mono_test_marshal_variant_out_bool_false_unmanaged
+mono_test_marshal_variant_out_bool_true
+mono_test_marshal_variant_out_bool_true_unmanaged
+mono_test_marshal_variant_out_bstr
+mono_test_marshal_variant_out_bstr_unmanaged
+mono_test_marshal_variant_out_byte
+mono_test_marshal_variant_out_byte_unmanaged
+mono_test_marshal_variant_out_double
+mono_test_marshal_variant_out_double_unmanaged
+mono_test_marshal_variant_out_float
+mono_test_marshal_variant_out_float_unmanaged
+mono_test_marshal_variant_out_int
+mono_test_marshal_variant_out_int_unmanaged
+mono_test_marshal_variant_out_long
+mono_test_marshal_variant_out_long_unmanaged
+mono_test_marshal_variant_out_sbyte
+mono_test_marshal_variant_out_sbyte_unmanaged
+mono_test_marshal_variant_out_short
+mono_test_marshal_variant_out_short_unmanaged
+mono_test_marshal_variant_out_uint
+mono_test_marshal_variant_out_uint_unmanaged
+mono_test_marshal_variant_out_ulong
+mono_test_marshal_variant_out_ulong_unmanaged
+mono_test_marshal_variant_out_ushort
+mono_test_marshal_variant_out_ushort_unmanaged
+mono_test_Winx64_doubleStruct
+mono_test_Winx64_floatStruct
+mono_test_Winx64_struct1_in
+mono_test_Winx64_struct1_ret
+mono_test_Winx64_struct1_ret_5_args
+mono_test_Winx64_struct1_ret_managed
+mono_test_Winx64_struct2_in
+mono_test_Winx64_struct2_ret
+mono_test_Winx64_struct3_in
+mono_test_Winx64_struct3_ret
+mono_test_Winx64_struct4_in
+mono_test_Winx64_struct4_ret
+mono_test_Winx64_struct5_in
+mono_test_Winx64_struct5_ret
+mono_test_Winx64_struct5_ret6_args
+mono_test_Winx64_struct5_ret_managed
+mono_test_Winx64_struct6_in
+mono_test_Winx64_structs_in1
+mono_test_Winx64_structs_in2
+mono_test_Winx64_structs_in3
mono_union_test_1
NameManglingAnsi
NameManglingAnsi2A
mono_return_sc3
mono_return_sc5
mono_return_ss
+mono_profiler_startup
#
# The following are internal calls that are exposed because of cross
# library dependencies but could be private
mono_metadata_get_param_attrs
mono_metadata_load_generic_param_constraints
mono_find_jit_opcode_emulation
-mono_marshal_get_ldflda_wrapper
mono_debug_free_method_jit_info
mono_jit_info_table_add
mono_jit_info_table_remove
mono_method_same_domain
mono_register_opcode_emulation
#
+# mono_shared_area: this is used by the performance counters, not sure that
+# this is worth documenting to the public
+#
+mono_shared_area
+mono_shared_area_for_pid
+mono_shared_area_instances
+mono_shared_area_remove
+mono_shared_area_unload
+#
+#
# I believe these are internal, but I should check with the JIT guys
#
mono_assembly_open_full
mono_secman_inheritancedemand_method
mono_secman_inheritancedemand_class
#
+# From the GC
+#
+GC_abort
+GC_acquire_mark_lock
+GC_add_ext_descriptor
+GC_add_leaked
+GC_add_map_entry
+GC_add_roots
+GC_add_roots_inner
+GC_add_smashed
+GC_add_to_black_list_normal
+GC_add_to_black_list_stack
+GC_add_to_fl
+GC_add_to_heap
+GC_adj_words_allocd
+GC_allochblk
+GC_allochblk_nth
+GC_alloc_large
+GC_alloc_large_and_clear
+GC_allocobj
+GC_alloc_reclaim_list
+GC_apply_to_all_blocks
+GC_apply_to_maps
+GC_approx_sp
+GC_array_mark_proc
+GC_base
+GC_bl_init
+GC_block_empty
+GC_block_nearly_full
+GC_block_nearly_full1
+GC_block_nearly_full3
+GC_block_was_dirty
+GC_build_fl
+GC_build_fl1
+GC_build_fl2
+GC_build_fl4
+GC_build_fl_clear2
+GC_build_fl_clear3
+GC_build_fl_clear4
+GC_calloc_explicitly_typed
+GC_call_with_alloc_lock
+GC_change_stubborn
+GC_check_annotated_obj
+GC_check_heap_block
+GC_check_heap_proc
+GC_clear_a_few_frames
+GC_clear_bl
+GC_clear_fl_links
+GC_clear_fl_marks
+GC_clear_hdr_marks
+GC_clear_mark_bit
+GC_clear_marks
+GC_clear_roots
+GC_clear_stack
+GC_clear_stack_inner
+GC_collect_a_little
+GC_collect_a_little_inner
+GC_collection_in_progress
+GC_collect_or_expand
+GC_cond_register_dynamic_libraries
+GC_continue_reclaim
+GC_copy_bl
+GC_debug_change_stubborn
+GC_debug_end_stubborn_change
+GC_debug_free
+GC_debug_free_inner
+GC_debug_gcj_fast_malloc
+GC_debug_gcj_malloc
+GC_debug_invoke_finalizer
+GC_debug_malloc
+GC_debug_malloc_atomic
+GC_debug_malloc_atomic_ignore_off_page
+GC_debug_malloc_atomic_uncollectable
+GC_debug_malloc_ignore_off_page
+GC_debug_malloc_replacement
+GC_debug_malloc_stubborn
+GC_debug_malloc_uncollectable
+GC_debug_print_heap_obj_proc
+GC_debug_realloc
+GC_debug_realloc_replacement
+GC_debug_register_displacement
+GC_debug_register_finalizer
+GC_debug_register_finalizer_ignore_self
+GC_debug_register_finalizer_no_order
+GC_default_is_valid_displacement_print_proc
+GC_default_is_visible_print_proc
+GC_default_oom_fn
+GC_default_print_heap_obj_proc
+GC_default_push_other_roots
+GC_default_same_obj_print_proc
+GC_default_warn_proc
+GC_delete_gc_thread
+GC_delete_thread
+GC_descr_obj_size
+GC_destroy_thread_local
+GC_dirty_init
+GC_disable
+GC_disable_signals
+GC_dlopen
+GC_do_local_mark
+GC_do_nothing
+GC_do_parallel_mark
+GC_double_descr
+GC_dump
+GC_dump_finalization
+GC_dump_regions
+GC_enable
+GC_enable_incremental
+GC_enable_signals
+GC_end_blocking
+GC_end_stubborn_change
+GC_enqueue_all_finalizers
+GC_err_printf
+GC_err_puts
+GC_err_write
+GC_exclude_static_roots
+GC_exit_check
+GC_expand_hp
+GC_expand_hp_inner
+GC_extend_size_map
+GC_fault_handler
+GC_finalize
+GC_finalize_all
+GC_find_header
+GC_find_limit
+GC_find_start
+GC_finish_collection
+GC_free
+GC_free_block_ending_at
+GC_freehblk
+GC_free_inner
+GC_gcj_fast_malloc
+GC_gcj_malloc
+GC_gcj_malloc_ignore_off_page
+GC_gcollect
+GC_general_register_disappearing_link
+GC_generic_lock
+GC_generic_malloc
+GC_generic_malloc_ignore_off_page
+GC_generic_malloc_inner
+GC_generic_malloc_inner_ignore_off_page
+GC_generic_malloc_many
+GC_generic_malloc_words_small
+GC_generic_malloc_words_small_inner
+GC_generic_or_special_malloc
+GC_generic_push_regs
+GC_get_bytes_since_gc
+GC_get_first_part
+GC_get_free_bytes
+GC_get_heap_size
+GC_get_nprocs
+GC_get_stack_base
+GC_get_suspend_signal
+GC_get_total_bytes
+GC_grow_table
+GC_has_other_debug_info
+GC_hblk_fl_from_blocks
+GC_help_marker
+GC_ignore_self_finalize_mark_proc
+GC_incremental_protection_needs
+GC_incr_mem_freed
+GC_incr_words_allocd
+GC_init
+GC_init_explicit_typing
+GC_init_gcj_malloc
+GC_init_headers
+GC_initiate_gc
+GC_init_inner
+GC_init_linux_data_start
+GC_init_parallel
+GC_init_size_map
+GC_init_thread_local
+GC_install_counts
+GC_install_header
+GC_invalidate_map
+GC_invalidate_mark_state
+GC_invoke_finalizers
+GC_is_black_listed
+GC_is_fresh
+GC_is_marked
+GC_is_static_root
+GC_is_valid_displacement
+GC_is_visible
+GC_key_create
+GC_linux_stack_base
+GC_local_gcj_fast_malloc
+GC_local_gcj_malloc
+GC_local_malloc
+GC_local_malloc_atomic
+GC_lock
+GC_lookup_thread
+GC_make_array_descriptor
+GC_make_closure
+GC_make_descriptor
+GC_make_sequence_descriptor
+GC_malloc
+GC_malloc_atomic
+GC_malloc_atomic_ignore_off_page
+GC_malloc_atomic_uncollectable
+GC_malloc_explicitly_typed
+GC_malloc_explicitly_typed_ignore_off_page
+GC_malloc_ignore_off_page
+GC_malloc_many
+GC_malloc_stubborn
+GC_malloc_uncollectable
+GC_mark_and_push
+GC_mark_and_push_stack
+GC_mark_from
+GC_mark_init
+GC_mark_local
+GC_mark_some
+GC_mark_stack_empty
+GC_mark_thread
+GC_mark_thread_local_free_lists
+GC_max
+GC_maybe_gc
+GC_memalign
+GC_merge_unmapped
+GC_min
+GC_mono_debugger_get_stack_ptr
+GC_never_stop_func
+GC_new_free_list
+GC_new_free_list_inner
+GC_new_hblk
+GC_new_kind
+GC_new_kind_inner
+GC_new_proc
+GC_new_proc_inner
+GC_new_thread
+GC_next_exclusion
+GC_next_used_block
+GC_noop
+GC_noop1
+GC_normal_finalize_mark_proc
+GC_notify_all_builder
+GC_notify_all_marker
+GC_notify_full_gc
+GC_notify_or_invoke_finalizers
+GC_n_set_marks
+GC_null_finalize_mark_proc
+GC_number_stack_black_listed
+GC_on_stack
+GC_page_was_dirty
+GC_page_was_ever_dirty
+GC_pause
+GC_post_incr
+GC_pre_incr
+GC_prev_block
+GC_print_address_map
+GC_print_all_errors
+GC_print_all_smashed_proc
+GC_print_block_descr
+GC_print_block_list
+GC_printf
+GC_print_finalization_stats
+GC_print_hblkfreelist
+GC_print_heap_sects
+GC_print_obj
+GC_print_smashed_obj
+GC_print_source_ptr
+GC_print_static_roots
+GC_print_type
+GC_project2
+GC_promote_black_lists
+GC_pthread_create
+GC_pthread_detach
+GC_pthread_join
+GC_pthread_sigmask
+GC_push_all
+GC_push_all_eager
+GC_push_all_stack
+GC_push_all_stacks
+GC_push_complex_descriptor
+GC_push_conditional
+GC_push_conditional_with_exclusions
+GC_push_current_stack
+GC_push_finalizer_structures
+GC_push_gc_structures
+GC_push_marked
+GC_push_marked1
+GC_push_marked2
+GC_push_marked4
+GC_push_next_marked
+GC_push_next_marked_dirty
+GC_push_next_marked_uncollectable
+GC_push_one
+GC_push_roots
+GC_push_selected
+GC_push_stubborn_structures
+GC_push_thread_structures
+GC_read_dirty
+GC_realloc
+GC_reclaim1
+GC_reclaim_all
+GC_reclaim_block
+GC_reclaim_check
+GC_reclaim_clear
+GC_reclaim_clear2
+GC_reclaim_clear4
+GC_reclaim_generic
+GC_reclaim_small_nonempty_block
+GC_reclaim_uninit
+GC_reclaim_uninit2
+GC_reclaim_uninit4
+GC_register_data_segments
+GC_register_describe_type_fn
+GC_register_disappearing_link
+GC_register_displacement
+GC_register_displacement_inner
+GC_register_dynamic_libraries
+GC_register_dynamic_libraries_dl_iterate_phdr
+GC_register_finalizer
+GC_register_finalizer_ignore_self
+GC_register_finalizer_inner
+GC_register_finalizer_no_order
+GC_register_main_static_data
+GC_release_mark_lock
+GC_remap
+GC_remove_allowed_signals
+GC_remove_counts
+GC_remove_from_fl
+GC_remove_header
+GC_remove_protection
+GC_remove_roots
+GC_remove_roots_inner
+GC_remove_specific
+GC_remove_tmp_roots
+GC_repeat_read
+GC_reset_fault_handler
+GC_restart_handler
+GC_return_mark_stack
+GC_roots_present
+GC_same_obj
+GC_scratch_alloc
+GC_set_and_save_fault_handler
+GC_set_fl_marks
+GC_set_free_space_divisor
+GC_set_hdr_marks
+GC_set_mark_bit
+GC_set_max_heap_size
+GC_setpagesize
+GC_setspecific
+GC_setup_temporary_fault_handler
+GC_set_warn_proc
+GC_should_collect
+GC_should_invoke_finalizers
+GC_signal_mark_stack_overflow
+GC_size
+GC_sleep
+GC_slow_getspecific
+GC_split_block
+GC_start_blocking
+GC_start_debugging
+GC_start_reclaim
+GC_start_routine
+GC_start_routine_head
+GC_start_world
+GC_steal_mark_stack
+GC_stop_init
+GC_stopped_mark
+GC_stop_world
+GC_store_debug_info
+GC_suspend_all
+GC_suspend_handler
+GC_thread_deregister_foreign
+GC_thread_exit_proc
+GC_thread_is_registered
+GC_thread_register_foreign
+GC_thr_init
+GC_timeout_stop_func
+GC_true_func
+GC_try_to_collect
+GC_try_to_collect_inner
+GC_typed_mark_proc
+GC_unix_get_mem
+GC_unmap
+GC_unmap_end
+GC_unmap_gap
+GC_unmap_old
+GC_unmap_start
+GC_unpromote_black_lists
+GC_unregister_disappearing_link
+GC_wait_builder
+GC_wait_for_gc_completion
+GC_wait_for_reclaim
+GC_wait_marker
+GC_with_callee_saves_pushed
+GC_write
+#
# Produced by matching against the MONO_INTERNAL macro
#
+type_to_eval_stack_type
mono_regstate_free
mono_regstate_free_float
mono_regstate_free_int
mono_trace_is_enabled
mono_trace_eval
mono_trace_leave_method
-mono_trace_enter_method
\ No newline at end of file
+mono_trace_enter_method
+img_writer_create
+img_writer_destroy
+img_writer_emit_alignment
+img_writer_emit_byte
+img_writer_emit_bytes
+img_writer_emit_global
+img_writer_emit_int16
+img_writer_emit_int32
+img_writer_emit_label
+img_writer_emit_line
+img_writer_emit_local_symbol
+img_writer_emit_pointer
+img_writer_emit_pointer_unaligned
+img_writer_emit_pop_section
+img_writer_emit_push_section
+img_writer_emit_reloc
+img_writer_emit_section_change
+img_writer_emit_start
+img_writer_emit_string
+img_writer_emit_symbol_diff
+img_writer_emit_symbol_size
+img_writer_emit_unset_mode
+img_writer_emit_writeout
+img_writer_emit_zero_bytes
+img_writer_get_fp
+img_writer_get_output
+img_writer_get_temp_label_prefix
+img_writer_set_section_addr
+img_writer_subsections_supported
+mono_verifier_set_mode
+mono_verifier_enable_verify_all
+mono_verifier_is_enabled_for_image
+mono_verifier_is_enabled_for_method
+mono_verifier_is_enabled_for_class
+mono_verifier_is_method_full_trust
+mono_verifier_is_class_full_trust
+mono_verifier_verify_class
+mono_verifier_verify_pe_data
+mono_verifier_verify_cli_data
+mono_verifier_verify_table_data
+mono_verifier_verify_full_table_data
+mono_verifier_verify_field_signature
+mono_verifier_verify_method_header
+mono_verifier_verify_method_signature
+mono_verifier_verify_memberref_signature
+mono_verifier_verify_standalone_signature
+mono_verifier_verify_typespec_signature
+mono_verifier_verify_methodspec_signature
+mono_unwind_cleanup
+mono_unwind_frame
+mono_unwind_get_dwarf_data_align
+mono_unwind_get_dwarf_pc_reg
+mono_unwind_get_ops_from_fde
+mono_unwind_init
+mono_unwind_ops_encode
+mono_marshal_get_ldflda_wrapper
+mono_marshal_cleanup
+mono_marshal_load_type_info
+mono_marshal_set_last_error
+mono_marshal_asany
+mono_marshal_free_asany
+mono_marshal_method_from_wrapper
+mono_marshal_get_remoting_invoke
+mono_marshal_get_xappdomain_invoke
+mono_marshal_get_remoting_invoke_for_target
+mono_marshal_get_remoting_invoke_with_check
+mono_marshal_get_delegate_begin_invoke
+mono_marshal_get_delegate_end_invoke
+mono_marshal_get_delegate_invoke
+mono_marshal_get_runtime_invoke
+mono_marshal_get_runtime_invoke_dynamic
+mono_marshal_get_string_ctor_signature
+mono_marshal_get_managed_wrapper
+mono_marshal_get_vtfixup_ftnptr
+mono_marshal_get_icall_wrapper
+mono_marshal_get_native_wrapper
+mono_marshal_get_native_func_wrapper
+mono_marshal_get_struct_to_ptr
+mono_marshal_get_ptr_to_struct
+mono_marshal_get_stfld_wrapper
+mono_marshal_get_ldfld_wrapper
+mono_marshal_get_ldfld_remote_wrapper
+mono_marshal_get_stfld_remote_wrapper
+mono_marshal_get_synchronized_wrapper
+mono_marshal_get_unbox_wrapper
+mono_marshal_get_isinst
+mono_marshal_get_castclass
+mono_marshal_get_proxy_cancast
+mono_marshal_get_stelemref
+mono_marshal_get_array_address
+mono_marshal_get_thunk_invoke_wrapper
+mono_marshal_free_dynamic_wrappers
+mono_marshal_free_inflated_wrappers
+mono_marshal_alloc
+mono_marshal_free
+mono_marshal_free_array
+mono_marshal_free_ccw
+mono_marshal_xdomain_copy_value
+mono_marshal_find_nonzero_bit_offset
+mono_marshal_emit_native_wrapper
+mono_marshal_emit_managed_wrapper
+mono_marshal_get_cache
+mono_marshal_find_in_cache
+mono_marshal_emit_thread_interrupt_checkpoint
\ No newline at end of file
exit 1
fi
-nm $dir/../io-layer/.libs/*.o | clean_nm | grep -v _wapi | ignore_known > $dir/wapi
-nm $dir/../*/.libs/*.o | clean_nm | ignore_known | ignore_wapi | grep -v ^ves_icall | grep -v ^mono_arch_ > $dir/public-api
+nm $dir/../mono/io-layer/.libs/*.o | clean_nm | grep -v _wapi | ignore_known | sort > $dir/wapi
+nm $dir/../mono/mini/.libs/libmono.a | clean_nm | ignore_known | ignore_wapi | grep -v ^ves_icall | grep -v ^mono_arch_ | sort > $dir/public-api
-mono_check_corlib_version
-mono_domain_has_type_resolve
-mono_domain_is_unloading
-mono_domain_owns_vtable_slot
-mono_domain_set
-mono_domain_try_type_resolve
-mono_install_runtime_cleanup
-mono_runtime_cleanup
-mono_runtime_init
-mono_runtime_is_shutting_down
-mono_runtime_quit
+bin_writer_supported
+cominterop_release_all_rcws
+console_restore_signal_handlers
+console_set_signal_handlers
+dlfree
+dlmalloc
+dlmemalign
+free_list_index_of
+GCHandle_CheckCurrentDomain
+g_list_prepend_image
+g_list_prepend_mempool
+g_slist_append_image
+g_slist_append_mempool
+g_slist_prepend_mempool
+invoke_protected_memory_method
+__jit_debug_register_code
+load_normalization_resource
+mini_assembly_can_skip_verification
+mini_class_get_container_class
+mini_class_get_context
+mini_class_is_system_array
+mini_debugger_init
+mini_debugger_main
+mini_debugger_set_attach_ok
+mini_debug_running_inside_mdb
+mini_emit_initobj
+mini_emit_stobj
+mini_gc_create_gc_map
+mini_gc_init
+mini_get_basic_type_from_generic
+mini_get_debug_options
+mini_get_vtable_trampoline
+mini_jit_info_table_find
+mini_method_get_context
+mini_method_verify
+mini_type_get_underlying_type
+mini_type_stack_size
+mini_type_stack_size_full
+mini_type_to_stind
+mono_100ns_datetime
+mono_100ns_ticks
+mono_activate_security_manager
+mono_add_internal_call
+mono_alloc_dreg
+mono_alloc_freg
+mono_alloc_ireg
+mono_alloc_preg
+mono_alloc_special_static_data
+mono_alloc_special_static_data_free
+mono_altstack_restore_prot
+mono_amd64_emit_tls_get
+mono_amd64_get_original_ip
+mono_amd64_patch
+mono_amd64_throw_exception
+mono_aot_create_specific_trampoline
+mono_aot_get_array_helper_from_wrapper
+mono_aot_get_got_offset
+mono_aot_get_imt_thunk
+mono_aot_get_lazy_fetch_trampoline
+mono_aot_get_named_code
+mono_aot_get_plt_info_offset
+mono_aot_get_plt_symbol
+mono_aot_get_static_rgctx_trampoline
+mono_aot_get_unbox_trampoline
+mono_aot_get_unwind_info
+mono_aot_method_hash
+mono_aot_patch_info_dup
+mono_aot_register_globals
+mono_aot_register_module
+mono_aot_str_hash
+mono_aot_tramp_info_create
+mono_aot_wrapper_name
+mono_array_calc_byte_len
+mono_array_class_get
+mono_array_clone
+mono_array_clone_in_domain
+mono_array_element_size
+mono_array_full_copy
+mono_array_new
+mono_array_new_1
+mono_array_new_2
+mono_array_new_full
+mono_array_new_specific
+mono_array_to_lparray
+mono_array_to_savearray
mono_assemblies_cleanup
mono_assembly_addref
mono_assembly_close
+mono_assembly_close_except_image_pools
+mono_assembly_close_finish
mono_assembly_get_image
mono_assembly_get_main
+mono_assembly_get_object
mono_assembly_getrootdir
+mono_assembly_has_skip_verification
mono_assembly_load
mono_assembly_loaded
mono_assembly_loaded_full
-mono_assembly_load_from
+mono_assembly_load_friends
mono_assembly_load_full
+mono_assembly_load_full_nosearch
mono_assembly_name_free
mono_assembly_name_parse
mono_assembly_names_equal
mono_assembly_open
-mono_install_assembly_load_hook
-mono_install_assembly_postload_refonly_search_hook
-mono_install_assembly_postload_search_hook
-mono_install_assembly_preload_hook
-mono_install_assembly_refonly_preload_hook
-mono_install_assembly_refonly_search_hook
-mono_install_assembly_search_hook
-mono_register_bundled_assemblies
-mono_set_dirs
-mono_stringify_assembly_name
-mono_gc_alloc_fixed
-mono_gc_base_init
-mono_gc_collect
-mono_gc_disable
-mono_gc_enable
-mono_gc_enable_events
-mono_gc_free_fixed
-mono_gc_get_heap_size
-mono_gc_get_used_size
-mono_gc_invoke_finalizers
-mono_gc_is_gc_thread
-mono_gc_make_descr_from_bitmap
-mono_gc_max_generation
-mono_gc_pending_finalizers
-mono_gc_register_thread
-mono_gc_wbarrier_arrayref_copy
-mono_gc_wbarrier_generic_store
-mono_gc_wbarrier_set_arrayref
-mono_gc_wbarrier_set_field
-mono_gc_wbarrier_value_copy
-mono_gc_weak_link_add
-mono_gc_weak_link_get
-mono_gc_weak_link_remove
-mono_object_is_alive
-mono_array_class_get
-mono_array_element_size
+mono_assembly_open_from_bundle
+mono_async_result_new
+mono_attach_cleanup
+mono_attach_init
+mono_attach_maybe_start
+mono_attach_parse_options
+mono_attach_start
+mono_bblock_insert_after_ins
+mono_bblock_insert_before_ins
+mono_bblocks_linked
+mono_bitset_alloc_size
+mono_bitset_clear
+mono_bitset_clear_all
+mono_bitset_clone
+mono_bitset_copyto
+mono_bitset_count
+mono_bitset_equal
+mono_bitset_find_first
+mono_bitset_find_first_unset
+mono_bitset_find_last
+mono_bitset_find_start
+mono_bitset_foreach
+mono_bitset_free
+mono_bitset_intersection
+mono_bitset_intersection_2
+mono_bitset_invert
+mono_bitset_mem_new
+mono_bitset_new
+mono_bitset_set
+mono_bitset_set_all
+mono_bitset_size
+mono_bitset_sub
+mono_bitset_test
+mono_bitset_test_bulk
+mono_bitset_union
mono_bounded_array_class_get
+mono_break
+mono_breakpoint_clean_code
+mono_cache_unwind_info
+mono_chain_signal
+mono_check_corlib_version
+mono_class_alloc_ext
mono_class_array_element_size
+mono_class_check_context_used
+mono_class_compute_gc_descriptor
mono_class_data_size
+mono_class_describe_statics
mono_class_enum_basetype
mono_classes_cleanup
+mono_class_field_is_special_static
+mono_class_fill_runtime_generic_context
mono_class_from_generic_parameter
mono_class_from_mono_type
mono_class_from_name
mono_class_from_name_case
mono_class_from_typeref
+mono_class_generic_sharing_enabled
mono_class_get
+mono_class_get_allocation_ftn
mono_class_get_byref_type
mono_class_get_cctor
+mono_class_get_context
mono_class_get_element_class
mono_class_get_events
mono_class_get_event_token
+mono_class_get_exception_data
mono_class_get_exception_for_failure
mono_class_get_field
+mono_class_get_field_default_value
mono_class_get_field_from_name
+mono_class_get_field_from_name_full
mono_class_get_fields
mono_class_get_field_token
mono_class_get_finalizer
mono_class_get_flags
mono_class_get_full
+mono_class_get_generic_class
+mono_class_get_generic_container
+mono_class_get_generic_type_definition
mono_class_get_image
mono_class_get_implemented_interfaces
+mono_class_get_inflated_method
mono_class_get_interfaces
+mono_class_get_method_by_index
mono_class_get_method_from_name
mono_class_get_method_from_name_flags
+mono_class_get_method_generic
mono_class_get_methods
mono_class_get_name
mono_class_get_namespace
mono_class_get_rank
mono_class_get_type
mono_class_get_type_token
+mono_class_get_vtable_entry
+mono_class_get_vtable_size
+mono_class_has_parent_and_ignore_generics
+mono_class_inflate_generic_class
mono_class_inflate_generic_method
mono_class_inflate_generic_type
+mono_class_inflate_generic_type_checked
+mono_class_inflate_generic_type_with_mempool
mono_class_init
mono_class_instance_size
+mono_class_interface_offset
mono_class_is_assignable_from
+mono_class_is_assignable_from_slow
mono_class_is_enum
mono_class_is_nullable
mono_class_is_open_constructed_type
mono_class_is_subclass_of
+mono_class_is_valid_enum
mono_class_is_valuetype
mono_class_layout_fields
mono_class_min_align
mono_class_name_from_token
+mono_class_native_size
mono_class_needs_cctor_run
mono_class_num_events
mono_class_num_fields
mono_class_num_methods
mono_class_num_properties
+mono_class_rgctx_get_array_size
mono_class_set_failure
+mono_class_setup_interface_id
+mono_class_setup_interfaces
mono_class_setup_methods
mono_class_setup_mono_type
mono_class_setup_parent
mono_class_setup_supertypes
mono_class_setup_vtable
mono_class_setup_vtable_general
+mono_class_try_get_vtable
+mono_class_unregister_image_generic_subclasses
mono_class_value_size
-mono_dup_array_type
-mono_event_get_add_method
-mono_event_get_flags
-mono_event_get_name
-mono_event_get_parent
-mono_event_get_raise_method
-mono_event_get_remove_method
-mono_field_get_data
-mono_field_get_flags
-mono_field_get_name
-mono_field_get_parent
-mono_field_get_type
-mono_get_inflated_generic_class
-mono_get_shared_generic_inst
-mono_image_add_to_name_cache
-mono_install_get_class_from_name
-mono_install_lookup_dynamic_token
-mono_ldtoken
-mono_lookup_dynamic_token
-mono_lookup_dynamic_token_class
-mono_property_get_flags
-mono_property_get_get_method
-mono_property_get_name
-mono_property_get_parent
-mono_property_get_set_method
-mono_ptr_class_get
-mono_type_get_full_name
-mono_type_get_name
-mono_type_get_name_full
-mono_type_get_underlying_type
-mono_class_describe_statics
-mono_disasm_code
-mono_disasm_code_one
-mono_method_desc_free
-mono_method_desc_from_method
-mono_method_desc_full_match
-mono_method_desc_match
-mono_method_desc_new
-mono_method_desc_search_in_class
-mono_method_desc_search_in_image
-mono_method_full_name
-mono_object_describe
-mono_object_describe_fields
-mono_signature_get_desc
-mono_type_full_name
-mono_type_get_desc
-mono_value_describe_fields
+mono_class_vtable
+mono_class_vtable_full
+mono_cleanup
+mono_cli_rva_image_map
+mono_close_exe_image
+mono_code_manager_commit
+mono_code_manager_destroy
+mono_code_manager_foreach
+mono_code_manager_invalidate
+mono_code_manager_new
+mono_code_manager_new_dynamic
+mono_code_manager_reserve
+mono_code_manager_reserve_align
+mono_code_manager_set_read_only
+mono_code_manager_size
+mono_cominterop_cleanup
+mono_cominterop_emit_marshal_com_interface
+mono_cominterop_emit_marshal_safearray
+mono_cominterop_emit_object_to_ptr_conv
+mono_cominterop_emit_ptr_to_object_conv
+mono_cominterop_get_invoke
+mono_cominterop_get_native_wrapper
+mono_cominterop_init
+mono_compile_method
+mono_config_for_assembly
+mono_config_parse
+mono_config_parse_memory
+mono_config_string_for_assembly_file
+mono_console_init
+mono_context_get
+mono_context_get_desc
+mono_context_set
+mono_conv_to_r8_un
+mono_counters_cleanup
+mono_counters_dump
+mono_counters_enable
+mono_counters_register
+mono_cpu_count
+mono_cpu_get_data
+mono_create_corlib_exception_0
+mono_create_corlib_exception_1
+mono_create_corlib_exception_2
+mono_create_delegate_trampoline
+mono_create_generic_class_init_trampoline
+mono_create_icall_signature
+mono_create_jump_trampoline
+mono_create_llvm_imt_trampoline
+mono_create_llvm_vcall_trampoline
+mono_create_monitor_enter_trampoline
+mono_create_monitor_exit_trampoline
+mono_create_rgctx_lazy_fetch_trampoline
+mono_create_specific_trampoline
+mono_create_static_rgctx_trampoline
+mono_create_thread
+mono_create_unwind_op
+mono_custom_attrs_construct
+mono_custom_attrs_free
+mono_custom_attrs_from_assembly
+mono_custom_attrs_from_class
+mono_custom_attrs_from_event
+mono_custom_attrs_from_field
+mono_custom_attrs_from_index
+mono_custom_attrs_from_method
+mono_custom_attrs_from_param
+mono_custom_attrs_from_property
+mono_custom_attrs_get_attr
+mono_custom_attrs_has_attr
+mono_debug_add_aot_method
+mono_debug_add_method
_mono_debug_address_from_il_offset
+mono_debug_close_image
mono_debug_close_mono_symbol_file
+mono_debug_domain_create
+mono_debug_domain_unload
+mono_debug_find_method
+mono_debug_free_source_location
+mono_debugger_agent_breakpoint_hit
+mono_debugger_agent_free_domain_info
+mono_debugger_agent_handle_exception
+mono_debugger_agent_handle_unhandled_exception
+mono_debugger_agent_init
+mono_debugger_agent_parse_options
+mono_debugger_agent_single_step_event
+mono_debugger_agent_thread_interrupt
+mono_debugger_breakpoint_callback
+mono_debugger_call_exception_handler
+mono_debugger_check_breakpoints
+mono_debugger_check_interruption
+mono_debugger_check_runtime_version
+mono_debugger_class_initialized
+mono_debugger_event
+mono_debugger_event_create_appdomain
+mono_debugger_event_unload_appdomain
+mono_debugger_extended_notification
+mono_debugger_handle_exception
+mono_debugger_insert_breakpoint
+mono_debugger_insert_breakpoint_full
+mono_debugger_insert_method_breakpoint
+mono_debugger_lock
+mono_debugger_method_has_breakpoint
+MONO_DEBUGGER__notification_function
+mono_debugger_register_class_init_callback
+mono_debugger_remove_breakpoint
+mono_debugger_remove_class_init_callback
+mono_debugger_remove_method_breakpoint
+mono_debugger_run_finally
+mono_debugger_runtime_invoke
+mono_debugger_thread_cleanup
+mono_debugger_thread_created
+_mono_debugger_throw_exception
+mono_debugger_trampoline_compiled
+_mono_debugger_unhandled_exception
+mono_debugger_unlock
+mono_debug_il_offset_from_address
+mono_debug_list_add
+mono_debug_list_remove
+mono_debug_lookup_locals
+mono_debug_lookup_method
+mono_debug_lookup_method_addresses
+mono_debug_lookup_source_location
+mono_debug_open_image_from_memory
mono_debug_open_mono_symbols
+mono_debug_print_stack_frame
+mono_debug_print_vars
+mono_debug_symfile_get_line_numbers
+mono_debug_symfile_lookup_locals
mono_debug_symfile_lookup_location
mono_debug_symfile_lookup_method
+mono_debug_using_mono_debugger
mono_decimal2double
mono_decimal2Int64
mono_decimal2string
mono_decimalMult
mono_decimalRound
mono_decimalSetExponent
-mono_double2decimal
-mono_string2decimal
-mono_cleanup
-mono_context_get
-mono_context_set
-mono_debugger_check_runtime_version
+mono_declsec_flags_from_assembly
+mono_declsec_flags_from_class
+mono_declsec_flags_from_method
+mono_declsec_get_assembly_action
+mono_declsec_get_class_action
+mono_declsec_get_demands
+mono_declsec_get_inheritdemands_class
+mono_declsec_get_inheritdemands_method
+mono_declsec_get_linkdemands
+mono_declsec_get_method_action
+mono_decompose_array_access_opts
+mono_decompose_long_opts
+mono_decompose_opcode
+mono_decompose_op_imm
+mono_decompose_vtype_opts
+mono_delegate_ctor
+mono_delegate_ctor_with_method
+mono_delegate_free_ftnptr
+mono_delegate_to_ftnptr
+mono_digest_get_public_token
+mono_disable_optimizations
+mono_disasm_code
+mono_disasm_code_one
+mono_dl_build_path
+mono_dl_close
+mono_dllmap_insert
+mono_dl_open
+mono_dl_symbol
+mono_domain_alloc
+mono_domain_alloc0
mono_domain_assembly_open
+mono_domain_code_commit
+mono_domain_code_foreach
+mono_domain_code_reserve
+mono_domain_code_reserve_align
mono_domain_create
+mono_domain_create_appdomain
+mono_domain_finalize
mono_domain_foreach
mono_domain_free
+mono_domain_from_appdomain
mono_domain_get
mono_domain_get_by_id
mono_domain_get_id
mono_domain_get_tls_key
+mono_domain_has_type_resolve
+mono_domain_is_unloading
+mono_domain_lookup_shared_generic
+mono_domain_owns_vtable_slot
+mono_domain_set
mono_domain_set_internal
-mono_get_array_class
-mono_get_boolean_class
-mono_get_byte_class
-mono_get_char_class
-mono_get_corlib
-mono_get_double_class
-mono_get_enum_class
-mono_get_exception_class
-mono_get_int16_class
-mono_get_int32_class
-mono_get_int64_class
-mono_get_intptr_class
-mono_get_object_class
-mono_get_root_domain
-mono_get_sbyte_class
-mono_get_single_class
-mono_get_string_class
-mono_get_thread_class
-mono_get_uint16_class
-mono_get_uint32_class
-mono_get_uint64_class
-mono_get_uintptr_class
-mono_get_void_class
-mono_init
-mono_init_from_assembly
-mono_init_version
-mono_jit_info_get_code_size
-mono_jit_info_get_code_start
-mono_jit_info_get_method
-mono_jit_info_table_find
-mono_string_equal
-mono_string_hash
+mono_domain_set_internal_with_options
+mono_domain_try_type_resolve
+mono_domain_try_unload
+mono_domain_unload
+mono_double2decimal
+mono_dup_array_type
+mono_dwarf_writer_close
+mono_dwarf_writer_create
+mono_dwarf_writer_destroy
+mono_dwarf_writer_emit_base_info
+mono_dwarf_writer_emit_method
+mono_dwarf_writer_emit_trampoline
+mono_dwarf_writer_get_il_file_line_index
+mono_dynamic_image_free
+mono_emit_native_call
+mono_emit_simd_intrinsics
+mono_emit_unwind_op
mono_environment_exitcode_get
mono_environment_exitcode_set
-mono_exception_from_name
-mono_exception_from_name_domain
+mono_error_cleanup
+mono_error_dup_strings
+mono_error_get_error_code
+mono_error_get_message
+mono_error_init
+mono_error_init_flags
+mono_error_ok
+mono_error_prepare_exception
+mono_error_raise_exception
+mono_error_set_argument
+mono_error_set_assembly_load
+mono_error_set_bad_image
+mono_error_set_bad_image_name
+mono_error_set_error
+mono_error_set_field_load
+mono_error_set_generic_error
+mono_error_set_method_load
+mono_error_set_out_of_memory
+mono_error_set_type_load_class
+mono_error_set_type_load_name
+mono_escape_uri_string
+mono_event_get_add_method
+mono_event_get_flags
+mono_event_get_name
+mono_event_get_object
+mono_event_get_parent
+mono_event_get_raise_method
+mono_event_get_remove_method
+mono_exception_from_name
+mono_exception_from_name_domain
mono_exception_from_name_msg
mono_exception_from_name_two_strings
mono_exception_from_token
+mono_exception_from_token_two_strings
+mono_exceptions_init
+mono_field_from_token
+mono_field_full_name
+mono_field_get_data
+mono_field_get_flags
+mono_field_get_name
+mono_field_get_object
+mono_field_get_offset
+mono_field_get_parent
+mono_field_get_type
+mono_field_get_value
+mono_field_get_value_object
+mono_field_set_value
+mono_field_static_get_value
+mono_field_static_set_value
+mono_file_map
+mono_file_map_close
+mono_file_map_fd
+mono_file_map_open
+mono_file_map_size
+mono_file_unmap
+mono_find_jit_info
+mono_find_rgctx_lazy_fetch_trampoline_by_addr
+mono_framework_version
+mono_free_altstack
+mono_free_bstr
+mono_free_lparray
+mono_free_method
+mono_free_verify_list
+mono_ftnptr_to_delegate
+mono_gc_add_memory_pressure
+mono_gc_add_weak_track_handle
+mono_gc_alloc_fixed
+mono_gc_base_init
+mono_gc_change_weak_track_handle
+mono_gc_clear_domain
+mono_gc_collect
+mono_gc_collection_count
+mono_gc_deregister_root
+mono_gc_disable
+mono_gc_enable
+mono_gc_enable_events
+mono_gc_finalize_notify
+mono_gc_finalize_threadpool_threads
+mono_gc_free_fixed
+mono_gc_get_generation
+mono_gc_get_heap_size
+mono_gc_get_managed_allocator
+mono_gc_get_managed_allocator_by_type
+mono_gc_get_managed_allocator_type
+mono_gc_get_managed_allocator_types
+mono_gc_get_managed_array_allocator
+mono_gc_get_suspend_signal
+mono_gc_get_used_size
+mono_gchandle_free
+mono_gchandle_free_domain
+mono_gchandle_get_target
+mono_gchandle_is_in_domain
+mono_gchandle_new
+mono_gchandle_new_weakref
+mono_gc_invoke_finalizers
+mono_gc_is_finalizer_internal_thread
+mono_gc_is_finalizer_thread
+mono_gc_is_gc_thread
+mono_gc_make_descr_for_array
+mono_gc_make_descr_for_object
+mono_gc_make_descr_for_string
+mono_gc_make_descr_from_bitmap
+mono_gc_max_generation
+mono_gc_out_of_memory
+mono_gc_pending_finalizers
+mono_gc_register_root
+mono_gc_register_thread
+mono_gc_remove_weak_track_handle
+mono_gc_remove_weak_track_object
+mono_gc_run_finalize
+mono_gc_wbarrier_arrayref_copy
+mono_gc_wbarrier_generic_nostore
+mono_gc_wbarrier_generic_store
+mono_gc_wbarrier_object_copy
+mono_gc_wbarrier_set_arrayref
+mono_gc_wbarrier_set_field
+mono_gc_wbarrier_value_copy
+mono_gc_weak_link_add
+mono_gc_weak_link_get
+mono_gc_weak_link_remove
+mono_gdb_render_native_backtraces
+mono_generic_class_get_class
+mono_generic_class_get_context
+mono_generic_class_init_trampoline
+mono_generic_class_is_generic_type_definition
+mono_generic_context_check_used
+mono_generic_context_equal_deep
+mono_generic_context_is_sharable
+mono_generic_sharing_init
+mono_generic_virtual_remoting_trampoline
+mono_get_addr_from_ftnptr
+mono_get_array_class
+mono_get_array_new_va_icall
+mono_get_boolean_class
+mono_get_byte_class
+mono_get_cached_unwind_info
+mono_get_call_filter
+mono_get_char_class
+mono_get_config_dir
+mono_get_constant_value_from_blob
+mono_get_context_capture_method
+mono_get_corlib
+mono_get_dbnull_object
+mono_get_delegate_invoke
+mono_get_domain_intrinsic
+mono_get_double_class
+mono_get_enum_class
mono_get_exception_appdomain_unloaded
mono_get_exception_argument
mono_get_exception_argument_null
mono_get_exception_arithmetic
mono_get_exception_array_type_mismatch
mono_get_exception_bad_image_format
+mono_get_exception_bad_image_format2
mono_get_exception_cannot_unload_appdomain
+mono_get_exception_class
mono_get_exception_divide_by_zero
mono_get_exception_execution_engine
+mono_get_exception_field_access
mono_get_exception_file_not_found
mono_get_exception_file_not_found2
mono_get_exception_index_out_of_range
mono_get_exception_invalid_cast
mono_get_exception_invalid_operation
mono_get_exception_io
+mono_get_exception_method_access
mono_get_exception_missing_field
mono_get_exception_missing_method
mono_get_exception_not_implemented
mono_get_exception_not_supported
mono_get_exception_null_reference
+mono_get_exception_out_of_memory
mono_get_exception_overflow
mono_get_exception_reflection_type_load
mono_get_exception_security
mono_get_exception_stack_overflow
mono_get_exception_synchronization_lock
mono_get_exception_thread_abort
+mono_get_exception_thread_interrupted
mono_get_exception_thread_state
mono_get_exception_type_initialization
mono_get_exception_type_load
-mono_domain_finalize
-mono_gc_finalize_notify
-mono_gchandle_free
-mono_gchandle_free_domain
-mono_gchandle_get_target
-mono_gchandle_is_in_domain
-mono_gchandle_new
-mono_gchandle_new_weakref
-mono_gc_is_finalizer_thread
-mono_gc_out_of_memory
-mono_object_register_finalizer
-mono_add_internal_call
-mono_create_icall_signature
-mono_lookup_internal_call
-mono_cli_rva_image_map
+mono_get_generic_context_from_code
+mono_get_got_var
+mono_get_int16_class
+mono_get_int32_class
+mono_get_int64_class
+mono_get_intptr_class
+mono_get_jit_icall_info
+mono_get_jit_tls_intrinsic
+mono_get_jit_tls_offset
+mono_get_lmf
+mono_get_machine_config
+mono_get_method
+mono_get_method_full
+mono_get_object_class
+mono_get_restore_context
+mono_get_rethrow_exception
+mono_get_root_domain
+mono_get_runtime_build_info
+mono_get_runtime_callbacks
+mono_get_sbyte_class
+mono_get_shared_generic_inst
+mono_get_single_class
+mono_get_special_static_data
+mono_get_string_class
+mono_get_thread_class
+mono_get_throw_corlib_exception
+mono_get_throw_exception
+mono_get_throw_exception_by_name
+mono_get_trampoline_func
+mono_get_uint16_class
+mono_get_uint32_class
+mono_get_uint64_class
+mono_get_uintptr_class
+mono_get_vcall_slot_addr
+mono_get_void_class
+mono_g_hash_table_destroy
+mono_g_hash_table_find
+mono_g_hash_table_foreach
+mono_g_hash_table_foreach_remove
+mono_g_hash_table_foreach_steal
+mono_g_hash_table_insert
+mono_g_hash_table_lookup
+mono_g_hash_table_lookup_extended
+mono_g_hash_table_new
+mono_g_hash_table_new_full
+mono_g_hash_table_new_type
+mono_g_hash_table_remap
+mono_g_hash_table_remove
+mono_g_hash_table_replace
+mono_g_hash_table_size
+mono_g_hash_table_steal
+mono_global_regalloc
+mono_guid_to_string
+mono_handle_exception
+mono_handle_global_vregs
+mono_handle_soft_stack_ovf
+mono_hazard_pointer_get
+mono_hw_reg_to_dwarf_reg
+mono_if_conversion
mono_image_addref
+mono_image_alloc
+mono_image_alloc0
+mono_image_check_for_module_cctor
mono_image_close
+mono_image_close_except_pools
+mono_image_close_finish
+mono_image_create_token
mono_image_ensure_section
mono_image_ensure_section_idx
+mono_image_fixup_vtable
mono_image_get_assembly
mono_image_get_entry_point
mono_image_get_filename
mono_image_get_table_info
mono_image_get_table_rows
mono_image_has_authenticode_entry
+mono_image_insert_string
mono_image_is_dynamic
+mono_image_load_cli_data
mono_image_loaded
mono_image_loaded_by_guid
mono_image_loaded_by_guid_full
mono_image_loaded_full
mono_image_load_file_for_image
+mono_image_load_names
+mono_image_load_pe_data
+mono_image_lock
mono_image_lookup_resource
mono_image_open
mono_image_open_from_data
mono_image_open_from_data_full
mono_image_open_full
+mono_image_open_raw
+mono_image_property_insert
+mono_image_property_lookup
+mono_image_property_remove
+mono_image_register_token
mono_image_rva_map
mono_images_cleanup
+mono_image_set_wrappers_type
+mono_image_strdup
mono_image_strerror
mono_image_strong_name_position
-mono_pe_file_open
-mono_table_info_get_rows
-mono_dllmap_insert
-mono_field_from_token
-mono_free_method
-mono_get_method
-mono_get_method_full
-mono_get_shared_generic_method
+mono_image_unlock
+mono_init
+mono_init_com_types
+mono_init_from_assembly
+mono_init_version
+mono_install_assembly_load_hook
+mono_install_assembly_postload_refonly_search_hook
+mono_install_assembly_postload_search_hook
+mono_install_assembly_preload_hook
+mono_install_assembly_refonly_preload_hook
+mono_install_assembly_refonly_search_hook
+mono_install_assembly_search_hook
+mono_install_callbacks
+mono_install_compile_method
+mono_install_create_domain_hook
+mono_install_delegate_trampoline
+mono_install_free_domain_hook
+mono_install_free_method
+mono_install_get_class_from_name
+mono_install_handler
+mono_install_imt_thunk_builder
+mono_install_imt_trampoline
+mono_install_jump_trampoline
+mono_install_lookup_dynamic_token
+mono_install_remoting_trampoline
+mono_install_runtime_cleanup
+mono_install_runtime_invoke
+mono_install_runtime_load
mono_install_stack_walk
+mono_install_threadpool_item_hooks
+mono_install_threadpool_thread_hooks
+mono_install_trampoline
+mono_install_vtable_trampoline
+mono_inst_name
+mono_inst_set_src_registers
+mono_internal_hash_table_destroy
+mono_internal_hash_table_init
+mono_internal_hash_table_insert
+mono_internal_hash_table_lookup
+mono_internal_hash_table_remove
+mono_is_debugger_attached
+mono_is_ecma_key
+mono_is_regsize_var
+mono_is_security_manager_active
+mono_is_shadow_copy_enabled
+mono_jit_cleanup
+mono_jit_code_hash_init
+mono_jit_compile_method
+mono_jit_exec
+mono_jit_find_compiled_method
+mono_jit_find_compiled_method_with_jit_info
+mono_jit_info_get_code_size
+mono_jit_info_get_code_start
+mono_jit_info_get_generic_jit_info
+mono_jit_info_get_generic_sharing_context
+mono_jit_info_get_method
+mono_jit_info_set_generic_sharing_context
+mono_jit_info_table_find
+mono_jit_init
+mono_jit_init_version
+mono_jit_parse_options
+mono_jit_set_aot_only
+mono_jit_set_trace_options
+mono_ldstr
+mono_ldtoken
+mono_link_bblock
+mono_linterval_add_range
+mono_linterval_covers
+mono_linterval_get_intersect_pos
+mono_linterval_print
+mono_linterval_print_nl
+mono_linterval_split
+mono_liveness_handle_exception_clauses
mono_loader_cleanup
mono_loader_clear_error
mono_loader_error_prepare_exception
mono_loader_get_last_error
mono_loader_lock
+mono_loader_lock_is_owned_by_self
+mono_loader_lock_track_ownership
mono_loader_set_error_assembly_load
+mono_loader_set_error_bad_image
mono_loader_set_error_field_load
mono_loader_set_error_method_load
mono_loader_set_error_type_load
mono_loader_unlock
+mono_load_membase_to_load_mem
+mono_load_remote_field
+mono_load_remote_field_new
+mono_local_deadce
+mono_locks_dump
+mono_lookup_dynamic_token
+mono_lookup_dynamic_token_class
+mono_lookup_internal_call
mono_lookup_pinvoke_call
-mono_method_get_class
-mono_method_get_flags
-mono_method_get_header
-mono_method_get_index
-mono_method_get_last_managed
-mono_method_get_marshal_info
-mono_method_get_name
-mono_method_get_param_names
-mono_method_get_param_token
-mono_method_get_signature
-mono_method_get_signature_full
-mono_method_get_token
-mono_method_get_wrapper_data
-mono_method_has_marshal_info
-mono_method_signature
-mono_stack_walk
-mono_stack_walk_no_il
-load_normalization_resource
-mono_array_to_lparray
-mono_array_to_savearray
-mono_class_native_size
-mono_delegate_free_ftnptr
-mono_delegate_to_ftnptr
-mono_ftnptr_to_delegate
-mono_marshal_alloc
-mono_marshal_asany
-mono_marshal_cleanup
-mono_marshal_free
-mono_marshal_free_array
-mono_marshal_free_asany
-mono_marshal_get_castclass
-mono_marshal_get_delegate_begin_invoke
-mono_marshal_get_delegate_end_invoke
-mono_marshal_get_delegate_invoke
+mono_main
+mono_make_shadow_copy
mono_marshal_get_generic_array_helper
-mono_marshal_get_icall_wrapper
-mono_marshal_get_isinst
-mono_marshal_get_ldfld_remote_wrapper
-mono_marshal_get_ldfld_wrapper
-mono_marshal_get_managed_wrapper
-mono_marshal_get_native_func_wrapper
-mono_marshal_get_native_wrapper
-mono_marshal_get_proxy_cancast
-mono_marshal_get_ptr_to_struct
-mono_marshal_get_remoting_invoke
-mono_marshal_get_remoting_invoke_for_target
-mono_marshal_get_remoting_invoke_with_check
-mono_marshal_get_runtime_invoke
-mono_marshal_get_stelemref
-mono_marshal_get_stfld_remote_wrapper
-mono_marshal_get_stfld_wrapper
-mono_marshal_get_struct_to_ptr
-mono_marshal_get_synchronized_wrapper
-mono_marshal_get_unbox_wrapper
-mono_marshal_get_write_barrier
-mono_marshal_get_xappdomain_invoke
-mono_marshal_load_type_info
-mono_marshal_method_from_wrapper
-mono_marshal_realloc
-mono_marshal_set_last_error
mono_marshal_string_to_utf16
mono_marshal_type_size
mono_mb_add_data
mono_mb_add_local
+mono_mb_create_and_cache
mono_mb_create_method
mono_mb_emit_add_to_local
mono_mb_emit_branch
+mono_mb_emit_branch_label
mono_mb_emit_byte
+mono_mb_emit_calli
+mono_mb_emit_cominterop_call
mono_mb_emit_exception
+mono_mb_emit_exception_full
mono_mb_emit_i2
mono_mb_emit_i4
+mono_mb_emit_icall
mono_mb_emit_icon
mono_mb_emit_ldarg
mono_mb_emit_ldarg_addr
mono_mb_emit_ldstr
mono_mb_emit_managed_call
mono_mb_emit_native_call
+mono_mb_emit_op
+mono_mb_emit_ptr
mono_mb_emit_short_branch
mono_mb_emit_stloc
mono_mb_free
+mono_mb_get_label
+mono_mb_get_pos
mono_mb_new
+mono_mb_new_no_dup_name
mono_mb_patch_addr
mono_mb_patch_addr_s
-mono_string_builder_to_utf16
-mono_string_builder_to_utf8
-mono_string_to_ansibstr
-mono_string_to_bstr
-mono_string_to_byvalstr
-mono_string_to_byvalwstr
-mono_string_utf16_to_builder
-mono_string_utf8_to_builder
-mono_type_native_stack_size
-mono_type_to_ldind
-mono_type_to_stind
-mono_upgrade_remote_class_wrapper
+mono_mb_patch_branch
+mono_mb_patch_short_branch
+mono_mb_set_clauses
+mono_md5_final
+mono_md5_get_digest
+mono_md5_get_digest_from_file
+mono_md5_init
+mono_md5_update
mono_mempool_alloc
mono_mempool_alloc0
mono_mempool_contains_addr
mono_mempool_get_allocated
mono_mempool_invalidate
mono_mempool_new
+mono_mempool_new_size
mono_mempool_stats
mono_mempool_strdup
-mono_guid_to_string
+mono_merge_basic_blocks
+mono_message_init
+mono_message_invoke
mono_metadata_blob_heap
+mono_metadata_clean_for_image
mono_metadata_cleanup
mono_metadata_compute_size
mono_metadata_custom_attrs_from_index
mono_metadata_encode_value
mono_metadata_events_from_typedef
mono_metadata_field_info
+mono_metadata_field_info_with_mempool
mono_metadata_free_array
+mono_metadata_free_inflated_signature
mono_metadata_free_marshal_spec
mono_metadata_free_method_signature
mono_metadata_free_mh
mono_metadata_free_type
mono_metadata_generic_class_is_valuetype
-mono_metadata_generic_method_equal
+mono_metadata_generic_context_equal
+mono_metadata_generic_context_hash
+mono_metadata_generic_inst_equal
+mono_metadata_generic_inst_hash
mono_metadata_get_constant_index
+mono_metadata_get_corresponding_event_from_generic_type_definition
+mono_metadata_get_corresponding_field_from_generic_type_definition
+mono_metadata_get_corresponding_property_from_generic_type_definition
+mono_metadata_get_generic_inst
+mono_metadata_get_inflated_signature
mono_metadata_get_marshal_info
+mono_metadata_get_shared_type
mono_metadata_guid_heap
mono_metadata_has_generic_params
mono_metadata_implmap_from_method
mono_metadata_load_generic_params
mono_metadata_locate
mono_metadata_locate_token
+mono_metadata_method_has_param_attrs
mono_metadata_methods_from_event
mono_metadata_methods_from_property
mono_metadata_nested_in_typedef
mono_metadata_parse_field_type
mono_metadata_parse_generic_inst
mono_metadata_parse_marshal_spec
+mono_metadata_parse_marshal_spec_full
mono_metadata_parse_method_signature
mono_metadata_parse_method_signature_full
mono_metadata_parse_mh
mono_metadata_properties_from_typedef
mono_metadata_signature_alloc
mono_metadata_signature_dup
+mono_metadata_signature_dup_full
+mono_metadata_signature_dup_mempool
mono_metadata_signature_equal
+mono_metadata_signature_size
mono_metadata_string_heap
mono_metadata_token_from_dor
mono_metadata_translate_token_index
mono_metadata_typedef_from_field
mono_metadata_typedef_from_method
+mono_metadata_type_dup
mono_metadata_type_equal
+mono_metadata_type_equal_full
mono_metadata_type_hash
mono_metadata_user_string
+mono_method_add_generic_virtual_invocation
+mono_method_alloc_generic_virtual_thunk
+mono_method_body_get_object
+mono_method_call_message_new
+mono_method_can_access_field
+mono_method_can_access_field_full
+mono_method_can_access_method
+mono_method_can_access_method_full
+mono_method_check_context_used
+mono_method_clear_object
+mono_method_construct_object_context
+mono_method_desc_free
+mono_method_desc_from_method
+mono_method_desc_full_match
+mono_method_desc_match
+mono_method_desc_new
+mono_method_desc_search_in_class
+mono_method_desc_search_in_image
+mono_method_fill_runtime_generic_context
+mono_method_full_name
+mono_method_get_class
+mono_method_get_context
+mono_method_get_context_general
+mono_method_get_declaring_generic_method
+mono_method_get_flags
+mono_method_get_generic_container
+mono_method_get_header
+mono_method_get_imt_slot
+mono_method_get_index
+mono_method_get_last_managed
+mono_method_get_marshal_info
+mono_method_get_name
+mono_method_get_object
+mono_method_get_param_names
+mono_method_get_param_token
+mono_method_get_signature
+mono_method_get_signature_full
+mono_method_get_token
+mono_method_get_unmanaged_thunk
+mono_method_get_vtable_index
+mono_method_get_vtable_slot
+mono_method_get_wrapper_data
+mono_method_has_marshal_info
mono_method_header_get_clauses
mono_method_header_get_code
mono_method_header_get_locals
mono_method_header_get_num_clauses
-mono_signature_explicit_this
-mono_signature_get_call_conv
-mono_signature_get_param_count
-mono_signature_get_params
-mono_signature_get_return_type
-mono_signature_hash
-mono_signature_is_instance
-mono_signature_vararg_start
-mono_type_create_from_typespec
-mono_type_generic_inst_is_valuetype
-mono_type_get_array_type
-mono_type_get_class
-mono_type_get_modifiers
-mono_type_get_ptr_type
-mono_type_get_signature
-mono_type_get_type
-mono_type_is_byref
-mono_type_size
-mono_type_stack_size
-mono_type_to_unmanaged
+mono_method_inflated_lookup
+mono_method_is_generic_impl
+mono_method_is_generic_sharable_impl
+mono_method_lookup_or_register_other_info
+mono_method_lookup_rgctx
+mono_method_needs_static_rgctx_invoke
+mono_method_return_message_restore
+mono_method_search_in_array_class
+mono_method_set_generic_container
+mono_method_signature
+mono_method_to_ir
+mono_method_verify
+mono_method_verify_with_current_settings
+mono_mlist_alloc
+mono_mlist_append
+mono_mlist_get_data
+mono_mlist_last
+mono_mlist_length
+mono_mlist_next
+mono_mlist_prepend
+mono_mlist_remove_item
+mono_mlist_set_data
+mono_module_file_get_object
+mono_module_get_object
mono_monitor_cleanup
mono_monitor_enter
+mono_monitor_enter_trampoline
mono_monitor_exit
+mono_monitor_exit_trampoline
+mono_monitor_get_fast_path
+mono_monitor_get_object_monitor_weak_link
+mono_monitor_threads_sync_members_offset
mono_monitor_try_enter
-mono_config_for_assembly
-mono_config_parse
-mono_config_parse_memory
-mono_get_config_dir
-mono_debugger_add_symbol_file
-mono_debugger_breakpoint_callback
-mono_debugger_event
-mono_debugger_handle_exception
-mono_debugger_insert_breakpoint
-mono_debugger_insert_breakpoint_full
-mono_debugger_lock
-mono_debugger_lookup_assembly
-mono_debugger_lookup_type
-mono_debugger_method_has_breakpoint
-mono_debugger_remove_breakpoint
-mono_debugger_runtime_invoke
-mono_debugger_start_add_type
-mono_debugger_throw_exception
-mono_debugger_unhandled_exception
-mono_debugger_unlock
-mono_debug_add_method
-mono_debug_find_method
-mono_debug_free_source_location
-mono_debug_lookup_method
-mono_debug_lookup_source_location
-mono_debug_print_stack_frame
-mono_debug_using_mono_debugger
-mono_array_clone
-mono_array_clone_in_domain
-mono_array_full_copy
-mono_array_new
-mono_array_new_full
-mono_array_new_specific
-mono_async_result_new
-mono_class_get_allocation_ftn
-mono_class_vtable
-mono_compile_method
-mono_delegate_ctor
-mono_field_get_value
-mono_field_get_value_object
-mono_field_set_value
-mono_field_static_get_value
-mono_field_static_set_value
-mono_get_addr_from_ftnptr
-mono_get_constant_value_from_blob
-mono_get_delegate_invoke
-mono_install_compile_method
-mono_install_delegate_trampoline
-mono_install_free_method
-mono_install_handler
-mono_install_remoting_trampoline
-mono_install_runtime_invoke
-mono_install_trampoline
-mono_ldstr
-mono_load_remote_field
-mono_load_remote_field_new
-mono_message_init
-mono_message_invoke
-mono_method_call_message_new
-mono_method_return_message_restore
+mono_mprotect
+mono_msec_ticks
+mono_negate_cond
+mono_network_get_data
+mono_networkinterface_list
mono_nullable_box
mono_nullable_init
+mono_nullify_basic_block
+mono_object_castclass
mono_object_castclass_mbyref
mono_object_clone
+mono_object_describe
+mono_object_describe_fields
mono_object_get_class
mono_object_get_domain
mono_object_get_size
mono_object_get_virtual_method
+mono_object_is_alive
mono_object_isinst
mono_object_isinst_mbyref
mono_object_new
mono_object_new_fast
mono_object_new_from_token
mono_object_new_specific
+mono_object_register_finalizer
mono_object_unbox
-mono_print_unhandled_exception
-mono_property_get_value
-mono_property_set_value
-mono_raise_exception
-mono_release_type_locks
-mono_remote_class
-mono_remote_class_vtable
-mono_remoting_invoke
-mono_runtime_class_init
-mono_runtime_delegate_invoke
-mono_runtime_exec_main
-mono_runtime_exec_managed_code
-mono_runtime_free_method
-mono_runtime_get_main_args
-mono_runtime_invoke
-mono_runtime_invoke_array
-mono_runtime_object_init
-mono_runtime_run_main
-mono_store_remote_field
-mono_store_remote_field_new
-mono_string_from_utf16
-mono_string_intern
-mono_string_is_interned
-mono_string_new
-mono_string_new_len
-mono_string_new_size
-mono_string_new_utf16
-mono_string_new_wrapper
-mono_string_to_utf16
-mono_string_to_utf8
-mono_string_to_utf8_mp
-mono_thread_get_main
-mono_thread_set_main
-mono_type_initialization_cleanup
-mono_type_initialization_init
-mono_unhandled_exception
-mono_upgrade_remote_class
-mono_value_box
-mono_value_copy
-mono_value_copy_array
-mono_vtable_get_static_field_data
-mono_wait_handle_new
+mono_object_xdomain_representation
mono_opcode_name
+mono_opcode_to_cond
+mono_opcode_to_type
mono_opcode_value
+mono_op_imm_to_op
+mono_optimize_branches
+mono_op_to_op_imm
+mono_op_to_op_imm_noemul
+mono_pagesize
+mono_param_get_objects
+mono_param_get_objects_internal
+mono_parse_default_optimizations
+mono_patch_info_list_prepend
+mono_path_canonicalize
+mono_path_resolve_symlinks
+mono_peephole_ins
+mono_pe_file_open
+mono_perfcounter_category_del
+mono_perfcounter_category_exists
+mono_perfcounter_category_help
+mono_perfcounter_category_names
+mono_perfcounter_counter_names
+mono_perfcounter_create
+mono_perfcounter_free_data
+mono_perfcounter_get_impl
+mono_perfcounter_get_sample
+mono_perfcounter_instance_exists
+mono_perfcounter_instance_names
+mono_perfcounters_init
+mono_perfcounter_update_value
+mono_perform_abc_removal
+mono_pmip
+mono_portability_find_file
+mono_portability_helpers_init
+mono_print_bb
+mono_print_ins
+mono_print_ins_index
+mono_print_method_from_ip
+mono_print_thread_dump
+mono_print_unhandled_exception
+mono_process_get_data
+mono_process_get_data_with_error
+mono_process_get_name
+mono_process_list
mono_profiler_allocation
mono_profiler_appdomain_event
mono_profiler_appdomain_loaded
mono_profiler_assembly_loaded
mono_profiler_class_event
mono_profiler_class_loaded
+mono_profiler_code_buffer_new
+mono_profiler_code_chunk_destroy
+mono_profiler_code_chunk_new
mono_profiler_code_transition
mono_profiler_coverage_get
+mono_profiler_exception_clause_handler
+mono_profiler_exception_method_leave
+mono_profiler_exception_thrown
mono_profiler_gc_event
mono_profiler_gc_heap_resize
mono_profiler_get_events
mono_profiler_install_appdomain
mono_profiler_install_assembly
mono_profiler_install_class
+mono_profiler_install_code_buffer_new
+mono_profiler_install_code_chunk_destroy
+mono_profiler_install_code_chunk_new
mono_profiler_install_coverage_filter
mono_profiler_install_enter_leave
+mono_profiler_install_exception
mono_profiler_install_gc
mono_profiler_install_jit_compile
mono_profiler_install_jit_end
+mono_profiler_install_method_free
+mono_profiler_install_method_invoke
mono_profiler_install_module
+mono_profiler_install_monitor
+mono_profiler_install_runtime_initialized
mono_profiler_install_statistical
+mono_profiler_install_statistical_call_chain
mono_profiler_install_thread
mono_profiler_install_transition
mono_profiler_load
+mono_profiler_method_end_invoke
mono_profiler_method_end_jit
mono_profiler_method_enter
+mono_profiler_method_free
mono_profiler_method_jit
mono_profiler_method_leave
+mono_profiler_method_start_invoke
mono_profiler_module_event
mono_profiler_module_loaded
+mono_profiler_monitor_event
+mono_profiler_runtime_initialized
mono_profiler_set_events
mono_profiler_shutdown
+mono_profiler_stat_call_chain
+mono_profiler_stat_get_call_chain_depth
+mono_profiler_stat_get_call_chain_strategy
mono_profiler_stat_hit
mono_profiler_thread_end
mono_profiler_thread_start
-mono_raw_buffer_cleanup
-mono_raw_buffer_free
-mono_raw_buffer_load
-mono_raw_buffer_update
-mono_assembly_get_object
-mono_custom_attrs_construct
-mono_custom_attrs_free
-mono_custom_attrs_from_assembly
-mono_custom_attrs_from_class
-mono_custom_attrs_from_event
-mono_custom_attrs_from_field
-mono_custom_attrs_from_index
-mono_custom_attrs_from_method
-mono_custom_attrs_from_param
-mono_custom_attrs_from_property
-mono_custom_attrs_get_attr
-mono_custom_attrs_has_attr
-mono_declsec_flags_from_assembly
-mono_declsec_flags_from_class
-mono_declsec_flags_from_method
-mono_declsec_get_assembly_action
-mono_declsec_get_class_action
-mono_declsec_get_demands
-mono_declsec_get_inheritdemands_class
-mono_declsec_get_inheritdemands_method
-mono_declsec_get_linkdemands
-mono_declsec_get_method_action
-mono_event_get_object
-mono_field_get_object
-mono_get_dbnull_object
-mono_image_basic_init
-mono_image_build_metadata
-mono_image_create_method_token
-mono_image_create_pefile
-mono_image_create_token
-mono_image_insert_string
-mono_image_load_module
-mono_method_body_get_object
-mono_method_get_object
-mono_module_file_get_object
-mono_module_get_object
-mono_param_get_objects
+mono_property_get_flags
+mono_property_get_get_method
+mono_property_get_name
mono_property_get_object
+mono_property_get_parent
+mono_property_get_set_method
+mono_property_get_value
+mono_property_hash_destroy
+mono_property_hash_insert
+mono_property_hash_lookup
+mono_property_hash_new
+mono_property_hash_remove_object
+mono_property_set_value
+mono_ptr_class_get
+mono_public_tokens_are_equal
+mono_raise_exception
mono_reflection_bind_generic_method_parameters
mono_reflection_bind_generic_parameters
mono_reflection_call_is_assignable_to
+mono_reflection_cleanup_domain
+mono_reflection_create_custom_attr_data_args
mono_reflection_create_dynamic_method
mono_reflection_create_generic_class
mono_reflection_create_internal_class
mono_reflection_create_runtime_class
+mono_reflection_create_unmanaged_type
+mono_reflection_destroy_dynamic_method
mono_reflection_event_builder_get_event_info
+mono_reflection_free_type_info
mono_reflection_generic_class_initialize
mono_reflection_get_custom_attrs
mono_reflection_get_custom_attrs_blob
mono_reflection_get_custom_attrs_info
mono_reflection_get_token
mono_reflection_get_type
+mono_reflection_init
mono_reflection_initialize_generic_parameter
+mono_reflection_is_valid_dynamic_token
mono_reflection_lookup_dynamic_token
mono_reflection_marshal_from_marshal_spec
mono_reflection_parse_type
mono_reflection_sighelper_get_signature_field
mono_reflection_sighelper_get_signature_local
mono_reflection_type_from_name
-mono_type_get_object
-mono_activate_security_manager
-mono_get_context_capture_method
-mono_is_ecma_key
-mono_is_security_manager_active
+mono_reflection_type_get_handle
+mono_register_bundled_assemblies
+mono_register_machine_config
+mono_release_type_locks
+mono_remote_class
+mono_remote_class_vtable
+mono_remoting_invoke
+mono_remove_bblock
+mono_remove_critical_edges
+mono_replace_ins
+mono_reverse_branch_op
+mono_runtime_class_init
+mono_runtime_class_init_full
+mono_runtime_cleanup
+mono_runtime_cleanup_handlers
+mono_runtime_create_delegate_trampoline
+mono_runtime_create_jump_trampoline
+mono_runtime_delegate_invoke
+mono_runtime_exec_main
+mono_runtime_exec_managed_code
+mono_runtime_free_method
+mono_runtime_get_main_args
+mono_runtime_get_no_exec
+mono_runtime_has_tls_get
+mono_runtime_init
+mono_runtime_install_handlers
+mono_runtime_invoke
+mono_runtime_invoke_array
+mono_runtime_is_shutting_down
+mono_runtime_load
+mono_runtime_object_init
+mono_runtime_posix_install_handlers
+mono_runtime_quit
+mono_runtime_run_main
+mono_runtime_set_has_tls_get
+mono_runtime_set_no_exec
+mono_runtime_setup_stat_profiler
+mono_runtime_shutdown_stat_profiler
+mono_runtime_syscall_fork
+mono_runtime_unhandled_exception_policy_get
+mono_runtime_unhandled_exception_policy_set
+mono_save_trampoline_xdebug_info
+mono_save_xdebug_info
+mono_security_core_clr_can_access_internals
+mono_security_core_clr_check_inheritance
+mono_security_core_clr_check_override
+mono_security_core_clr_class_level
+mono_security_core_clr_determine_platform_image
+mono_security_core_clr_ensure_delegate_creation
+mono_security_core_clr_ensure_dynamic_method_resolved_object
+mono_security_core_clr_ensure_reflection_access_field
+mono_security_core_clr_ensure_reflection_access_method
+mono_security_core_clr_is_platform_image
+mono_security_core_clr_method_level
+mono_security_enable_core_clr
+mono_security_get_mode
mono_security_manager_get_methods
-mono_thread_pool_add
-mono_thread_pool_finish
-mono_alloc_special_static_data
-mono_get_special_static_data
+mono_security_set_core_clr_platform_callback
+mono_security_set_mode
+mono_set_defaults
+mono_set_dirs
+mono_set_generic_sharing_supported
+mono_set_is_debugger_attached
+mono_set_lmf
+mono_set_pending_exception
+mono_set_private_bin_path_from_config
+mono_set_signal_chaining
+mono_setup_altstack
+mono_sha1_final
+mono_sha1_get_digest
+mono_sha1_get_digest_from_file
+mono_sha1_init
+mono_sha1_update
+mono_sigfpe_signal_handler
+mono_sigill_signal_handler
+mono_sigint_signal_handler
+mono_signature_explicit_this
+mono_signature_get_call_conv
+mono_signature_get_desc
+mono_signature_get_param_count
+mono_signature_get_params
+mono_signature_get_return_type
+mono_signature_hash
+mono_signature_is_instance
+mono_signature_no_pinvoke
+mono_signature_vararg_start
+mono_signbit_double
+mono_signbit_float
+mono_sigsegv_signal_handler
+mono_simd_intrinsics_init
+mono_simd_simplify_indirection
+mono_spill_global_vars
+mono_stack_walk
+mono_stack_walk_no_il
+mono_store_remote_field
+mono_store_remote_field_new
+mono_string2decimal
+mono_string_alloc
+mono_string_builder_to_utf16
+mono_string_builder_to_utf8
+mono_string_equal
+mono_string_from_bstr
+mono_string_from_utf16
+mono_string_hash
+mono_stringify_assembly_name
+mono_string_intern
+mono_string_is_interned
+mono_string_new
+mono_string_new_len
+mono_string_new_size
+mono_string_new_utf16
+mono_string_new_wrapper
+mono_string_to_ansibstr
+mono_string_to_bstr
+mono_string_to_byvalstr
+mono_string_to_byvalwstr
+mono_string_to_utf16
+mono_string_to_utf8
+mono_string_to_utf8_checked
+mono_string_to_utf8_image
+mono_string_to_utf8_mp
+mono_string_utf16_to_builder
+mono_string_utf8_to_builder
+mono_strtod
+mono_table_info_get_rows
+mono_tasklets_arch_restore
+mono_tasklets_cleanup
+mono_tasklets_init
mono_thread_abort_all_other_threads
mono_thread_attach
mono_thread_cleanup
+mono_thread_cleanup_apartment_state
+mono_thread_clr_state
mono_thread_create
+mono_thread_create_internal
mono_thread_current
+mono_thread_current_check_pending_interrupt
mono_thread_detach
mono_thread_exit
mono_thread_force_interruption_checkpoint
mono_thread_get_abort_signal
-mono_thread_get_pending_exception
+mono_thread_get_and_clear_pending_exception
+mono_thread_get_execution_context
+mono_thread_get_main
+mono_thread_get_name
+mono_thread_get_stack_bounds
mono_thread_get_tls_key
+mono_thread_get_undeniable_exception
mono_thread_has_appdomain_ref
+mono_thread_hazardous_free_or_queue
+mono_thread_hazardous_try_free_all
+mono_thread_internal_current
+mono_thread_internal_has_appdomain_ref
+mono_thread_internal_stop
mono_thread_interruption_checkpoint
mono_thread_interruption_requested
mono_thread_interruption_request_flag
mono_thread_manage
mono_thread_new_init
+mono_thread_pool_add
+mono_thread_pool_finish
+mono_thread_pool_is_queue_array
+mono_thread_pool_remove_domain_jobs
mono_thread_pop_appdomain_ref
mono_thread_push_appdomain_ref
mono_thread_request_interruption
mono_threads_abort_appdomain_threads
mono_threads_clear_cached_culture
+mono_thread_set_execution_context
+mono_thread_set_main
+mono_thread_set_manage_callback
+mono_thread_set_state
mono_threads_get_default_stacksize
mono_threads_install_cleanup
+mono_threads_install_notify_pending_exc
+mono_threads_is_shutting_down
mono_threads_request_thread_dump
mono_threads_set_default_stacksize
+mono_threads_set_shutting_down
mono_thread_stop
mono_thread_suspend_all_other_threads
-mono_free_verify_list
-mono_image_verify_tables
-mono_method_verify
-mono_verify_corlib
-mono_perform_abc_removal
-mono_debugger_main
-mono_debug_add_aot_method
-mono_debug_print_vars
-mono_jit_cleanup
-mono_jit_exec
-mono_jit_init
-mono_main
-mono_parse_default_optimizations
-mono_inst_name
-mono_burg_emit
-mono_burg_kids
-mono_burg_label
-mono_burg_rule
-mono_debugger_run_finally
-mono_handle_exception
-mono_print_thread_dump
-mono_walk_stack
-mono_create_jump_trampoline
-mono_pmip
-mono_print_method_from_ip
-mono_set_defaults
-mono_trace_enter_method
-mono_trace_leave_method
-mono_debugger_create_notification_function
-mono_profiler_startup
-mono_profiler_startup
-add_delegate
-mono_invoke_delegate
-mono_test_marshal_inout_byval_class_delegate
-mono_test_marshal_lpstruct
-mono_test_marshal_lpstruct_blittable
-mono_test_marshal_pass_inout_custom
-mono_test_marshal_pass_out_byval_custom
-mono_test_marshal_return_fnptr
-mono_bitset_alloc_size
-mono_bitset_clear
-mono_bitset_clear_all
-mono_bitset_clone
-mono_bitset_copyto
-mono_bitset_count
-mono_bitset_equal
-mono_bitset_find_first
-mono_bitset_find_first_unset
-mono_bitset_find_last
-mono_bitset_find_start
-mono_bitset_foreach
-mono_bitset_free
-mono_bitset_intersection
-mono_bitset_intersection_2
-mono_bitset_invert
-mono_bitset_mem_new
-mono_bitset_new
-mono_bitset_set
-mono_bitset_set_all
-mono_bitset_size
-mono_bitset_sub
-mono_bitset_test
-mono_bitset_test_bulk
-mono_bitset_union
-mono_code_manager_commit
-mono_code_manager_destroy
-mono_code_manager_foreach
-mono_code_manager_invalidate
-mono_code_manager_new
-mono_code_manager_new_dynamic
-mono_code_manager_reserve
-mono_counters_dump
-mono_counters_enable
-mono_counters_register
-mono_g_hash_table_destroy
-mono_g_hash_table_foreach
-mono_g_hash_table_foreach_remove
-mono_g_hash_table_foreach_steal
-mono_g_hash_table_insert
-mono_g_hash_table_lookup
-mono_g_hash_table_lookup_extended
-mono_g_hash_table_new
-mono_g_hash_table_new_full
-mono_g_hash_table_new_type
-mono_g_hash_table_remap
-mono_g_hash_table_remove
-mono_g_hash_table_replace
-mono_g_hash_table_size
-mono_g_hash_table_steal
+mono_thread_test_state
mono_trace
mono_trace_cleanup
mono_trace_is_traced
+mono_trace_parse_options
mono_trace_pop
mono_trace_push
mono_trace_set_level
mono_trace_set_mask
mono_trace_set_mask_string
mono_tracev
-mono_signbit_double
-mono_signbit_float
-mono_md5_final
-mono_md5_get_digest
-mono_md5_get_digest_from_file
-mono_md5_init
-mono_md5_update
-mono_path_canonicalize
-mono_path_resolve_symlinks
-mono_digest_get_public_token
-mono_sha1_final
-mono_sha1_get_digest
-mono_sha1_get_digest_from_file
-mono_sha1_init
-mono_sha1_update
-mono_escape_uri_string
+mono_trampolines_cleanup
+mono_trampolines_init
+mono_try_assembly_resolve
+mono_type_create_from_typespec
+mono_type_full_name
+mono_type_generic_inst_is_valuetype
+mono_type_get_array_type
+mono_type_get_basic_type_from_generic
+mono_type_get_class
+mono_type_get_desc
+mono_type_get_full
+mono_type_get_full_name
+mono_type_get_modifiers
+mono_type_get_name
+mono_type_get_name_full
+mono_type_get_object
+mono_type_get_ptr_type
+mono_type_get_signature
+mono_type_get_type
+mono_type_get_underlying_type
+mono_type_initialization_cleanup
+mono_type_initialization_init
+mono_type_is_byref
+mono_type_is_valid_enum_basetype
+mono_type_native_stack_size
+mono_type_size
+mono_type_stack_size
+mono_type_stack_size_internal
+mono_type_to_ldind
+mono_type_to_load_membase
+mono_type_to_regmove
+mono_type_to_stind
+mono_type_to_store_membase
+mono_type_to_unmanaged
+mono_unhandled_exception
mono_unicode_from_external
mono_unicode_to_external
+mono_upgrade_remote_class
+mono_upgrade_remote_class_wrapper
mono_utf8_from_external
+mono_utf8_validate_and_len
+mono_utf8_validate_and_len_with_bounds
+mono_valloc
+mono_value_box
+mono_value_copy
+mono_value_copy_array
+mono_value_describe_fields
+mono_value_hash_table_destroy
+mono_value_hash_table_insert
+mono_value_hash_table_lookup
+mono_value_hash_table_new
+mono_verify_bblock
+mono_verify_cfg
+mono_verify_corlib
+mono_vfree
+mono_vtable_build_imt_slot
+mono_vtable_get_static_field_data
+mono_wait_handle_get_handle
+mono_wait_handle_new
+mono_walk_stack
+mono_win32_compat_CopyMemory
+mono_win32_compat_FillMemory
+mono_win32_compat_MoveMemory
+mono_win32_compat_ZeroMemory
+mono_xdebug_init
#define __EGLIB_X11 1
+#ifdef __cplusplus
+#define G_BEGIN_DECLS extern "C" {
+#define G_END_DECLS }
+#else
+#define G_BEGIN_DECLS
+#define G_END_DECLS
+#endif
+
+G_BEGIN_DECLS
+
/*
* Basic data types
*/
#define EGLIB_TOSTRING(x) EGLIB_STRINGIFY(x)
#define G_STRLOC __FILE__ ":" EGLIB_TOSTRING(__LINE__) ":"
-#ifdef __cplusplus
-#define G_BEGIN_DECLS extern "C" {
-#define G_END_DECLS }
-#else
-#define G_BEGIN_DECLS
-#define G_END_DECLS
-#endif
-
#define G_CONST_RETURN const
/*
#define GLIB_CHECK_VERSION(a,b,c) ((a < _EGLIB_MAJOR) || (a == _EGLIB_MAJOR && (b < _EGLIB_MIDDLE || (b == _EGLIB_MIDDLE && c <= _EGLIB_MINOR))))
+G_END_DECLS
+
#endif
#include "tests.h"
#include <stdio.h>
+#ifdef HAVE_GETOPT_H
#include <getopt.h>
+#endif
#if defined(HAVE_UNISTD_H)
#include <unistd.h>
gboolean global_failure = FALSE;
gboolean no_final_time_labels = FALSE;
gboolean debug = FALSE;
-
+
+#if HAVE_GETOPT_H
static struct option long_options [] = {
{"help", no_argument, 0, 'h'},
{"time", no_argument, 0, 't'},
tests_to_run = string_array_append(tests_to_run, argv[i]);
}
+#endif
time_start = get_timestamp();
return OK;
}
+#ifndef DISABLE_FILESYSTEM_TESTS
gchar *
test_cwd ()
{
return OK;
}
+#else
+gchar *
+test_cwd ()
+{
+ return OK;
+}
+#endif
gchar *
test_misc ()
{"path", path_tests_init},
{"shell", shell_tests_init},
{"markup", markup_tests_init},
+#if !DISABLE_PROCESS_TESTS
{"spawn", spawn_tests_init},
- {"timer", timer_tests_init},
+ {"module", module_tests_init},
+#endif
+#if !DISABLE_FILESYSTEM_TESTS
{"file", file_tests_init},
+#endif
+ {"timer", timer_tests_init},
{"pattern", pattern_tests_init},
{"dir", dir_tests_init},
{"unicode", unicode_tests_init},
{"utf8", utf8_tests_init},
{"endian", endian_tests_init},
- {"module", module_tests_init},
{"memory", memory_tests_init},
{NULL, NULL}
};
+2010-02-22 Zoltan Varga <vargaz@gmail.com>
+
+ * obj_map.c (GC_add_map_entry): Speed this up for the common case where
+ GC_register_displacement () was never called.
+
+2010-01-29 Geoff Norton <gnorton@novell.com>
+
+ * include/private/gcconfig.h: Don't define NO_PTHREAD_TRYLOCK on darwin-x86
+ Patch from Tom Philpot (tom.philpot@gmail.com)
+
2009-10-25 Zoltan Varga <vargaz@gmail.com>
* misc.c (GC_get_suspend_signal): New API function to return the suspend signal
# define MAP_SIZE MAP_ENTRIES
# define CPP_MAX_OFFSET (OFFSET_TOO_BIG - 1)
# define MAX_OFFSET ((word)CPP_MAX_OFFSET)
+# define INIT_MAP(map) memset((map), OBJ_INVALID, MAP_SIZE)
/* The following are used only if GC_all_interior_ptrs != 0 */
# define VALID_OFFSET_SZ \
(CPP_MAX_OFFSET > WORDS_TO_BYTES(CPP_MAXOBJSZ)? \
# endif
# include <unistd.h>
# define GETPAGESIZE() getpagesize()
- /* There seems to be some issues with trylock hanging on darwin. This
- should be looked into some more */
-# define NO_PTHREAD_TRYLOCK
# elif defined(__arm__)
# define ARM
# define mach_type_known
# define DATASTART GC_data_start
# define DYNAMIC_LOADING
# endif
-# ifdef SN_TARGET_PS3\r
-# define NO_GETENV\r
-# define CPP_WORDSZ 32\r
-# define ALIGNMENT 4\r
- extern int _end [];\r
-// extern int _dso_handle[];\r
- extern int __bss_start;\r
-\r
-# define DATAEND (_end)\r
-# define DATASTART (__bss_start)\r
+# ifdef SN_TARGET_PS3
+# define NO_GETENV
+# define CPP_WORDSZ 32
+# define ALIGNMENT 4
+ extern int _end [];
+// extern int _dso_handle[];
+ extern int __bss_start;
+
+# define DATAEND (_end)
+# define DATASTART (__bss_start)
# define STACKBOTTOM ((ptr_t) ps3_get_stack_bottom ())
-# define USE_GENERIC_PUSHREGS\r
-# endif\r
-\r
+# define USE_GENERIC_PUSHREGS
+# endif
+
# ifdef NOSYS
# define ALIGNMENT 4
# define OS_TYPE "NOSYS"
# if defined(PCR) || defined(SRC_M3) || \
defined(GC_SOLARIS_THREADS) || defined(GC_WIN32_THREADS) || \
- defined(GC_PTHREADS) || defined(SN_TARGET_PS3)\r
+ defined(GC_PTHREADS) || defined(SN_TARGET_PS3)
# define THREADS
# endif
GC_amiga_get_mem((size_t)bytes + GC_page_size) \
+ GC_page_size-1)
# else
-# if defined(SN_TARGET_PS3)\r
- extern void *ps3_get_mem (size_t size);\r
-# define GET_MEM(bytes) (struct hblk*) ps3_get_mem (bytes)\r
-# else\r
+# if defined(SN_TARGET_PS3)
+ extern void *ps3_get_mem (size_t size);
+# define GET_MEM(bytes) (struct hblk*) ps3_get_mem (bytes)
+# else
extern ptr_t GC_unix_get_mem();
# define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
-#endif\r
+#endif
# endif
# endif
# endif
# include "private/gc_priv.h"
map_entry_type * GC_invalid_map = 0;
+static max_valid_offset = 0;
/* Invalidate the object map associated with a block. Free blocks */
/* are identified by invalid maps. */
if (!GC_valid_offsets[offset]) {
GC_valid_offsets[offset] = TRUE;
GC_modws_valid_offsets[offset % sizeof(word)] = TRUE;
+ if (offset > max_valid_offset)
+ max_valid_offset = offset;
if (!GC_all_interior_pointers) {
for (i = 0; i <= MAXOBJSZ; i++) {
if (GC_obj_map[i] != 0) {
# ifdef PRINTSTATS
GC_printf1("Adding block map for size %lu\n", (unsigned long)sz);
# endif
- for (displ = 0; displ < HBLKSIZE; displ++) {
- MAP_ENTRY(new_map,displ) = OBJ_INVALID;
- }
+ INIT_MAP(new_map);
if (sz == 0) {
- for(displ = 0; displ <= HBLKSIZE; displ++) {
+ for(displ = 0; displ <= max_valid_offset; displ++) {
if (OFFSET_VALID(displ)) {
map_entry = BYTES_TO_WORDS(displ);
if (map_entry > MAX_OFFSET) map_entry = OFFSET_TOO_BIG;
for (obj_start = 0;
obj_start + WORDS_TO_BYTES(sz) <= HBLKSIZE;
obj_start += WORDS_TO_BYTES(sz)) {
- for (displ = 0; displ < WORDS_TO_BYTES(sz); displ++) {
+ for (displ = 0; displ <= max_valid_offset; displ++) {
if (OFFSET_VALID(displ)) {
map_entry = BYTES_TO_WORDS(displ);
if (map_entry > MAX_OFFSET) map_entry = OFFSET_TOO_BIG;
+2010-02-18 Marek Habersack <mhabersack@novell.com>
+
+ * mono-configuration-crypto.1: added
+
+ * Makefile.am (man_MANS): added mono-configuration-crypto.1
+
+2010-02-10 Geoff Norton <gnorton@novell.com>
+
+ * mono.1: Document the aot compiler options.
+
+2010-02-08 Ankit Jain <jankit@novell.com>
+
+ * lc.1: Fix typos.
+
2009-12-11 Marek Habersack <mhabersack@novell.com>
* mono.1: documented the IOMAP report profiler module
sqlsharp.1 \
wsdl.1 \
xbuild.1 \
- xsd.1
+ xsd.1 \
+ mono-configuration-crypto.1
EXTRA_DIST = $(man_MANS)
control. The most common way of making sure the component was properly
licensed is by using license resources. At compile time the developer
uses the \fIlc\fP tool to convert a licenses.licx file to a
-programname.exe.resources file and embed that as a managed resource
+programname.exe.licenses file and embed that as a managed resource
during compilation.
.SH RUNTIME OPTIONS
The following options are available:
\fB--help\fR, \fB-h\fR
Displays usage instructions.
.TP
-\fB--output=path\fR, \fB-o path\fR
+\fB--outdir=path\fR, \fB-o path\fR
Target path file the licenses resource. By default the license
compiler emits the resource in the current directory. The filename
will always match the target assembly passed to --target with .licenses
--- /dev/null
+.TH Mono "mono-configuration-crypto"
+.SH NAME
+mono-configuration-crypto, \- Mono configuration utility to manage encryption keys and encrypt/decrypt config file sections
+.SH SYNOPSIS
+.B mono-configuration-crypto <options>
+.SH DESCRIPTION
+mono-configuration-crypto is a utility to manage mono encryption key container store and to encrypt/decrypt config
+file sections.
+.SH OPTIONS
+.TP
+.B -h, -?, --help
+Show usage information
+
+.TP
+.B -v, --verbose
+Show verbose information (including exception stacktraces)
+
+.TP
+.B -m, --machine, --global
+Use machine (global) store for all the key actions. Note that on Unix machines global store is located in
+\fI/usr/share/.mono\fR and modifying it requires root user permissions.
+
+.TP
+.B -u, --user, --local
+Use local (user) store for all the key actions. User key store is located in the \fI$HOME/.config/.mono\fR
+directory. This is the default location used by mono-configuration-crypto.
+
+.TP
+.B -l, --list
+List all the key container names in the store. Note that some container names might be just GUID strings.
+
+.TP
+.B -c, --create
+Creates an RSA public/private key pair. If the specified container (see the \fI-f\fR option) already exists, the
+operation will fail.
+
+.TP
+.B -i, --import
+Imports key to a container. Imports a key from file (specified by the \fI-f\fR option) and puts it as the first key
+in the specified container (see the \fI-n\fR option). If container exists, its first key is replaced. If container
+doesn't exist, it is created. No validation is performed on the key value - this is left to the protection provider or
+encryption code which uses the key.
+
+.TP
+.B -x, --export
+Exports key from a container. Exports a key from indicated container (see the \fI-n\fR option) and puts it in the
+specified file (see the \fI-f\fR option) as XML. The file can later be used to import the key.
+
+.TP
+.B -r, --remove
+Remove a container. Physically removes the container file from disk.
+
+.TP
+.B -f, --file=VALUE
+File name for import or export operations. All options which read or write anything to/from files require this option
+to be present on the command line.
+
+.TP
+.B -cf, --config-file=VALUE
+Config file name. Specifies base name of the config file, used in encrypt and decrypt operations. Files are sought for
+case-insensitively. Defaults to \fIWeb.config\fR
+
+.TP
+.B -n, --name=VALUE
+Container name. If this option is absent from the command line it defaults to \fIMonoFrameworkConfigurationKey\fR (the
+default key name used by System.Configuration section encryption/decryption code)
+
+.TP
+.B -s, --size=VALUE
+Key size. Specifies the key length for the create operation (see the \fI-c\fR option). Defaults to 1024.
+
+.TP
+.B -p, --path=VALUE
+Application physical path. Used when encrypting/decrypting configuration file sections to specify the directory in which
+the configuration file lives (see the \fI-cf\fR option). Defaults to current directory.
+
+.TP
+.B -d, --dec, --decrypt=VALUE
+Decrypt configuration section. Configuration section must follow the format used when calling ConfigurationManager.GetSection,
+i.e.: path/to/section. Only sections known to the configuration system will be processed.
+
+.TP
+.B -e, --enc, --encrypt=VALUE
+Encrypt configuration section. Configuration section must follow the format used when calling ConfigurationManager.GetSection,
+i.e.: path/to/section. Only sections known to the configuration system will be processed.
+
+.SH AUTHOR
+Marek Habersack
+.SH COPYRIGHT
+Copyright (C) 2010 Novell, Inc (http://novell.com)
+.SH MAILING LISTS
+Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details.
+.SH WEB SITE
+Visit: http://mono-project.com for details
This instructs Mono to precompile code that has historically not been
precompiled with AOT.
.TP
+.I outfile=[filename]
+Instructs the AOT compiler to save the output to the specified file.
+.TP
.I write-symbols
Instructs the AOT compiler to emit debug symbol information.
.TP
+.I save-temps,keep-temps
+Instructs the AOT compiler to keep temporary files.
+.TP
+.I threads=[number]
+This is an experimental option for the AOT compiler to use multiple threads
+when compiling the methods.
+.TP
+.I nodebug
+Instructs the AOT compiler to not output any debugging information.
+.TP
+.I ntrampolines=[number]
+When compiling in full aot mode, the method trampolines must be precreated
+in the AOT image. You can add additional method trampolines with this argument.
+Defaults to 1024.
+.TP
+.I nrgctx-trampolines=[number]
+When compiling in full aot mode, the generic sharing trampolines must be precreated
+in the AOT image. You can add additional method trampolines with this argument.
+Defaults to 1024.
+.TP
+.I nimt-trampolines=[number]
+When compiling in full aot mode, the IMT trampolines must be precreated
+in the AOT image. You can add additional method trampolines with this argument.
+Defaults to 128.
+.TP
+.I print-skipped-methods
+If the AOT compiler cannot compile a method for any reason, enabling this flag
+will output the skipped methods to the console.
+.TP
+.I autoreg
+The AOT compiler will emit a (ELF only) library initializer to automatically
+register the aot compiled module with the runtime. This is only useful in static
+mode
+.TP
+.I asmonly
+Instructs the AOT compiler to output assembly code instead of an object file.
+.TP
.I soft-debug
This instructs the compiler to generate sequence point checks that
allow Mono's soft debugger to debug applications even on systems where
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Makefile : finally System.ServiceModel.dll is on the centum tests.
+
2009-10-01 Marek Safar <marek.safar@gmail.com>
* Makefile: Removed net_1_1 bootstrap.
class/Microsoft.Build.Engine \
class/System.Runtime.Serialization \
class/System.IdentityModel \
+ class/System.ServiceModel \
class/System.ServiceModel.Web \
class/Mono.C5
+2010-02-08 Zoltan Varga <vargaz@gmail.com>
+
+ * library.make (install-local): Install the compiled aot lib too.
+
+ * executable.make (install-local): Ditto.
+
2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
* profiles/net_4_0_bootstrap.make : MCS also needs MONO_PATH to
ifdef PROGRAM_config
$(INSTALL_DATA) $(PROGRAM_config) $(DESTDIR)$(PROGRAM_INSTALL_DIR)
endif
+ifdef PLATFORM_AOT_SUFFIX
+ test ! -f $(PROGRAM)$(PLATFORM_AOT_SUFFIX) || $(INSTALL_LIB) $(PROGRAM)$(PLATFORM_AOT_SUFFIX) $(DESTDIR)$(PROGRAM_INSTALL_DIR)
+endif
uninstall-local:
-rm -f $(DESTDIR)$(PROGRAM_INSTALL_DIR)/$(base_prog) $(DESTDIR)$(PROGRAM_INSTALL_DIR)/$(base_prog).mdb $(DESTDIR)$(PROGRAM_INSTALL_DIR)/$(base_prog).config
else
+aot_lib = $(the_lib)$(PLATFORM_AOT_SUFFIX)
+aot_libname = $(LIBRARY_NAME)$(PLATFORM_AOT_SUFFIX)
+
ifdef LIBRARY_INSTALL_DIR
install-local:
$(MKINSTALLDIRS) $(DESTDIR)$(LIBRARY_INSTALL_DIR)
$(INSTALL_LIB) $(the_lib) $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME)
test ! -f $(the_lib).mdb || $(INSTALL_LIB) $(the_lib).mdb $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME).mdb
+ifdef PLATFORM_AOT_SUFFIX
+ test ! -f $(aot_lib) || $(INSTALL_LIB) $(aot_lib) $(DESTDIR)$(LIBRARY_INSTALL_DIR)
+endif
uninstall-local:
-rm -f $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME) $(DESTDIR)$(LIBRARY_INSTALL_DIR)/$(LIBRARY_NAME).mdb
$(MAKE) -s do-profile-check-monolite ; \
else \
echo "*** The compiler '$(BOOTSTRAP_MCS)' doesn't appear to be usable." 1>&2; \
- echo "*** You need a C# compiler version 2.0 or better installed to build MCS" 1>&2 ; \
+ echo "*** You need Mono version 2.4 or better installed to build MCS" 1>&2 ; \
echo "*** Read INSTALL.txt for information on how to bootstrap a Mono installation." 1>&2 ; \
exit 1; fi; fi
while(charCount > 0)
{
ch = (int)(chars[charIndex++]);
+ --charCount;
if(ch >= 128) switch(ch)
{
case 0x0081:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
ch -= 0xFEE0;
- else
+ else {
#if NET_2_0
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
+ continue;
#else
ch = 0x3F;
#endif
+ }
}
break;
}
bytes[byteIndex++] = (byte)ch;
- --charCount;
--byteCount;
}
}
while(charCount > 0)
{
ch = (int)(chars[charIndex++]);
+ --charCount;
if(ch >= 128) switch(ch)
{
case 0x0081:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
ch -= 0xFEE0;
- else
+ else {
#if NET_2_0
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
continue;
#else
ch = 0x3F;
#endif
+ }
}
break;
}
bytes[byteIndex++] = (byte)ch;
- --charCount;
--byteCount;
}
}
+2010-02-11 Zoltan Varga <vargaz@gmail.com>
+
+ * CP1250.cs CP1252.cs: Move the '--charCount' line to the beginning of the loop,
+ since it can be skipped in case of HandleFallback. Add brances around the
+ call to HandleFallback so the 'continue' call is only done if it is called.
+ Should fix #573682.
+
2008-07-11 Atsushi Enomoto <atsushi@ximian.com>
* CP1252.cs : continue after fallback was missing.
monotouch_dirs := \
corlib \
Mono.CompilerServices.SymbolWriter \
+ System.Core \
System \
System.XML \
Mono.Security \
System \
I18N \
- System.Core \
System.Json \
System.Xml.Linq \
System.Runtime.Serialization \
Mono.Data.Tds \
System.Transactions \
System.Data \
+ Mono.Cairo \
Mono.Data.Sqlite
net_3_5_dirs := \
net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs) $(net_2_0_only_dirs)
net_2_1_bootstrap_SUBDIRS := corlib System Mono.CompilerServices.SymbolWriter System.Core
net_2_1_raw_SUBDIRS := $(net_2_1_dirs)
-monotouch_bootstrap_SUBDIRS := corlib System Mono.CompilerServices.SymbolWriter
+monotouch_bootstrap_SUBDIRS := corlib System Mono.CompilerServices.SymbolWriter System.Core
monotouch_SUBDIRS := $(monotouch_dirs)
net_3_5_SUBDIRS := $(net_3_5_dirs)
net_4_0_bootstrap_SUBDIRS := $(bootstrap_dirs) Mono.Posix System.Core
+2010-02-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * ResXResourceReader.cs: handle resource file comments.
+ Patch by Jeffrey Alvarez. Bug #582440 fixed.
+
2009-02-24 Marek Habersack <mhabersack@novell.com>
* ResXFileRef.cs: the class must be internal when compiled as part
throw new ArgumentException ("Invalid ResX input.", ex);
}
#endif
-
header.Verify ();
} finally {
if (fileName != null) {
return null;
}
- private string GetDataValue (bool meta)
+ private string GetDataValue (bool meta, out string comment)
{
string value = null;
+ comment = null;
#if NET_2_0
while (xmlReader.Read ()) {
if (xmlReader.NodeType == XmlNodeType.EndElement && xmlReader.LocalName == (meta ? "metadata" : "data"))
value = xmlReader.ReadString ();
xmlReader.WhitespaceHandling = WhitespaceHandling.None;
} else if (xmlReader.Name.Equals ("comment")) {
- xmlReader.Skip ();
+ xmlReader.WhitespaceHandling = WhitespaceHandling.Significant;
+ comment = xmlReader.ReadString ();
+ xmlReader.WhitespaceHandling = WhitespaceHandling.None;
if (xmlReader.NodeType == XmlNodeType.EndElement && xmlReader.LocalName == (meta ? "metadata" : "data"))
break;
}
return;
}
- string value = GetDataValue (meta);
+ string comment = null;
+ string value = GetDataValue (meta, out comment);
object obj = null;
if (mime_type != null && mime_type.Length > 0) {
+ "was '{0}'.", obj));
#if NET_2_0
if (useResXDataNodes)
- hashtable [name] = new ResXDataNode(name, obj, pos);
+ {
+ ResXDataNode dataNode = new ResXDataNode(name, obj, pos);
+ dataNode.Comment = comment;
+ hashtable [name] = dataNode;
+
+ }
else
#endif
hashtable [name] = obj;
+2010-02-17 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * RichTextBox.cs: When retrieving SelectedRtf/Rtf properly escape any
+ RTF reserved char, so we don't end up messing around the actual rtf
+ values.
+ Fixes part of #575731.
+
+2010-02-16 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * Line.cs: When setting the Text property, if the new text is larger
+ than the previous one, call Grow to update our internal 'widths'
+ array, to be properly in sync with the new text.
+ Fixes #569530.
+
+2010-02-10 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * TabControl.cs: When calculating the layout for the tab pages, take
+ into account the ImageList size info if it exists, even if it is
+ empty.
+
+2010-02-03 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * StatusStrip.cs:
+ * XplatX11.cs:
+ * X11Structs: Implement the new BeginMoveResize method, designed to
+ instruct the window manager to init a resize operation on a top level
+ form. This is used by StatusStrip.
+ * XplatUI.cs:
+ * XplatUIDriver.cs:
+ * XplatUIWin32.cs:
+ * XplatUICarbon.cs: Fill the gaps by creating stubs and updating the
+ method calls.
+ Fixes #573299.
+
+2010-02-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * ComboBox.cs: When creating DrawItemEventArgs pass the fore color and
+ back color arguments depending on the higlight/focus state, just like
+ .net.
+ Fixes #572643.
+
+2010-01-20 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * ComboBox.cs: When the normal drop down window is closed, make sure
+ that the auto complete list -if any- is closed as well, instead of
+ stay open without need.
+
2010-01-20 Carlos Alberto Cortez <calberto.cortez@gmail.com>
* TextBox.cs: When showing the autocomplete listbox, make sure it's on
// No edit control, we paint the edit ourselves
if (dropdown_style == ComboBoxStyle.DropDownList) {
DrawItemState state = DrawItemState.None;
+ Color back_color = BackColor;
+ Color fore_color = ForeColor;
Rectangle item_rect = text_area;
item_rect.X += border;
item_rect.Y += border;
if (Focused) {
state = DrawItemState.Selected;
state |= DrawItemState.Focus;
+ back_color = SystemColors.Highlight;
+ fore_color = SystemColors.HighlightText;
}
state |= DrawItemState.ComboBoxEdit;
- HandleDrawItem (new DrawItemEventArgs (dc, Font, item_rect, SelectedIndex, state, ForeColor, BackColor));
+ HandleDrawItem (new DrawItemEventArgs (dc, Font, item_rect, SelectedIndex, state, fore_color, back_color));
}
if (show_dropdown_button) {
listbox_ctrl.Dispose ();
listbox_ctrl = null;
}
+#if NET_2_0
+ // The auto complete list could have been shown after the listbox,
+ // so make sure it's hidden.
+ if (textbox_ctrl != null)
+ textbox_ctrl.HideAutoCompleteList ();
+#endif
}
private int FindStringCaseInsensitive (string search)
continue;
DrawItemState state = DrawItemState.None;
+ Color back_color = owner.BackColor;
+ Color fore_color = owner.ForeColor;
if (i == HighlightedIndex) {
state |= DrawItemState.Selected;
+ back_color = SystemColors.Highlight;
+ fore_color = SystemColors.HighlightText;
if (owner.DropDownStyle == ComboBoxStyle.DropDownList) {
state |= DrawItemState.Focus;
}
owner.HandleDrawItem (new DrawItemEventArgs (dc, owner.Font, item_rect,
- i, state, owner.ForeColor, owner.BackColor));
+ i, state, fore_color, back_color));
}
}
}
\r
internal string Text {\r
get { return text.ToString(); }\r
- set { \r
- text = new StringBuilder(value, value.Length > DEFAULT_TEXT_LEN ? value.Length : DEFAULT_TEXT_LEN);\r
+ set {\r
+ int prev_length = text.Length;\r
+ text = new StringBuilder(value, value.Length > DEFAULT_TEXT_LEN ? value.Length + 1 : DEFAULT_TEXT_LEN);\r
+\r
+ if (text.Length > prev_length)\r
+ Grow (text.Length - prev_length);\r
}\r
}\r
\r
}
}
+ static readonly char [] ReservedRTFChars = new char [] { '\\', '{', '}' };
+
[MonoInternalNote ("Emit unicode and other special characters properly")]
private void EmitRTFText(StringBuilder rtf, string text) {
+ int start = rtf.Length;
+ int count = text.Length;
+
rtf.Append(text);
+
+ // This method emits user text *only*, so it's safe to escape any reserved rtf chars
+ // Escape '\' first, since it is used later to escape the other chars
+ if (text.IndexOfAny (ReservedRTFChars) > -1) {
+ rtf.Replace ("\\", "\\\\", start, count);
+ rtf.Replace ("{", "\\{", start, count);
+ rtf.Replace ("}", "\\}", start, count);
+ }
}
// start_pos and end_pos are 0-based
// send the WM a message to begin a window resize operation
case Msg.WM_LBUTTONDOWN: {
Point p = new Point (LowOrder ((int)m.LParam.ToInt32 ()), HighOrder ((int)m.LParam.ToInt32 ()));
+ Form form = FindForm ();
if (this.SizingGrip && this.SizeGripBounds.Contains (p)) {
- XplatUI.SendMessage (this.FindForm().Handle, Msg.WM_NCLBUTTONDOWN, (IntPtr) HitTest.HTBOTTOMRIGHT, IntPtr.Zero);
+ // For top level forms it's not enoug to send a NCLBUTTONDOWN message, so
+ // we make a direct call to our XplatUI engine.
+ if (!form.IsMdiChild)
+ XplatUI.BeginMoveResize (form.Handle);
+
+ XplatUI.SendMessage (form.Handle, Msg.WM_NCLBUTTONDOWN, (IntPtr) HitTest.HTBOTTOMRIGHT, IntPtr.Zero);
return;
}
width = MeasureStringWidth (DeviceContext, page.Text, page.Font);
width += (Padding.X * 2) + 2;
- if (ImageList != null && page.ImageIndex >= 0 && page.ImageIndex < ImageList.Images.Count) {
+ if (ImageList != null && page.ImageIndex >= 0) {
width += ImageList.ImageSize.Width + ThemeEngine.Current.TabControlImagePadding.X;
int image_size = ImageList.ImageSize.Height + ThemeEngine.Current.TabControlImagePadding.Y;
_NET_WM_STATE_TOGGLE = 2
}
+ internal enum NetWmMoveResize {
+ _NET_WM_MOVERESIZE_SIZE_TOPLEFT = 0,
+ _NET_WM_MOVERESIZE_SIZE_TOP = 1,
+ _NET_WM_MOVERESIZE_SIZE_TOPRIGHT = 2,
+ _NET_WM_MOVERESIZE_SIZE_RIGHT = 3,
+ _NET_WM_MOVERESIZE_SIZE_BOTTOMRIGHT = 4,
+ _NET_WM_MOVERESIZE_SIZE_BOTTOM = 5,
+ _NET_WM_MOVERESIZE_SIZE_BOTTOMLEFT = 6,
+ _NET_WM_MOVERESIZE_SIZE_LEFT = 7,
+ _NET_WM_MOVERESIZE_MOVE = 8,
+ _NET_WM_MOVERESIZE_SIZE_KEYBOARD = 9,
+ _NET_WM_MOVERESIZE_MOVE_KEYBOARD = 10,
+ _NET_WM_MOVERESIZE_CANCEL = 11
+ }
+
[Flags]
internal enum XSizeHintsFlags {
USPosition = (1 << 0),
driver.AudibleAlert(alert);
}
+ internal static void BeginMoveResize (IntPtr handle)
+ {
+ driver.BeginMoveResize (handle);
+ }
+
internal static bool CalculateWindowRect(ref Rectangle ClientRect, CreateParams cp, Menu menu, out Rectangle WindowRect) {
#if DriverDebug
Console.WriteLine("CalculateWindowRect({0}, {1}, {2}): Called", ClientRect, cp, menu);
AlertSoundPlay ();
}
+ internal override void BeginMoveResize (IntPtr handle) {
+ }
+
internal override void CaretVisible (IntPtr hwnd, bool visible) {
if (Caret.Hwnd == hwnd) {
if (visible) {
#region XplatUI Driver Methods
internal abstract void AudibleAlert(AlertType alert);
+ internal abstract void BeginMoveResize (IntPtr handle); // init a window manager driven resize event
+
internal abstract void EnableThemes();
internal abstract void GetDisplaySize(out Size size);
Win32PlaySound(GetSoundAlias (alert), IntPtr.Zero, SndFlags.SND_ALIAS_ID | SndFlags.SND_ASYNC | SndFlags.SND_NOSTOP | SndFlags.SND_NOWAIT);
}
+ internal override void BeginMoveResize (IntPtr handle) {
+ }
+
internal override void GetDisplaySize(out Size size) {
RECT rect;
//private static IntPtr _NET_SHOWING_DESKTOP;
//private static IntPtr _NET_CLOSE_WINDOW;
//private static IntPtr _NET_MOVERESIZE_WINDOW;
- //private static IntPtr _NET_WM_MOVERESIZE;
+ private static IntPtr _NET_WM_MOVERESIZE;
//private static IntPtr _NET_RESTACK_WINDOW;
//private static IntPtr _NET_REQUEST_FRAME_EXTENTS;
private static IntPtr _NET_WM_NAME;
//"_NET_SHOWING_DESKTOP",
//"_NET_CLOSE_WINDOW",
//"_NET_MOVERESIZE_WINDOW",
- //"_NET_WM_MOVERESIZE",
+ "_NET_WM_MOVERESIZE",
//"_NET_RESTACK_WINDOW",
//"_NET_REQUEST_FRAME_EXTENTS",
"_NET_WM_NAME",
//_NET_SHOWING_DESKTOP = atoms [off++];
//_NET_CLOSE_WINDOW = atoms [off++];
//_NET_MOVERESIZE_WINDOW = atoms [off++];
- //_NET_WM_MOVERESIZE = atoms [off++];
+ _NET_WM_MOVERESIZE = atoms [off++];
//_NET_RESTACK_WINDOW = atoms [off++];
//_NET_REQUEST_FRAME_EXTENTS = atoms [off++];
_NET_WM_NAME = atoms [off++];
}
private void SendNetWMMessage(IntPtr window, IntPtr message_type, IntPtr l0, IntPtr l1, IntPtr l2) {
+ SendNetWMMessage (window, message_type, l0, l1, l2, IntPtr.Zero);
+ }
+
+ private void SendNetWMMessage(IntPtr window, IntPtr message_type, IntPtr l0, IntPtr l1, IntPtr l2, IntPtr l3) {
XEvent xev;
xev = new XEvent();
xev.ClientMessageEvent.ptr1 = l0;
xev.ClientMessageEvent.ptr2 = l1;
xev.ClientMessageEvent.ptr3 = l2;
+ xev.ClientMessageEvent.ptr4 = l3;
XSendEvent(DisplayHandle, RootWindow, false, new IntPtr ((int) (EventMask.SubstructureRedirectMask | EventMask.SubstructureNotifyMask)), ref xev);
}
(IntPtr) (screen_y << 16 | screen_x & 0xFFFF));
}
+ // Our very basic implementation of MoveResize - we can extend it later
+ // *if* needed
+ internal override void BeginMoveResize (IntPtr handle)
+ {
+ // We *need* to ungrab the pointer in the current display
+ XplatUI.UngrabWindow (Grab.Hwnd);
+
+ int x_root, y_root;
+ GetCursorPos (IntPtr.Zero, out x_root, out y_root);
+
+ Hwnd hwnd = Hwnd.ObjectFromHandle (handle);
+ SendNetWMMessage (hwnd.whole_window, _NET_WM_MOVERESIZE, (IntPtr) x_root, (IntPtr) y_root,
+ (IntPtr) NetWmMoveResize._NET_WM_MOVERESIZE_SIZE_BOTTOMRIGHT,
+ (IntPtr) 1); // left button
+ }
+
internal override bool GetText(IntPtr handle, out string text) {
lock (XlibLock) {
+2010-02-19 Ankit Jain <jankit@novell.com>
+
+ * Microsoft.Build.Engine.dll.sources: Add ProjectLoadSettings.cs .
+
+2010-01-21 Rodrigo B. de Oliveira <rodrigo@unity3d.com>
+
+ * Microsoft.Build.BuildEngine/BuildWhen.cs
+ * Microsoft.Build.BuildEngine/PropertyReference.cs:
+ support for nested Choose elements + fixed bug where the project reference
+ would be null during condition evaluation.
+
2010-01-12 Rodrigo B. de Oliveira <rodrigo@unity3d.com>
* Microsoft.Build.BuildEngine/BuildWhen.cs
public string GetEvaluatedMetadata (string metadataName)
{
if (ReservedNameUtils.IsReservedMetadataName (metadataName)) {
- string metadata = ReservedNameUtils.GetReservedMetadata (FinalItemSpec, metadataName);
+ string metadata = ReservedNameUtils.GetReservedMetadata (FinalItemSpec, metadataName, evaluatedMetadata);
return (metadataName.ToLower () == "fullpath") ? Utilities.Escape (metadata) : metadata;
}
public string GetMetadata (string metadataName)
{
if (ReservedNameUtils.IsReservedMetadataName (metadataName)) {
- string metadata = ReservedNameUtils.GetReservedMetadata (FinalItemSpec, metadataName);
+ string metadata = ReservedNameUtils.GetReservedMetadata (FinalItemSpec, metadataName, unevaluatedMetadata);
return (metadataName.ToLower () == "fullpath") ? Utilities.Escape (metadata) : metadata;
} else if (unevaluatedMetadata.Contains (metadataName))
return (string) unevaluatedMetadata [metadataName];
public BuildWhen (XmlElement whenElement, Project parentProject)
{
-
this.parentProject = parentProject;
- this.groupingCollection = new GroupingCollection (null);
+ this.groupingCollection = new GroupingCollection (parentProject);
if (whenElement == null)
throw new ArgumentNullException ("whenElement");
this.whenElement = whenElement;
foreach (XmlElement xe in whenElement.ChildNodes) {
- if (xe.Name == "ItemGroup") {
- BuildItemGroup big = new BuildItemGroup (xe, parentProject, null, true);
- //big.BindToXml (xe);
- groupingCollection.Add (big);
- // FIXME: add nested chooses
- } else if (xe.Name == "PropertyGroup") {
- BuildPropertyGroup bpg = new BuildPropertyGroup (xe, parentProject, null, true);
- //bpg.BindToXml (xe);
- groupingCollection.Add (bpg);
- } else
- throw new InvalidProjectFileException ("Invalid element in When.");
+ switch (xe.Name) {
+ case "ItemGroup":
+ BuildItemGroup big = new BuildItemGroup (xe, parentProject, null, true);
+ //big.BindToXml (xe);
+ groupingCollection.Add (big);
+ break;
+ case "PropertyGroup":
+ BuildPropertyGroup bpg = new BuildPropertyGroup (xe, parentProject, null, true);
+ //bpg.BindToXml (xe);
+ groupingCollection.Add (bpg);
+ break;
+ case "Choose":
+ BuildChoose bc = new BuildChoose (xe, parentProject);
+ groupingCollection.Add (bc);
+ break;
+ default:
+ throw new InvalidProjectFileException ( string.Format ("Invalid element '{0}' in When.", xe.Name));
+ }
}
-
}
public void Evaluate()
+2010-02-19 Ankit Jain <jankit@novell.com>
+
+ * BuildItem.cs: Track api changes.
+ (SetMetadata): Allow RecursiveDir to be set, this is set by
+ DirectoryScanner.
+ * DirectoryScanner.cs (ProcessInclude): Set RecursiveDir metadata.
+
+2010-02-19 Ankit Jain <jankit@novell.com>
+
+ * Import.cs (Evaluate): Add param @ignoreMissingImports.
+ * Project.cs (Load*): Add overloads with param @projectLoadSettings.
+ (Log*): Mark internal.
+ * ProjectLoadSettings.cs: New.
+
+2010-02-04 Ankit Jain <jankit@novell.com>
+
+ Fix bug #576589.
+ * ConditionFunctionExpression.cs (Exists): Check for directory also.
+
2009-12-22 Ankit Jain <jankit@novell.com>
Fix bug #565849.
if (!Path.IsPathRooted (file) && directory != null && directory != String.Empty)
file = Path.Combine (directory, file);
- return File.Exists (file);
+ return File.Exists (file) || Directory.Exists (file);
}
static bool HasTrailingSlash (string file, Project context)
offset = 1;
}
+ string full_path = Path.GetFullPath (Path.Combine (Environment.CurrentDirectory, include_item.ItemSpec));
fileInfo = ParseIncludeExclude (separatedPath, offset, baseDirectory);
+ int wildcard_offset = full_path.IndexOf ("**");
foreach (FileInfo fi in fileInfo) {
if (!excludedItems.ContainsKey (fi.FullName)) {
TaskItem item = new TaskItem (include_item);
item.ItemSpec = fi.FullName;
+ string rec_dir = Path.GetDirectoryName (fi.FullName.Substring (wildcard_offset));
+ if (rec_dir.Length > 0)
+ rec_dir += Path.DirectorySeparatorChar;
+ item.SetMetadata ("RecursiveDir", rec_dir);
includedItems.Add (item);
}
}
}
// FIXME: condition
- internal void Evaluate ()
+ internal void Evaluate (bool ignoreMissingImports)
{
string filename = evaluatedProjectPath;
// NOTE: it's a hack to transform Microsoft.CSharp.Targets to Microsoft.CSharp.targets
filename = Path.ChangeExtension (filename, Path.GetExtension (filename));
if (!File.Exists (filename)) {
- throw new InvalidProjectFileException (String.Format ("Imported project: \"{0}\" does not exist.", filename));
+ if (ignoreMissingImports) {
+ project.LogWarning (project.FullFileName, "Could not find project file {0}, to import. Ignoring.", filename);
+ return;
+ } else {
+ throw new InvalidProjectFileException (String.Format ("Imported project: \"{0}\" does not exist.", filename));
+ }
}
ImportedProject importedProject = new ImportedProject ();
bool building;
BuildSettings current_settings;
Stack<Batch> batches;
+ ProjectLoadSettings project_load_settings;
static string extensions_path;
fullFileName = String.Empty;
timeOfLastDirty = DateTime.Now;
current_settings = BuildSettings.None;
+ project_load_settings = ProjectLoadSettings.None;
+
encoding = null;
builtTargetKeys = new List<string> ();
public void Load (string projectFileName)
{
+ Load (projectFileName, ProjectLoadSettings.None);
+ }
+
+ public void Load (string projectFileName, ProjectLoadSettings settings)
+ {
+ project_load_settings = settings;
if (String.IsNullOrEmpty (projectFileName))
throw new ArgumentNullException ("projectFileName");
[MonoTODO ("Not tested")]
public void Load (TextReader textReader)
{
+ Load (textReader, ProjectLoadSettings.None);
+ }
+
+ public void Load (TextReader textReader, ProjectLoadSettings projectLoadSettings)
+ {
+ project_load_settings = projectLoadSettings;
fullFileName = String.Empty;
DoLoad (textReader);
}
public void LoadXml (string projectXml)
{
+ LoadXml (projectXml, ProjectLoadSettings.None);
+ }
+
+ public void LoadXml (string projectXml, ProjectLoadSettings projectLoadSettings)
+ {
+ project_load_settings = projectLoadSettings;
fullFileName = String.Empty;
DoLoad (new StringReader (projectXml));
MarkProjectAsDirty ();
}
Imports.Add (import);
- import.Evaluate ();
+ import.Evaluate (project_load_settings == ProjectLoadSettings.IgnoreMissingImports);
}
void AddItemGroup (XmlElement xmlElement, ImportedProject importedProject)
return default (T);
}
- void LogWarning (string filename, string message, params object[] messageArgs)
+ internal void LogWarning (string filename, string message, params object[] messageArgs)
{
BuildWarningEventArgs bwea = new BuildWarningEventArgs (
null, null, filename, 0, 0, 0, 0, String.Format (message, messageArgs),
ParentEngine.EventSource.FireWarningRaised (this, bwea);
}
- void LogError (string filename, string message,
+ internal void LogError (string filename, string message,
params object[] messageArgs)
{
BuildErrorEventArgs beea = new BuildErrorEventArgs (
--- /dev/null
+//
+// ProjectLoadSettings.cs
+//
+// Author:
+// Ankit Jain (jankit@novell.com)
+//
+// Copyright 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+#if NET_2_0
+
+namespace Microsoft.Build.BuildEngine {
+
+ public enum ProjectLoadSettings {
+ None,
+ IgnoreMissingImports
+ }
+}
+
+#endif
// so, always true, ignore @options
public string ConvertToString (Project project, ExpressionOptions options)
{
+ if (project == null)
+ throw new ArgumentNullException ("project");
+
BuildProperty bp = project.EvaluatedProperties [name];
if (bp == null)
return String.Empty;
Microsoft.Build.BuildEngine/ItemReference.cs
Microsoft.Build.BuildEngine/MetadataReference.cs
Microsoft.Build.BuildEngine/Project.cs
+Microsoft.Build.BuildEngine/ProjectLoadSettings.cs
Microsoft.Build.BuildEngine/PropertyPosition.cs
Microsoft.Build.BuildEngine/PropertyReference.cs
Microsoft.Build.BuildEngine/TargetCollection.cs
Assert.AreEqual ("Baz", project.GetEvaluatedProperty ("Foo"), "A1");
}
+
+ [Test]
+ public void NestedChooseInOtherwise () {
+
+ string documentString = @"
+ <Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>
+ <Choose>
+ <When Condition=""'$(Configuration)' == 'dummy'"">
+ <PropertyGroup>
+ <Foo>Bar</Foo>
+ </PropertyGroup>
+ </When>
+ <Otherwise>
+ <Choose>
+ <When Condition="" 'foo' == 'bar' "">
+ <PropertyGroup>
+ <Foo>Baz</Foo>
+ </PropertyGroup>
+ </When>
+ <Otherwise>
+ <PropertyGroup>
+ <Foo>Baz</Foo>
+ </PropertyGroup>
+ </Otherwise>
+ </Choose>
+ </Otherwise>
+ </Choose>
+ </Project>
+ ";
+
+ Engine engine = new Engine (Consts.BinPath);
+ Project project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
+
+ Assert.AreEqual ("Baz", project.GetEvaluatedProperty ("Foo"), "A1");
+ }
+
+
+ [Test]
+ public void UndefinedPropertyInExistsCondition()
+ {
+ string documentString = @"
+ <Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>
+ <PropertyGroup>
+ <Foo>Bar</Foo>
+ </PropertyGroup>
+ <Choose>
+ <When Condition = "" '$(teamcity_dotnet_nunitlauncher_msbuild_task)' == '' "" >
+ <Choose>
+ <When Condition=""Exists('$(UndefinedProperty)\Foo\Bar')"">
+ <PropertyGroup>
+ <Exists>yes</Exists>
+ </PropertyGroup>
+ </When>
+ <Otherwise>
+ <PropertyGroup>
+ <Exists>no</Exists>
+ </PropertyGroup>
+ </Otherwise>
+ </Choose>
+ </When>
+ </Choose>
+ </Project>
+ ";
+
+ Engine engine = new Engine (Consts.BinPath);
+ Project project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
+
+ Assert.AreEqual ("no", project.GetEvaluatedProperty ("Exists"), "A1");
+ }
}
}
}
[Test]
- public void TestValueXml ()
- {
- BuildPropertyGroup [] bpgs = new BuildPropertyGroup [1];
- BuildProperty [] props;
- XmlDocument xd;
- XmlNode node;
+ public void TestValueXml ()
+ {
+ BuildPropertyGroup [] bpgs = new BuildPropertyGroup [1];
+ BuildProperty [] props;
+ XmlDocument xd;
+ XmlNode node;
- string documentString = @"
- <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
- <PropertyGroup>
- <Name>Value</Name>
- </PropertyGroup>
- </Project>
- ";
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <PropertyGroup>
+ <Name>Value</Name>
+ </PropertyGroup>
+ </Project>
+ ";
- engine = new Engine (Consts.BinPath);
+ engine = new Engine (Consts.BinPath);
- project = engine.CreateNewProject ();
- project.LoadXml (documentString);
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
- project.PropertyGroups.CopyTo (bpgs, 0);
- bpgs[0].AddNewProperty("XmlProp", "<XmlStuff></XmlStuff>");
+ project.PropertyGroups.CopyTo (bpgs, 0);
+ bpgs[0].AddNewProperty("XmlProp", "<XmlStuff></XmlStuff>");
- xd = new XmlDocument ();
- xd.LoadXml (project.Xml);
+ xd = new XmlDocument ();
+ xd.LoadXml (project.Xml);
Console.WriteLine(project.Xml);
- node = xd.SelectSingleNode ("tns:Project/tns:PropertyGroup/tns:XmlProp/tns:XmlStuff", TestNamespaceManager.NamespaceManager);
- Assert.IsNotNull (node, "A1");
- }
+ node = xd.SelectSingleNode ("tns:Project/tns:PropertyGroup/tns:XmlProp/tns:XmlStuff", TestNamespaceManager.NamespaceManager);
+ Assert.IsNotNull (node, "A1");
+ }
}
}
+2010-02-19 Ankit Jain <jankit@novell.com>
+
+ * ImportTest.cs (TestMissingImport*): Add new tests for missing
+ import projects.
+
+2010-02-11 Ankit Jain <jankit@novell.com>
+
+ * ImportTest.cs (Add1): Fix test on windows.
+
+2010-01-21 Rodrigo B. de Oliveira <rodrigo@unity3d.com>
+
+ * BuildChooseTest.cs
+ * BuildPropertyTest.cs:
+ test cases for nested Choose elements and different property
+ evaluation scenarios.
+
2009-10-08 Ankit Jain <jankit@novell.com>
* ProjectTest.cs (TestBatchedMetadataRefInOutput): New.
string documentString = @"
<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
- <Import Project='Test/resources/first.proj'/>
- <Import Project='Test/resources/Import.csproj' Condition='false'/>
+ <Import Project='Test\resources\first.proj'/>
+ <Import Project='Test\resources\Import.csproj' Condition='false'/>
</Project>
";
Assert.IsNull (t [0].Condition, "A1");
Assert.AreEqual (false, t[0].IsImported, "A5");
- Assert.AreEqual ("Test/resources/first.proj", t[0].ProjectPath, "A6");
+ Assert.AreEqual ("Test\\resources\\first.proj", t[0].ProjectPath, "A6");
Assert.AreEqual (Path.Combine (base_dir, "first.proj"), t[0].EvaluatedProjectPath, "A7");
Assert.AreEqual (true, t[1].IsImported, "A2");
Assert.IsTrue (groups [0].IsImported, "A1");
Assert.AreEqual (1, groups [0].Count, "A2");
}
+
+ [Test]
+ [ExpectedException (typeof (InvalidProjectFileException))]
+ public void TestMissingImport1 ()
+ {
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <Import Project='Test/resources/NonExistantProject.proj'/>
+ </Project>";
+
+ engine = new Engine (Consts.BinPath);
+
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString, ProjectLoadSettings.None);
+ }
+
+ [Test]
+ public void TestMissingImport2 ()
+ {
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <Import Project='Test/resources/NonExistantProject.proj'/>
+ </Project>
+ ";
+
+ engine = new Engine (Consts.BinPath);
+
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString, ProjectLoadSettings.IgnoreMissingImports);
+
+ Assert.AreEqual (1, project.Imports.Count, "A1");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidProjectFileException))]
+ public void TestMissingImportDefault ()
+ {
+ string documentString = @"
+ <Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
+ <Import Project='Test/resources/NonExistantProject.proj'/>
+ </Project>
+ ";
+
+ engine = new Engine (Consts.BinPath);
+
+ project = engine.CreateNewProject ();
+ project.LoadXml (documentString);
+ }
+
}
}
+2010-02-19 Ankit Jain <jankit@novell.com>
+
+ * Items.cs (TestItemsWithWildcards): Check for RecursiveDir metadata also.
+
2009-12-22 Ankit Jain <jankit@novell.com>
* Items.cs (TestItemsWithWildcards): Add Exclude also, update
CheckItems (proj, "I2", "A7", "A A", "B B", "C C");
}
+
+
[Test]
[Category ("NotWorking")]
public void TestItemsInTarget2 ()
<ItemGroup>
<ItemsRel Include='dir\**\*.dll' Exclude='*\x*.dll' />
<ItemsRelExpanded Include=""@(ItemsRel->'%(FullPath)')"" />
- <ItemsAbs Include='$(MSBuildProjectDirectory)\dir\**\*.dll' Exclude='*\x*.dll' />
+ <ItemsAbs Include='$(MSBuildProjectDirectory)\dir\**\*.dll'/>
</ItemGroup>
<Target Name='Main'>
+ <Message Text=""ItemsRel: %(ItemsRel.FullPath) RecDir: %(ItemsRel.RecursiveDir)""/>
<Message Text=""ItemsRelExpanded: %(ItemsRelExpanded.Identity)""/>
- <Message Text='ItemsAbs: %(ItemsAbs.Identity)'/>
+ <Message Text='ItemsAbs: %(ItemsAbs.Identity) RecDir: %(ItemsAbs.RecursiveDir)'/>
</Target>
</Project>";
string projectdir = Path.Combine ("Test", "resources");
File.WriteAllText (Path.Combine (projectdir, "wild1.proj"), documentString);
proj.Load (Path.Combine (projectdir, "wild1.proj"));
- if (!proj.Build ("Main"))
+ if (!proj.Build ("Main")) {
+ logger.DumpMessages ();
Assert.Fail ("Build failed");
-
+ }
string full_base_dir = Path.GetFullPath (basedir);
- foreach (string prefix in new string[] { "ItemsRelExpanded: ", "ItemsAbs: " }) {
- logger.CheckLoggedAny (prefix + PathCombine (full_base_dir, aaa, "foo.dll"),
- MessageImportance.Normal, "A1");
- logger.CheckLoggedAny (prefix + PathCombine (full_base_dir, bb, "bar.dll"), MessageImportance.Normal, "A2");
- }
+ logger.CheckLoggedAny (@"ItemsRel: "+ PathCombine (full_base_dir, aaa, "foo.dll") +
+ " RecDir: " + aaa + Path.DirectorySeparatorChar, MessageImportance.Normal, "A1");
+
+ logger.CheckLoggedAny (@"ItemsRel: " + PathCombine (full_base_dir, bb, "bar.dll") +
+ " RecDir: " + bb + Path.DirectorySeparatorChar, MessageImportance.Normal, "A2");
+
+ logger.CheckLoggedAny (@"ItemsRelExpanded: " + PathCombine (full_base_dir, aaa, "foo.dll"), MessageImportance.Normal, "A3");
+ logger.CheckLoggedAny (@"ItemsRelExpanded: " + PathCombine (full_base_dir, bb, "bar.dll"), MessageImportance.Normal, "A4");
+
+ logger.CheckLoggedAny (@"ItemsAbs: " + PathCombine (full_base_dir, aaa, "foo.dll") +
+ @" RecDir: " + aaa + Path.DirectorySeparatorChar, MessageImportance.Normal, "A5");
+ logger.CheckLoggedAny (@"ItemsAbs: " + PathCombine (full_base_dir, bb, "bar.dll") +
+ @" RecDir: " + bb + Path.DirectorySeparatorChar, MessageImportance.Normal, "A6");
+ logger.CheckLoggedAny (@"ItemsAbs: " + PathCombine (full_base_dir, "xyz.dll") +
+ @" RecDir: ", MessageImportance.Normal, "A7");
+
+ Assert.AreEqual (0, logger.NormalMessageCount, "Unexpected extra messages found");
} catch (AssertionException) {
logger.DumpMessages ();
throw;
+2010-02-06 Ankit Jain <jankit@novell.com>
+
+ * Microsoft.Build.Tasks.dll.sources: Add LC.cs
+ * Microsoft.Build.Tasks_test.dll.sources: Add LCTest.cs
+
+2010-02-04 Ankit Jain <jankit@novell.com>
+
+ * Microsoft.Build.Tasks_test.dll.sources: Added
+ WriteLinesToFileTest.cs
+
2009-12-22 Ankit Jain <jankit@novell.com>
* Microsoft.Build.Tasks.dll.sources: Add DirectoryScanner.cs
Microsoft.Build.Tasks/GetFrameworkSdkPath.cs
Microsoft.Build.Tasks.Hosting/ICscHostObject.cs
Microsoft.Build.Tasks.Hosting/IVbcHostObject.cs
+Microsoft.Build.Tasks/LC.cs
Microsoft.Build.Tasks/MakeDir.cs
Microsoft.Build.Tasks/ManagedCompiler.cs
Microsoft.Build.Tasks/Message.cs
public ResolvedReference FindInTargetFramework (ITaskItem reference, string framework_dir, bool specific_version)
{
+ if (!Directory.Exists (framework_dir))
+ return null;
+
AssemblyName key_aname = new AssemblyName (reference.ItemSpec);
TargetFrameworkAssemblies gac_asm;
if (!target_framework_cache.TryGetValue (framework_dir, out gac_asm)) {
+2010-02-10 Ankit Jain <jankit@novell.com>
+
+ * GenerateResource.cs (CompileResourceFile): Check File.Exists
+ for source file.
+ Don't build if the target is newer than the source file.
+ (Execute): Continue building all the resources, even if there
+ are failures for some files.
+
+2010-02-10 Ankit Jain <jankit@novell.com>
+
+ Fix bug #558739.
+ * GenerateResource (Resgen): New. Internal task to run resgen
+ with MONO_IOMAP=drive .
+ (Execute): Use the new Resgen task to compile the resources.
+
+2010-02-06 Ankit Jain <jankit@novell.com>
+
+ * LC.cs: New.
+
+2010-02-05 Ankit Jain <jankit@novell.com>
+
+ Fix bug #576579.
+ * CreateManifestResourceName.cs: Use TargetPath metadata, as the link
+ name.
+ * CreateCSharpManifestResourceName.cs:
+ * CreateVisualBasicManifestResourceName.cs: Prefer linkname over
+ filename, if available.
+
+2010-02-04 Ankit Jain <jankit@novell.com>
+
+ * WriteLinesToFile.cs: Delete the file if there is nothing to
+ be written and overwrite==true.
+
+2010-02-02 Rodrigo B. de Oliveira <rodrigo@unity3d.com>
+
+ * AssemblyResolver.cs:
+ guard against non existing framework directory
+ (for scenarios where lib/mono/3.5 is not available).
+
2009-12-22 Ankit Jain <jankit@novell.com>
Fix bug #565849.
string dependentUponFileName,
Stream binaryStream)
{
+ string filename_to_use = String.IsNullOrEmpty (linkFileName) ? fileName : linkFileName;
if (String.IsNullOrEmpty (dependentUponFileName) || binaryStream == null)
- return GetResourceIdFromFileName (fileName, rootNamespace);
+ return GetResourceIdFromFileName (filename_to_use, rootNamespace);
string ns = null;
string classname = null;
}
if (classname == null)
- return GetResourceIdFromFileName (fileName, rootNamespace);
+ return GetResourceIdFromFileName (filename_to_use, rootNamespace);
string culture, extn, only_filename;
- if (AssignCulture.TrySplitResourceName (fileName, out only_filename, out culture, out extn))
+ if (AssignCulture.TrySplitResourceName (filename_to_use, out only_filename, out culture, out extn))
extn = "." + culture;
else
extn = String.Empty;
manifestResourceNames [i] = new TaskItem (item);
manifestResourceNames [i].ItemSpec = CreateManifestName (
- filename, null, rootNamespace,
+ filename, item.GetMetadata ("TargetPath"), rootNamespace,
dependentUponFileName, binaryStream);
} finally {
if (binaryStream != null)
string dependentUponFileName,
Stream binaryStream)
{
+ string filename_to_use = String.IsNullOrEmpty (linkFileName) ? fileName : linkFileName;
if (String.IsNullOrEmpty (dependentUponFileName) || binaryStream == null)
return GetResourceIdFromFileName
- (Path.GetFileName (fileName), rootNamespace);
+ (Path.GetFileName (filename_to_use), rootNamespace);
string ns = null;
string classname = null;
}
if (classname == null)
- return GetResourceIdFromFileName (fileName, rootNamespace);
+ return GetResourceIdFromFileName (filename_to_use, rootNamespace);
string culture, extn, only_filename;
- if (AssignCulture.TrySplitResourceName (fileName, out only_filename, out culture, out extn))
+ if (AssignCulture.TrySplitResourceName (filename_to_use, out only_filename, out culture, out extn))
extn = "." + culture;
else
extn = String.Empty;
using System.Resources;
using System.Reflection;
using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
using Mono.XBuild.Tasks.GenerateResourceInternal;
namespace Microsoft.Build.Tasks {
if (sources.Length == 0)
return true;
+ bool result = true;
List <ITaskItem> temporaryFilesWritten = new List <ITaskItem> ();
if (outputResources == null) {
foreach (ITaskItem source in sources) {
string sourceFile = source.ItemSpec;
string outputFile = Path.ChangeExtension (sourceFile, "resources");
- CompileResourceFile (sourceFile, outputFile);
+
+ result &= CompileResourceFile (sourceFile, outputFile);
+
+ ITaskItem newItem = new TaskItem (source);
+ source.ItemSpec = outputFile;
+
+ temporaryFilesWritten.Add (newItem);
}
} else {
if (sources.Length != outputResources.Length) {
- Log.LogErrorFromException (new Exception ("Sources count is different than OutputResources count."));
+ Log.LogError ("Sources count is different than OutputResources count.");
return false;
}
for (int i = 0; i < sources.Length; i ++) {
- string sourceFile = sources [i].ItemSpec;
- string outputFile = outputResources [i].ItemSpec;
-
- if (outputFile == String.Empty) {
- Log.LogErrorFromException (new Exception ("Filename of output can not be empty."));
- return false;
- }
- if (CompileResourceFile (sourceFile, outputFile) == false) {
- Log.LogErrorFromException (new Exception ("Error during compiling resource file."));
- return false;
+ if (String.IsNullOrEmpty (outputResources [i].ItemSpec)) {
+ Log.LogError ("Filename of output can not be empty.");
+ result = false;
+ continue;
}
+
+ result &= CompileResourceFile (sources [i].ItemSpec, outputResources [i].ItemSpec);
temporaryFilesWritten.Add (outputResources [i]);
}
}
filesWritten = temporaryFilesWritten.ToArray ();
-
- return true;
+
+ return result;
}
+#if false
private IResourceReader GetReader (Stream stream, string name)
{
string format = Path.GetExtension (name);
throw new Exception ("Unknown format in file " + name);
}
}
+#endif
private bool CompileResourceFile (string sname, string dname )
{
- FileStream source, dest;
- IResourceReader reader;
- IResourceWriter writer;
-
- Log.LogMessage ("Compiling resource file '{0}' into '{1}'", sname, dname);
- try {
- source = new FileStream (sname, FileMode.Open, FileAccess.Read);
-
- reader = GetReader (source, sname);
-
- dest = new FileStream (dname, FileMode.Create, FileAccess.Write);
- writer = GetWriter (dest, dname);
-
- int rescount = 0;
- foreach (DictionaryEntry e in reader) {
- rescount++;
- object val = e.Value;
- if (val is string)
- writer.AddResource ((string)e.Key, (string)e.Value);
- else
- writer.AddResource ((string)e.Key, e.Value);
- }
-
- reader.Close ();
- writer.Close ();
- } catch (Exception e) {
- Log.LogErrorFromException (e);
+ if (!File.Exists (sname)) {
+ Log.LogError ("Resource file '{0}' not found.", sname);
return false;
}
- return true;
+
+ if (File.GetLastWriteTime (sname) <= File.GetLastWriteTime (dname)) {
+ Log.LogMessage (MessageImportance.Low,
+ "Resource file '{0}' is newer than the source file '{1}', skipping.",
+ dname, sname);
+ return true;
+ }
+
+ Resgen resgen = new Resgen ();
+ resgen.BuildEngine = this.BuildEngine;
+ resgen.UseSourcePath = true;
+
+ resgen.SourceFile = sname;
+ resgen.OutputFile = dname;
+
+ return resgen.Execute ();
}
[Output]
}
}
}
+
+ class Resgen : ToolTaskExtension
+ {
+ public Resgen ()
+ {
+ }
+
+ protected internal override void AddCommandLineCommands (
+ CommandLineBuilderExtension commandLine)
+ {
+ if (UseSourcePath)
+ commandLine.AppendSwitch ("/useSourcePath");
+
+ commandLine.AppendSwitch (String.Format ("/compile {0}{1}", SourceFile,
+ OutputFile != null ? "," + OutputFile : ""));
+ }
+
+ public override bool Execute ()
+ {
+ EnvironmentOverride ["MONO_IOMAP"] = "drive";
+ return base.Execute ();
+ }
+
+ protected override string GenerateFullPathToTool ()
+ {
+ return Path.Combine (ToolPath, ToolExe);
+ }
+
+ protected override MessageImportance StandardOutputLoggingImportance {
+ get { return MessageImportance.Low; }
+ }
+
+ protected override string ToolName {
+ get { return Utilities.RunningOnWindows ? "resgen2.bat" : "resgen2"; }
+ }
+
+ public string SourceFile { get; set; }
+ public string OutputFile { get; set; }
+
+ public bool UseSourcePath { get; set; }
+ }
}
#endif
--- /dev/null
+//
+// LC.cs: Task for license compiler
+//
+// Author:
+// Ankit Jain (jankit@novell.com)
+//
+// Copyright 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHLCL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DELCINGS IN THE SOFTWARE.
+
+#if NET_2_0
+
+using System;
+using System.Diagnostics;
+using System.IO;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+using Mono.XBuild.Utilities;
+
+namespace Microsoft.Build.Tasks {
+ public class LC : ToolTaskExtension
+ {
+ public LC ()
+ {
+ }
+
+ protected internal override void AddCommandLineCommands (
+ CommandLineBuilderExtension commandLine)
+ {
+ if (Sources.Length == 0)
+ return;
+
+ foreach (ITaskItem item in Sources)
+ commandLine.AppendSwitchIfNotNull ("--complist=", item.ItemSpec);
+
+ commandLine.AppendSwitchIfNotNull ("--target=", LicenseTarget);
+
+ if (ReferencedAssemblies != null)
+ foreach (ITaskItem reference in ReferencedAssemblies)
+ commandLine.AppendSwitchIfNotNull ("--load=", reference.ItemSpec);
+
+ string outdir;
+ if (Bag ["OutputDirectory"] != null)
+ outdir = OutputDirectory;
+ else
+ outdir = ".";
+
+ commandLine.AppendSwitchIfNotNull ("--outdir=", outdir);
+
+ if (Bag ["NoLogo"] != null && NoLogo)
+ commandLine.AppendSwitch ("--nologo");
+
+ OutputLicense = new TaskItem (Path.Combine (OutputDirectory, LicenseTarget.ItemSpec + ".licenses"));
+ }
+
+ protected override string GenerateFullPathToTool ()
+ {
+ return Path.Combine (ToolPath, ToolExe);
+ }
+
+ protected override bool ValidateParameters()
+ {
+ return Sources.Length > 0;
+ }
+
+ [Required]
+ public ITaskItem LicenseTarget {
+ get { return (ITaskItem) Bag ["LicenseTarget"]; }
+ set { Bag ["LicenseTarget"] = value; }
+ }
+
+ public bool NoLogo {
+ get { return GetBoolParameterWithDefault ("NoLogo", false); }
+ set { Bag ["NoLogo"] = value; }
+ }
+
+ public string OutputDirectory {
+ get { return (string) Bag ["OutputDirectory"]; }
+ set { Bag ["OutputDirectory"] = value; }
+ }
+
+ [Output]
+ public ITaskItem OutputLicense {
+ get { return (ITaskItem) Bag ["OutputLicense"]; }
+ set { Bag ["OutputLicense"] = value; }
+ }
+
+ public ITaskItem[] ReferencedAssemblies {
+ get { return (ITaskItem[]) Bag ["ReferencedAssemblies"]; }
+ set { Bag ["ReferencedAssemblies"] = value; }
+ }
+
+ [Required]
+ public ITaskItem[] Sources {
+ get { return (ITaskItem[]) Bag ["Sources"]; }
+ set { Bag ["Sources"] = value; }
+ }
+
+ protected override string ToolName {
+ get {
+ return Utilities.RunningOnWindows ? "lc.bat" : "lc";
+ }
+ }
+ }
+}
+
+#endif
public override bool Execute ()
{
try {
- streamWriter = new StreamWriter (file.GetMetadata ("FullPath"), !overwrite);
- if (lines != null)
- foreach (ITaskItem line in lines)
- streamWriter.WriteLine (line);
+ string fullpath = file.GetMetadata ("FullPath");
+ if (lines == null && overwrite) {
+ System.IO.File.Delete (fullpath);
+ return true;
+ }
+
+ using (streamWriter = new StreamWriter (fullpath, !overwrite)) {
+ if (lines != null)
+ foreach (ITaskItem line in lines)
+ streamWriter.WriteLine (line);
+ }
+
return true;
}
catch (Exception ex) {
Microsoft.Build.Tasks/FindAppConfigFileTest.cs
Microsoft.Build.Tasks/GetFrameworkPathTest.cs
Microsoft.Build.Tasks/GetFrameworkSdkPathTest.cs
+Microsoft.Build.Tasks/LCTest.cs
Microsoft.Build.Tasks/MakeDirTest.cs
Microsoft.Build.Tasks/ManagedCompilerTest.cs
Microsoft.Build.Tasks/MessageTest.cs
Microsoft.Build.Tasks/TestMessageLogger.cs
Microsoft.Build.Tasks/TaskBatchingTest.cs
Microsoft.Build.Tasks/WarningTest.cs
+Microsoft.Build.Tasks/WriteLinesToFileTest.cs
+2010-02-06 Ankit Jain <jankit@novell.com>
+
+ * LCTest.cs: New.
+
+2010-02-05 Ankit Jain <jankit@novell.com>
+
+ * CreateCSharpManifestResourceNameTest.cs:
+ * CreateVisualBasicManifestResourceNameTest.cs:
+ Add new tests for TargetPath metadata.
+
+2010-02-04 Ankit Jain <jankit@novell.com>
+
+ * WriteLinesToFileTest.cs: New.
+
2009-12-22 Ankit Jain <jankit@novell.com>
* CreateItemTest.cs (TestItemsWithWildcards): New.
public CreateCSharpManifestResourceNameTest ()
{
string sample_cs_path = Path.Combine ("Test", Path.Combine ("resources", "Sample.cs"));
+ string junk_file = Path.Combine ("Test", Path.Combine ("resources", "junk.txt"));
+ string curdir = Path.GetDirectoryName (Environment.CurrentDirectory);
+
+ /* {Include, LogicalName, DependentUpon, TargetPath} */
resx_no_culture_files = new string [,] {
// With dependent file
- { "foo with space.resx", null, sample_cs_path },
- { "foo with space.resx", "RandomName", sample_cs_path },
+ { "foo with space.resx", null, sample_cs_path, null },
+ { "foo with space.resx", "RandomName", sample_cs_path, null },
+ { "foo with space.resx", "RandomName", sample_cs_path, "bar with space.resx" },
+
+ // can't find a C# class in the .vb file
+ { "foo with space.resx", "RandomName", junk_file, "bar with space.resx" },
- { "Test/resources/foo with space.resx", null, "Sample.cs" },
- { "Test/resources/foo with space.resx", "RandomName", "Sample.cs" },
+ { "Test/resources/foo with space.resx", null, "Sample.cs", null },
+ { "Test/resources/foo with space.resx", "RandomName", "Sample.cs", null },
+ { "Test/resources/foo with space.resx", "RandomName", "Sample.cs", "bar with space.resx"},
// W/o dependent file
- { "foo with space.resx", null, null },
- { "foo with space.resx", "RandomName", null },
+ { "foo with space.resx", null, null, null },
+ { "foo with space.resx", "RandomName", null, null },
- { "Test/resources folder/foo with space.resx", null, null },
- { "Test/resources folder/foo with space.resx", "RandomName", null },
+ { "Test/resources folder/foo with space.resx", null, null, null },
+ { "Test/resources folder/foo with space.resx", "RandomName", null, null },
};
resx_with_culture_files = new string [,] {
// With dependent file
- { "foo with space.de.resx", null, sample_cs_path },
- { "foo with space.de.resx", "RandomName", sample_cs_path },
+ { "foo with space.de.resx", null, sample_cs_path, null },
+ { "foo with space.de.resx", "RandomName", sample_cs_path, null },
+ { "foo with space.de.resx", "RandomName", sample_cs_path, "bar with space.fr.resx" },
+
+ // can't find a C# class in the .vb file
+ { "foo with space.de.resx", "RandomName", junk_file, "bar with space.fr.resx" },
- { "Test/resources/foo with space.de.resx", null, "Sample.cs" },
- { "Test/resources/foo with space.de.resx", "RandomName", "Sample.cs" },
+ { "Test/resources/foo with space.de.resx", null, "Sample.cs", null },
+ { "Test/resources/foo with space.de.resx", "RandomName", "Sample.cs", null},
// W/o dependent file
- { "foo with space.de.resx", null, null },
- { "foo with space.de.resx", "RandomName", null },
+ { "foo with space.de.resx", null, null, null },
+ { "foo with space.de.resx", "RandomName", null, null },
- { "Test/resources folder/foo with space.de.resx", null, null },
- { "Test/resources folder/foo with space.de.resx", "RandomName", null }
+ { "Test/resources folder/foo with space.de.resx", null, null, null },
+ { "Test/resources folder/foo with space.de.resx", "RandomName", null, null }
};
non_resx_no_culture_files = new string [,] {
CheckResourceNames (resx_no_culture_files, new string [] {
// w/ dependent file
"Mono.Tests.Sample", "Mono.Tests.Sample",
+ "Mono.Tests.Sample", "bar with space",
"Mono.Tests.Sample", "Mono.Tests.Sample",
// W/o dependent file
- "foo with space", "foo with space" ,
- "Test.resources_folder.foo with space", "Test.resources_folder.foo with space"}, null);
+ "Mono.Tests.Sample", "foo with space" ,
+ "foo with space", "Test.resources_folder.foo with space",
+ "Test.resources_folder.foo with space",
+ }, null);
}
[Test]
CheckResourceNames (resx_no_culture_files, new string [] {
// With dependent file
"Mono.Tests.Sample", "Mono.Tests.Sample",
+ "Mono.Tests.Sample", "RN1.RN2.bar with space",
"Mono.Tests.Sample", "Mono.Tests.Sample",
+
// W/o dependent file
- "RN1.RN2.foo with space", "RN1.RN2.foo with space",
- "RN1.RN2.Test.resources_folder.foo with space", "RN1.RN2.Test.resources_folder.foo with space"},
+ "Mono.Tests.Sample", "RN1.RN2.foo with space",
+ "RN1.RN2.foo with space", "RN1.RN2.Test.resources_folder.foo with space",
+ "RN1.RN2.Test.resources_folder.foo with space"},
"RN1.RN2");
}
CheckResourceNames (resx_with_culture_files, new string [] {
// With dependent file
"Mono.Tests.Sample.de", "Mono.Tests.Sample.de",
+ "Mono.Tests.Sample.fr", "bar with space.fr",
+
"Mono.Tests.Sample.de", "Mono.Tests.Sample.de",
+
// W/o dependent file
"foo with space.de", "foo with space.de",
"Test.resources_folder.foo with space.de", "Test.resources_folder.foo with space.de" }, null);
CheckResourceNames (resx_with_culture_files, new string [] {
// With dependent file
"Mono.Tests.Sample.de", "Mono.Tests.Sample.de",
+ "Mono.Tests.Sample.fr", "RN1.RN2.bar with space.fr",
"Mono.Tests.Sample.de", "Mono.Tests.Sample.de",
// W/o dependent file
"RN1.RN2.foo with space.de", "RN1.RN2.foo with space.de",
CheckResourceNames (non_resx_with_culture_files, new string [] {
Path.Combine ("de", "foo with space.txt"), Path.Combine ("de", "foo with space.txt"),
Path.Combine ("de", "Test.resources_folder.foo with space.txt"), Path.Combine ("de", "Test.resources_folder.foo with space.txt")}, null);
+
}
[Test]
"RN1.RN2");
}
+ [Test]
+ public void TestExternalResourcesNoRootNamespaceWithTargetPath ()
+ {
+ CheckResourceNames (new string[,] {
+ {"../folder/foo.txt", null, null, "abc.txt"},
+ {"../folder/foo.de.txt", null, null, "xyz.txt"}},
+ new string[] { "abc.txt", "xyz.txt" }, null);
+ }
+
+ [Test]
+ public void TestExternalResourcesWithRootNamespaceWithTargetPath ()
+ {
+ CheckResourceNames (new string[,] {
+ {"../folder/foo.txt", null, null, "abc.txt"},
+ {"../folder/foo.de.txt", null, null, "xyz.txt"}},
+ new string[] { "RN.abc.txt", "RN.xyz.txt" }, "RN");
+ }
+
+ [Test]
+ public void TestExternalResourcesNoRootNamespaceNoTargetPath ()
+ {
+ CheckResourceNames (new string[,] {
+ {"../folder/foo.txt", null, null},
+ {"../folder/foo.de.txt", null, null}},
+ new string[] { "...folder.foo.txt", Path.Combine ("de", "...folder.foo.txt") }, null);
+ }
+
+ [Test]
+ public void TestExternalResourcesWithRootNamespaceNoTargetPath ()
+ {
+ CheckResourceNames (new string[,] {
+ {"../folder/foo.txt", null, null},
+ {"../folder/foo.de.txt", null, null}},
+ new string[] { "RN....folder.foo.txt", Path.Combine ("de", "RN....folder.foo.txt") }, "RN");
+ }
+
[Test]
public void TestInvalidCulture ()
{
Assert.Fail ("Build failed");
}
+ bool has_targetpaths = files.GetUpperBound (1) == 3;
BuildItemGroup group = project.GetEvaluatedItemsByName ("ResourceNames");
Assert.AreEqual (names.Length, group.Count, "A2");
for (int i = 0; i <= files.GetUpperBound (0); i++) {
Assert.AreEqual (files [i, 2] != null, group [i].HasMetadata ("DependentUpon"), "A6 #" + (i + 1));
if (files [i, 2] != null)
Assert.AreEqual (files [i, 2], group [i].GetMetadata ("DependentUpon"), "A7 #" + (i + 1));
+ if (has_targetpaths && files [i, 3] != null)
+ Assert.AreEqual (files [i, 3], group [i].GetMetadata ("TargetPath"), "A8 #" + (i + 1));
}
}
StringBuilder sb = new StringBuilder ();
sb.Append ("<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n");
+ bool has_targetpaths = files.GetUpperBound (1) == 3;
sb.Append ("\t<ItemGroup>\n");
for (int i = 0; i <= files.GetUpperBound (0); i ++) {
sb.AppendFormat ("\t\t<ResourceFiles Include = \"{0}\">\n", files [i, 0]);
+ if (has_targetpaths && files [i, 3] != null)
+ sb.AppendFormat ("\t\t\t<TargetPath>{0}</TargetPath>\n", files [i, 3]);
if (files [i, 1] != null)
sb.AppendFormat ("\t\t\t<LogicalName>{0}</LogicalName>\n", files [i, 1]);
if (files [i, 2] != null)
+
using System;
using System.Collections.Generic;
using System.IO;
{
string [,] resx_no_culture_files, resx_with_culture_files;
- string [,] non_resx_no_culture_files, non_resx_with_culture_files;
-
+ string [,] non_resx_no_culture_files, non_resx_with_culture_files;
public CreateVisualBasicManifestResourceNameTest ()
{
+ string junk_file = Path.Combine ("Test", Path.Combine ("resources", "junk.txt"));
string sample_vb_path = Path.Combine ("Test", Path.Combine ("resources", "Sample.vb"));
+ string curdir = Path.GetDirectoryName (Environment.CurrentDirectory);
+
+ /* {Include, LogicalName, DependentUpon, TargetPath} */
resx_no_culture_files = new string [,] {
// With dependent file
- { "foo with space.resx", null, sample_vb_path },
- { "foo with space.resx", "RandomName", sample_vb_path },
+ { "foo with space.resx", null, sample_vb_path, null },
+ { "foo with space.resx", "RandomName", sample_vb_path, null },
+ { "foo with space.resx", "RandomName", sample_vb_path, "bar with space.resx" },
+
+ // can't find a C# class in the .vb file
+ { "foo with space.resx", "RandomName", junk_file, "bar with space.resx" },
- { "Test/resources/foo with space.resx", null, "Sample.vb" },
- { "Test/resources/foo with space.resx", "RandomName", "Sample.vb" },
+ { "Test/resources/foo with space.resx", null, "Sample.vb", null },
+ { "Test/resources/foo with space.resx", "RandomName", "Sample.vb", null },
+ { "Test/resources/foo with space.resx", "RandomName", "Sample.vb", "bar with space.resx"},
// W/o dependent file
- { "foo with space.resx", null, null },
- { "foo with space.resx", "RandomName", null },
+ { "foo with space.resx", null, null, null },
+ { "foo with space.resx", "RandomName", null, null },
- { "Test/resources/foo with space.resx", null, null },
- { "Test/resources/foo with space.resx", "RandomName", null },
+ { "Test/resources folder/foo with space.resx", null, null, null },
+ { "Test/resources folder/foo with space.resx", "RandomName", null, null },
};
resx_with_culture_files = new string [,] {
// With dependent file
- { "foo with space.de.resx", null, sample_vb_path },
- { "foo with space.de.resx", "RandomName", sample_vb_path },
+ { "foo with space.de.resx", null, sample_vb_path, null },
+ { "foo with space.de.resx", "RandomName", sample_vb_path, null },
+ { "foo with space.de.resx", "RandomName", sample_vb_path, "bar with space.fr.resx" },
- { "Test/resources/foo with space.de.resx", null, "Sample.vb" },
- { "Test/resources/foo with space.de.resx", "RandomName", "Sample.vb" },
+ // can't find a C# class in the .vb file
+ { "foo with space.de.resx", "RandomName", junk_file, "bar with space.fr.resx" },
+
+ { "Test/resources/foo with space.de.resx", null, "Sample.vb", null },
+ { "Test/resources/foo with space.de.resx", "RandomName", "Sample.vb", null},
// W/o dependent file
- { "foo with space.de.resx", null, null },
- { "foo with space.de.resx", "RandomName", null },
+ { "foo with space.de.resx", null, null, null },
+ { "foo with space.de.resx", "RandomName", null, null },
- { "Test/resources folder/foo with space.de.resx", null, null },
- { "Test/resources folder/foo with space.de.resx", "RandomName", null }
+ { "Test/resources folder/foo with space.de.resx", null, null, null },
+ { "Test/resources folder/foo with space.de.resx", "RandomName", null, null }
};
non_resx_no_culture_files = new string [,] {
CheckResourceNames (resx_no_culture_files, new string [] {
// w/ dependent file
"Mono.Tests.Sample", "Mono.Tests.Sample",
+ "Mono.Tests.Sample", "bar with space",
"Mono.Tests.Sample", "Mono.Tests.Sample",
// W/o dependent file
- "foo with space", "foo with space" ,
- "foo with space", "foo with space"}, null);
+ "Mono.Tests.Sample", "foo with space" ,
+ "foo with space", "foo with space",
+ "foo with space",
+ }, null);
}
[Test]
CheckResourceNames (resx_no_culture_files, new string [] {
// With dependent file
"RN1.RN2.Mono.Tests.Sample", "RN1.RN2.Mono.Tests.Sample",
+ "RN1.RN2.Mono.Tests.Sample", "RN1.RN2.bar with space",
"RN1.RN2.Mono.Tests.Sample", "RN1.RN2.Mono.Tests.Sample",
+
// W/o dependent file
+ "RN1.RN2.Mono.Tests.Sample", "RN1.RN2.foo with space",
"RN1.RN2.foo with space", "RN1.RN2.foo with space",
- "RN1.RN2.foo with space", "RN1.RN2.foo with space"},
+ "RN1.RN2.foo with space"},
"RN1.RN2");
}
CheckResourceNames (resx_with_culture_files, new string [] {
// With dependent file
"Mono.Tests.Sample.de", "Mono.Tests.Sample.de",
+ "Mono.Tests.Sample.fr", "bar with space.fr",
+
"Mono.Tests.Sample.de", "Mono.Tests.Sample.de",
+
// W/o dependent file
"foo with space.de", "foo with space.de",
"foo with space.de", "foo with space.de" }, null);
CheckResourceNames (resx_with_culture_files, new string [] {
// With dependent file
"RN1.RN2.Mono.Tests.Sample.de", "RN1.RN2.Mono.Tests.Sample.de",
+ "RN1.RN2.Mono.Tests.Sample.fr", "RN1.RN2.bar with space.fr",
"RN1.RN2.Mono.Tests.Sample.de", "RN1.RN2.Mono.Tests.Sample.de",
// W/o dependent file
"RN1.RN2.foo with space.de", "RN1.RN2.foo with space.de",
CheckResourceNames (non_resx_with_culture_files, new string [] {
Path.Combine ("de", "foo with space.txt"), Path.Combine ("de", "foo with space.txt"),
Path.Combine ("de", "foo with space.txt"), Path.Combine ("de", "foo with space.txt")}, null);
+
}
[Test]
"RN1.RN2");
}
+ [Test]
+ public void TestExternalResourcesNoRootNamespaceWithTargetPath ()
+ {
+ CheckResourceNames (new string[,] {
+ {"../folder/foo.txt", null, null, "abc.txt"},
+ {"../folder/foo.de.txt", null, null, "xyz.txt"}},
+ new string[] { "abc.txt", "xyz.txt" }, null);
+ }
+
+ [Test]
+ public void TestExternalResourcesWithRootNamespaceWithTargetPath ()
+ {
+ CheckResourceNames (new string[,] {
+ {"../folder/foo.txt", null, null, "abc.txt"},
+ {"../folder/foo.de.txt", null, null, "xyz.txt"}},
+ new string[] { "RN.abc.txt", "RN.xyz.txt" }, "RN");
+ }
+
+ [Test]
+ public void TestExternalResourcesNoRootNamespaceNoTargetPath ()
+ {
+ CheckResourceNames (new string[,] {
+ {"../folder/foo.txt", null, null},
+ {"../folder/foo.de.txt", null, null}},
+ new string[] { "foo.txt", Path.Combine ("de", "foo.txt") }, null);
+ }
+
+ [Test]
+ public void TestExternalResourcesWithRootNamespaceNoTargetPath ()
+ {
+ CheckResourceNames (new string[,] {
+ {"../folder/foo.txt", null, null},
+ {"../folder/foo.de.txt", null, null}},
+ new string[] { "RN.foo.txt", Path.Combine ("de", "RN.foo.txt") }, "RN");
+ }
+
+ [Test]
+ public void TestInvalidCulture ()
+ {
+ string [,] files = new string [,] {
+ { "Foo.invalid.txt", null, null },
+ { "Foo.invalid.resx", null, null }
+ };
+ CheckResourceNames (files, new string [] {"RN1.RN2.Foo.invalid.txt", "RN1.RN2.Foo.invalid"},
+ "RN1.RN2");
+ }
+
void CheckResourceNames (string [,] files, string [] names, string rootNamespace)
{
Assert.AreEqual (files.GetUpperBound (0) + 1, names.Length, "Number of files and names must match");
Assert.Fail ("Build failed");
}
+ bool has_targetpaths = files.GetUpperBound (1) == 3;
BuildItemGroup group = project.GetEvaluatedItemsByName ("ResourceNames");
Assert.AreEqual (names.Length, group.Count, "A2");
for (int i = 0; i <= files.GetUpperBound (0); i++) {
Assert.AreEqual (files [i, 2] != null, group [i].HasMetadata ("DependentUpon"), "A6 #" + (i + 1));
if (files [i, 2] != null)
Assert.AreEqual (files [i, 2], group [i].GetMetadata ("DependentUpon"), "A7 #" + (i + 1));
+ if (has_targetpaths && files [i, 3] != null)
+ Assert.AreEqual (files [i, 3], group [i].GetMetadata ("TargetPath"), "A8 #" + (i + 1));
}
}
StringBuilder sb = new StringBuilder ();
sb.Append ("<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n");
+ bool has_targetpaths = files.GetUpperBound (1) == 3;
sb.Append ("\t<ItemGroup>\n");
for (int i = 0; i <= files.GetUpperBound (0); i ++) {
sb.AppendFormat ("\t\t<ResourceFiles Include = \"{0}\">\n", files [i, 0]);
+ if (has_targetpaths && files [i, 3] != null)
+ sb.AppendFormat ("\t\t\t<TargetPath>{0}</TargetPath>\n", files [i, 3]);
if (files [i, 1] != null)
sb.AppendFormat ("\t\t\t<LogicalName>{0}</LogicalName>\n", files [i, 1]);
if (files [i, 2] != null)
--- /dev/null
+//
+// LCTest.cs
+//
+// Author:
+// Ankit Jain (jankit@novell.com)
+//
+// Copyright 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System;
+using System.Collections;
+using System.IO;
+using Microsoft.Build.BuildEngine;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Tasks;
+using Microsoft.Build.Utilities;
+using NUnit.Framework;
+
+namespace MonoTests.Microsoft.Build.Tasks {
+
+ class LCExtended : LC {
+ public LCExtended ()
+ : base ()
+ {
+ }
+
+ public void ACLC (CommandLineBuilderExtension commandLine)
+ {
+ base.AddCommandLineCommands (commandLine);
+ }
+
+ public string TN {
+ get { return base.ToolName; }
+ }
+ }
+
+ [TestFixture]
+ public class LCTest {
+
+ [Test]
+ public void TestAssignment1 ()
+ {
+ LC lc = new LC ();
+
+ lc.LicenseTarget = new TaskItem ("bar.exe");
+ lc.NoLogo = true;
+ lc.OutputDirectory = "abc\\def";
+ lc.OutputLicense = new TaskItem ("bar.exe.licenses");
+ lc.ReferencedAssemblies = new ITaskItem [] { new TaskItem ("Test.dll") };
+ lc.Sources = new ITaskItem [] { new TaskItem ("foo.licx") };
+
+ Assert.AreEqual ("bar.exe", lc.LicenseTarget.ItemSpec, "LicenseTarget");
+ Assert.AreEqual (true, lc.NoLogo, "NoLogo");
+ Assert.AreEqual ("abc\\def", lc.OutputDirectory, "OutputDirectory");
+ Assert.AreEqual ("bar.exe.licenses", lc.OutputLicense.ItemSpec, "OutputLicense");
+
+ Assert.AreEqual (1, lc.ReferencedAssemblies.Length, "Number of ReferenceAssemblies");
+ Assert.AreEqual ("Test.dll", lc.ReferencedAssemblies [0].ItemSpec, "ReferencedAssemblies[0]");
+
+ Assert.AreEqual (1, lc.Sources.Length, "Number of Sources");
+ Assert.AreEqual ("foo.licx", lc.Sources [0].ItemSpec, "Sources [0]");
+ }
+
+ [Test]
+ public void TestDefaults ()
+ {
+ LC lc = new LC ();
+
+ lc.LicenseTarget = new TaskItem ("bar.exe");
+ lc.Sources = new ITaskItem [] { new TaskItem ("foo.licx") };
+
+ Assert.AreEqual ("bar.exe", lc.LicenseTarget.ItemSpec, "LicenseTarget");
+ Assert.AreEqual (false, lc.NoLogo, "NoLogo");
+ Assert.IsNull (lc.OutputDirectory, "OutputDirectory");
+ Assert.AreEqual (null, lc.OutputLicense, "OutputLicense");
+
+ Assert.IsNull (lc.ReferencedAssemblies, "ReferencedAssemblies");
+
+ Assert.AreEqual (1, lc.Sources.Length, "Number of Sources");
+ Assert.AreEqual ("foo.licx", lc.Sources [0].ItemSpec, "Sources [0]");
+ }
+ }
+}
--- /dev/null
+//
+// WriteLinesToFileTest.cs
+//
+// Author:
+// Ankit Jain (jankit@novell.com)
+//
+// Copyright 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+using System;
+using System.Collections;
+using System.IO;
+using Microsoft.Build.BuildEngine;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Tasks;
+using Microsoft.Build.Utilities;
+using NUnit.Framework;
+using System.Text;
+
+namespace MonoTests.Microsoft.Build.Tasks {
+
+ [TestFixture]
+ public class WriteLinesToFileTest
+ {
+ string full_path, full_filepath;
+
+ [SetUp]
+ public void Setup ()
+ {
+ full_path = Path.GetFullPath (Path.Combine ("Test", "resources"));
+ full_filepath = Path.Combine (full_path, "foo.txt");
+ File.Delete (full_filepath);
+ }
+
+ [Test]
+ public void TestDefault ()
+ {
+ CreateProjectAndCheck (full_filepath, null, true, false, delegate () {
+ CheckFileExists (full_filepath, true);
+ CheckLines (full_filepath, null);
+ });
+ }
+
+ [Test]
+ public void TestDefaultWithExistingFile ()
+ {
+ File.WriteAllText (full_filepath, "xyz");
+ CreateProjectAndCheck (full_filepath, null, true, false, delegate () {
+ CheckFileExists (full_filepath, true);
+ CheckLines (full_filepath, new string [] {"xyz"});
+ });
+ }
+
+ [Test]
+ public void TestOverwriteFile ()
+ {
+ string[] lines = new string[] { "abc", "def" };
+ CreateProjectAndCheck (full_filepath, lines, true, true, delegate () {
+ CheckFileExists (full_filepath, true);
+ CheckLines (full_filepath, lines);
+ });
+ }
+
+ [Test]
+ public void TestOverwriteFileWithExistingFile ()
+ {
+ File.WriteAllText (full_filepath, "xyz");
+ string[] lines = new string[] { "abc", "def" };
+ CreateProjectAndCheck (full_filepath, lines, true, true, delegate () {
+ CheckFileExists (full_filepath, true);
+ CheckLines (full_filepath, lines);
+ });
+ }
+
+ [Test]
+ public void TestNoOverwrite ()
+ {
+ string[] lines = new string[] { "abc", "def" };
+ CreateProjectAndCheck (full_filepath, lines, false, true, delegate () {
+ CheckFileExists (full_filepath, true);
+ CheckLines (full_filepath, new string [] {"abc", "def"});
+ });
+ }
+
+ [Test]
+ // appends in this case
+ public void TestNoOverwriteWithExistingFile ()
+ {
+ File.WriteAllText (full_filepath, "xyz");
+ string[] lines = new string[] { "abc", "def" };
+ CreateProjectAndCheck (full_filepath, lines, false, true, delegate () {
+ CheckFileExists (full_filepath, true);
+ CheckLines (full_filepath, new string [] {"xyzabc", "def"});
+ });
+ }
+
+ [Test]
+ public void TestEmptyLinesOverwrite ()
+ {
+ CreateProjectAndCheck (full_filepath, new string[0], true, true,
+ delegate () {
+ CheckFileExists (full_filepath, false);
+ });
+ }
+
+ [Test]
+ public void TestEmptyLinesOverwriteWithExisting ()
+ {
+ File.WriteAllText (full_filepath, "xyz");
+ CreateProjectAndCheck (full_filepath, new string[0], true, true,
+ delegate () {
+ CheckFileExists (full_filepath, false);
+ });
+ }
+
+
+ [Test]
+ public void TestEmptyLinesNoOverwrite ()
+ {
+ CreateProjectAndCheck (full_filepath, new string[0], false, true,
+ delegate () {
+ CheckFileExists (full_filepath, true);
+ CheckLines (full_filepath, new string[0]);
+ });
+ }
+
+ [Test]
+ public void TestEmptyLinesNoOverwriteWithExisting ()
+ {
+ File.WriteAllText (full_filepath, "xyz");
+ CreateProjectAndCheck (full_filepath, new string[0], false, true,
+ delegate () {
+ CheckFileExists (full_filepath, true);
+ CheckLines (full_filepath, new string [] {"xyz"});
+ });
+ }
+
+ void CreateProjectAndCheck (string file, string[] lines, bool overwrite, bool use_overwrite, Action action)
+ {
+ Engine engine;
+ Project project;
+
+ StringBuilder sb = new StringBuilder ();
+ sb.Append (@"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"" ToolsVersion='3.5'>
+ <ItemGroup>
+");
+
+ if (lines != null)
+ foreach (string line in lines)
+ sb.AppendFormat ("\t\t<Lines Include='{0}'/>\n", line);
+
+ sb.AppendFormat (@"</ItemGroup>
+ <Target Name='1'>
+ <WriteLinesToFile File='{0}' Lines='@(Lines)'", file);
+
+ if (use_overwrite)
+ sb.AppendFormat (" Overwrite='{0}' ", overwrite);
+ sb.Append (@"/>
+ </Target>
+ </Project>");
+
+ engine = new Engine (Consts.BinPath);
+ project = engine.CreateNewProject ();
+
+ TestMessageLogger logger = new TestMessageLogger ();
+ engine.RegisterLogger (logger);
+
+ project.LoadXml (sb.ToString ());
+
+ try {
+ if (!project.Build ("1"))
+ Assert.Fail ("Build failed");
+
+ if (action != null)
+ action.Invoke ();
+ } catch (AssertionException) {
+ logger.DumpMessages ();
+ Console.WriteLine (sb.ToString ());
+ throw;
+ } finally {
+ File.Delete (file);
+ }
+ }
+
+ static void CheckFileExists (string file, bool should_exist)
+ {
+ Assert.AreEqual (should_exist, File.Exists (file), "File existence");
+ }
+
+ static void CheckLines (string full_filepath, string[] expected)
+ {
+ string[] actual = File.ReadAllLines (full_filepath);
+ Assert.AreEqual (expected != null ? expected.Length : 0, actual.Length, "Number of lines written don't match");
+
+ if (expected != null)
+ return;
+ int i = 0;
+ foreach (string line in actual)
+ Assert.AreEqual (expected[i++], line, "Z#" + i.ToString ());
+ }
+ }
+}
+2010-02-05 Ankit Jain <jankit@novell.com>
+
+ * junk.txt: New.
+
2009-04-27 Ankit Jain <jankit@novell.com>
* Sample.vb: New.
--- /dev/null
+Non code file used by Create*ManifestResourceTest .
+2010-02-10 Ankit Jain <jankit@novell.com>
+
+ * Microsoft.Build.Utilities.dll.sources: Add ProcessStringDictionary.cs
+ from class/System/System.Collections.Specialized . This is required as
+ the StringDictionary in ToolTask, used for EnvironmentOverrides, is
+ inadequate, because environment vars are case sensitive on unix.
+
2009-04-25 Jonathan Chambers <joncham@gmail.com>
* Makefile: Adjust assembly name for 3.5 profile.
Microsoft.Build.Utilities/ToolTask.cs
Mono.XBuild.Utilities/MonoLocationHelper.cs
Mono.XBuild.Utilities/ReservedNameUtils.cs
+../System/System.Collections.Specialized/ProcessStringDictionary.cs
+2010-02-19 Ankit Jain <jankit@novell.com>
+
+ * TaskItem.cs: Track api changes.
+
+2010-02-10 Ankit Jain <jankit@novell.com>
+
+ * ProcessService.cs (globalEnvironmentVariablesOverride): Use
+ ProcessStringDictionary instead of StringDictionary.
+ ProcessStringDictionary retains the case of the keys (env vars
+ here).
+ * ToolTask.cs (environmentOverride): Likewise.
+
+2010-02-10 Ankit Jain <jankit@novell.com>
+
+ * ToolTask.cs (ExecuteTool): Use the virtual method
+ Standard*LoggingImportance, instead of the underlying field.
+ (LogEventsFromTextOutput): Use @importance argument for LogMessage.
+ (LogToolCommand): Remove MonoTODO.
+
+2010-02-06 Ankit Jain <jankit@novell.com>
+
+ * ToolTask.cs (SkipTaskExecution): Use ValidateParameters method.
+ Remove some MonoTODOs.
+
2009-11-25 Ankit Jain <jankit@novell.com>
* ToolLocationHelper.cs: Set directory for 3.0 framework
using System.Collections.Specialized;
using System.Diagnostics;
+using SCS = System.Collections.Specialized;
+
namespace Microsoft.Build.Utilities
{
internal static class ProcessService {
- static StringDictionary globalEnvironmentVariablesOverride;
+ static SCS.ProcessStringDictionary globalEnvironmentVariablesOverride;
public static StringDictionary GlobalEnvironmentVariblesOverride {
get {
if (globalEnvironmentVariablesOverride == null)
- globalEnvironmentVariablesOverride = new StringDictionary ();
+ globalEnvironmentVariablesOverride = new SCS.ProcessStringDictionary ();
return globalEnvironmentVariablesOverride;
}
}
public string GetMetadata (string metadataName)
{
if (ReservedNameUtils.IsReservedMetadataName (metadataName))
- return ReservedNameUtils.GetReservedMetadata (ItemSpec, metadataName);
+ return ReservedNameUtils.GetReservedMetadata (ItemSpec, metadataName, metadata);
else if (metadata.Contains (metadataName))
return (string) metadata [metadataName];
else
throw new ArgumentNullException ("metadataName");
if (metadataValue == null)
throw new ArgumentNullException ("metadataValue");
- if (ReservedNameUtils.IsReservedMetadataName (metadataName))
+
+ // allow RecursiveDir to be set, it gets set by DirectoryScanner
+ if (String.Compare (metadataName, "RecursiveDir", StringComparison.InvariantCultureIgnoreCase) != 0 &&
+ ReservedNameUtils.IsReservedMetadataName (metadataName))
throw new ArgumentException ("Can't modify reserved metadata");
if (metadata.Contains (metadataName))
using Microsoft.Build.Framework;
using Mono.XBuild.Utilities;
+using SCS = System.Collections.Specialized;
+
namespace Microsoft.Build.Utilities
{
public abstract class ToolTask : Task
{
- StringDictionary environmentOverride;
+ SCS.ProcessStringDictionary environmentOverride;
int exitCode;
int timeout;
string toolPath, toolExe;
this.toolPath = MonoLocationHelper.GetBinDir ();
this.responseFileEncoding = Encoding.UTF8;
this.timeout = Int32.MaxValue;
- this.environmentOverride = new StringDictionary ();
+ this.environmentOverride = new SCS.ProcessStringDictionary ();
}
static ToolTask ()
return -1;
}
- ProcessOutputFile (output, standardOutputLoggingImportance);
- ProcessOutputFile (error, standardErrorLoggingImportance);
+ ProcessOutputFile (output, StandardOutputLoggingImportance);
+ ProcessOutputFile (error, StandardErrorLoggingImportance);
Log.LogMessage (MessageImportance.Low, "Tool {0} execution finished.", pathToTool);
return exitCode;
Log.LogError (subcategory, code, null, filename, lineNumber, columnNumber, endLineNumber,
endColumnNumber, text, null);
} else {
- Log.LogMessage (singleLine);
+ Log.LogMessage (importance, singleLine);
}
}
}
}
- [MonoTODO]
protected virtual string GenerateCommandLineCommands ()
{
return null;
protected abstract string GenerateFullPathToTool ();
- [MonoTODO]
protected virtual string GenerateResponseFileCommands ()
{
return null;
return HostObjectInitializationStatus.NoActionReturnSuccess;
}
- [MonoTODO]
protected virtual void LogToolCommand (string message)
{
Log.LogMessage (MessageImportance.Normal, message);
protected virtual bool SkipTaskExecution()
{
- return false;
+ return !ValidateParameters ();
}
protected virtual bool ValidateParameters()
+2010-02-19 Ankit Jain <jankit@novell.com>
+
+ * ReservedNameUtils.cs (GetReservedMetadata): Add dictionary param
+ @metadata. Use this to check for existing value of "RecursiveDir"
+ metadata, use that if present.
+
2009-10-08 Ankit Jain <jankit@novell.com>
* ReservedNameUtils.cs: Fix 'RootDir', 'Directory'.
{
return reservedMetadataHash.Contains (metadataName);
}
-
+
public static string GetReservedMetadata (string itemSpec,
- string metadataName)
+ string metadataName, IDictionary metadata)
{
if (metadataName == null)
throw new ArgumentNullException ();
return WithTrailingSlash (
Path.GetDirectoryName (fullpath).Substring (Path.GetPathRoot (fullpath).Length));
case "recursivedir":
- // FIXME: how to handle this?
- return String.Empty;
+ if (metadata != null && metadata.Contains ("RecursiveDir"))
+ return (string)metadata ["RecursiveDir"];
+ else
+ return String.Empty;
case "identity":
return Path.Combine (Path.GetDirectoryName (itemSpec), Path.GetFileName (itemSpec));
case "modifiedtime":
{
public static class Binder
{
- public static CallSiteBinder BinaryOperation (CSharpBinderFlags flags, ExpressionType operation, IEnumerable<CSharpArgumentInfo> argumentInfo)
+ public static CallSiteBinder BinaryOperation (CSharpBinderFlags flags, ExpressionType operation, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo)
{
- return new CSharpBinaryOperationBinder (operation, flags, argumentInfo);
+ return new CSharpBinaryOperationBinder (operation, flags, context, argumentInfo);
}
- public static CallSiteBinder Convert (CSharpBinderFlags flags, Type type)
+ public static CallSiteBinder Convert (CSharpBinderFlags flags, Type context, Type type)
{
- return new CSharpConvertBinder (type, flags);
+ return new CSharpConvertBinder (type, context, flags);
}
public static CallSiteBinder GetIndex (CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo)
return new CSharpSetMemberBinder (name, context, argumentInfo);
}
- public static CallSiteBinder UnaryOperation (CSharpBinderFlags flags, ExpressionType operation, IEnumerable<CSharpArgumentInfo> argumentInfo)
+ public static CallSiteBinder UnaryOperation (CSharpBinderFlags flags, ExpressionType operation, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo)
{
- return new CSharpUnaryOperationBinder (operation, flags, argumentInfo);
+ return new CSharpUnaryOperationBinder (operation, flags, context, argumentInfo);
}
}
}
{
None = 0,
UseCompileTimeType = 1,
- LiteralConstant = 2,
+ Constant = 2,
NamedArgument = 4,
IsRef = 8,
IsOut = 16,
{
IList<CSharpArgumentInfo> argumentInfo;
readonly CSharpBinderFlags flags;
+ readonly Type context;
- public CSharpBinaryOperationBinder (ExpressionType operation, CSharpBinderFlags flags, IEnumerable<CSharpArgumentInfo> argumentInfo)
+ public CSharpBinaryOperationBinder (ExpressionType operation, CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo)
: base (operation)
{
this.argumentInfo = new ReadOnlyCollectionBuilder<CSharpArgumentInfo> (argumentInfo);
throw new ArgumentException ("Binary operation requires 2 arguments");
this.flags = flags;
+ this.context = context;
}
Compiler.Binary.Operator GetOperator (out bool isCompound)
binder.AddRestrictions (target);
binder.AddRestrictions (arg);
- return binder.Bind ();
+ return binder.Bind (context);
}
}
}
return Bind (callingType);
}
- public DynamicMetaObject Bind ()
- {
- // Not ideal but fixes possible NRE during resolve accessibility checking
- var callingType = typeof (CSharpBinder);
-
- return Bind (callingType);
- }
-
- DynamicMetaObject Bind (Type callingType)
+ public DynamicMetaObject Bind (Type callingType)
{
var ctx = CreateDefaultCompilerContext ();
bool is_compile_time;
if (info != null) {
- if ((info.Flags & CSharpArgumentInfoFlags.LiteralConstant) != 0) {
+ if ((info.Flags & CSharpArgumentInfoFlags.Constant) != 0) {
InitializeCompiler (null);
return Compiler.Constant.CreateConstantFromValue (value.LimitType, value.Value, Compiler.Location.Null);
}
class CSharpConvertBinder : ConvertBinder
{
readonly CSharpBinderFlags flags;
+ readonly Type context;
- public CSharpConvertBinder (Type type, CSharpBinderFlags flags)
+ public CSharpConvertBinder (Type type, Type context, CSharpBinderFlags flags)
: base (type, (flags & CSharpBinderFlags.ConvertExplicit) != 0)
{
this.flags = flags;
+ this.context = context;
}
public override DynamicMetaObject FallbackConvert (DynamicMetaObject target, DynamicMetaObject errorSuggestion)
var binder = new CSharpBinder (this, expr, errorSuggestion);
binder.AddRestrictions (target);
- return binder.Bind ();
+ return binder.Bind (context);
}
}
}
{
IList<CSharpArgumentInfo> argumentInfo;
readonly CSharpBinderFlags flags;
+ readonly Type context;
- public CSharpUnaryOperationBinder (ExpressionType operation, CSharpBinderFlags flags, IEnumerable<CSharpArgumentInfo> argumentInfo)
+ public CSharpUnaryOperationBinder (ExpressionType operation, CSharpBinderFlags flags, Type context, IEnumerable<CSharpArgumentInfo> argumentInfo)
: base (operation)
{
this.argumentInfo = argumentInfo.ToReadOnly ();
throw new ArgumentException ("Unary operation requires 1 argument");
this.flags = flags;
+ this.context = context;
}
var binder = new CSharpBinder (this, expr, errorSuggestion);
binder.AddRestrictions (target);
- return binder.Bind ();
+ return binder.Bind (context);
}
}
}
+2010-02-10 Marek Safar <marek.safar@gmail.com>
+
+ * *.cs: Track RC API changes.
+
2009-12-09 Marek Safar <marek.safar@gmail.com>
* CSharpBinder.cs: Actually use merged restrictions.
internal static class NativeMethods
{
+#if MONOTOUCH
+ const string cairo = "__Internal";
+#else
const string cairo = "libcairo-2.dll";
+#endif
//[DllImport (cairo)]
//internal static extern void cairo_append_path (IntPtr cr, Path path);
+2010-01-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * Makefile: Specify the path to Mono.Cecil.dll when referencing it.
+
2009-02-02 Jb Evain <jbevain@novell.com>
* Mono.Cecil.Mdb/MdbWriter.cs: add a GetDebugHeader method
LIBRARY_SNK = ../mono.snk
LIBRARY_PACKAGE = none
-LIB_MCS_FLAGS = /r:$(corlib) /r:Mono.Cecil.dll /d:CECIL -keyfile:$(LIBRARY_SNK)
+CECIL = $(topdir)/class/lib/$(PROFILE)/Mono.Cecil.dll
+
+LIB_MCS_FLAGS = /r:$(corlib) /r:$(CECIL) /d:CECIL -keyfile:$(LIBRARY_SNK)
NO_TEST = yes
+2010-02-13 Jb Evain <jbevain@novell.com>
+
+ * TypeAttributes.cs: add Forwarder flag.
+
+2010-02-12 Jb Evain <jbevain@novell.com>
+
+ * AssemblyStripper.cs: properly set the rva of methods with
+ no body.
+
2010-01-06 Rodrigo B. de Oliveira <rodrigo@unity.com>
* Mono.Cecil.csproj
--- /dev/null
+<Type Name="BaseImageVisitor" FullName="Mono.Cecil.Binary.BaseImageVisitor">
+ <TypeSignature Language="C#" Value="public abstract class BaseImageVisitor : Mono.Cecil.Binary.IBinaryVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitor</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected BaseImageVisitor ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TerminateImage">
+ <MemberSignature Language="C#" Value="public virtual void TerminateImage (Mono.Cecil.Binary.Image img);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="img" Type="Mono.Cecil.Binary.Image" />
+ </Parameters>
+ <Docs>
+ <param name="img">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCLIHeader">
+ <MemberSignature Language="C#" Value="public virtual void VisitCLIHeader (Mono.Cecil.Binary.CLIHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.CLIHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitDataDirectoriesHeader">
+ <MemberSignature Language="C#" Value="public virtual void VisitDataDirectoriesHeader (Mono.Cecil.Binary.PEOptionalHeader.DataDirectoriesHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+DataDirectoriesHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitDebugHeader">
+ <MemberSignature Language="C#" Value="public virtual void VisitDebugHeader (Mono.Cecil.Binary.DebugHeader dh);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="dh" Type="Mono.Cecil.Binary.DebugHeader" />
+ </Parameters>
+ <Docs>
+ <param name="dh">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitDOSHeader">
+ <MemberSignature Language="C#" Value="public virtual void VisitDOSHeader (Mono.Cecil.Binary.DOSHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.DOSHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExportTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitExportTable (Mono.Cecil.Binary.ExportTable et);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="et" Type="Mono.Cecil.Binary.ExportTable" />
+ </Parameters>
+ <Docs>
+ <param name="et">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitHintNameTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitHintNameTable (Mono.Cecil.Binary.HintNameTable hnt);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="hnt" Type="Mono.Cecil.Binary.HintNameTable" />
+ </Parameters>
+ <Docs>
+ <param name="hnt">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImage">
+ <MemberSignature Language="C#" Value="public virtual void VisitImage (Mono.Cecil.Binary.Image img);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="img" Type="Mono.Cecil.Binary.Image" />
+ </Parameters>
+ <Docs>
+ <param name="img">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImportAddressTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitImportAddressTable (Mono.Cecil.Binary.ImportAddressTable iat);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="iat" Type="Mono.Cecil.Binary.ImportAddressTable" />
+ </Parameters>
+ <Docs>
+ <param name="iat">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImportLookupTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitImportLookupTable (Mono.Cecil.Binary.ImportLookupTable ilt);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ilt" Type="Mono.Cecil.Binary.ImportLookupTable" />
+ </Parameters>
+ <Docs>
+ <param name="ilt">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImportTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitImportTable (Mono.Cecil.Binary.ImportTable it);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="it" Type="Mono.Cecil.Binary.ImportTable" />
+ </Parameters>
+ <Docs>
+ <param name="it">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitNTSpecificFieldsHeader">
+ <MemberSignature Language="C#" Value="public virtual void VisitNTSpecificFieldsHeader (Mono.Cecil.Binary.PEOptionalHeader.NTSpecificFieldsHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+NTSpecificFieldsHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPEFileHeader">
+ <MemberSignature Language="C#" Value="public virtual void VisitPEFileHeader (Mono.Cecil.Binary.PEFileHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.PEFileHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPEOptionalHeader">
+ <MemberSignature Language="C#" Value="public virtual void VisitPEOptionalHeader (Mono.Cecil.Binary.PEOptionalHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitSection">
+ <MemberSignature Language="C#" Value="public virtual void VisitSection (Mono.Cecil.Binary.Section section);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="section" Type="Mono.Cecil.Binary.Section" />
+ </Parameters>
+ <Docs>
+ <param name="section">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitSectionCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitSectionCollection (Mono.Cecil.Binary.SectionCollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="Mono.Cecil.Binary.SectionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitStandardFieldsHeader">
+ <MemberSignature Language="C#" Value="public virtual void VisitStandardFieldsHeader (Mono.Cecil.Binary.PEOptionalHeader.StandardFieldsHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+StandardFieldsHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="CLIHeader" FullName="Mono.Cecil.Binary.CLIHeader">
+ <TypeSignature Language="C#" Value="public sealed class CLIHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Cb">
+ <MemberSignature Language="C#" Value="public uint Cb;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CodeManagerTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory CodeManagerTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EntryPointToken">
+ <MemberSignature Language="C#" Value="public uint EntryPointToken;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExportAddressTableJumps">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ExportAddressTableJumps;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RuntimeImage Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RuntimeImage</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImageHash">
+ <MemberSignature Language="C#" Value="public byte[] ImageHash;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MajorRuntimeVersion">
+ <MemberSignature Language="C#" Value="public ushort MajorRuntimeVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ManagedNativeHeader">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ManagedNativeHeader;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Metadata">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory Metadata;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MinorRuntimeVersion">
+ <MemberSignature Language="C#" Value="public ushort MinorRuntimeVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resources">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory Resources;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetDefaultValues">
+ <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StrongNameSignature">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory StrongNameSignature;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VTableFixups">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory VTableFixups;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DOSHeader" FullName="Mono.Cecil.Binary.DOSHeader">
+ <TypeSignature Language="C#" Value="public sealed class DOSHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="End">
+ <MemberSignature Language="C#" Value="public byte[] End;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Lfanew">
+ <MemberSignature Language="C#" Value="public uint Lfanew;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetDefaultValues">
+ <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Start">
+ <MemberSignature Language="C#" Value="public byte[] Start;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DataDirectory" FullName="Mono.Cecil.Binary.DataDirectory">
+ <TypeSignature Language="C#" Value="public struct DataDirectory" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public DataDirectory (Mono.Cecil.Binary.RVA virtualAddress, uint size);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="virtualAddress" Type="Mono.Cecil.Binary.RVA" />
+ <Parameter Name="size" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="virtualAddress">To be added.</param>
+ <param name="size">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Equals">
+ <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="other" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetHashCode">
+ <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Equality">
+ <MemberSignature Language="C#" Value="public static bool op_Equality (Mono.Cecil.Binary.DataDirectory one, Mono.Cecil.Binary.DataDirectory other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Binary.DataDirectory" />
+ <Parameter Name="other" Type="Mono.Cecil.Binary.DataDirectory" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Inequality">
+ <MemberSignature Language="C#" Value="public static bool op_Inequality (Mono.Cecil.Binary.DataDirectory one, Mono.Cecil.Binary.DataDirectory other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Binary.DataDirectory" />
+ <Parameter Name="other" Type="Mono.Cecil.Binary.DataDirectory" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Size">
+ <MemberSignature Language="C#" Value="public uint Size { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VirtualAddress">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA VirtualAddress { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Zero">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Binary.DataDirectory Zero;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DebugHeader" FullName="Mono.Cecil.Binary.DebugHeader">
+ <TypeSignature Language="C#" Value="public sealed class DebugHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AddressOfRawData">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA AddressOfRawData;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Age">
+ <MemberSignature Language="C#" Value="public uint Age;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Characteristics">
+ <MemberSignature Language="C#" Value="public uint Characteristics;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FileName">
+ <MemberSignature Language="C#" Value="public string FileName;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetSize">
+ <MemberSignature Language="C#" Value="public uint GetSize ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Magic">
+ <MemberSignature Language="C#" Value="public uint Magic;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MajorVersion">
+ <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MinorVersion">
+ <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PointerToRawData">
+ <MemberSignature Language="C#" Value="public uint PointerToRawData;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetDefaultValues">
+ <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Signature">
+ <MemberSignature Language="C#" Value="public Guid Signature;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SizeOfData">
+ <MemberSignature Language="C#" Value="public uint SizeOfData;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TimeDateStamp">
+ <MemberSignature Language="C#" Value="public uint TimeDateStamp;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Type">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DebugStoreType Type;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DebugStoreType" FullName="Mono.Cecil.Binary.DebugStoreType">
+ <TypeSignature Language="C#" Value="public enum DebugStoreType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Borland">
+ <MemberSignature Language="C#" Value="Borland" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CLSID">
+ <MemberSignature Language="C#" Value="CLSID" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CodeView">
+ <MemberSignature Language="C#" Value="CodeView" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="COFF">
+ <MemberSignature Language="C#" Value="COFF" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Exception">
+ <MemberSignature Language="C#" Value="Exception" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Fixup">
+ <MemberSignature Language="C#" Value="Fixup" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FPO">
+ <MemberSignature Language="C#" Value="FPO" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Misc">
+ <MemberSignature Language="C#" Value="Misc" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="OMAPFromSrc">
+ <MemberSignature Language="C#" Value="OMAPFromSrc" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="OMAPToSrc">
+ <MemberSignature Language="C#" Value="OMAPToSrc" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Reserved10">
+ <MemberSignature Language="C#" Value="Reserved10" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Unknown">
+ <MemberSignature Language="C#" Value="Unknown" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugStoreType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ExportTable" FullName="Mono.Cecil.Binary.ExportTable">
+ <TypeSignature Language="C#" Value="public sealed class ExportTable : Mono.Cecil.Binary.IBinaryVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AddressesOfFunctions">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA[] AddressesOfFunctions;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AddressesOfNames">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA[] AddressesOfNames;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AddressOfFunctions">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA AddressOfFunctions;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AddressOfNameOrdinals">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA AddressOfNameOrdinals;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AddressOfNames">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA AddressOfNames;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Base">
+ <MemberSignature Language="C#" Value="public uint Base;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Characteristics">
+ <MemberSignature Language="C#" Value="public uint Characteristics;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MajorVersion">
+ <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MinorVersion">
+ <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NameOrdinals">
+ <MemberSignature Language="C#" Value="public ushort[] NameOrdinals;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Names">
+ <MemberSignature Language="C#" Value="public string[] Names;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NumberOfFunctions">
+ <MemberSignature Language="C#" Value="public uint NumberOfFunctions;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NumberOfNames">
+ <MemberSignature Language="C#" Value="public uint NumberOfNames;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TimeDateStamp">
+ <MemberSignature Language="C#" Value="public uint TimeDateStamp;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="HintNameTable" FullName="Mono.Cecil.Binary.HintNameTable">
+ <TypeSignature Language="C#" Value="public sealed class HintNameTable : Mono.Cecil.Binary.IBinaryVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EntryPoint">
+ <MemberSignature Language="C#" Value="public ushort EntryPoint;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hint">
+ <MemberSignature Language="C#" Value="public ushort Hint;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RuntimeCorEE">
+ <MemberSignature Language="C#" Value="public const string RuntimeCorEE;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RuntimeLibrary">
+ <MemberSignature Language="C#" Value="public string RuntimeLibrary;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RuntimeMain">
+ <MemberSignature Language="C#" Value="public string RuntimeMain;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RuntimeMainDll">
+ <MemberSignature Language="C#" Value="public const string RuntimeMainDll;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RuntimeMainExe">
+ <MemberSignature Language="C#" Value="public const string RuntimeMainExe;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RVA">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA RVA;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IBinaryVisitable" FullName="Mono.Cecil.Binary.IBinaryVisitable">
+ <TypeSignature Language="C#" Value="public interface IBinaryVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IBinaryVisitor" FullName="Mono.Cecil.Binary.IBinaryVisitor">
+ <TypeSignature Language="C#" Value="public interface IBinaryVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="TerminateImage">
+ <MemberSignature Language="C#" Value="public void TerminateImage (Mono.Cecil.Binary.Image img);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="img" Type="Mono.Cecil.Binary.Image" />
+ </Parameters>
+ <Docs>
+ <param name="img">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCLIHeader">
+ <MemberSignature Language="C#" Value="public void VisitCLIHeader (Mono.Cecil.Binary.CLIHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.CLIHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitDataDirectoriesHeader">
+ <MemberSignature Language="C#" Value="public void VisitDataDirectoriesHeader (Mono.Cecil.Binary.PEOptionalHeader.DataDirectoriesHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+DataDirectoriesHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitDebugHeader">
+ <MemberSignature Language="C#" Value="public void VisitDebugHeader (Mono.Cecil.Binary.DebugHeader dh);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="dh" Type="Mono.Cecil.Binary.DebugHeader" />
+ </Parameters>
+ <Docs>
+ <param name="dh">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitDOSHeader">
+ <MemberSignature Language="C#" Value="public void VisitDOSHeader (Mono.Cecil.Binary.DOSHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.DOSHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExportTable">
+ <MemberSignature Language="C#" Value="public void VisitExportTable (Mono.Cecil.Binary.ExportTable et);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="et" Type="Mono.Cecil.Binary.ExportTable" />
+ </Parameters>
+ <Docs>
+ <param name="et">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitHintNameTable">
+ <MemberSignature Language="C#" Value="public void VisitHintNameTable (Mono.Cecil.Binary.HintNameTable hnt);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="hnt" Type="Mono.Cecil.Binary.HintNameTable" />
+ </Parameters>
+ <Docs>
+ <param name="hnt">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImage">
+ <MemberSignature Language="C#" Value="public void VisitImage (Mono.Cecil.Binary.Image img);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="img" Type="Mono.Cecil.Binary.Image" />
+ </Parameters>
+ <Docs>
+ <param name="img">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImportAddressTable">
+ <MemberSignature Language="C#" Value="public void VisitImportAddressTable (Mono.Cecil.Binary.ImportAddressTable iat);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="iat" Type="Mono.Cecil.Binary.ImportAddressTable" />
+ </Parameters>
+ <Docs>
+ <param name="iat">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImportLookupTable">
+ <MemberSignature Language="C#" Value="public void VisitImportLookupTable (Mono.Cecil.Binary.ImportLookupTable ilt);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ilt" Type="Mono.Cecil.Binary.ImportLookupTable" />
+ </Parameters>
+ <Docs>
+ <param name="ilt">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImportTable">
+ <MemberSignature Language="C#" Value="public void VisitImportTable (Mono.Cecil.Binary.ImportTable it);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="it" Type="Mono.Cecil.Binary.ImportTable" />
+ </Parameters>
+ <Docs>
+ <param name="it">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitNTSpecificFieldsHeader">
+ <MemberSignature Language="C#" Value="public void VisitNTSpecificFieldsHeader (Mono.Cecil.Binary.PEOptionalHeader.NTSpecificFieldsHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+NTSpecificFieldsHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPEFileHeader">
+ <MemberSignature Language="C#" Value="public void VisitPEFileHeader (Mono.Cecil.Binary.PEFileHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.PEFileHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPEOptionalHeader">
+ <MemberSignature Language="C#" Value="public void VisitPEOptionalHeader (Mono.Cecil.Binary.PEOptionalHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitSection">
+ <MemberSignature Language="C#" Value="public void VisitSection (Mono.Cecil.Binary.Section section);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="section" Type="Mono.Cecil.Binary.Section" />
+ </Parameters>
+ <Docs>
+ <param name="section">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitSectionCollection">
+ <MemberSignature Language="C#" Value="public void VisitSectionCollection (Mono.Cecil.Binary.SectionCollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="Mono.Cecil.Binary.SectionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitStandardFieldsHeader">
+ <MemberSignature Language="C#" Value="public void VisitStandardFieldsHeader (Mono.Cecil.Binary.PEOptionalHeader.StandardFieldsHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Binary.PEOptionalHeader+StandardFieldsHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="Image" FullName="Mono.Cecil.Binary.Image">
+ <TypeSignature Language="C#" Value="public sealed class Image : Mono.Cecil.Binary.IBinaryVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AddDebugHeader">
+ <MemberSignature Language="C#" Value="public void AddDebugHeader ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CLIHeader">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.CLIHeader CLIHeader { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.CLIHeader</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CreateImage">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.Image CreateImage ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DebugHeader">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DebugHeader DebugHeader { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DebugHeader</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DOSHeader">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DOSHeader DOSHeader { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DOSHeader</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExportTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ExportTable ExportTable { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ExportTable</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FileInformation">
+ <MemberSignature Language="C#" Value="public System.IO.FileInfo FileInformation { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.IO.FileInfo</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetImage">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.Image GetImage (byte[] image);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="image" Type="System.Byte[]" />
+ </Parameters>
+ <Docs>
+ <param name="image">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetImage">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.Image GetImage (System.IO.Stream stream);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="stream" Type="System.IO.Stream" />
+ </Parameters>
+ <Docs>
+ <param name="stream">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetImage">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.Image GetImage (string file);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="file" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="file">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetReaderAtVirtualAddress">
+ <MemberSignature Language="C#" Value="public System.IO.BinaryReader GetReaderAtVirtualAddress (Mono.Cecil.Binary.RVA rva);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.IO.BinaryReader</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
+ </Parameters>
+ <Docs>
+ <param name="rva">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HintNameTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.HintNameTable HintNameTable { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.HintNameTable</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportAddressTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ImportAddressTable ImportAddressTable { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImportAddressTable</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportLookupTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ImportLookupTable ImportLookupTable { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImportLookupTable</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ImportTable ImportTable { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImportTable</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MetadataRoot">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataRoot MetadataRoot { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataRoot</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PEFileHeader">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.PEFileHeader PEFileHeader { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.PEFileHeader</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PEOptionalHeader">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.PEOptionalHeader PEOptionalHeader { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.PEOptionalHeader</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ResolveVirtualAddress">
+ <MemberSignature Language="C#" Value="public long ResolveVirtualAddress (Mono.Cecil.Binary.RVA rva);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int64</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
+ </Parameters>
+ <Docs>
+ <param name="rva">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Sections">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.SectionCollection Sections { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TextSection">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.Section TextSection { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.Section</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ImageCharacteristics" FullName="Mono.Cecil.Binary.ImageCharacteristics">
+ <TypeSignature Language="C#" Value="public enum ImageCharacteristics" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="__flags">
+ <MemberSignature Language="C#" Value="__flags" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="_32BitsMachine">
+ <MemberSignature Language="C#" Value="_32BitsMachine" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="AggressiveWSTrim">
+ <MemberSignature Language="C#" Value="AggressiveWSTrim" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="BytesReversedHI">
+ <MemberSignature Language="C#" Value="BytesReversedHI" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="BytesReversedLo">
+ <MemberSignature Language="C#" Value="BytesReversedLo" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CILOnlyDll">
+ <MemberSignature Language="C#" Value="CILOnlyDll" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CILOnlyExe">
+ <MemberSignature Language="C#" Value="CILOnlyExe" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="DebugStripped">
+ <MemberSignature Language="C#" Value="DebugStripped" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Dll">
+ <MemberSignature Language="C#" Value="Dll" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ExecutableImage">
+ <MemberSignature Language="C#" Value="ExecutableImage" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LargeAddressAware">
+ <MemberSignature Language="C#" Value="LargeAddressAware" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LineNumsStripped">
+ <MemberSignature Language="C#" Value="LineNumsStripped" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LocalSymsStripped">
+ <MemberSignature Language="C#" Value="LocalSymsStripped" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NetRunFromSwap">
+ <MemberSignature Language="C#" Value="NetRunFromSwap" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RelocsStripped">
+ <MemberSignature Language="C#" Value="RelocsStripped" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RemovableRunFromSwap">
+ <MemberSignature Language="C#" Value="RemovableRunFromSwap" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ReservedForFutureUse">
+ <MemberSignature Language="C#" Value="ReservedForFutureUse" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="System">
+ <MemberSignature Language="C#" Value="System" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="UPSystemOnly">
+ <MemberSignature Language="C#" Value="UPSystemOnly" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ImageFormatException" FullName="Mono.Cecil.Binary.ImageFormatException">
+ <TypeSignature Language="C#" Value="public class ImageFormatException : Exception" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Exception</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
--- /dev/null
+<Type Name="ImportAddressTable" FullName="Mono.Cecil.Binary.ImportAddressTable">
+ <TypeSignature Language="C#" Value="public sealed class ImportAddressTable : Mono.Cecil.Binary.IBinaryVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HintNameTableRVA">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA HintNameTableRVA;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ImportLookupTable" FullName="Mono.Cecil.Binary.ImportLookupTable">
+ <TypeSignature Language="C#" Value="public sealed class ImportLookupTable : Mono.Cecil.Binary.IBinaryVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HintNameRVA">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA HintNameRVA;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ImportTable" FullName="Mono.Cecil.Binary.ImportTable">
+ <TypeSignature Language="C#" Value="public sealed class ImportTable : Mono.Cecil.Binary.IBinaryVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DateTimeStamp">
+ <MemberSignature Language="C#" Value="public uint DateTimeStamp;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ForwardChain">
+ <MemberSignature Language="C#" Value="public uint ForwardChain;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportAddressTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA ImportAddressTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportLookupTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA ImportLookupTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PEFileHeader" FullName="Mono.Cecil.Binary.PEFileHeader">
+ <TypeSignature Language="C#" Value="public sealed class PEFileHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Characteristics">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ImageCharacteristics Characteristics;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ImageCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Machine">
+ <MemberSignature Language="C#" Value="public ushort Machine;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NumberOfSections">
+ <MemberSignature Language="C#" Value="public ushort NumberOfSections;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NumberOfSymbols">
+ <MemberSignature Language="C#" Value="public uint NumberOfSymbols;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OptionalHeaderSize">
+ <MemberSignature Language="C#" Value="public ushort OptionalHeaderSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PointerToSymbolTable">
+ <MemberSignature Language="C#" Value="public uint PointerToSymbolTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetDefaultValues">
+ <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TimeDateStamp">
+ <MemberSignature Language="C#" Value="public uint TimeDateStamp;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PEOptionalHeader+DataDirectoriesHeader" FullName="Mono.Cecil.Binary.PEOptionalHeader+DataDirectoriesHeader">
+ <TypeSignature Language="C#" Value="public sealed class PEOptionalHeader.DataDirectoriesHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="BaseRelocationTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory BaseRelocationTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="BoundImport">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory BoundImport;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CertificateTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory CertificateTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CLIHeader">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory CLIHeader;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Copyright">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory Copyright;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Debug">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory Debug;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DelayImportDescriptor">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory DelayImportDescriptor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExceptionTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ExceptionTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExportTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ExportTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GlobalPtr">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory GlobalPtr;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IAT">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory IAT;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ImportTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LoadConfigTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory LoadConfigTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Reserved">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory Reserved;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ResourceTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory ResourceTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetDefaultValues">
+ <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TLSTable">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.DataDirectory TLSTable;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.DataDirectory</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PEOptionalHeader+NTSpecificFieldsHeader" FullName="Mono.Cecil.Binary.PEOptionalHeader+NTSpecificFieldsHeader">
+ <TypeSignature Language="C#" Value="public sealed class PEOptionalHeader.NTSpecificFieldsHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DLLFlags">
+ <MemberSignature Language="C#" Value="public ushort DLLFlags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FileAlignment">
+ <MemberSignature Language="C#" Value="public uint FileAlignment;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FileChecksum">
+ <MemberSignature Language="C#" Value="public uint FileChecksum;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HeaderSize">
+ <MemberSignature Language="C#" Value="public uint HeaderSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HeapCommitSize">
+ <MemberSignature Language="C#" Value="public ulong HeapCommitSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt64</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HeapReserveSize">
+ <MemberSignature Language="C#" Value="public ulong HeapReserveSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt64</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImageBase">
+ <MemberSignature Language="C#" Value="public ulong ImageBase;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt64</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImageSize">
+ <MemberSignature Language="C#" Value="public uint ImageSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LoaderFlags">
+ <MemberSignature Language="C#" Value="public uint LoaderFlags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NumberOfDataDir">
+ <MemberSignature Language="C#" Value="public uint NumberOfDataDir;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OSMajor">
+ <MemberSignature Language="C#" Value="public ushort OSMajor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OSMinor">
+ <MemberSignature Language="C#" Value="public ushort OSMinor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Reserved">
+ <MemberSignature Language="C#" Value="public uint Reserved;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SectionAlignment">
+ <MemberSignature Language="C#" Value="public uint SectionAlignment;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetDefaultValues">
+ <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StackCommitSize">
+ <MemberSignature Language="C#" Value="public ulong StackCommitSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt64</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StackReserveSize">
+ <MemberSignature Language="C#" Value="public ulong StackReserveSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt64</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SubSysMajor">
+ <MemberSignature Language="C#" Value="public ushort SubSysMajor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SubSysMinor">
+ <MemberSignature Language="C#" Value="public ushort SubSysMinor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SubSystem">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.SubSystem SubSystem;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UserMajor">
+ <MemberSignature Language="C#" Value="public ushort UserMajor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UserMinor">
+ <MemberSignature Language="C#" Value="public ushort UserMinor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PEOptionalHeader+StandardFieldsHeader" FullName="Mono.Cecil.Binary.PEOptionalHeader+StandardFieldsHeader">
+ <TypeSignature Language="C#" Value="public sealed class PEOptionalHeader.StandardFieldsHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="BaseOfCode">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA BaseOfCode;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="BaseOfData">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA BaseOfData;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CodeSize">
+ <MemberSignature Language="C#" Value="public uint CodeSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EntryPointRVA">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA EntryPointRVA;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="InitializedDataSize">
+ <MemberSignature Language="C#" Value="public uint InitializedDataSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPE64">
+ <MemberSignature Language="C#" Value="public bool IsPE64 { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LMajor">
+ <MemberSignature Language="C#" Value="public byte LMajor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LMinor">
+ <MemberSignature Language="C#" Value="public byte LMinor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Magic">
+ <MemberSignature Language="C#" Value="public ushort Magic;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetDefaultValues">
+ <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UninitializedDataSize">
+ <MemberSignature Language="C#" Value="public uint UninitializedDataSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PEOptionalHeader" FullName="Mono.Cecil.Binary.PEOptionalHeader">
+ <TypeSignature Language="C#" Value="public sealed class PEOptionalHeader : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DataDirectories">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.PEOptionalHeader.DataDirectoriesHeader DataDirectories;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.PEOptionalHeader+DataDirectoriesHeader</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NTSpecificFields">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.PEOptionalHeader.NTSpecificFieldsHeader NTSpecificFields;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.PEOptionalHeader+NTSpecificFieldsHeader</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetDefaultValues">
+ <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StandardFields">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.PEOptionalHeader.StandardFieldsHeader StandardFields;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.PEOptionalHeader+StandardFieldsHeader</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="RVA" FullName="Mono.Cecil.Binary.RVA">
+ <TypeSignature Language="C#" Value="public struct RVA" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public RVA (uint rva);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="rva" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="rva">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Equals">
+ <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="other" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetHashCode">
+ <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Addition">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.RVA op_Addition (Mono.Cecil.Binary.RVA rva, uint x);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
+ <Parameter Name="x" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="rva">To be added.</param>
+ <param name="x">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Equality">
+ <MemberSignature Language="C#" Value="public static bool op_Equality (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
+ <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_GreaterThan">
+ <MemberSignature Language="C#" Value="public static bool op_GreaterThan (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
+ <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_GreaterThanOrEqual">
+ <MemberSignature Language="C#" Value="public static bool op_GreaterThanOrEqual (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
+ <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Implicit">
+ <MemberSignature Language="C#" Value="public static uint op_Implicit (Mono.Cecil.Binary.RVA rva);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
+ </Parameters>
+ <Docs>
+ <param name="rva">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Implicit">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.RVA op_Implicit (uint val);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="val" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="val">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Inequality">
+ <MemberSignature Language="C#" Value="public static bool op_Inequality (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
+ <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_LessThan">
+ <MemberSignature Language="C#" Value="public static bool op_LessThan (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
+ <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_LessThanOrEqual">
+ <MemberSignature Language="C#" Value="public static bool op_LessThanOrEqual (Mono.Cecil.Binary.RVA one, Mono.Cecil.Binary.RVA other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Binary.RVA" />
+ <Parameter Name="other" Type="Mono.Cecil.Binary.RVA" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Subtraction">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.Binary.RVA op_Subtraction (Mono.Cecil.Binary.RVA rva, uint x);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
+ <Parameter Name="x" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="rva">To be added.</param>
+ <param name="x">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Value">
+ <MemberSignature Language="C#" Value="public uint Value { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Zero">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Binary.RVA Zero;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ResourceDataEntry" FullName="Mono.Cecil.Binary.ResourceDataEntry">
+ <TypeSignature Language="C#" Value="public class ResourceDataEntry : Mono.Cecil.Binary.ResourceNode" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Binary.ResourceNode</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceDataEntry ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceDataEntry (int offset);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="offset" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="offset">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Codepage">
+ <MemberSignature Language="C#" Value="public uint Codepage;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Data">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA Data;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Reserved">
+ <MemberSignature Language="C#" Value="public uint Reserved;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ResourceData">
+ <MemberSignature Language="C#" Value="public byte[] ResourceData;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Size">
+ <MemberSignature Language="C#" Value="public uint Size;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ResourceDirectoryEntry" FullName="Mono.Cecil.Binary.ResourceDirectoryEntry">
+ <TypeSignature Language="C#" Value="public class ResourceDirectoryEntry : Mono.Cecil.Binary.ResourceNode" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Binary.ResourceNode</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceDirectoryEntry (Mono.Cecil.Binary.ResourceDirectoryString name);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="Mono.Cecil.Binary.ResourceDirectoryString" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceDirectoryEntry (int id);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="id" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="id">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceDirectoryEntry (Mono.Cecil.Binary.ResourceDirectoryString name, int offset);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="Mono.Cecil.Binary.ResourceDirectoryString" />
+ <Parameter Name="offset" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="offset">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceDirectoryEntry (int id, int offset);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="id" Type="System.Int32" />
+ <Parameter Name="offset" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="id">To be added.</param>
+ <param name="offset">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Child">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ResourceNode Child;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ResourceNode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ID">
+ <MemberSignature Language="C#" Value="public int ID;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IdentifiedByName">
+ <MemberSignature Language="C#" Value="public bool IdentifiedByName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.ResourceDirectoryString Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.ResourceDirectoryString</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ResourceDirectoryString" FullName="Mono.Cecil.Binary.ResourceDirectoryString">
+ <TypeSignature Language="C#" Value="public class ResourceDirectoryString : Mono.Cecil.Binary.ResourceNode" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Binary.ResourceNode</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceDirectoryString (string str);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="str" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="str">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceDirectoryString (string str, int offset);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="str" Type="System.String" />
+ <Parameter Name="offset" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="str">To be added.</param>
+ <param name="offset">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="String">
+ <MemberSignature Language="C#" Value="public string String;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ResourceDirectoryTable" FullName="Mono.Cecil.Binary.ResourceDirectoryTable">
+ <TypeSignature Language="C#" Value="public class ResourceDirectoryTable : Mono.Cecil.Binary.ResourceNode" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Binary.ResourceNode</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceDirectoryTable ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceDirectoryTable (int offset);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="offset" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="offset">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Characteristics">
+ <MemberSignature Language="C#" Value="public uint Characteristics;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Entries">
+ <MemberSignature Language="C#" Value="public System.Collections.IList Entries { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IList</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MajorVersion">
+ <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MinorVersion">
+ <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TimeDateStamp">
+ <MemberSignature Language="C#" Value="public uint TimeDateStamp;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ResourceNode" FullName="Mono.Cecil.Binary.ResourceNode">
+ <TypeSignature Language="C#" Value="public abstract class ResourceNode" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Offset">
+ <MemberSignature Language="C#" Value="public int Offset;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="RuntimeImage" FullName="Mono.Cecil.Binary.RuntimeImage">
+ <TypeSignature Language="C#" Value="public enum RuntimeImage" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="F32BitsRequired">
+ <MemberSignature Language="C#" Value="F32BitsRequired" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RuntimeImage</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ILOnly">
+ <MemberSignature Language="C#" Value="ILOnly" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RuntimeImage</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="StrongNameSigned">
+ <MemberSignature Language="C#" Value="StrongNameSigned" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RuntimeImage</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="TrackDebugData">
+ <MemberSignature Language="C#" Value="TrackDebugData" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RuntimeImage</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="Section" FullName="Mono.Cecil.Binary.Section">
+ <TypeSignature Language="C#" Value="public sealed class Section : Mono.Cecil.Binary.IBinaryVisitable, Mono.Cecil.Binary.IHeader" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Characteristics">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.SectionCharacteristics Characteristics;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Data">
+ <MemberSignature Language="C#" Value="public byte[] Data;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NumberOfLineNumbers">
+ <MemberSignature Language="C#" Value="public ushort NumberOfLineNumbers;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NumberOfRelocations">
+ <MemberSignature Language="C#" Value="public ushort NumberOfRelocations;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PointerToLineNumbers">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA PointerToLineNumbers;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PointerToRawData">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA PointerToRawData;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PointerToRelocations">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA PointerToRelocations;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Relocs">
+ <MemberSignature Language="C#" Value="public const string Relocs;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resources">
+ <MemberSignature Language="C#" Value="public const string Resources;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SData">
+ <MemberSignature Language="C#" Value="public const string SData;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetDefaultValues">
+ <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SizeOfRawData">
+ <MemberSignature Language="C#" Value="public uint SizeOfRawData;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Text">
+ <MemberSignature Language="C#" Value="public const string Text;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VirtualAddress">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA VirtualAddress;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VirtualSize">
+ <MemberSignature Language="C#" Value="public uint VirtualSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="SectionCharacteristics" FullName="Mono.Cecil.Binary.SectionCharacteristics">
+ <TypeSignature Language="C#" Value="public enum SectionCharacteristics" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Align1024Bytes">
+ <MemberSignature Language="C#" Value="Align1024Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align128Bytes">
+ <MemberSignature Language="C#" Value="Align128Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align16Bytes">
+ <MemberSignature Language="C#" Value="Align16Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align1Bytes">
+ <MemberSignature Language="C#" Value="Align1Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align2048Bytes">
+ <MemberSignature Language="C#" Value="Align2048Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align256Bytes">
+ <MemberSignature Language="C#" Value="Align256Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align2Bytes">
+ <MemberSignature Language="C#" Value="Align2Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align32Bytes">
+ <MemberSignature Language="C#" Value="Align32Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align4096Bytes">
+ <MemberSignature Language="C#" Value="Align4096Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align4Bytes">
+ <MemberSignature Language="C#" Value="Align4Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align512Bytes">
+ <MemberSignature Language="C#" Value="Align512Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align64Bytes">
+ <MemberSignature Language="C#" Value="Align64Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align8192Bytes">
+ <MemberSignature Language="C#" Value="Align8192Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Align8Bytes">
+ <MemberSignature Language="C#" Value="Align8Bytes" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ContainsCode">
+ <MemberSignature Language="C#" Value="ContainsCode" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ContainsInitializedData">
+ <MemberSignature Language="C#" Value="ContainsInitializedData" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ContainsUninitializedData">
+ <MemberSignature Language="C#" Value="ContainsUninitializedData" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="GPRel">
+ <MemberSignature Language="C#" Value="GPRel" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LnkCOMDAT">
+ <MemberSignature Language="C#" Value="LnkCOMDAT" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LnkInfo">
+ <MemberSignature Language="C#" Value="LnkInfo" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LnkNRelocOvfl">
+ <MemberSignature Language="C#" Value="LnkNRelocOvfl" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LnkOther">
+ <MemberSignature Language="C#" Value="LnkOther" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LnkRemove">
+ <MemberSignature Language="C#" Value="LnkRemove" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemDiscardable">
+ <MemberSignature Language="C#" Value="MemDiscardable" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemExecute">
+ <MemberSignature Language="C#" Value="MemExecute" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemLocked">
+ <MemberSignature Language="C#" Value="MemLocked" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemNotCached">
+ <MemberSignature Language="C#" Value="MemNotCached" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemNotPaged">
+ <MemberSignature Language="C#" Value="MemNotPaged" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemoryRead">
+ <MemberSignature Language="C#" Value="MemoryRead" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemoryWrite">
+ <MemberSignature Language="C#" Value="MemoryWrite" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemPreload">
+ <MemberSignature Language="C#" Value="MemPreload" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemPurgeable">
+ <MemberSignature Language="C#" Value="MemPurgeable" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemShared">
+ <MemberSignature Language="C#" Value="MemShared" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="TypeNoPad">
+ <MemberSignature Language="C#" Value="TypeNoPad" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SectionCharacteristics</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="SectionCollection" FullName="Mono.Cecil.Binary.SectionCollection">
+ <TypeSignature Language="C#" Value="public sealed class SectionCollection : Mono.Cecil.Binary.IBinaryVisitable, System.Collections.ICollection" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IBinaryVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.ICollection</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Binary.IBinaryVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Binary.IBinaryVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Binary.Section value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Binary.Section" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ary" Type="System.Array" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="ary">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Count">
+ <MemberSignature Language="C#" Value="public int Count { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Binary.Section value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Binary.Section" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSynchronized">
+ <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.Section this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.Section</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SyncRoot">
+ <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="SubSystem" FullName="Mono.Cecil.Binary.SubSystem">
+ <TypeSignature Language="C#" Value="public enum SubSystem" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="EfiApplication">
+ <MemberSignature Language="C#" Value="EfiApplication" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="EfiBootServiceDriver">
+ <MemberSignature Language="C#" Value="EfiBootServiceDriver" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="EfiRom">
+ <MemberSignature Language="C#" Value="EfiRom" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="EfiRuntimeDriver">
+ <MemberSignature Language="C#" Value="EfiRuntimeDriver" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Native">
+ <MemberSignature Language="C#" Value="Native" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NexusAgent">
+ <MemberSignature Language="C#" Value="NexusAgent" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="PosixCui">
+ <MemberSignature Language="C#" Value="PosixCui" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Unknown">
+ <MemberSignature Language="C#" Value="Unknown" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="WindowsCeGui">
+ <MemberSignature Language="C#" Value="WindowsCeGui" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="WindowsCui">
+ <MemberSignature Language="C#" Value="WindowsCui" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="WindowsGui">
+ <MemberSignature Language="C#" Value="WindowsGui" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Xbox">
+ <MemberSignature Language="C#" Value="Xbox" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.SubSystem</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="BaseCodeVisitor" FullName="Mono.Cecil.Cil.BaseCodeVisitor">
+ <TypeSignature Language="C#" Value="public abstract class BaseCodeVisitor : Mono.Cecil.Cil.ICodeVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.ICodeVisitor</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected BaseCodeVisitor ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TerminateMethodBody">
+ <MemberSignature Language="C#" Value="public virtual void TerminateMethodBody (Mono.Cecil.Cil.MethodBody body);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
+ </Parameters>
+ <Docs>
+ <param name="body">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExceptionHandler">
+ <MemberSignature Language="C#" Value="public virtual void VisitExceptionHandler (Mono.Cecil.Cil.ExceptionHandler eh);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="eh" Type="Mono.Cecil.Cil.ExceptionHandler" />
+ </Parameters>
+ <Docs>
+ <param name="eh">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExceptionHandlerCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitExceptionHandlerCollection (Mono.Cecil.Cil.ExceptionHandlerCollection seh);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="seh" Type="Mono.Cecil.Cil.ExceptionHandlerCollection" />
+ </Parameters>
+ <Docs>
+ <param name="seh">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInstruction">
+ <MemberSignature Language="C#" Value="public virtual void VisitInstruction (Mono.Cecil.Cil.Instruction instr);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="instr">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInstructionCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitInstructionCollection (Mono.Cecil.Cil.InstructionCollection instructions);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="instructions" Type="Mono.Cecil.Cil.InstructionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="instructions">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodBody">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodBody (Mono.Cecil.Cil.MethodBody body);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
+ </Parameters>
+ <Docs>
+ <param name="body">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitScope">
+ <MemberSignature Language="C#" Value="public virtual void VisitScope (Mono.Cecil.Cil.Scope s);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="s" Type="Mono.Cecil.Cil.Scope" />
+ </Parameters>
+ <Docs>
+ <param name="s">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitScopeCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitScopeCollection (Mono.Cecil.Cil.ScopeCollection scopes);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="scopes" Type="Mono.Cecil.Cil.ScopeCollection" />
+ </Parameters>
+ <Docs>
+ <param name="scopes">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitVariableDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitVariableDefinition (Mono.Cecil.Cil.VariableDefinition var);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="var" Type="Mono.Cecil.Cil.VariableDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="var">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitVariableDefinitionCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitVariableDefinitionCollection (Mono.Cecil.Cil.VariableDefinitionCollection variables);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="variables" Type="Mono.Cecil.Cil.VariableDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="variables">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="CilWorker" FullName="Mono.Cecil.Cil.CilWorker">
+ <TypeSignature Language="C#" Value="public sealed class CilWorker" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Append">
+ <MemberSignature Language="C#" Value="public void Append (Mono.Cecil.Cil.Instruction instr);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="instr">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.CallSite site);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="site" Type="Mono.Cecil.CallSite" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="site">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.Instruction label);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="label" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="label">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.Instruction[] labels);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="labels" Type="Mono.Cecil.Cil.Instruction[]" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="labels">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.VariableDefinition var);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="var" Type="Mono.Cecil.Cil.VariableDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="var">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.FieldReference field);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="field">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.MethodReference method);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="method" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="method">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.ParameterDefinition param);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="param" Type="Mono.Cecil.ParameterDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="param">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.TypeReference type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, byte b);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="b" Type="System.Byte" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="b">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, double d);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="d" Type="System.Double" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="d">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, int i);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, long l);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="l" Type="System.Int64" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="l">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, sbyte b);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="b" Type="System.SByte" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="b">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, float f);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="f" Type="System.Single" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="f">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Create">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Create (Mono.Cecil.Cil.OpCode opcode, string str);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="str" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="str">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.CallSite site);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="site" Type="Mono.Cecil.CallSite" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="site">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.Instruction target);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="target" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="target">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.Instruction[] targets);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="targets" Type="Mono.Cecil.Cil.Instruction[]" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="targets">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.Cil.VariableDefinition var);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="var" Type="Mono.Cecil.Cil.VariableDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="var">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.FieldReference field);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="field">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.MethodReference meth);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="meth">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.ParameterDefinition param);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="param" Type="Mono.Cecil.ParameterDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="param">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, Mono.Cecil.TypeReference type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, byte b);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="b" Type="System.Byte" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="b">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, double d);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="d" Type="System.Double" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="d">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, int i);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="i" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="i">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, long l);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="l" Type="System.Int64" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="l">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, sbyte b);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="b" Type="System.SByte" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="b">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, float f);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="f" Type="System.Single" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="f">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Emit">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Emit (Mono.Cecil.Cil.OpCode opcode, string str);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="str" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <param name="str">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetBody">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.MethodBody GetBody ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.MethodBody</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="InsertAfter">
+ <MemberSignature Language="C#" Value="public void InsertAfter (Mono.Cecil.Cil.Instruction target, Mono.Cecil.Cil.Instruction instr);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="target" Type="Mono.Cecil.Cil.Instruction" />
+ <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="target">To be added.</param>
+ <param name="instr">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="InsertBefore">
+ <MemberSignature Language="C#" Value="public void InsertBefore (Mono.Cecil.Cil.Instruction target, Mono.Cecil.Cil.Instruction instr);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="target" Type="Mono.Cecil.Cil.Instruction" />
+ <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="target">To be added.</param>
+ <param name="instr">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Cil.Instruction instr);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="instr">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Replace">
+ <MemberSignature Language="C#" Value="public void Replace (Mono.Cecil.Cil.Instruction old, Mono.Cecil.Cil.Instruction instr);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="old" Type="Mono.Cecil.Cil.Instruction" />
+ <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="old">To be added.</param>
+ <param name="instr">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="Code" FullName="Mono.Cecil.Cil.Code">
+ <TypeSignature Language="C#" Value="public enum Code" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="Add" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Add_Ovf">
+ <MemberSignature Language="C#" Value="Add_Ovf" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Add_Ovf_Un">
+ <MemberSignature Language="C#" Value="Add_Ovf_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="And">
+ <MemberSignature Language="C#" Value="And" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Arglist">
+ <MemberSignature Language="C#" Value="Arglist" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Beq">
+ <MemberSignature Language="C#" Value="Beq" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Beq_S">
+ <MemberSignature Language="C#" Value="Beq_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Bge">
+ <MemberSignature Language="C#" Value="Bge" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Bge_S">
+ <MemberSignature Language="C#" Value="Bge_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Bge_Un">
+ <MemberSignature Language="C#" Value="Bge_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Bge_Un_S">
+ <MemberSignature Language="C#" Value="Bge_Un_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Bgt">
+ <MemberSignature Language="C#" Value="Bgt" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Bgt_S">
+ <MemberSignature Language="C#" Value="Bgt_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Bgt_Un">
+ <MemberSignature Language="C#" Value="Bgt_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Bgt_Un_S">
+ <MemberSignature Language="C#" Value="Bgt_Un_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ble">
+ <MemberSignature Language="C#" Value="Ble" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ble_S">
+ <MemberSignature Language="C#" Value="Ble_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ble_Un">
+ <MemberSignature Language="C#" Value="Ble_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ble_Un_S">
+ <MemberSignature Language="C#" Value="Ble_Un_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Blt">
+ <MemberSignature Language="C#" Value="Blt" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Blt_S">
+ <MemberSignature Language="C#" Value="Blt_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Blt_Un">
+ <MemberSignature Language="C#" Value="Blt_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Blt_Un_S">
+ <MemberSignature Language="C#" Value="Blt_Un_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Bne_Un">
+ <MemberSignature Language="C#" Value="Bne_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Bne_Un_S">
+ <MemberSignature Language="C#" Value="Bne_Un_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Box">
+ <MemberSignature Language="C#" Value="Box" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Br">
+ <MemberSignature Language="C#" Value="Br" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Br_S">
+ <MemberSignature Language="C#" Value="Br_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Break">
+ <MemberSignature Language="C#" Value="Break" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Brfalse">
+ <MemberSignature Language="C#" Value="Brfalse" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Brfalse_S">
+ <MemberSignature Language="C#" Value="Brfalse_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Brtrue">
+ <MemberSignature Language="C#" Value="Brtrue" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Brtrue_S">
+ <MemberSignature Language="C#" Value="Brtrue_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Call">
+ <MemberSignature Language="C#" Value="Call" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Calli">
+ <MemberSignature Language="C#" Value="Calli" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Callvirt">
+ <MemberSignature Language="C#" Value="Callvirt" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Castclass">
+ <MemberSignature Language="C#" Value="Castclass" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ceq">
+ <MemberSignature Language="C#" Value="Ceq" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Cgt">
+ <MemberSignature Language="C#" Value="Cgt" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Cgt_Un">
+ <MemberSignature Language="C#" Value="Cgt_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ckfinite">
+ <MemberSignature Language="C#" Value="Ckfinite" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Clt">
+ <MemberSignature Language="C#" Value="Clt" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Clt_Un">
+ <MemberSignature Language="C#" Value="Clt_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Constrained">
+ <MemberSignature Language="C#" Value="Constrained" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_I">
+ <MemberSignature Language="C#" Value="Conv_I" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_I1">
+ <MemberSignature Language="C#" Value="Conv_I1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_I2">
+ <MemberSignature Language="C#" Value="Conv_I2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_I4">
+ <MemberSignature Language="C#" Value="Conv_I4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_I8">
+ <MemberSignature Language="C#" Value="Conv_I8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I">
+ <MemberSignature Language="C#" Value="Conv_Ovf_I" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I_Un">
+ <MemberSignature Language="C#" Value="Conv_Ovf_I_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I1">
+ <MemberSignature Language="C#" Value="Conv_Ovf_I1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I1_Un">
+ <MemberSignature Language="C#" Value="Conv_Ovf_I1_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I2">
+ <MemberSignature Language="C#" Value="Conv_Ovf_I2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I2_Un">
+ <MemberSignature Language="C#" Value="Conv_Ovf_I2_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I4">
+ <MemberSignature Language="C#" Value="Conv_Ovf_I4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I4_Un">
+ <MemberSignature Language="C#" Value="Conv_Ovf_I4_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I8">
+ <MemberSignature Language="C#" Value="Conv_Ovf_I8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I8_Un">
+ <MemberSignature Language="C#" Value="Conv_Ovf_I8_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U">
+ <MemberSignature Language="C#" Value="Conv_Ovf_U" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U_Un">
+ <MemberSignature Language="C#" Value="Conv_Ovf_U_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U1">
+ <MemberSignature Language="C#" Value="Conv_Ovf_U1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U1_Un">
+ <MemberSignature Language="C#" Value="Conv_Ovf_U1_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U2">
+ <MemberSignature Language="C#" Value="Conv_Ovf_U2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U2_Un">
+ <MemberSignature Language="C#" Value="Conv_Ovf_U2_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U4">
+ <MemberSignature Language="C#" Value="Conv_Ovf_U4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U4_Un">
+ <MemberSignature Language="C#" Value="Conv_Ovf_U4_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U8">
+ <MemberSignature Language="C#" Value="Conv_Ovf_U8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U8_Un">
+ <MemberSignature Language="C#" Value="Conv_Ovf_U8_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_R_Un">
+ <MemberSignature Language="C#" Value="Conv_R_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_R4">
+ <MemberSignature Language="C#" Value="Conv_R4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_R8">
+ <MemberSignature Language="C#" Value="Conv_R8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_U">
+ <MemberSignature Language="C#" Value="Conv_U" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_U1">
+ <MemberSignature Language="C#" Value="Conv_U1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_U2">
+ <MemberSignature Language="C#" Value="Conv_U2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_U4">
+ <MemberSignature Language="C#" Value="Conv_U4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_U8">
+ <MemberSignature Language="C#" Value="Conv_U8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Cpblk">
+ <MemberSignature Language="C#" Value="Cpblk" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Cpobj">
+ <MemberSignature Language="C#" Value="Cpobj" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Div">
+ <MemberSignature Language="C#" Value="Div" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Div_Un">
+ <MemberSignature Language="C#" Value="Div_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Dup">
+ <MemberSignature Language="C#" Value="Dup" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Endfilter">
+ <MemberSignature Language="C#" Value="Endfilter" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Endfinally">
+ <MemberSignature Language="C#" Value="Endfinally" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Initblk">
+ <MemberSignature Language="C#" Value="Initblk" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Initobj">
+ <MemberSignature Language="C#" Value="Initobj" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Isinst">
+ <MemberSignature Language="C#" Value="Isinst" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Jmp">
+ <MemberSignature Language="C#" Value="Jmp" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg">
+ <MemberSignature Language="C#" Value="Ldarg" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg_0">
+ <MemberSignature Language="C#" Value="Ldarg_0" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg_1">
+ <MemberSignature Language="C#" Value="Ldarg_1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg_2">
+ <MemberSignature Language="C#" Value="Ldarg_2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg_3">
+ <MemberSignature Language="C#" Value="Ldarg_3" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg_S">
+ <MemberSignature Language="C#" Value="Ldarg_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarga">
+ <MemberSignature Language="C#" Value="Ldarga" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarga_S">
+ <MemberSignature Language="C#" Value="Ldarga_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4">
+ <MemberSignature Language="C#" Value="Ldc_I4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_0">
+ <MemberSignature Language="C#" Value="Ldc_I4_0" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_1">
+ <MemberSignature Language="C#" Value="Ldc_I4_1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_2">
+ <MemberSignature Language="C#" Value="Ldc_I4_2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_3">
+ <MemberSignature Language="C#" Value="Ldc_I4_3" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_4">
+ <MemberSignature Language="C#" Value="Ldc_I4_4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_5">
+ <MemberSignature Language="C#" Value="Ldc_I4_5" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_6">
+ <MemberSignature Language="C#" Value="Ldc_I4_6" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_7">
+ <MemberSignature Language="C#" Value="Ldc_I4_7" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_8">
+ <MemberSignature Language="C#" Value="Ldc_I4_8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_M1">
+ <MemberSignature Language="C#" Value="Ldc_I4_M1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_S">
+ <MemberSignature Language="C#" Value="Ldc_I4_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I8">
+ <MemberSignature Language="C#" Value="Ldc_I8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_R4">
+ <MemberSignature Language="C#" Value="Ldc_R4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_R8">
+ <MemberSignature Language="C#" Value="Ldc_R8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_Any">
+ <MemberSignature Language="C#" Value="Ldelem_Any" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_I">
+ <MemberSignature Language="C#" Value="Ldelem_I" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_I1">
+ <MemberSignature Language="C#" Value="Ldelem_I1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_I2">
+ <MemberSignature Language="C#" Value="Ldelem_I2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_I4">
+ <MemberSignature Language="C#" Value="Ldelem_I4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_I8">
+ <MemberSignature Language="C#" Value="Ldelem_I8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_R4">
+ <MemberSignature Language="C#" Value="Ldelem_R4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_R8">
+ <MemberSignature Language="C#" Value="Ldelem_R8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_Ref">
+ <MemberSignature Language="C#" Value="Ldelem_Ref" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_U1">
+ <MemberSignature Language="C#" Value="Ldelem_U1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_U2">
+ <MemberSignature Language="C#" Value="Ldelem_U2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_U4">
+ <MemberSignature Language="C#" Value="Ldelem_U4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelema">
+ <MemberSignature Language="C#" Value="Ldelema" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldfld">
+ <MemberSignature Language="C#" Value="Ldfld" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldflda">
+ <MemberSignature Language="C#" Value="Ldflda" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldftn">
+ <MemberSignature Language="C#" Value="Ldftn" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_I">
+ <MemberSignature Language="C#" Value="Ldind_I" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_I1">
+ <MemberSignature Language="C#" Value="Ldind_I1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_I2">
+ <MemberSignature Language="C#" Value="Ldind_I2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_I4">
+ <MemberSignature Language="C#" Value="Ldind_I4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_I8">
+ <MemberSignature Language="C#" Value="Ldind_I8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_R4">
+ <MemberSignature Language="C#" Value="Ldind_R4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_R8">
+ <MemberSignature Language="C#" Value="Ldind_R8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_Ref">
+ <MemberSignature Language="C#" Value="Ldind_Ref" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_U1">
+ <MemberSignature Language="C#" Value="Ldind_U1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_U2">
+ <MemberSignature Language="C#" Value="Ldind_U2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_U4">
+ <MemberSignature Language="C#" Value="Ldind_U4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldlen">
+ <MemberSignature Language="C#" Value="Ldlen" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc">
+ <MemberSignature Language="C#" Value="Ldloc" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc_0">
+ <MemberSignature Language="C#" Value="Ldloc_0" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc_1">
+ <MemberSignature Language="C#" Value="Ldloc_1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc_2">
+ <MemberSignature Language="C#" Value="Ldloc_2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc_3">
+ <MemberSignature Language="C#" Value="Ldloc_3" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc_S">
+ <MemberSignature Language="C#" Value="Ldloc_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloca">
+ <MemberSignature Language="C#" Value="Ldloca" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloca_S">
+ <MemberSignature Language="C#" Value="Ldloca_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldnull">
+ <MemberSignature Language="C#" Value="Ldnull" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldobj">
+ <MemberSignature Language="C#" Value="Ldobj" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldsfld">
+ <MemberSignature Language="C#" Value="Ldsfld" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldsflda">
+ <MemberSignature Language="C#" Value="Ldsflda" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldstr">
+ <MemberSignature Language="C#" Value="Ldstr" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldtoken">
+ <MemberSignature Language="C#" Value="Ldtoken" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldvirtftn">
+ <MemberSignature Language="C#" Value="Ldvirtftn" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Leave">
+ <MemberSignature Language="C#" Value="Leave" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Leave_S">
+ <MemberSignature Language="C#" Value="Leave_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Localloc">
+ <MemberSignature Language="C#" Value="Localloc" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Mkrefany">
+ <MemberSignature Language="C#" Value="Mkrefany" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Mul">
+ <MemberSignature Language="C#" Value="Mul" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Mul_Ovf">
+ <MemberSignature Language="C#" Value="Mul_Ovf" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Mul_Ovf_Un">
+ <MemberSignature Language="C#" Value="Mul_Ovf_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Neg">
+ <MemberSignature Language="C#" Value="Neg" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Newarr">
+ <MemberSignature Language="C#" Value="Newarr" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Newobj">
+ <MemberSignature Language="C#" Value="Newobj" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="No">
+ <MemberSignature Language="C#" Value="No" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Nop">
+ <MemberSignature Language="C#" Value="Nop" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Not">
+ <MemberSignature Language="C#" Value="Not" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Or">
+ <MemberSignature Language="C#" Value="Or" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Pop">
+ <MemberSignature Language="C#" Value="Pop" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Readonly">
+ <MemberSignature Language="C#" Value="Readonly" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Refanytype">
+ <MemberSignature Language="C#" Value="Refanytype" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Refanyval">
+ <MemberSignature Language="C#" Value="Refanyval" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Rem">
+ <MemberSignature Language="C#" Value="Rem" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Rem_Un">
+ <MemberSignature Language="C#" Value="Rem_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ret">
+ <MemberSignature Language="C#" Value="Ret" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Rethrow">
+ <MemberSignature Language="C#" Value="Rethrow" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Shl">
+ <MemberSignature Language="C#" Value="Shl" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Shr">
+ <MemberSignature Language="C#" Value="Shr" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Shr_Un">
+ <MemberSignature Language="C#" Value="Shr_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Sizeof">
+ <MemberSignature Language="C#" Value="Sizeof" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Starg">
+ <MemberSignature Language="C#" Value="Starg" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Starg_S">
+ <MemberSignature Language="C#" Value="Starg_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_Any">
+ <MemberSignature Language="C#" Value="Stelem_Any" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_I">
+ <MemberSignature Language="C#" Value="Stelem_I" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_I1">
+ <MemberSignature Language="C#" Value="Stelem_I1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_I2">
+ <MemberSignature Language="C#" Value="Stelem_I2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_I4">
+ <MemberSignature Language="C#" Value="Stelem_I4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_I8">
+ <MemberSignature Language="C#" Value="Stelem_I8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_R4">
+ <MemberSignature Language="C#" Value="Stelem_R4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_R8">
+ <MemberSignature Language="C#" Value="Stelem_R8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_Ref">
+ <MemberSignature Language="C#" Value="Stelem_Ref" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stfld">
+ <MemberSignature Language="C#" Value="Stfld" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_I">
+ <MemberSignature Language="C#" Value="Stind_I" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_I1">
+ <MemberSignature Language="C#" Value="Stind_I1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_I2">
+ <MemberSignature Language="C#" Value="Stind_I2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_I4">
+ <MemberSignature Language="C#" Value="Stind_I4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_I8">
+ <MemberSignature Language="C#" Value="Stind_I8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_R4">
+ <MemberSignature Language="C#" Value="Stind_R4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_R8">
+ <MemberSignature Language="C#" Value="Stind_R8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_Ref">
+ <MemberSignature Language="C#" Value="Stind_Ref" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc">
+ <MemberSignature Language="C#" Value="Stloc" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc_0">
+ <MemberSignature Language="C#" Value="Stloc_0" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc_1">
+ <MemberSignature Language="C#" Value="Stloc_1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc_2">
+ <MemberSignature Language="C#" Value="Stloc_2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc_3">
+ <MemberSignature Language="C#" Value="Stloc_3" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc_S">
+ <MemberSignature Language="C#" Value="Stloc_S" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stobj">
+ <MemberSignature Language="C#" Value="Stobj" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Stsfld">
+ <MemberSignature Language="C#" Value="Stsfld" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Sub">
+ <MemberSignature Language="C#" Value="Sub" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Sub_Ovf">
+ <MemberSignature Language="C#" Value="Sub_Ovf" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Sub_Ovf_Un">
+ <MemberSignature Language="C#" Value="Sub_Ovf_Un" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Switch">
+ <MemberSignature Language="C#" Value="Switch" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Tail">
+ <MemberSignature Language="C#" Value="Tail" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Throw">
+ <MemberSignature Language="C#" Value="Throw" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Unaligned">
+ <MemberSignature Language="C#" Value="Unaligned" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Unbox">
+ <MemberSignature Language="C#" Value="Unbox" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Unbox_Any">
+ <MemberSignature Language="C#" Value="Unbox_Any" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Volatile">
+ <MemberSignature Language="C#" Value="Volatile" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Xor">
+ <MemberSignature Language="C#" Value="Xor" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="Document" FullName="Mono.Cecil.Cil.Document">
+ <TypeSignature Language="C#" Value="public class Document" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Document (string url);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="url" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="url">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hash">
+ <MemberSignature Language="C#" Value="public byte[] Hash { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HashAlgorithm">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.DocumentHashAlgorithm HashAlgorithm { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.DocumentHashAlgorithm</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Language">
+ <MemberSignature Language="C#" Value="public Guid Language { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LanguageVendor">
+ <MemberSignature Language="C#" Value="public Guid LanguageVendor { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Type">
+ <MemberSignature Language="C#" Value="public Guid Type { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Url">
+ <MemberSignature Language="C#" Value="public string Url { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DocumentHashAlgorithm" FullName="Mono.Cecil.Cil.DocumentHashAlgorithm">
+ <TypeSignature Language="C#" Value="public enum DocumentHashAlgorithm" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="MD5">
+ <MemberSignature Language="C#" Value="MD5" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.Cecil.Cil.Guid(1080993376, 25807, 19586, 182, 240, 66, 212, 129, 114, 167, 153)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.DocumentHashAlgorithm</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="None">
+ <MemberSignature Language="C#" Value="None" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.Cecil.Cil.Guid(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.DocumentHashAlgorithm</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SHA1">
+ <MemberSignature Language="C#" Value="SHA1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Attributes>
+ <Attribute>
+ <AttributeName>Mono.Cecil.Cil.Guid(4279768812, 43614, 19728, 135, 247, 111, 73, 99, 131, 52, 96)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.DocumentHashAlgorithm</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DocumentLanguage" FullName="Mono.Cecil.Cil.DocumentLanguage">
+ <TypeSignature Language="C#" Value="public abstract class DocumentLanguage" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected DocumentLanguage ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Basic">
+ <MemberSignature Language="C#" Value="public static readonly Guid Basic;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="C">
+ <MemberSignature Language="C#" Value="public static readonly Guid C;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CIL">
+ <MemberSignature Language="C#" Value="public static readonly Guid CIL;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Cobol">
+ <MemberSignature Language="C#" Value="public static readonly Guid Cobol;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Cpp">
+ <MemberSignature Language="C#" Value="public static readonly Guid Cpp;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CSharp">
+ <MemberSignature Language="C#" Value="public static readonly Guid CSharp;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Java">
+ <MemberSignature Language="C#" Value="public static readonly Guid Java;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="JScript">
+ <MemberSignature Language="C#" Value="public static readonly Guid JScript;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MCpp">
+ <MemberSignature Language="C#" Value="public static readonly Guid MCpp;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="None">
+ <MemberSignature Language="C#" Value="public static readonly Guid None;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Pascal">
+ <MemberSignature Language="C#" Value="public static readonly Guid Pascal;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SMC">
+ <MemberSignature Language="C#" Value="public static readonly Guid SMC;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DocumentLanguageVendor" FullName="Mono.Cecil.Cil.DocumentLanguageVendor">
+ <TypeSignature Language="C#" Value="public abstract class DocumentLanguageVendor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected DocumentLanguageVendor ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Microsoft">
+ <MemberSignature Language="C#" Value="public static readonly Guid Microsoft;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Other">
+ <MemberSignature Language="C#" Value="public static readonly Guid Other;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DocumentType" FullName="Mono.Cecil.Cil.DocumentType">
+ <TypeSignature Language="C#" Value="public abstract class DocumentType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected DocumentType ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Other">
+ <MemberSignature Language="C#" Value="public static readonly Guid Other;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Text">
+ <MemberSignature Language="C#" Value="public static readonly Guid Text;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ExceptionHandler" FullName="Mono.Cecil.Cil.ExceptionHandler">
+ <TypeSignature Language="C#" Value="public sealed class ExceptionHandler : Mono.Cecil.Cil.ICodeVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ExceptionHandler (Mono.Cecil.Cil.ExceptionHandlerType type);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.Cil.ExceptionHandlerType" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CatchType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference CatchType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FilterEnd">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction FilterEnd { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FilterStart">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction FilterStart { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HandlerEnd">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction HandlerEnd { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HandlerStart">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction HandlerStart { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TryEnd">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction TryEnd { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TryStart">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction TryStart { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Type">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ExceptionHandlerType Type { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ExceptionHandlerType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ExceptionHandlerCollection" FullName="Mono.Cecil.Cil.ExceptionHandlerCollection">
+ <TypeSignature Language="C#" Value="public sealed class ExceptionHandlerCollection : System.Collections.CollectionBase, Mono.Cecil.Cil.ICodeVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ExceptionHandlerCollection (Mono.Cecil.Cil.MethodBody container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.Cil.MethodBody" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.Cil.ExceptionHandler value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.ExceptionHandler" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.MethodBody Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.MethodBody</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Cil.ExceptionHandler value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.ExceptionHandler" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Cil.ExceptionHandler value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.ExceptionHandler" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.Cil.ExceptionHandler value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.Cil.ExceptionHandler" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ExceptionHandler this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ExceptionHandler</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Cil.ExceptionHandler value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.ExceptionHandler" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ExceptionHandlerType" FullName="Mono.Cecil.Cil.ExceptionHandlerType">
+ <TypeSignature Language="C#" Value="public enum ExceptionHandlerType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Catch">
+ <MemberSignature Language="C#" Value="Catch" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ExceptionHandlerType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Fault">
+ <MemberSignature Language="C#" Value="Fault" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ExceptionHandlerType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Filter">
+ <MemberSignature Language="C#" Value="Filter" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ExceptionHandlerType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Finally">
+ <MemberSignature Language="C#" Value="Finally" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ExceptionHandlerType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FlowControl" FullName="Mono.Cecil.Cil.FlowControl">
+ <TypeSignature Language="C#" Value="public enum FlowControl" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Branch">
+ <MemberSignature Language="C#" Value="Branch" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Break">
+ <MemberSignature Language="C#" Value="Break" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Call">
+ <MemberSignature Language="C#" Value="Call" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Cond_Branch">
+ <MemberSignature Language="C#" Value="Cond_Branch" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Meta">
+ <MemberSignature Language="C#" Value="Meta" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Next">
+ <MemberSignature Language="C#" Value="Next" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Phi">
+ <MemberSignature Language="C#" Value="Phi" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Return">
+ <MemberSignature Language="C#" Value="Return" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Throw">
+ <MemberSignature Language="C#" Value="Throw" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GuidAttribute" FullName="Mono.Cecil.Cil.GuidAttribute">
+ <TypeSignature Language="C#" Value="public sealed class GuidAttribute : Attribute" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Attribute</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.AttributeUsage(System.AttributeTargets.Field)</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GuidAttribute (uint a, ushort b, ushort c, byte d, byte e, byte f, byte g, byte h, byte i, byte j, byte k);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="a" Type="System.UInt32" />
+ <Parameter Name="b" Type="System.UInt16" />
+ <Parameter Name="c" Type="System.UInt16" />
+ <Parameter Name="d" Type="System.Byte" />
+ <Parameter Name="e" Type="System.Byte" />
+ <Parameter Name="f" Type="System.Byte" />
+ <Parameter Name="g" Type="System.Byte" />
+ <Parameter Name="h" Type="System.Byte" />
+ <Parameter Name="i" Type="System.Byte" />
+ <Parameter Name="j" Type="System.Byte" />
+ <Parameter Name="k" Type="System.Byte" />
+ </Parameters>
+ <Docs>
+ <param name="a">To be added.</param>
+ <param name="b">To be added.</param>
+ <param name="c">To be added.</param>
+ <param name="d">To be added.</param>
+ <param name="e">To be added.</param>
+ <param name="f">To be added.</param>
+ <param name="g">To be added.</param>
+ <param name="h">To be added.</param>
+ <param name="i">To be added.</param>
+ <param name="j">To be added.</param>
+ <param name="k">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetGuidFromValue">
+ <MemberSignature Language="C#" Value="public static Guid GetGuidFromValue (int value, Type enumeration);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Int32" />
+ <Parameter Name="enumeration" Type="System.Type" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <param name="enumeration">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetValueFromGuid">
+ <MemberSignature Language="C#" Value="public static int GetValueFromGuid (Guid id, Type enumeration);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="id" Type="System.Guid" />
+ <Parameter Name="enumeration" Type="System.Type" />
+ </Parameters>
+ <Docs>
+ <param name="id">To be added.</param>
+ <param name="enumeration">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Guid">
+ <MemberSignature Language="C#" Value="public Guid Guid { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ICodeVisitable" FullName="Mono.Cecil.Cil.ICodeVisitable">
+ <TypeSignature Language="C#" Value="public interface ICodeVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ICodeVisitor" FullName="Mono.Cecil.Cil.ICodeVisitor">
+ <TypeSignature Language="C#" Value="public interface ICodeVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="TerminateMethodBody">
+ <MemberSignature Language="C#" Value="public void TerminateMethodBody (Mono.Cecil.Cil.MethodBody body);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
+ </Parameters>
+ <Docs>
+ <param name="body">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExceptionHandler">
+ <MemberSignature Language="C#" Value="public void VisitExceptionHandler (Mono.Cecil.Cil.ExceptionHandler eh);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="eh" Type="Mono.Cecil.Cil.ExceptionHandler" />
+ </Parameters>
+ <Docs>
+ <param name="eh">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExceptionHandlerCollection">
+ <MemberSignature Language="C#" Value="public void VisitExceptionHandlerCollection (Mono.Cecil.Cil.ExceptionHandlerCollection seh);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="seh" Type="Mono.Cecil.Cil.ExceptionHandlerCollection" />
+ </Parameters>
+ <Docs>
+ <param name="seh">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInstruction">
+ <MemberSignature Language="C#" Value="public void VisitInstruction (Mono.Cecil.Cil.Instruction instr);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="instr" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="instr">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInstructionCollection">
+ <MemberSignature Language="C#" Value="public void VisitInstructionCollection (Mono.Cecil.Cil.InstructionCollection instructions);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="instructions" Type="Mono.Cecil.Cil.InstructionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="instructions">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodBody">
+ <MemberSignature Language="C#" Value="public void VisitMethodBody (Mono.Cecil.Cil.MethodBody body);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
+ </Parameters>
+ <Docs>
+ <param name="body">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitScope">
+ <MemberSignature Language="C#" Value="public void VisitScope (Mono.Cecil.Cil.Scope scope);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="scope" Type="Mono.Cecil.Cil.Scope" />
+ </Parameters>
+ <Docs>
+ <param name="scope">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitScopeCollection">
+ <MemberSignature Language="C#" Value="public void VisitScopeCollection (Mono.Cecil.Cil.ScopeCollection scopes);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="scopes" Type="Mono.Cecil.Cil.ScopeCollection" />
+ </Parameters>
+ <Docs>
+ <param name="scopes">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitVariableDefinition">
+ <MemberSignature Language="C#" Value="public void VisitVariableDefinition (Mono.Cecil.Cil.VariableDefinition var);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="var" Type="Mono.Cecil.Cil.VariableDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="var">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitVariableDefinitionCollection">
+ <MemberSignature Language="C#" Value="public void VisitVariableDefinitionCollection (Mono.Cecil.Cil.VariableDefinitionCollection variables);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="variables" Type="Mono.Cecil.Cil.VariableDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="variables">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IScopeProvider" FullName="Mono.Cecil.Cil.IScopeProvider">
+ <TypeSignature Language="C#" Value="public interface IScopeProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Scopes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ScopeCollection Scopes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ScopeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ISymbolReader" FullName="Mono.Cecil.Cil.ISymbolReader">
+ <TypeSignature Language="C#" Value="public interface ISymbolReader : IDisposable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>System.IDisposable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Read">
+ <MemberSignature Language="C#" Value="public void Read (Mono.Cecil.Cil.MethodBody body, System.Collections.IDictionary instructions);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
+ <Parameter Name="instructions" Type="System.Collections.IDictionary" />
+ </Parameters>
+ <Docs>
+ <param name="body">To be added.</param>
+ <param name="instructions">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ISymbolStoreFactory" FullName="Mono.Cecil.Cil.ISymbolStoreFactory">
+ <TypeSignature Language="C#" Value="public interface ISymbolStoreFactory" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="CreateReader">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ISymbolReader CreateReader (Mono.Cecil.ModuleDefinition module, string assemblyFileName);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ISymbolReader</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
+ <Parameter Name="assemblyFileName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <param name="assemblyFileName">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CreateWriter">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ISymbolWriter CreateWriter (Mono.Cecil.ModuleDefinition module, string assemblyFileName);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ISymbolWriter</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
+ <Parameter Name="assemblyFileName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <param name="assemblyFileName">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ISymbolWriter" FullName="Mono.Cecil.Cil.ISymbolWriter">
+ <TypeSignature Language="C#" Value="public interface ISymbolWriter : IDisposable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>System.IDisposable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Write">
+ <MemberSignature Language="C#" Value="public void Write (Mono.Cecil.Cil.MethodBody body);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="body" Type="Mono.Cecil.Cil.MethodBody" />
+ </Parameters>
+ <Docs>
+ <param name="body">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IVariableDefinitionProvider" FullName="Mono.Cecil.Cil.IVariableDefinitionProvider">
+ <TypeSignature Language="C#" Value="public interface IVariableDefinitionProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Variables">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.VariableDefinitionCollection Variables { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.VariableDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="Instruction" FullName="Mono.Cecil.Cil.Instruction">
+ <TypeSignature Language="C#" Value="public sealed class Instruction : Mono.Cecil.Cil.ICodeVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetSize">
+ <MemberSignature Language="C#" Value="public int GetSize ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Next">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Next { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Offset">
+ <MemberSignature Language="C#" Value="public int Offset { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OpCode">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.OpCode OpCode { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Operand">
+ <MemberSignature Language="C#" Value="public object Operand { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Previous">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Previous { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SequencePoint">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.SequencePoint SequencePoint { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.SequencePoint</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="InstructionCollection" FullName="Mono.Cecil.Cil.InstructionCollection">
+ <TypeSignature Language="C#" Value="public sealed class InstructionCollection : System.Collections.CollectionBase, Mono.Cecil.Cil.ICodeVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public InstructionCollection (Mono.Cecil.Cil.MethodBody container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.Cil.MethodBody" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.MethodBody Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.MethodBody</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Cil.Instruction value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Cil.Instruction value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.Instruction" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Outside">
+ <MemberSignature Language="C#" Value="public readonly Mono.Cecil.Cil.Instruction Outside;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodBody" FullName="Mono.Cecil.Cil.MethodBody">
+ <TypeSignature Language="C#" Value="public sealed class MethodBody : Mono.Cecil.Cil.ICodeVisitable, Mono.Cecil.Cil.IScopeProvider, Mono.Cecil.Cil.IVariableDefinitionProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.IScopeProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.IVariableDefinitionProvider</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MethodBody (Mono.Cecil.MethodDefinition meth);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CilWorker">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.CilWorker CilWorker { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.CilWorker</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CodeSize">
+ <MemberSignature Language="C#" Value="public int CodeSize { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExceptionHandlers">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ExceptionHandlerCollection ExceptionHandlers { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ExceptionHandlerCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasExceptionHandlers">
+ <MemberSignature Language="C#" Value="public bool HasExceptionHandlers { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasScopes">
+ <MemberSignature Language="C#" Value="public bool HasScopes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasVariables">
+ <MemberSignature Language="C#" Value="public bool HasVariables { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="InitLocals">
+ <MemberSignature Language="C#" Value="public bool InitLocals { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Instructions">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.InstructionCollection Instructions { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.InstructionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LocalVarToken">
+ <MemberSignature Language="C#" Value="public int LocalVarToken { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MaxStack">
+ <MemberSignature Language="C#" Value="public int MaxStack { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Method { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Optimize">
+ <MemberSignature Language="C#" Value="public void Optimize ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Scopes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ScopeCollection Scopes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ScopeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Simplify">
+ <MemberSignature Language="C#" Value="public void Simplify ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Variables">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.VariableDefinitionCollection Variables { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.VariableDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="OpCode" FullName="Mono.Cecil.Cil.OpCode">
+ <TypeSignature Language="C#" Value="public struct OpCode" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Code">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Code Code { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Code</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Equals">
+ <MemberSignature Language="C#" Value="public bool Equals (Mono.Cecil.Cil.OpCode opcode);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="opcode" Type="Mono.Cecil.Cil.OpCode" />
+ </Parameters>
+ <Docs>
+ <param name="opcode">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Equals">
+ <MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="obj" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="obj">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FlowControl">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.FlowControl FlowControl { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.FlowControl</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetHashCode">
+ <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Equality">
+ <MemberSignature Language="C#" Value="public static bool op_Equality (Mono.Cecil.Cil.OpCode one, Mono.Cecil.Cil.OpCode other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="other" Type="Mono.Cecil.Cil.OpCode" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Inequality">
+ <MemberSignature Language="C#" Value="public static bool op_Inequality (Mono.Cecil.Cil.OpCode one, Mono.Cecil.Cil.OpCode other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Cil.OpCode" />
+ <Parameter Name="other" Type="Mono.Cecil.Cil.OpCode" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Op1">
+ <MemberSignature Language="C#" Value="public byte Op1 { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Op2">
+ <MemberSignature Language="C#" Value="public byte Op2 { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OpCodeType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.OpCodeType OpCodeType { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OperandType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.OperandType OperandType { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Size">
+ <MemberSignature Language="C#" Value="public int Size { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StackBehaviourPop">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.StackBehaviour StackBehaviourPop { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StackBehaviourPush">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.StackBehaviour StackBehaviourPush { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Value">
+ <MemberSignature Language="C#" Value="public short Value { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="OpCodeType" FullName="Mono.Cecil.Cil.OpCodeType">
+ <TypeSignature Language="C#" Value="public enum OpCodeType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Annotation">
+ <MemberSignature Language="C#" Value="Annotation" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Macro">
+ <MemberSignature Language="C#" Value="Macro" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Nternal">
+ <MemberSignature Language="C#" Value="Nternal" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Objmodel">
+ <MemberSignature Language="C#" Value="Objmodel" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Prefix">
+ <MemberSignature Language="C#" Value="Prefix" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Primitive">
+ <MemberSignature Language="C#" Value="Primitive" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCodeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="OpCodes" FullName="Mono.Cecil.Cil.OpCodes">
+ <TypeSignature Language="C#" Value="public sealed class OpCodes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Add;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add_Ovf">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Add_Ovf;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add_Ovf_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Add_Ovf_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="And">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode And;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Arglist">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Arglist;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Beq">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Beq;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Beq_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Beq_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Bge">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bge;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Bge_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bge_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Bge_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bge_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Bge_Un_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bge_Un_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Bgt">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bgt;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Bgt_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bgt_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Bgt_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bgt_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Bgt_Un_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bgt_Un_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ble">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ble;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ble_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ble_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ble_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ble_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ble_Un_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ble_Un_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Blt">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Blt;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Blt_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Blt_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Blt_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Blt_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Blt_Un_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Blt_Un_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Bne_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bne_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Bne_Un_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Bne_Un_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Box">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Box;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Br">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Br;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Br_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Br_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Break">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Break;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Brfalse">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Brfalse;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Brfalse_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Brfalse_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Brtrue">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Brtrue;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Brtrue_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Brtrue_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Call">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Call;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Calli">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Calli;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Callvirt">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Callvirt;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Castclass">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Castclass;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ceq">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ceq;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Cgt">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Cgt;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Cgt_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Cgt_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ckfinite">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ckfinite;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clt">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Clt;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clt_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Clt_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Constrained">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Constrained;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_I">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_I;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_I1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_I1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_I2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_I2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_I4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_I4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_I8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_I8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I1_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I1_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I2_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I2_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I4_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I4_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_I8_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_I8_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U1_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U1_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U2_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U2_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U4_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U4_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_Ovf_U8_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_Ovf_U8_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_R_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_R_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_R4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_R4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_R8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_R8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_U">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_U;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_U1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_U1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_U2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_U2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_U4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_U4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Conv_U8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Conv_U8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Cpblk">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Cpblk;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Cpobj">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Cpobj;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Div">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Div;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Div_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Div_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dup">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Dup;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Endfilter">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Endfilter;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Endfinally">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Endfinally;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetOpCode">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.Cil.OpCode GetOpCode (Mono.Cecil.Cil.Code code);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="code" Type="Mono.Cecil.Cil.Code" />
+ </Parameters>
+ <Docs>
+ <param name="code">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Initblk">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Initblk;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Initobj">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Initobj;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Isinst">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Isinst;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Jmp">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Jmp;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg_0">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg_0;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg_1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg_1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg_2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg_2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg_3">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg_3;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarg_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarg_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarga">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarga;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldarga_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldarga_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_0">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_0;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_3">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_3;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_5">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_5;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_6">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_6;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_7">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_7;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_M1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_M1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I4_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I4_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_I8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_I8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_R4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_R4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldc_R8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldc_R8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_Any">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_Any;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_I">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_I;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_I1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_I1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_I2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_I2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_I4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_I4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_I8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_I8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_R4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_R4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_R8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_R8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_Ref">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_Ref;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_U1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_U1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_U2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_U2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelem_U4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelem_U4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldelema">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldelema;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldfld">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldfld;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldflda">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldflda;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldftn">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldftn;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_I">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_I;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_I1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_I1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_I2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_I2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_I4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_I4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_I8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_I8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_R4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_R4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_R8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_R8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_Ref">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_Ref;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_U1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_U1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_U2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_U2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldind_U4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldind_U4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldlen">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldlen;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc_0">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc_0;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc_1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc_1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc_2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc_2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc_3">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc_3;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloc_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloc_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloca">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloca;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldloca_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldloca_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldnull">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldnull;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldobj">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldobj;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldsfld">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldsfld;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldsflda">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldsflda;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldstr">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldstr;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldtoken">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldtoken;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ldvirtftn">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ldvirtftn;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Leave">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Leave;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Leave_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Leave_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Localloc">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Localloc;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mkrefany">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Mkrefany;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mul">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Mul;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mul_Ovf">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Mul_Ovf;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mul_Ovf_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Mul_Ovf_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Neg">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Neg;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Newarr">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Newarr;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Newobj">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Newobj;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="No">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode No;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Nop">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Nop;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Not">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Not;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Or">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Or;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Pop">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Pop;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Readonly">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Readonly;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Refanytype">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Refanytype;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Refanyval">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Refanyval;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rem">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Rem;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rem_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Rem_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ret">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Ret;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rethrow">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Rethrow;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Shl">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Shl;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Shr">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Shr;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Shr_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Shr_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Sizeof">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Sizeof;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Starg">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Starg;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Starg_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Starg_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_Any">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_Any;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_I">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_I;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_I1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_I1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_I2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_I2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_I4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_I4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_I8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_I8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_R4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_R4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_R8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_R8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stelem_Ref">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stelem_Ref;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stfld">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stfld;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_I">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_I;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_I1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_I1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_I2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_I2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_I4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_I4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_I8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_I8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_R4">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_R4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_R8">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_R8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stind_Ref">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stind_Ref;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc_0">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc_0;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc_1">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc_1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc_2">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc_2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc_3">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc_3;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stloc_S">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stloc_S;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stobj">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stobj;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stsfld">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Stsfld;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Sub">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Sub;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Sub_Ovf">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Sub_Ovf;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Sub_Ovf_Un">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Sub_Ovf_Un;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Switch">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Switch;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Tail">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Tail;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Throw">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Throw;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Unaligned">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Unaligned;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Unbox">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Unbox;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Unbox_Any">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Unbox_Any;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Volatile">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Volatile;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Xor">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Cil.OpCode Xor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OpCode</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="OperandType" FullName="Mono.Cecil.Cil.OperandType">
+ <TypeSignature Language="C#" Value="public enum OperandType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="InlineBrTarget">
+ <MemberSignature Language="C#" Value="InlineBrTarget" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineField">
+ <MemberSignature Language="C#" Value="InlineField" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineI">
+ <MemberSignature Language="C#" Value="InlineI" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineI8">
+ <MemberSignature Language="C#" Value="InlineI8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineMethod">
+ <MemberSignature Language="C#" Value="InlineMethod" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineNone">
+ <MemberSignature Language="C#" Value="InlineNone" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineParam">
+ <MemberSignature Language="C#" Value="InlineParam" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlinePhi">
+ <MemberSignature Language="C#" Value="InlinePhi" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineR">
+ <MemberSignature Language="C#" Value="InlineR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineSig">
+ <MemberSignature Language="C#" Value="InlineSig" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineString">
+ <MemberSignature Language="C#" Value="InlineString" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineSwitch">
+ <MemberSignature Language="C#" Value="InlineSwitch" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineTok">
+ <MemberSignature Language="C#" Value="InlineTok" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineType">
+ <MemberSignature Language="C#" Value="InlineType" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InlineVar">
+ <MemberSignature Language="C#" Value="InlineVar" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ShortInlineBrTarget">
+ <MemberSignature Language="C#" Value="ShortInlineBrTarget" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ShortInlineI">
+ <MemberSignature Language="C#" Value="ShortInlineI" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ShortInlineParam">
+ <MemberSignature Language="C#" Value="ShortInlineParam" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ShortInlineR">
+ <MemberSignature Language="C#" Value="ShortInlineR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ShortInlineVar">
+ <MemberSignature Language="C#" Value="ShortInlineVar" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.OperandType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="Scope" FullName="Mono.Cecil.Cil.Scope">
+ <TypeSignature Language="C#" Value="public class Scope : Mono.Cecil.Cil.ICodeVisitable, Mono.Cecil.Cil.IScopeProvider, Mono.Cecil.Cil.IVariableDefinitionProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.IScopeProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.IVariableDefinitionProvider</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Scope ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="End">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction End { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parent">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Scope Parent { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Scope</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Scopes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.ScopeCollection Scopes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.ScopeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Start">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Instruction Start { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Instruction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Variables">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.VariableDefinitionCollection Variables { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.VariableDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ScopeCollection" FullName="Mono.Cecil.Cil.ScopeCollection">
+ <TypeSignature Language="C#" Value="public sealed class ScopeCollection : System.Collections.CollectionBase, Mono.Cecil.Cil.ICodeVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ScopeCollection (Mono.Cecil.Cil.IScopeProvider container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.Cil.IScopeProvider" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.Cil.Scope value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.Scope" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.IScopeProvider Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.IScopeProvider</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Cil.Scope value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.Scope" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Cil.Scope value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.Scope" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.Cil.Scope value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.Cil.Scope" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Scope this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Scope</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Cil.Scope value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.Scope" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="SequencePoint" FullName="Mono.Cecil.Cil.SequencePoint">
+ <TypeSignature Language="C#" Value="public class SequencePoint" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public SequencePoint (Mono.Cecil.Cil.Document document);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="document" Type="Mono.Cecil.Cil.Document" />
+ </Parameters>
+ <Docs>
+ <param name="document">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public SequencePoint (Mono.Cecil.Cil.Document doc, int startLine, int startCol, int endLine, int endCol);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="doc" Type="Mono.Cecil.Cil.Document" />
+ <Parameter Name="startLine" Type="System.Int32" />
+ <Parameter Name="startCol" Type="System.Int32" />
+ <Parameter Name="endLine" Type="System.Int32" />
+ <Parameter Name="endCol" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="doc">To be added.</param>
+ <param name="startLine">To be added.</param>
+ <param name="startCol">To be added.</param>
+ <param name="endLine">To be added.</param>
+ <param name="endCol">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Document">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.Document Document { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.Document</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EndColumn">
+ <MemberSignature Language="C#" Value="public int EndColumn { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EndLine">
+ <MemberSignature Language="C#" Value="public int EndLine { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StartColumn">
+ <MemberSignature Language="C#" Value="public int StartColumn { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StartLine">
+ <MemberSignature Language="C#" Value="public int StartLine { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="StackBehaviour" FullName="Mono.Cecil.Cil.StackBehaviour">
+ <TypeSignature Language="C#" Value="public enum StackBehaviour" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Pop0">
+ <MemberSignature Language="C#" Value="Pop0" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Pop1">
+ <MemberSignature Language="C#" Value="Pop1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Pop1_pop1">
+ <MemberSignature Language="C#" Value="Pop1_pop1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="PopAll">
+ <MemberSignature Language="C#" Value="PopAll" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popi">
+ <MemberSignature Language="C#" Value="Popi" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popi_pop1">
+ <MemberSignature Language="C#" Value="Popi_pop1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popi_popi">
+ <MemberSignature Language="C#" Value="Popi_popi" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popi_popi_popi">
+ <MemberSignature Language="C#" Value="Popi_popi_popi" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popi_popi8">
+ <MemberSignature Language="C#" Value="Popi_popi8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popi_popr4">
+ <MemberSignature Language="C#" Value="Popi_popr4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popi_popr8">
+ <MemberSignature Language="C#" Value="Popi_popr8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popref">
+ <MemberSignature Language="C#" Value="Popref" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popref_pop1">
+ <MemberSignature Language="C#" Value="Popref_pop1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popref_popi">
+ <MemberSignature Language="C#" Value="Popref_popi" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popref_popi_popi">
+ <MemberSignature Language="C#" Value="Popref_popi_popi" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popref_popi_popi8">
+ <MemberSignature Language="C#" Value="Popref_popi_popi8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popref_popi_popr4">
+ <MemberSignature Language="C#" Value="Popref_popi_popr4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popref_popi_popr8">
+ <MemberSignature Language="C#" Value="Popref_popi_popr8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Popref_popi_popref">
+ <MemberSignature Language="C#" Value="Popref_popi_popref" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Push0">
+ <MemberSignature Language="C#" Value="Push0" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Push1">
+ <MemberSignature Language="C#" Value="Push1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Push1_push1">
+ <MemberSignature Language="C#" Value="Push1_push1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Pushi">
+ <MemberSignature Language="C#" Value="Pushi" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Pushi8">
+ <MemberSignature Language="C#" Value="Pushi8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Pushr4">
+ <MemberSignature Language="C#" Value="Pushr4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Pushr8">
+ <MemberSignature Language="C#" Value="Pushr8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Pushref">
+ <MemberSignature Language="C#" Value="Pushref" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Varpop">
+ <MemberSignature Language="C#" Value="Varpop" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Varpush">
+ <MemberSignature Language="C#" Value="Varpush" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.StackBehaviour</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="VariableDefinition" FullName="Mono.Cecil.Cil.VariableDefinition">
+ <TypeSignature Language="C#" Value="public sealed class VariableDefinition : Mono.Cecil.Cil.VariableReference" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Cil.VariableReference</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public VariableDefinition (Mono.Cecil.TypeReference variableType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="variableType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="variableType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public VariableDefinition (string name, int index, Mono.Cecil.MethodDefinition method, Mono.Cecil.TypeReference variableType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="method" Type="Mono.Cecil.MethodDefinition" />
+ <Parameter Name="variableType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="index">To be added.</param>
+ <param name="method">To be added.</param>
+ <param name="variableType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Method { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.Cil.VariableDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.VariableDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="VariableDefinitionCollection" FullName="Mono.Cecil.Cil.VariableDefinitionCollection">
+ <TypeSignature Language="C#" Value="public sealed class VariableDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.Cil.ICodeVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public VariableDefinitionCollection (Mono.Cecil.Cil.IVariableDefinitionProvider container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.Cil.IVariableDefinitionProvider" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.Cil.VariableDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.VariableDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.IVariableDefinitionProvider Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.IVariableDefinitionProvider</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Cil.VariableDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.VariableDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Cil.VariableDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.VariableDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.Cil.VariableDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.Cil.VariableDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.VariableDefinition this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.VariableDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Cil.VariableDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Cil.VariableDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="VariableReference" FullName="Mono.Cecil.Cil.VariableReference">
+ <TypeSignature Language="C#" Value="public abstract class VariableReference : Mono.Cecil.Cil.ICodeVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Cil.ICodeVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public VariableReference (Mono.Cecil.TypeReference variableType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="variableType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="variableType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public VariableReference (string name, int index, Mono.Cecil.TypeReference variableType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="variableType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="index">To be added.</param>
+ <param name="variableType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public abstract void Accept (Mono.Cecil.Cil.ICodeVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Cil.ICodeVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Index">
+ <MemberSignature Language="C#" Value="public int Index { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public abstract Mono.Cecil.Cil.VariableDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.VariableDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VariableType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference VariableType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyOSRow" FullName="Mono.Cecil.Metadata.AssemblyOSRow">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyOSRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OSMajorVersion">
+ <MemberSignature Language="C#" Value="public uint OSMajorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OSMinorVersion">
+ <MemberSignature Language="C#" Value="public uint OSMinorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OSPlatformID">
+ <MemberSignature Language="C#" Value="public uint OSPlatformID;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyOSTable" FullName="Mono.Cecil.Metadata.AssemblyOSTable">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyOSTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyOSRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.AssemblyOSRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 34;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>34</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyProcessorRow" FullName="Mono.Cecil.Metadata.AssemblyProcessorRow">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyProcessorRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Processor">
+ <MemberSignature Language="C#" Value="public uint Processor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyProcessorTable" FullName="Mono.Cecil.Metadata.AssemblyProcessorTable">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyProcessorTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyProcessorRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.AssemblyProcessorRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 33;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>33</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyRefOSRow" FullName="Mono.Cecil.Metadata.AssemblyRefOSRow">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyRefOSRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AssemblyRef">
+ <MemberSignature Language="C#" Value="public uint AssemblyRef;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OSMajorVersion">
+ <MemberSignature Language="C#" Value="public uint OSMajorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OSMinorVersion">
+ <MemberSignature Language="C#" Value="public uint OSMinorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OSPlatformID">
+ <MemberSignature Language="C#" Value="public uint OSPlatformID;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyRefOSTable" FullName="Mono.Cecil.Metadata.AssemblyRefOSTable">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyRefOSTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyRefOSRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.AssemblyRefOSRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 37;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>37</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyRefProcessorRow" FullName="Mono.Cecil.Metadata.AssemblyRefProcessorRow">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyRefProcessorRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AssemblyRef">
+ <MemberSignature Language="C#" Value="public uint AssemblyRef;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Processor">
+ <MemberSignature Language="C#" Value="public uint Processor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyRefProcessorTable" FullName="Mono.Cecil.Metadata.AssemblyRefProcessorTable">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyRefProcessorTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyRefProcessorRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.AssemblyRefProcessorRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 36;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>36</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyRefRow" FullName="Mono.Cecil.Metadata.AssemblyRefRow">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyRefRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="BuildNumber">
+ <MemberSignature Language="C#" Value="public ushort BuildNumber;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Culture">
+ <MemberSignature Language="C#" Value="public uint Culture;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyFlags Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HashValue">
+ <MemberSignature Language="C#" Value="public uint HashValue;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MajorVersion">
+ <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MinorVersion">
+ <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PublicKeyOrToken">
+ <MemberSignature Language="C#" Value="public uint PublicKeyOrToken;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RevisionNumber">
+ <MemberSignature Language="C#" Value="public ushort RevisionNumber;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyRefTable" FullName="Mono.Cecil.Metadata.AssemblyRefTable">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyRefTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyRefRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.AssemblyRefRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 35;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>35</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyRow" FullName="Mono.Cecil.Metadata.AssemblyRow">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="BuildNumber">
+ <MemberSignature Language="C#" Value="public ushort BuildNumber;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Culture">
+ <MemberSignature Language="C#" Value="public uint Culture;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyFlags Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HashAlgId">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyHashAlgorithm HashAlgId;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyHashAlgorithm</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MajorVersion">
+ <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MinorVersion">
+ <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PublicKey">
+ <MemberSignature Language="C#" Value="public uint PublicKey;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RevisionNumber">
+ <MemberSignature Language="C#" Value="public ushort RevisionNumber;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyTable" FullName="Mono.Cecil.Metadata.AssemblyTable">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.AssemblyRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.AssemblyRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 32;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>32</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="BaseMetadataRowVisitor" FullName="Mono.Cecil.Metadata.BaseMetadataRowVisitor">
+ <TypeSignature Language="C#" Value="public abstract class BaseMetadataRowVisitor : Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRowVisitor</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected BaseMetadataRowVisitor ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TerminateRowCollection">
+ <MemberSignature Language="C#" Value="public virtual void TerminateRowCollection (Mono.Cecil.Metadata.RowCollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="Mono.Cecil.Metadata.RowCollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyOSRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyOSRow (Mono.Cecil.Metadata.AssemblyOSRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyOSRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyProcessorRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyProcessorRow (Mono.Cecil.Metadata.AssemblyProcessorRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyProcessorRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefOSRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefOSRow (Mono.Cecil.Metadata.AssemblyRefOSRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefOSRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefProcessorRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefProcessorRow (Mono.Cecil.Metadata.AssemblyRefProcessorRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefProcessorRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefRow (Mono.Cecil.Metadata.AssemblyRefRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRow (Mono.Cecil.Metadata.AssemblyRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitClassLayoutRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitClassLayoutRow (Mono.Cecil.Metadata.ClassLayoutRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ClassLayoutRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitConstantRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitConstantRow (Mono.Cecil.Metadata.ConstantRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ConstantRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCustomAttributeRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitCustomAttributeRow (Mono.Cecil.Metadata.CustomAttributeRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.CustomAttributeRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitDeclSecurityRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitDeclSecurityRow (Mono.Cecil.Metadata.DeclSecurityRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.DeclSecurityRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventMapRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitEventMapRow (Mono.Cecil.Metadata.EventMapRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.EventMapRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventPtrRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitEventPtrRow (Mono.Cecil.Metadata.EventPtrRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.EventPtrRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitEventRow (Mono.Cecil.Metadata.EventRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.EventRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExportedTypeRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitExportedTypeRow (Mono.Cecil.Metadata.ExportedTypeRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ExportedTypeRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldLayoutRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldLayoutRow (Mono.Cecil.Metadata.FieldLayoutRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldLayoutRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldMarshalRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldMarshalRow (Mono.Cecil.Metadata.FieldMarshalRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldMarshalRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldPtrRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldPtrRow (Mono.Cecil.Metadata.FieldPtrRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldPtrRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldRow (Mono.Cecil.Metadata.FieldRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldRVARow">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldRVARow (Mono.Cecil.Metadata.FieldRVARow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldRVARow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFileRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitFileRow (Mono.Cecil.Metadata.FileRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FileRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParamConstraintRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitGenericParamConstraintRow (Mono.Cecil.Metadata.GenericParamConstraintRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.GenericParamConstraintRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParamRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitGenericParamRow (Mono.Cecil.Metadata.GenericParamRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.GenericParamRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImplMapRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitImplMapRow (Mono.Cecil.Metadata.ImplMapRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ImplMapRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInterfaceImplRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitInterfaceImplRow (Mono.Cecil.Metadata.InterfaceImplRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.InterfaceImplRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitManifestResourceRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitManifestResourceRow (Mono.Cecil.Metadata.ManifestResourceRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ManifestResourceRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMemberRefRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitMemberRefRow (Mono.Cecil.Metadata.MemberRefRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MemberRefRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodImplRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodImplRow (Mono.Cecil.Metadata.MethodImplRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodImplRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodPtrRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodPtrRow (Mono.Cecil.Metadata.MethodPtrRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodPtrRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodRow (Mono.Cecil.Metadata.MethodRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodSemanticsRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodSemanticsRow (Mono.Cecil.Metadata.MethodSemanticsRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodSemanticsRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodSpecRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodSpecRow (Mono.Cecil.Metadata.MethodSpecRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodSpecRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleRefRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitModuleRefRow (Mono.Cecil.Metadata.ModuleRefRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ModuleRefRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitModuleRow (Mono.Cecil.Metadata.ModuleRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ModuleRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitNestedClassRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitNestedClassRow (Mono.Cecil.Metadata.NestedClassRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.NestedClassRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParamPtrRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitParamPtrRow (Mono.Cecil.Metadata.ParamPtrRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ParamPtrRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParamRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitParamRow (Mono.Cecil.Metadata.ParamRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ParamRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyMapRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitPropertyMapRow (Mono.Cecil.Metadata.PropertyMapRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyMapRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyPtrRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitPropertyPtrRow (Mono.Cecil.Metadata.PropertyPtrRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyPtrRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitPropertyRow (Mono.Cecil.Metadata.PropertyRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitRowCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitRowCollection (Mono.Cecil.Metadata.RowCollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="Mono.Cecil.Metadata.RowCollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitStandAloneSigRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitStandAloneSigRow (Mono.Cecil.Metadata.StandAloneSigRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.StandAloneSigRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeDefRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitTypeDefRow (Mono.Cecil.Metadata.TypeDefRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeDefRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeRefRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitTypeRefRow (Mono.Cecil.Metadata.TypeRefRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeRefRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeSpecRow">
+ <MemberSignature Language="C#" Value="public virtual void VisitTypeSpecRow (Mono.Cecil.Metadata.TypeSpecRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeSpecRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="BaseMetadataTableVisitor" FullName="Mono.Cecil.Metadata.BaseMetadataTableVisitor">
+ <TypeSignature Language="C#" Value="public abstract class BaseMetadataTableVisitor : Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTableVisitor</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected BaseMetadataTableVisitor ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetRowVisitor">
+ <MemberSignature Language="C#" Value="public abstract Mono.Cecil.Metadata.IMetadataRowVisitor GetRowVisitor ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.IMetadataRowVisitor</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TerminateTableCollection">
+ <MemberSignature Language="C#" Value="public virtual void TerminateTableCollection (Mono.Cecil.Metadata.TableCollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="Mono.Cecil.Metadata.TableCollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyOSTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyOSTable (Mono.Cecil.Metadata.AssemblyOSTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyOSTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyProcessorTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyProcessorTable (Mono.Cecil.Metadata.AssemblyProcessorTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyProcessorTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefOSTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefOSTable (Mono.Cecil.Metadata.AssemblyRefOSTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefOSTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefProcessorTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefProcessorTable (Mono.Cecil.Metadata.AssemblyRefProcessorTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefProcessorTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyRefTable (Mono.Cecil.Metadata.AssemblyRefTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyTable (Mono.Cecil.Metadata.AssemblyTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitClassLayoutTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitClassLayoutTable (Mono.Cecil.Metadata.ClassLayoutTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ClassLayoutTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitConstantTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitConstantTable (Mono.Cecil.Metadata.ConstantTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ConstantTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCustomAttributeTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitCustomAttributeTable (Mono.Cecil.Metadata.CustomAttributeTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.CustomAttributeTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitDeclSecurityTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitDeclSecurityTable (Mono.Cecil.Metadata.DeclSecurityTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.DeclSecurityTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventMapTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitEventMapTable (Mono.Cecil.Metadata.EventMapTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.EventMapTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventPtrTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitEventPtrTable (Mono.Cecil.Metadata.EventPtrTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.EventPtrTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitEventTable (Mono.Cecil.Metadata.EventTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.EventTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExportedTypeTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitExportedTypeTable (Mono.Cecil.Metadata.ExportedTypeTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ExportedTypeTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldLayoutTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldLayoutTable (Mono.Cecil.Metadata.FieldLayoutTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldLayoutTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldMarshalTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldMarshalTable (Mono.Cecil.Metadata.FieldMarshalTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldMarshalTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldPtrTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldPtrTable (Mono.Cecil.Metadata.FieldPtrTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldPtrTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldRVATable">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldRVATable (Mono.Cecil.Metadata.FieldRVATable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldRVATable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldTable (Mono.Cecil.Metadata.FieldTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFileTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitFileTable (Mono.Cecil.Metadata.FileTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FileTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParamConstraintTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitGenericParamConstraintTable (Mono.Cecil.Metadata.GenericParamConstraintTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.GenericParamConstraintTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParamTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitGenericParamTable (Mono.Cecil.Metadata.GenericParamTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.GenericParamTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImplMapTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitImplMapTable (Mono.Cecil.Metadata.ImplMapTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ImplMapTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInterfaceImplTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitInterfaceImplTable (Mono.Cecil.Metadata.InterfaceImplTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.InterfaceImplTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitManifestResourceTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitManifestResourceTable (Mono.Cecil.Metadata.ManifestResourceTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ManifestResourceTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMemberRefTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitMemberRefTable (Mono.Cecil.Metadata.MemberRefTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MemberRefTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodImplTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodImplTable (Mono.Cecil.Metadata.MethodImplTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodImplTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodPtrTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodPtrTable (Mono.Cecil.Metadata.MethodPtrTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodPtrTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodSemanticsTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodSemanticsTable (Mono.Cecil.Metadata.MethodSemanticsTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodSemanticsTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodSpecTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodSpecTable (Mono.Cecil.Metadata.MethodSpecTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodSpecTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodTable (Mono.Cecil.Metadata.MethodTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleRefTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitModuleRefTable (Mono.Cecil.Metadata.ModuleRefTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ModuleRefTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitModuleTable (Mono.Cecil.Metadata.ModuleTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ModuleTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitNestedClassTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitNestedClassTable (Mono.Cecil.Metadata.NestedClassTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.NestedClassTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParamPtrTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitParamPtrTable (Mono.Cecil.Metadata.ParamPtrTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ParamPtrTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParamTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitParamTable (Mono.Cecil.Metadata.ParamTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ParamTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyMapTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitPropertyMapTable (Mono.Cecil.Metadata.PropertyMapTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyMapTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyPtrTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitPropertyPtrTable (Mono.Cecil.Metadata.PropertyPtrTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyPtrTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitPropertyTable (Mono.Cecil.Metadata.PropertyTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitStandAloneSigTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitStandAloneSigTable (Mono.Cecil.Metadata.StandAloneSigTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.StandAloneSigTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTableCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitTableCollection (Mono.Cecil.Metadata.TableCollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="Mono.Cecil.Metadata.TableCollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeDefTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitTypeDefTable (Mono.Cecil.Metadata.TypeDefTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeDefTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeRefTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitTypeRefTable (Mono.Cecil.Metadata.TypeRefTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeRefTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeSpecTable">
+ <MemberSignature Language="C#" Value="public virtual void VisitTypeSpecTable (Mono.Cecil.Metadata.TypeSpecTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeSpecTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="BaseMetadataVisitor" FullName="Mono.Cecil.Metadata.BaseMetadataVisitor">
+ <TypeSignature Language="C#" Value="public abstract class BaseMetadataVisitor : Mono.Cecil.Metadata.IMetadataVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitor</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected BaseMetadataVisitor ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TerminateMetadataRoot">
+ <MemberSignature Language="C#" Value="public virtual void TerminateMetadataRoot (Mono.Cecil.Metadata.MetadataRoot root);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="root" Type="Mono.Cecil.Metadata.MetadataRoot" />
+ </Parameters>
+ <Docs>
+ <param name="root">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitBlobHeap">
+ <MemberSignature Language="C#" Value="public virtual void VisitBlobHeap (Mono.Cecil.Metadata.BlobHeap heap);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="heap" Type="Mono.Cecil.Metadata.BlobHeap" />
+ </Parameters>
+ <Docs>
+ <param name="heap">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGuidHeap">
+ <MemberSignature Language="C#" Value="public virtual void VisitGuidHeap (Mono.Cecil.Metadata.GuidHeap heap);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="heap" Type="Mono.Cecil.Metadata.GuidHeap" />
+ </Parameters>
+ <Docs>
+ <param name="heap">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMetadataRoot">
+ <MemberSignature Language="C#" Value="public virtual void VisitMetadataRoot (Mono.Cecil.Metadata.MetadataRoot root);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="root" Type="Mono.Cecil.Metadata.MetadataRoot" />
+ </Parameters>
+ <Docs>
+ <param name="root">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMetadataRootHeader">
+ <MemberSignature Language="C#" Value="public virtual void VisitMetadataRootHeader (Mono.Cecil.Metadata.MetadataRoot.MetadataRootHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Metadata.MetadataRoot+MetadataRootHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMetadataStream">
+ <MemberSignature Language="C#" Value="public virtual void VisitMetadataStream (Mono.Cecil.Metadata.MetadataStream stream);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="stream" Type="Mono.Cecil.Metadata.MetadataStream" />
+ </Parameters>
+ <Docs>
+ <param name="stream">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMetadataStreamCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitMetadataStreamCollection (Mono.Cecil.Metadata.MetadataStreamCollection streams);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="streams" Type="Mono.Cecil.Metadata.MetadataStreamCollection" />
+ </Parameters>
+ <Docs>
+ <param name="streams">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMetadataStreamHeader">
+ <MemberSignature Language="C#" Value="public virtual void VisitMetadataStreamHeader (Mono.Cecil.Metadata.MetadataStream.MetadataStreamHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Metadata.MetadataStream+MetadataStreamHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitStringsHeap">
+ <MemberSignature Language="C#" Value="public virtual void VisitStringsHeap (Mono.Cecil.Metadata.StringsHeap heap);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="heap" Type="Mono.Cecil.Metadata.StringsHeap" />
+ </Parameters>
+ <Docs>
+ <param name="heap">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTablesHeap">
+ <MemberSignature Language="C#" Value="public virtual void VisitTablesHeap (Mono.Cecil.Metadata.TablesHeap heap);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="heap" Type="Mono.Cecil.Metadata.TablesHeap" />
+ </Parameters>
+ <Docs>
+ <param name="heap">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitUserStringsHeap">
+ <MemberSignature Language="C#" Value="public virtual void VisitUserStringsHeap (Mono.Cecil.Metadata.UserStringsHeap heap);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="heap" Type="Mono.Cecil.Metadata.UserStringsHeap" />
+ </Parameters>
+ <Docs>
+ <param name="heap">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="BlobHeap" FullName="Mono.Cecil.Metadata.BlobHeap">
+ <TypeSignature Language="C#" Value="public class BlobHeap : Mono.Cecil.Metadata.MetadataHeap" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Metadata.MetadataHeap</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetReader">
+ <MemberSignature Language="C#" Value="public System.IO.BinaryReader GetReader (uint index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.IO.BinaryReader</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Read">
+ <MemberSignature Language="C#" Value="public byte[] Read (uint index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ClassLayoutRow" FullName="Mono.Cecil.Metadata.ClassLayoutRow">
+ <TypeSignature Language="C#" Value="public sealed class ClassLayoutRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ClassSize">
+ <MemberSignature Language="C#" Value="public uint ClassSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PackingSize">
+ <MemberSignature Language="C#" Value="public ushort PackingSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parent">
+ <MemberSignature Language="C#" Value="public uint Parent;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ClassLayoutTable" FullName="Mono.Cecil.Metadata.ClassLayoutTable">
+ <TypeSignature Language="C#" Value="public sealed class ClassLayoutTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ClassLayoutRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ClassLayoutRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 15;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>15</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="CodedIndex" FullName="Mono.Cecil.Metadata.CodedIndex">
+ <TypeSignature Language="C#" Value="public enum CodedIndex" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="CustomAttributeType">
+ <MemberSignature Language="C#" Value="CustomAttributeType" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasConstant">
+ <MemberSignature Language="C#" Value="HasConstant" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttribute">
+ <MemberSignature Language="C#" Value="HasCustomAttribute" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasDeclSecurity">
+ <MemberSignature Language="C#" Value="HasDeclSecurity" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasFieldMarshal">
+ <MemberSignature Language="C#" Value="HasFieldMarshal" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasSemantics">
+ <MemberSignature Language="C#" Value="HasSemantics" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Implementation">
+ <MemberSignature Language="C#" Value="Implementation" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemberForwarded">
+ <MemberSignature Language="C#" Value="MemberForwarded" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemberRefParent">
+ <MemberSignature Language="C#" Value="MemberRefParent" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MethodDefOrRef">
+ <MemberSignature Language="C#" Value="MethodDefOrRef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ResolutionScope">
+ <MemberSignature Language="C#" Value="ResolutionScope" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="TypeDefOrRef">
+ <MemberSignature Language="C#" Value="TypeDefOrRef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="TypeOrMethodDef">
+ <MemberSignature Language="C#" Value="TypeOrMethodDef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CodedIndex</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ConstantRow" FullName="Mono.Cecil.Metadata.ConstantRow">
+ <TypeSignature Language="C#" Value="public sealed class ConstantRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parent">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Parent;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Type">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ElementType Type;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Value">
+ <MemberSignature Language="C#" Value="public uint Value;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ConstantTable" FullName="Mono.Cecil.Metadata.ConstantTable">
+ <TypeSignature Language="C#" Value="public sealed class ConstantTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ConstantRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ConstantRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 11;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>11</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="CustomAttributeRow" FullName="Mono.Cecil.Metadata.CustomAttributeRow">
+ <TypeSignature Language="C#" Value="public sealed class CustomAttributeRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parent">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Parent;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Type">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Type;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Value">
+ <MemberSignature Language="C#" Value="public uint Value;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="CustomAttributeTable" FullName="Mono.Cecil.Metadata.CustomAttributeTable">
+ <TypeSignature Language="C#" Value="public sealed class CustomAttributeTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.CustomAttributeRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.CustomAttributeRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 12;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>12</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DeclSecurityRow" FullName="Mono.Cecil.Metadata.DeclSecurityRow">
+ <TypeSignature Language="C#" Value="public sealed class DeclSecurityRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Action">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityAction Action;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parent">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Parent;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PermissionSet">
+ <MemberSignature Language="C#" Value="public uint PermissionSet;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DeclSecurityTable" FullName="Mono.Cecil.Metadata.DeclSecurityTable">
+ <TypeSignature Language="C#" Value="public sealed class DeclSecurityTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.DeclSecurityRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.DeclSecurityRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 14;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>14</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ElementType" FullName="Mono.Cecil.Metadata.ElementType">
+ <TypeSignature Language="C#" Value="public enum ElementType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Array">
+ <MemberSignature Language="C#" Value="Array" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Boolean">
+ <MemberSignature Language="C#" Value="Boolean" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Boxed">
+ <MemberSignature Language="C#" Value="Boxed" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ByRef">
+ <MemberSignature Language="C#" Value="ByRef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Char">
+ <MemberSignature Language="C#" Value="Char" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Class">
+ <MemberSignature Language="C#" Value="Class" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CModOpt">
+ <MemberSignature Language="C#" Value="CModOpt" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CModReqD">
+ <MemberSignature Language="C#" Value="CModReqD" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="End">
+ <MemberSignature Language="C#" Value="End" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Enum">
+ <MemberSignature Language="C#" Value="Enum" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FnPtr">
+ <MemberSignature Language="C#" Value="FnPtr" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="GenericInst">
+ <MemberSignature Language="C#" Value="GenericInst" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I">
+ <MemberSignature Language="C#" Value="I" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I1">
+ <MemberSignature Language="C#" Value="I1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I2">
+ <MemberSignature Language="C#" Value="I2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I4">
+ <MemberSignature Language="C#" Value="I4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I8">
+ <MemberSignature Language="C#" Value="I8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Internal">
+ <MemberSignature Language="C#" Value="Internal" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Modifier">
+ <MemberSignature Language="C#" Value="Modifier" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MVar">
+ <MemberSignature Language="C#" Value="MVar" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Object">
+ <MemberSignature Language="C#" Value="Object" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Pinned">
+ <MemberSignature Language="C#" Value="Pinned" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Ptr">
+ <MemberSignature Language="C#" Value="Ptr" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="R4">
+ <MemberSignature Language="C#" Value="R4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="R8">
+ <MemberSignature Language="C#" Value="R8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Sentinel">
+ <MemberSignature Language="C#" Value="Sentinel" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="String">
+ <MemberSignature Language="C#" Value="String" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SzArray">
+ <MemberSignature Language="C#" Value="SzArray" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Type">
+ <MemberSignature Language="C#" Value="Type" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="TypedByRef">
+ <MemberSignature Language="C#" Value="TypedByRef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="U">
+ <MemberSignature Language="C#" Value="U" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="U1">
+ <MemberSignature Language="C#" Value="U1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="U2">
+ <MemberSignature Language="C#" Value="U2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="U4">
+ <MemberSignature Language="C#" Value="U4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="U8">
+ <MemberSignature Language="C#" Value="U8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ValueType">
+ <MemberSignature Language="C#" Value="ValueType" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Var">
+ <MemberSignature Language="C#" Value="Var" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Void">
+ <MemberSignature Language="C#" Value="Void" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ElementType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EventMapRow" FullName="Mono.Cecil.Metadata.EventMapRow">
+ <TypeSignature Language="C#" Value="public sealed class EventMapRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EventList">
+ <MemberSignature Language="C#" Value="public uint EventList;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parent">
+ <MemberSignature Language="C#" Value="public uint Parent;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EventMapTable" FullName="Mono.Cecil.Metadata.EventMapTable">
+ <TypeSignature Language="C#" Value="public sealed class EventMapTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.EventMapRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.EventMapRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 18;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>18</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EventPtrRow" FullName="Mono.Cecil.Metadata.EventPtrRow">
+ <TypeSignature Language="C#" Value="public sealed class EventPtrRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Event">
+ <MemberSignature Language="C#" Value="public uint Event;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EventPtrTable" FullName="Mono.Cecil.Metadata.EventPtrTable">
+ <TypeSignature Language="C#" Value="public sealed class EventPtrTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.EventPtrRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.EventPtrRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 19;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>19</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EventRow" FullName="Mono.Cecil.Metadata.EventRow">
+ <TypeSignature Language="C#" Value="public sealed class EventRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EventFlags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.EventAttributes EventFlags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.EventAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EventType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken EventType;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EventTable" FullName="Mono.Cecil.Metadata.EventTable">
+ <TypeSignature Language="C#" Value="public sealed class EventTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.EventRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.EventRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 20;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>20</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ExportedTypeRow" FullName="Mono.Cecil.Metadata.ExportedTypeRow">
+ <TypeSignature Language="C#" Value="public sealed class ExportedTypeRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeAttributes Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Implementation">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Implementation;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TypeDefId">
+ <MemberSignature Language="C#" Value="public uint TypeDefId;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TypeName">
+ <MemberSignature Language="C#" Value="public uint TypeName;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TypeNamespace">
+ <MemberSignature Language="C#" Value="public uint TypeNamespace;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ExportedTypeTable" FullName="Mono.Cecil.Metadata.ExportedTypeTable">
+ <TypeSignature Language="C#" Value="public sealed class ExportedTypeTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ExportedTypeRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ExportedTypeRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 39;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>39</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldLayoutRow" FullName="Mono.Cecil.Metadata.FieldLayoutRow">
+ <TypeSignature Language="C#" Value="public sealed class FieldLayoutRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Field">
+ <MemberSignature Language="C#" Value="public uint Field;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Offset">
+ <MemberSignature Language="C#" Value="public uint Offset;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldLayoutTable" FullName="Mono.Cecil.Metadata.FieldLayoutTable">
+ <TypeSignature Language="C#" Value="public sealed class FieldLayoutTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FieldLayoutRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.FieldLayoutRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 16;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>16</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldMarshalRow" FullName="Mono.Cecil.Metadata.FieldMarshalRow">
+ <TypeSignature Language="C#" Value="public sealed class FieldMarshalRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NativeType">
+ <MemberSignature Language="C#" Value="public uint NativeType;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parent">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Parent;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldMarshalTable" FullName="Mono.Cecil.Metadata.FieldMarshalTable">
+ <TypeSignature Language="C#" Value="public sealed class FieldMarshalTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FieldMarshalRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.FieldMarshalRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 13;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>13</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldPtrRow" FullName="Mono.Cecil.Metadata.FieldPtrRow">
+ <TypeSignature Language="C#" Value="public sealed class FieldPtrRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Field">
+ <MemberSignature Language="C#" Value="public uint Field;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldPtrTable" FullName="Mono.Cecil.Metadata.FieldPtrTable">
+ <TypeSignature Language="C#" Value="public sealed class FieldPtrTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FieldPtrRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.FieldPtrRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 3;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>3</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldRVARow" FullName="Mono.Cecil.Metadata.FieldRVARow">
+ <TypeSignature Language="C#" Value="public sealed class FieldRVARow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Field">
+ <MemberSignature Language="C#" Value="public uint Field;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RVA">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA RVA;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldRVATable" FullName="Mono.Cecil.Metadata.FieldRVATable">
+ <TypeSignature Language="C#" Value="public sealed class FieldRVATable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FieldRVARow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.FieldRVARow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 29;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>29</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldRow" FullName="Mono.Cecil.Metadata.FieldRow">
+ <TypeSignature Language="C#" Value="public sealed class FieldRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldAttributes Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Signature">
+ <MemberSignature Language="C#" Value="public uint Signature;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldTable" FullName="Mono.Cecil.Metadata.FieldTable">
+ <TypeSignature Language="C#" Value="public sealed class FieldTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FieldRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.FieldRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 4;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>4</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FileRow" FullName="Mono.Cecil.Metadata.FileRow">
+ <TypeSignature Language="C#" Value="public sealed class FileRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FileAttributes Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FileAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HashValue">
+ <MemberSignature Language="C#" Value="public uint HashValue;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FileTable" FullName="Mono.Cecil.Metadata.FileTable">
+ <TypeSignature Language="C#" Value="public sealed class FileTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.FileRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.FileRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 38;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>38</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericParamConstraintRow" FullName="Mono.Cecil.Metadata.GenericParamConstraintRow">
+ <TypeSignature Language="C#" Value="public sealed class GenericParamConstraintRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Constraint">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Constraint;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Owner">
+ <MemberSignature Language="C#" Value="public uint Owner;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericParamConstraintTable" FullName="Mono.Cecil.Metadata.GenericParamConstraintTable">
+ <TypeSignature Language="C#" Value="public sealed class GenericParamConstraintTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.GenericParamConstraintRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.GenericParamConstraintRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 44;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>44</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericParamRow" FullName="Mono.Cecil.Metadata.GenericParamRow">
+ <TypeSignature Language="C#" Value="public sealed class GenericParamRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameterAttributes Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Number">
+ <MemberSignature Language="C#" Value="public ushort Number;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Owner">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Owner;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericParamTable" FullName="Mono.Cecil.Metadata.GenericParamTable">
+ <TypeSignature Language="C#" Value="public sealed class GenericParamTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.GenericParamRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.GenericParamRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 42;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>42</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GuidHeap" FullName="Mono.Cecil.Metadata.GuidHeap">
+ <TypeSignature Language="C#" Value="public class GuidHeap : Mono.Cecil.Metadata.MetadataHeap" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Metadata.MetadataHeap</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GuidHeap (Mono.Cecil.Metadata.MetadataStream stream);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="stream" Type="Mono.Cecil.Metadata.MetadataStream" />
+ </Parameters>
+ <Docs>
+ <param name="stream">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Guids">
+ <MemberSignature Language="C#" Value="public System.Collections.IDictionary Guids { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Guid this[uint index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMetadataRow" FullName="Mono.Cecil.Metadata.IMetadataRow">
+ <TypeSignature Language="C#" Value="public interface IMetadataRow : Mono.Cecil.Metadata.IMetadataRowVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRowVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
--- /dev/null
+<Type Name="IMetadataRowVisitable" FullName="Mono.Cecil.Metadata.IMetadataRowVisitable">
+ <TypeSignature Language="C#" Value="public interface IMetadataRowVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMetadataRowVisitor" FullName="Mono.Cecil.Metadata.IMetadataRowVisitor">
+ <TypeSignature Language="C#" Value="public interface IMetadataRowVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="TerminateRowCollection">
+ <MemberSignature Language="C#" Value="public void TerminateRowCollection (Mono.Cecil.Metadata.RowCollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="Mono.Cecil.Metadata.RowCollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyOSRow">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyOSRow (Mono.Cecil.Metadata.AssemblyOSRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyOSRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyProcessorRow">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyProcessorRow (Mono.Cecil.Metadata.AssemblyProcessorRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyProcessorRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefOSRow">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyRefOSRow (Mono.Cecil.Metadata.AssemblyRefOSRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefOSRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefProcessorRow">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyRefProcessorRow (Mono.Cecil.Metadata.AssemblyRefProcessorRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefProcessorRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefRow">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyRefRow (Mono.Cecil.Metadata.AssemblyRefRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRefRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRow">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyRow (Mono.Cecil.Metadata.AssemblyRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.AssemblyRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitClassLayoutRow">
+ <MemberSignature Language="C#" Value="public void VisitClassLayoutRow (Mono.Cecil.Metadata.ClassLayoutRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ClassLayoutRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitConstantRow">
+ <MemberSignature Language="C#" Value="public void VisitConstantRow (Mono.Cecil.Metadata.ConstantRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ConstantRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCustomAttributeRow">
+ <MemberSignature Language="C#" Value="public void VisitCustomAttributeRow (Mono.Cecil.Metadata.CustomAttributeRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.CustomAttributeRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitDeclSecurityRow">
+ <MemberSignature Language="C#" Value="public void VisitDeclSecurityRow (Mono.Cecil.Metadata.DeclSecurityRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.DeclSecurityRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventMapRow">
+ <MemberSignature Language="C#" Value="public void VisitEventMapRow (Mono.Cecil.Metadata.EventMapRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.EventMapRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventPtrRow">
+ <MemberSignature Language="C#" Value="public void VisitEventPtrRow (Mono.Cecil.Metadata.EventPtrRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.EventPtrRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventRow">
+ <MemberSignature Language="C#" Value="public void VisitEventRow (Mono.Cecil.Metadata.EventRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.EventRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExportedTypeRow">
+ <MemberSignature Language="C#" Value="public void VisitExportedTypeRow (Mono.Cecil.Metadata.ExportedTypeRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ExportedTypeRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldLayoutRow">
+ <MemberSignature Language="C#" Value="public void VisitFieldLayoutRow (Mono.Cecil.Metadata.FieldLayoutRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldLayoutRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldMarshalRow">
+ <MemberSignature Language="C#" Value="public void VisitFieldMarshalRow (Mono.Cecil.Metadata.FieldMarshalRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldMarshalRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldPtrRow">
+ <MemberSignature Language="C#" Value="public void VisitFieldPtrRow (Mono.Cecil.Metadata.FieldPtrRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldPtrRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldRow">
+ <MemberSignature Language="C#" Value="public void VisitFieldRow (Mono.Cecil.Metadata.FieldRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldRVARow">
+ <MemberSignature Language="C#" Value="public void VisitFieldRVARow (Mono.Cecil.Metadata.FieldRVARow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FieldRVARow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFileRow">
+ <MemberSignature Language="C#" Value="public void VisitFileRow (Mono.Cecil.Metadata.FileRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.FileRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParamConstraintRow">
+ <MemberSignature Language="C#" Value="public void VisitGenericParamConstraintRow (Mono.Cecil.Metadata.GenericParamConstraintRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.GenericParamConstraintRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParamRow">
+ <MemberSignature Language="C#" Value="public void VisitGenericParamRow (Mono.Cecil.Metadata.GenericParamRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.GenericParamRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImplMapRow">
+ <MemberSignature Language="C#" Value="public void VisitImplMapRow (Mono.Cecil.Metadata.ImplMapRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ImplMapRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInterfaceImplRow">
+ <MemberSignature Language="C#" Value="public void VisitInterfaceImplRow (Mono.Cecil.Metadata.InterfaceImplRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.InterfaceImplRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitManifestResourceRow">
+ <MemberSignature Language="C#" Value="public void VisitManifestResourceRow (Mono.Cecil.Metadata.ManifestResourceRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ManifestResourceRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMemberRefRow">
+ <MemberSignature Language="C#" Value="public void VisitMemberRefRow (Mono.Cecil.Metadata.MemberRefRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MemberRefRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodImplRow">
+ <MemberSignature Language="C#" Value="public void VisitMethodImplRow (Mono.Cecil.Metadata.MethodImplRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodImplRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodPtrRow">
+ <MemberSignature Language="C#" Value="public void VisitMethodPtrRow (Mono.Cecil.Metadata.MethodPtrRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodPtrRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodRow">
+ <MemberSignature Language="C#" Value="public void VisitMethodRow (Mono.Cecil.Metadata.MethodRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodSemanticsRow">
+ <MemberSignature Language="C#" Value="public void VisitMethodSemanticsRow (Mono.Cecil.Metadata.MethodSemanticsRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodSemanticsRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodSpecRow">
+ <MemberSignature Language="C#" Value="public void VisitMethodSpecRow (Mono.Cecil.Metadata.MethodSpecRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.MethodSpecRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleRefRow">
+ <MemberSignature Language="C#" Value="public void VisitModuleRefRow (Mono.Cecil.Metadata.ModuleRefRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ModuleRefRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleRow">
+ <MemberSignature Language="C#" Value="public void VisitModuleRow (Mono.Cecil.Metadata.ModuleRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ModuleRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitNestedClassRow">
+ <MemberSignature Language="C#" Value="public void VisitNestedClassRow (Mono.Cecil.Metadata.NestedClassRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.NestedClassRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParamPtrRow">
+ <MemberSignature Language="C#" Value="public void VisitParamPtrRow (Mono.Cecil.Metadata.ParamPtrRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ParamPtrRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParamRow">
+ <MemberSignature Language="C#" Value="public void VisitParamRow (Mono.Cecil.Metadata.ParamRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.ParamRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyMapRow">
+ <MemberSignature Language="C#" Value="public void VisitPropertyMapRow (Mono.Cecil.Metadata.PropertyMapRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyMapRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyPtrRow">
+ <MemberSignature Language="C#" Value="public void VisitPropertyPtrRow (Mono.Cecil.Metadata.PropertyPtrRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyPtrRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyRow">
+ <MemberSignature Language="C#" Value="public void VisitPropertyRow (Mono.Cecil.Metadata.PropertyRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.PropertyRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitRowCollection">
+ <MemberSignature Language="C#" Value="public void VisitRowCollection (Mono.Cecil.Metadata.RowCollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="Mono.Cecil.Metadata.RowCollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitStandAloneSigRow">
+ <MemberSignature Language="C#" Value="public void VisitStandAloneSigRow (Mono.Cecil.Metadata.StandAloneSigRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.StandAloneSigRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeDefRow">
+ <MemberSignature Language="C#" Value="public void VisitTypeDefRow (Mono.Cecil.Metadata.TypeDefRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeDefRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeRefRow">
+ <MemberSignature Language="C#" Value="public void VisitTypeRefRow (Mono.Cecil.Metadata.TypeRefRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeRefRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeSpecRow">
+ <MemberSignature Language="C#" Value="public void VisitTypeSpecRow (Mono.Cecil.Metadata.TypeSpecRow row);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="row" Type="Mono.Cecil.Metadata.TypeSpecRow" />
+ </Parameters>
+ <Docs>
+ <param name="row">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMetadataTable" FullName="Mono.Cecil.Metadata.IMetadataTable">
+ <TypeSignature Language="C#" Value="public interface IMetadataTable : Mono.Cecil.Metadata.IMetadataTableVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTableVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMetadataTableVisitable" FullName="Mono.Cecil.Metadata.IMetadataTableVisitable">
+ <TypeSignature Language="C#" Value="public interface IMetadataTableVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMetadataTableVisitor" FullName="Mono.Cecil.Metadata.IMetadataTableVisitor">
+ <TypeSignature Language="C#" Value="public interface IMetadataTableVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="GetRowVisitor">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.IMetadataRowVisitor GetRowVisitor ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.IMetadataRowVisitor</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TerminateTableCollection">
+ <MemberSignature Language="C#" Value="public void TerminateTableCollection (Mono.Cecil.Metadata.TableCollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="Mono.Cecil.Metadata.TableCollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyOSTable">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyOSTable (Mono.Cecil.Metadata.AssemblyOSTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyOSTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyProcessorTable">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyProcessorTable (Mono.Cecil.Metadata.AssemblyProcessorTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyProcessorTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefOSTable">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyRefOSTable (Mono.Cecil.Metadata.AssemblyRefOSTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefOSTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefProcessorTable">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyRefProcessorTable (Mono.Cecil.Metadata.AssemblyRefProcessorTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefProcessorTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyRefTable">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyRefTable (Mono.Cecil.Metadata.AssemblyRefTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyRefTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyTable">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyTable (Mono.Cecil.Metadata.AssemblyTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.AssemblyTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitClassLayoutTable">
+ <MemberSignature Language="C#" Value="public void VisitClassLayoutTable (Mono.Cecil.Metadata.ClassLayoutTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ClassLayoutTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitConstantTable">
+ <MemberSignature Language="C#" Value="public void VisitConstantTable (Mono.Cecil.Metadata.ConstantTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ConstantTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCustomAttributeTable">
+ <MemberSignature Language="C#" Value="public void VisitCustomAttributeTable (Mono.Cecil.Metadata.CustomAttributeTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.CustomAttributeTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitDeclSecurityTable">
+ <MemberSignature Language="C#" Value="public void VisitDeclSecurityTable (Mono.Cecil.Metadata.DeclSecurityTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.DeclSecurityTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventMapTable">
+ <MemberSignature Language="C#" Value="public void VisitEventMapTable (Mono.Cecil.Metadata.EventMapTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.EventMapTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventPtrTable">
+ <MemberSignature Language="C#" Value="public void VisitEventPtrTable (Mono.Cecil.Metadata.EventPtrTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.EventPtrTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventTable">
+ <MemberSignature Language="C#" Value="public void VisitEventTable (Mono.Cecil.Metadata.EventTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.EventTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExportedTypeTable">
+ <MemberSignature Language="C#" Value="public void VisitExportedTypeTable (Mono.Cecil.Metadata.ExportedTypeTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ExportedTypeTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldLayoutTable">
+ <MemberSignature Language="C#" Value="public void VisitFieldLayoutTable (Mono.Cecil.Metadata.FieldLayoutTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldLayoutTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldMarshalTable">
+ <MemberSignature Language="C#" Value="public void VisitFieldMarshalTable (Mono.Cecil.Metadata.FieldMarshalTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldMarshalTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldPtrTable">
+ <MemberSignature Language="C#" Value="public void VisitFieldPtrTable (Mono.Cecil.Metadata.FieldPtrTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldPtrTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldRVATable">
+ <MemberSignature Language="C#" Value="public void VisitFieldRVATable (Mono.Cecil.Metadata.FieldRVATable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldRVATable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldTable">
+ <MemberSignature Language="C#" Value="public void VisitFieldTable (Mono.Cecil.Metadata.FieldTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FieldTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFileTable">
+ <MemberSignature Language="C#" Value="public void VisitFileTable (Mono.Cecil.Metadata.FileTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.FileTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParamConstraintTable">
+ <MemberSignature Language="C#" Value="public void VisitGenericParamConstraintTable (Mono.Cecil.Metadata.GenericParamConstraintTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.GenericParamConstraintTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParamTable">
+ <MemberSignature Language="C#" Value="public void VisitGenericParamTable (Mono.Cecil.Metadata.GenericParamTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.GenericParamTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitImplMapTable">
+ <MemberSignature Language="C#" Value="public void VisitImplMapTable (Mono.Cecil.Metadata.ImplMapTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ImplMapTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInterfaceImplTable">
+ <MemberSignature Language="C#" Value="public void VisitInterfaceImplTable (Mono.Cecil.Metadata.InterfaceImplTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.InterfaceImplTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitManifestResourceTable">
+ <MemberSignature Language="C#" Value="public void VisitManifestResourceTable (Mono.Cecil.Metadata.ManifestResourceTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ManifestResourceTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMemberRefTable">
+ <MemberSignature Language="C#" Value="public void VisitMemberRefTable (Mono.Cecil.Metadata.MemberRefTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MemberRefTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodImplTable">
+ <MemberSignature Language="C#" Value="public void VisitMethodImplTable (Mono.Cecil.Metadata.MethodImplTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodImplTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodPtrTable">
+ <MemberSignature Language="C#" Value="public void VisitMethodPtrTable (Mono.Cecil.Metadata.MethodPtrTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodPtrTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodSemanticsTable">
+ <MemberSignature Language="C#" Value="public void VisitMethodSemanticsTable (Mono.Cecil.Metadata.MethodSemanticsTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodSemanticsTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodSpecTable">
+ <MemberSignature Language="C#" Value="public void VisitMethodSpecTable (Mono.Cecil.Metadata.MethodSpecTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodSpecTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodTable">
+ <MemberSignature Language="C#" Value="public void VisitMethodTable (Mono.Cecil.Metadata.MethodTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.MethodTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleRefTable">
+ <MemberSignature Language="C#" Value="public void VisitModuleRefTable (Mono.Cecil.Metadata.ModuleRefTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ModuleRefTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleTable">
+ <MemberSignature Language="C#" Value="public void VisitModuleTable (Mono.Cecil.Metadata.ModuleTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ModuleTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitNestedClassTable">
+ <MemberSignature Language="C#" Value="public void VisitNestedClassTable (Mono.Cecil.Metadata.NestedClassTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.NestedClassTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParamPtrTable">
+ <MemberSignature Language="C#" Value="public void VisitParamPtrTable (Mono.Cecil.Metadata.ParamPtrTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ParamPtrTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParamTable">
+ <MemberSignature Language="C#" Value="public void VisitParamTable (Mono.Cecil.Metadata.ParamTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.ParamTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyMapTable">
+ <MemberSignature Language="C#" Value="public void VisitPropertyMapTable (Mono.Cecil.Metadata.PropertyMapTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyMapTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyPtrTable">
+ <MemberSignature Language="C#" Value="public void VisitPropertyPtrTable (Mono.Cecil.Metadata.PropertyPtrTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyPtrTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyTable">
+ <MemberSignature Language="C#" Value="public void VisitPropertyTable (Mono.Cecil.Metadata.PropertyTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.PropertyTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitStandAloneSigTable">
+ <MemberSignature Language="C#" Value="public void VisitStandAloneSigTable (Mono.Cecil.Metadata.StandAloneSigTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.StandAloneSigTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTableCollection">
+ <MemberSignature Language="C#" Value="public void VisitTableCollection (Mono.Cecil.Metadata.TableCollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="Mono.Cecil.Metadata.TableCollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeDefTable">
+ <MemberSignature Language="C#" Value="public void VisitTypeDefTable (Mono.Cecil.Metadata.TypeDefTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeDefTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeRefTable">
+ <MemberSignature Language="C#" Value="public void VisitTypeRefTable (Mono.Cecil.Metadata.TypeRefTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeRefTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeSpecTable">
+ <MemberSignature Language="C#" Value="public void VisitTypeSpecTable (Mono.Cecil.Metadata.TypeSpecTable table);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.TypeSpecTable" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMetadataVisitable" FullName="Mono.Cecil.Metadata.IMetadataVisitable">
+ <TypeSignature Language="C#" Value="public interface IMetadataVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMetadataVisitor" FullName="Mono.Cecil.Metadata.IMetadataVisitor">
+ <TypeSignature Language="C#" Value="public interface IMetadataVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="TerminateMetadataRoot">
+ <MemberSignature Language="C#" Value="public void TerminateMetadataRoot (Mono.Cecil.Metadata.MetadataRoot root);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="root" Type="Mono.Cecil.Metadata.MetadataRoot" />
+ </Parameters>
+ <Docs>
+ <param name="root">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitBlobHeap">
+ <MemberSignature Language="C#" Value="public void VisitBlobHeap (Mono.Cecil.Metadata.BlobHeap heap);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="heap" Type="Mono.Cecil.Metadata.BlobHeap" />
+ </Parameters>
+ <Docs>
+ <param name="heap">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGuidHeap">
+ <MemberSignature Language="C#" Value="public void VisitGuidHeap (Mono.Cecil.Metadata.GuidHeap heap);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="heap" Type="Mono.Cecil.Metadata.GuidHeap" />
+ </Parameters>
+ <Docs>
+ <param name="heap">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMetadataRoot">
+ <MemberSignature Language="C#" Value="public void VisitMetadataRoot (Mono.Cecil.Metadata.MetadataRoot root);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="root" Type="Mono.Cecil.Metadata.MetadataRoot" />
+ </Parameters>
+ <Docs>
+ <param name="root">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMetadataRootHeader">
+ <MemberSignature Language="C#" Value="public void VisitMetadataRootHeader (Mono.Cecil.Metadata.MetadataRoot.MetadataRootHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Metadata.MetadataRoot+MetadataRootHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMetadataStream">
+ <MemberSignature Language="C#" Value="public void VisitMetadataStream (Mono.Cecil.Metadata.MetadataStream stream);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="stream" Type="Mono.Cecil.Metadata.MetadataStream" />
+ </Parameters>
+ <Docs>
+ <param name="stream">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMetadataStreamCollection">
+ <MemberSignature Language="C#" Value="public void VisitMetadataStreamCollection (Mono.Cecil.Metadata.MetadataStreamCollection streams);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="streams" Type="Mono.Cecil.Metadata.MetadataStreamCollection" />
+ </Parameters>
+ <Docs>
+ <param name="streams">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMetadataStreamHeader">
+ <MemberSignature Language="C#" Value="public void VisitMetadataStreamHeader (Mono.Cecil.Metadata.MetadataStream.MetadataStreamHeader header);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="Mono.Cecil.Metadata.MetadataStream+MetadataStreamHeader" />
+ </Parameters>
+ <Docs>
+ <param name="header">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitStringsHeap">
+ <MemberSignature Language="C#" Value="public void VisitStringsHeap (Mono.Cecil.Metadata.StringsHeap heap);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="heap" Type="Mono.Cecil.Metadata.StringsHeap" />
+ </Parameters>
+ <Docs>
+ <param name="heap">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTablesHeap">
+ <MemberSignature Language="C#" Value="public void VisitTablesHeap (Mono.Cecil.Metadata.TablesHeap heap);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="heap" Type="Mono.Cecil.Metadata.TablesHeap" />
+ </Parameters>
+ <Docs>
+ <param name="heap">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitUserStringsHeap">
+ <MemberSignature Language="C#" Value="public void VisitUserStringsHeap (Mono.Cecil.Metadata.UserStringsHeap heap);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="heap" Type="Mono.Cecil.Metadata.UserStringsHeap" />
+ </Parameters>
+ <Docs>
+ <param name="heap">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ImplMapRow" FullName="Mono.Cecil.Metadata.ImplMapRow">
+ <TypeSignature Language="C#" Value="public sealed class ImplMapRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportName">
+ <MemberSignature Language="C#" Value="public uint ImportName;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportScope">
+ <MemberSignature Language="C#" Value="public uint ImportScope;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MappingFlags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.PInvokeAttributes MappingFlags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MemberForwarded">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MemberForwarded;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ImplMapTable" FullName="Mono.Cecil.Metadata.ImplMapTable">
+ <TypeSignature Language="C#" Value="public sealed class ImplMapTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ImplMapRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ImplMapRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 28;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>28</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="InterfaceImplRow" FullName="Mono.Cecil.Metadata.InterfaceImplRow">
+ <TypeSignature Language="C#" Value="public sealed class InterfaceImplRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Class">
+ <MemberSignature Language="C#" Value="public uint Class;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Interface">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Interface;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="InterfaceImplTable" FullName="Mono.Cecil.Metadata.InterfaceImplTable">
+ <TypeSignature Language="C#" Value="public sealed class InterfaceImplTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.InterfaceImplRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.InterfaceImplRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 9;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>9</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ManifestResourceRow" FullName="Mono.Cecil.Metadata.ManifestResourceRow">
+ <TypeSignature Language="C#" Value="public sealed class ManifestResourceRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ManifestResourceAttributes Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ManifestResourceAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Implementation">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Implementation;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Offset">
+ <MemberSignature Language="C#" Value="public uint Offset;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ManifestResourceTable" FullName="Mono.Cecil.Metadata.ManifestResourceTable">
+ <TypeSignature Language="C#" Value="public sealed class ManifestResourceTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ManifestResourceRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ManifestResourceRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 40;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>40</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MemberRefRow" FullName="Mono.Cecil.Metadata.MemberRefRow">
+ <TypeSignature Language="C#" Value="public sealed class MemberRefRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Class">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Class;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Signature">
+ <MemberSignature Language="C#" Value="public uint Signature;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MemberRefTable" FullName="Mono.Cecil.Metadata.MemberRefTable">
+ <TypeSignature Language="C#" Value="public sealed class MemberRefTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MemberRefRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MemberRefRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 10;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>10</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MetadataFormatException" FullName="Mono.Cecil.Metadata.MetadataFormatException">
+ <TypeSignature Language="C#" Value="public class MetadataFormatException : Mono.Cecil.Binary.ImageFormatException" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Binary.ImageFormatException</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
--- /dev/null
+<Type Name="MetadataHeap" FullName="Mono.Cecil.Metadata.MetadataHeap">
+ <TypeSignature Language="C#" Value="public abstract class MetadataHeap : Mono.Cecil.Metadata.IMetadataVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public abstract void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Data">
+ <MemberSignature Language="C#" Value="public byte[] Data { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetStream">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataStream GetStream ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataStream</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HeapFactory">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.Metadata.MetadataHeap HeapFactory (Mono.Cecil.Metadata.MetadataStream stream);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataHeap</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="stream" Type="Mono.Cecil.Metadata.MetadataStream" />
+ </Parameters>
+ <Docs>
+ <param name="stream">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexSize">
+ <MemberSignature Language="C#" Value="public int IndexSize;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ReadBytesFromStream">
+ <MemberSignature Language="C#" Value="protected virtual byte[] ReadBytesFromStream (uint pos);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="pos" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="pos">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MetadataRoot+MetadataRootHeader" FullName="Mono.Cecil.Metadata.MetadataRoot+MetadataRootHeader">
+ <TypeSignature Language="C#" Value="public sealed class MetadataRoot.MetadataRootHeader : Mono.Cecil.Binary.IHeader, Mono.Cecil.Metadata.IMetadataVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Binary.IHeader</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public ushort Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MajorVersion">
+ <MemberSignature Language="C#" Value="public ushort MajorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MinorVersion">
+ <MemberSignature Language="C#" Value="public ushort MinorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Reserved">
+ <MemberSignature Language="C#" Value="public uint Reserved;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetDefaultValues">
+ <MemberSignature Language="C#" Value="public void SetDefaultValues ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Signature">
+ <MemberSignature Language="C#" Value="public uint Signature;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StandardSignature">
+ <MemberSignature Language="C#" Value="public const uint StandardSignature = 1112167234;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <MemberValue>1112167234</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Streams">
+ <MemberSignature Language="C#" Value="public ushort Streams;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Version">
+ <MemberSignature Language="C#" Value="public string Version;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MetadataRoot" FullName="Mono.Cecil.Metadata.MetadataRoot">
+ <TypeSignature Language="C#" Value="public sealed class MetadataRoot : Mono.Cecil.Metadata.IMetadataVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetImage">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.Image GetImage ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Header">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataRoot.MetadataRootHeader Header { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataRoot+MetadataRootHeader</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Streams">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataStreamCollection Streams { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataStreamCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MetadataStream+MetadataStreamHeader" FullName="Mono.Cecil.Metadata.MetadataStream+MetadataStreamHeader">
+ <TypeSignature Language="C#" Value="public class MetadataStream.MetadataStreamHeader : Mono.Cecil.Metadata.IMetadataVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Offset">
+ <MemberSignature Language="C#" Value="public uint Offset;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Size">
+ <MemberSignature Language="C#" Value="public uint Size;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Stream">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataStream Stream { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataStream</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MetadataStream" FullName="Mono.Cecil.Metadata.MetadataStream">
+ <TypeSignature Language="C#" Value="public class MetadataStream : Mono.Cecil.Metadata.IMetadataVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Blob">
+ <MemberSignature Language="C#" Value="public const string Blob;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GUID">
+ <MemberSignature Language="C#" Value="public const string GUID;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Header">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataStream.MetadataStreamHeader Header { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataStream+MetadataStreamHeader</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Heap">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataHeap Heap { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataHeap</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IncrementalTables">
+ <MemberSignature Language="C#" Value="public const string IncrementalTables;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Strings">
+ <MemberSignature Language="C#" Value="public const string Strings;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Tables">
+ <MemberSignature Language="C#" Value="public const string Tables;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UserStrings">
+ <MemberSignature Language="C#" Value="public const string UserStrings;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MetadataStreamCollection" FullName="Mono.Cecil.Metadata.MetadataStreamCollection">
+ <TypeSignature Language="C#" Value="public class MetadataStreamCollection : Mono.Cecil.Metadata.IMetadataVisitable, System.Collections.ICollection" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.ICollection</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MetadataStreamCollection ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="BlobHeap">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.BlobHeap BlobHeap { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.BlobHeap</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ary" Type="System.Array" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="ary">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Count">
+ <MemberSignature Language="C#" Value="public int Count { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GuidHeap">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.GuidHeap GuidHeap { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.GuidHeap</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSynchronized">
+ <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataStream this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataStream</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="StringsHeap">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.StringsHeap StringsHeap { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.StringsHeap</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SyncRoot">
+ <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TablesHeap">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TablesHeap TablesHeap { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TablesHeap</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UserStringsHeap">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.UserStringsHeap UserStringsHeap { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.UserStringsHeap</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MetadataToken" FullName="Mono.Cecil.Metadata.MetadataToken">
+ <TypeSignature Language="C#" Value="public struct MetadataToken" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.ValueType</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MetadataToken (int token);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="token" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="token">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MetadataToken (Mono.Cecil.Metadata.TokenType table, uint rid);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.TokenType" />
+ <Parameter Name="rid" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <param name="rid">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Equals">
+ <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="other" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetHashCode">
+ <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Equality">
+ <MemberSignature Language="C#" Value="public static bool op_Equality (Mono.Cecil.Metadata.MetadataToken one, Mono.Cecil.Metadata.MetadataToken other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Metadata.MetadataToken" />
+ <Parameter Name="other" Type="Mono.Cecil.Metadata.MetadataToken" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="op_Inequality">
+ <MemberSignature Language="C#" Value="public static bool op_Inequality (Mono.Cecil.Metadata.MetadataToken one, Mono.Cecil.Metadata.MetadataToken other);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="one" Type="Mono.Cecil.Metadata.MetadataToken" />
+ <Parameter Name="other" Type="Mono.Cecil.Metadata.MetadataToken" />
+ </Parameters>
+ <Docs>
+ <param name="one">To be added.</param>
+ <param name="other">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RID">
+ <MemberSignature Language="C#" Value="public uint RID { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TokenType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TokenType TokenType { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToUInt">
+ <MemberSignature Language="C#" Value="public uint ToUInt ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Zero">
+ <MemberSignature Language="C#" Value="public static readonly Mono.Cecil.Metadata.MetadataToken Zero;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodImplRow" FullName="Mono.Cecil.Metadata.MethodImplRow">
+ <TypeSignature Language="C#" Value="public sealed class MethodImplRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Class">
+ <MemberSignature Language="C#" Value="public uint Class;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MethodBody">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MethodBody;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MethodDeclaration">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MethodDeclaration;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodImplTable" FullName="Mono.Cecil.Metadata.MethodImplTable">
+ <TypeSignature Language="C#" Value="public sealed class MethodImplTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MethodImplRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MethodImplRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 25;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>25</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodPtrRow" FullName="Mono.Cecil.Metadata.MethodPtrRow">
+ <TypeSignature Language="C#" Value="public sealed class MethodPtrRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method">
+ <MemberSignature Language="C#" Value="public uint Method;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodPtrTable" FullName="Mono.Cecil.Metadata.MethodPtrTable">
+ <TypeSignature Language="C#" Value="public sealed class MethodPtrTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MethodPtrRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MethodPtrRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 5;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>5</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodRow" FullName="Mono.Cecil.Metadata.MethodRow">
+ <TypeSignature Language="C#" Value="public sealed class MethodRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodAttributes Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImplFlags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodImplAttributes ImplFlags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ParamList">
+ <MemberSignature Language="C#" Value="public uint ParamList;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RVA">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA RVA;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Signature">
+ <MemberSignature Language="C#" Value="public uint Signature;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodSemanticsRow" FullName="Mono.Cecil.Metadata.MethodSemanticsRow">
+ <TypeSignature Language="C#" Value="public sealed class MethodSemanticsRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Association">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Association;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method">
+ <MemberSignature Language="C#" Value="public uint Method;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Semantics">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodSemanticsAttributes Semantics;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodSemanticsTable" FullName="Mono.Cecil.Metadata.MethodSemanticsTable">
+ <TypeSignature Language="C#" Value="public sealed class MethodSemanticsTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MethodSemanticsRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MethodSemanticsRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 24;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>24</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodSpecRow" FullName="Mono.Cecil.Metadata.MethodSpecRow">
+ <TypeSignature Language="C#" Value="public sealed class MethodSpecRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Instantiation">
+ <MemberSignature Language="C#" Value="public uint Instantiation;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Method;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodSpecTable" FullName="Mono.Cecil.Metadata.MethodSpecTable">
+ <TypeSignature Language="C#" Value="public sealed class MethodSpecTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MethodSpecRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MethodSpecRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 43;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>43</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodTable" FullName="Mono.Cecil.Metadata.MethodTable">
+ <TypeSignature Language="C#" Value="public sealed class MethodTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MethodRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MethodRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 6;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>6</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModuleRefRow" FullName="Mono.Cecil.Metadata.ModuleRefRow">
+ <TypeSignature Language="C#" Value="public sealed class ModuleRefRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModuleRefTable" FullName="Mono.Cecil.Metadata.ModuleRefTable">
+ <TypeSignature Language="C#" Value="public sealed class ModuleRefTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ModuleRefRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ModuleRefRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 26;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>26</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModuleRow" FullName="Mono.Cecil.Metadata.ModuleRow">
+ <TypeSignature Language="C#" Value="public sealed class ModuleRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EncBaseId">
+ <MemberSignature Language="C#" Value="public uint EncBaseId;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EncId">
+ <MemberSignature Language="C#" Value="public uint EncId;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Generation">
+ <MemberSignature Language="C#" Value="public ushort Generation;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mvid">
+ <MemberSignature Language="C#" Value="public uint Mvid;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModuleTable" FullName="Mono.Cecil.Metadata.ModuleTable">
+ <TypeSignature Language="C#" Value="public sealed class ModuleTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ModuleRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ModuleRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 0;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>0</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="NestedClassRow" FullName="Mono.Cecil.Metadata.NestedClassRow">
+ <TypeSignature Language="C#" Value="public sealed class NestedClassRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EnclosingClass">
+ <MemberSignature Language="C#" Value="public uint EnclosingClass;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NestedClass">
+ <MemberSignature Language="C#" Value="public uint NestedClass;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="NestedClassTable" FullName="Mono.Cecil.Metadata.NestedClassTable">
+ <TypeSignature Language="C#" Value="public sealed class NestedClassTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.NestedClassRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.NestedClassRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 41;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>41</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ParamPtrRow" FullName="Mono.Cecil.Metadata.ParamPtrRow">
+ <TypeSignature Language="C#" Value="public sealed class ParamPtrRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Param">
+ <MemberSignature Language="C#" Value="public uint Param;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ParamPtrTable" FullName="Mono.Cecil.Metadata.ParamPtrTable">
+ <TypeSignature Language="C#" Value="public sealed class ParamPtrTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ParamPtrRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ParamPtrRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 7;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>7</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ParamRow" FullName="Mono.Cecil.Metadata.ParamRow">
+ <TypeSignature Language="C#" Value="public sealed class ParamRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterAttributes Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Sequence">
+ <MemberSignature Language="C#" Value="public ushort Sequence;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ParamTable" FullName="Mono.Cecil.Metadata.ParamTable">
+ <TypeSignature Language="C#" Value="public sealed class ParamTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.ParamRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.ParamRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 8;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>8</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PropertyMapRow" FullName="Mono.Cecil.Metadata.PropertyMapRow">
+ <TypeSignature Language="C#" Value="public sealed class PropertyMapRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parent">
+ <MemberSignature Language="C#" Value="public uint Parent;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PropertyList">
+ <MemberSignature Language="C#" Value="public uint PropertyList;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PropertyMapTable" FullName="Mono.Cecil.Metadata.PropertyMapTable">
+ <TypeSignature Language="C#" Value="public sealed class PropertyMapTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.PropertyMapRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.PropertyMapRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 21;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>21</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PropertyPtrRow" FullName="Mono.Cecil.Metadata.PropertyPtrRow">
+ <TypeSignature Language="C#" Value="public sealed class PropertyPtrRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Property">
+ <MemberSignature Language="C#" Value="public uint Property;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PropertyPtrTable" FullName="Mono.Cecil.Metadata.PropertyPtrTable">
+ <TypeSignature Language="C#" Value="public sealed class PropertyPtrTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.PropertyPtrRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.PropertyPtrRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 22;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>22</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PropertyRow" FullName="Mono.Cecil.Metadata.PropertyRow">
+ <TypeSignature Language="C#" Value="public sealed class PropertyRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyAttributes Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Type">
+ <MemberSignature Language="C#" Value="public uint Type;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PropertyTable" FullName="Mono.Cecil.Metadata.PropertyTable">
+ <TypeSignature Language="C#" Value="public sealed class PropertyTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.PropertyRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.PropertyRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 23;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>23</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="RowCollection" FullName="Mono.Cecil.Metadata.RowCollection">
+ <TypeSignature Language="C#" Value="public class RowCollection : Mono.Cecil.Metadata.IMetadataRowVisitable, System.Collections.ICollection" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRowVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.ICollection</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Metadata.IMetadataRow value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Metadata.IMetadataRow" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ary" Type="System.Array" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="ary">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Count">
+ <MemberSignature Language="C#" Value="public int Count { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Metadata.IMetadataRow value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Metadata.IMetadataRow" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.Metadata.IMetadataRow value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.Metadata.IMetadataRow" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSynchronized">
+ <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.IMetadataRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.IMetadataRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Metadata.IMetadataRow value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Metadata.IMetadataRow" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveAt">
+ <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Sort">
+ <MemberSignature Language="C#" Value="public void Sort (System.Collections.IComparer comp);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="comp" Type="System.Collections.IComparer" />
+ </Parameters>
+ <Docs>
+ <param name="comp">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SyncRoot">
+ <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="StandAloneSigRow" FullName="Mono.Cecil.Metadata.StandAloneSigRow">
+ <TypeSignature Language="C#" Value="public sealed class StandAloneSigRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Signature">
+ <MemberSignature Language="C#" Value="public uint Signature;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="StandAloneSigTable" FullName="Mono.Cecil.Metadata.StandAloneSigTable">
+ <TypeSignature Language="C#" Value="public sealed class StandAloneSigTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.StandAloneSigRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.StandAloneSigRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 17;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>17</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="StringsHeap" FullName="Mono.Cecil.Metadata.StringsHeap">
+ <TypeSignature Language="C#" Value="public class StringsHeap : Mono.Cecil.Metadata.MetadataHeap" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Metadata.MetadataHeap</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public string this[uint index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TableCollection" FullName="Mono.Cecil.Metadata.TableCollection">
+ <TypeSignature Language="C#" Value="public class TableCollection : Mono.Cecil.Metadata.IMetadataTableVisitable, System.Collections.ICollection" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTableVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.ICollection</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Metadata.IMetadataTable value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Metadata.IMetadataTable" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (Array array, int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="array" Type="System.Array" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="array">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Count">
+ <MemberSignature Language="C#" Value="public int Count { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Heap">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TablesHeap Heap { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TablesHeap</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSynchronized">
+ <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.IMetadataTable this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.IMetadataTable</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SyncRoot">
+ <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TablesHeap" FullName="Mono.Cecil.Metadata.TablesHeap">
+ <TypeSignature Language="C#" Value="public class TablesHeap : Mono.Cecil.Metadata.MetadataHeap" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Metadata.MetadataHeap</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasTable">
+ <MemberSignature Language="C#" Value="public bool HasTable (int id);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="id" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="id">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HeapSizes">
+ <MemberSignature Language="C#" Value="public byte HeapSizes;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.IMetadataTable this[int id] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.IMetadataTable</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="id" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="id">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MajorVersion">
+ <MemberSignature Language="C#" Value="public byte MajorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MaxTableCount">
+ <MemberSignature Language="C#" Value="public const int MaxTableCount = 45;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>45</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MinorVersion">
+ <MemberSignature Language="C#" Value="public byte MinorVersion;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Reserved">
+ <MemberSignature Language="C#" Value="public uint Reserved;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Reserved2">
+ <MemberSignature Language="C#" Value="public byte Reserved2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Sorted">
+ <MemberSignature Language="C#" Value="public long Sorted;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int64</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Tables">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TableCollection Tables { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TableCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Valid">
+ <MemberSignature Language="C#" Value="public long Valid;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int64</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TokenType" FullName="Mono.Cecil.Metadata.TokenType">
+ <TypeSignature Language="C#" Value="public enum TokenType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Assembly">
+ <MemberSignature Language="C#" Value="Assembly" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="AssemblyRef">
+ <MemberSignature Language="C#" Value="AssemblyRef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="BaseType">
+ <MemberSignature Language="C#" Value="BaseType" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CustomAttribute">
+ <MemberSignature Language="C#" Value="CustomAttribute" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Event">
+ <MemberSignature Language="C#" Value="Event" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ExportedType">
+ <MemberSignature Language="C#" Value="ExportedType" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Field">
+ <MemberSignature Language="C#" Value="Field" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="File">
+ <MemberSignature Language="C#" Value="File" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="GenericParam">
+ <MemberSignature Language="C#" Value="GenericParam" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InterfaceImpl">
+ <MemberSignature Language="C#" Value="InterfaceImpl" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ManifestResource">
+ <MemberSignature Language="C#" Value="ManifestResource" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemberRef">
+ <MemberSignature Language="C#" Value="MemberRef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Method">
+ <MemberSignature Language="C#" Value="Method" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MethodSpec">
+ <MemberSignature Language="C#" Value="MethodSpec" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Module">
+ <MemberSignature Language="C#" Value="Module" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ModuleRef">
+ <MemberSignature Language="C#" Value="ModuleRef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="Name" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Param">
+ <MemberSignature Language="C#" Value="Param" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Permission">
+ <MemberSignature Language="C#" Value="Permission" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Property">
+ <MemberSignature Language="C#" Value="Property" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Signature">
+ <MemberSignature Language="C#" Value="Signature" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="String">
+ <MemberSignature Language="C#" Value="String" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="TypeDef">
+ <MemberSignature Language="C#" Value="TypeDef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="TypeRef">
+ <MemberSignature Language="C#" Value="TypeRef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="TypeSpec">
+ <MemberSignature Language="C#" Value="TypeSpec" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TokenType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeDefRow" FullName="Mono.Cecil.Metadata.TypeDefRow">
+ <TypeSignature Language="C#" Value="public sealed class TypeDefRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Extends">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken Extends;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FieldList">
+ <MemberSignature Language="C#" Value="public uint FieldList;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeAttributes Flags;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MethodList">
+ <MemberSignature Language="C#" Value="public uint MethodList;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Namespace">
+ <MemberSignature Language="C#" Value="public uint Namespace;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeDefTable" FullName="Mono.Cecil.Metadata.TypeDefTable">
+ <TypeSignature Language="C#" Value="public sealed class TypeDefTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TypeDefRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TypeDefRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 2;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>2</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeRefRow" FullName="Mono.Cecil.Metadata.TypeRefRow">
+ <TypeSignature Language="C#" Value="public sealed class TypeRefRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public uint Name;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Namespace">
+ <MemberSignature Language="C#" Value="public uint Namespace;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ResolutionScope">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken ResolutionScope;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeRefTable" FullName="Mono.Cecil.Metadata.TypeRefTable">
+ <TypeSignature Language="C#" Value="public sealed class TypeRefTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TypeRefRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TypeRefRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 1;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>1</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeSpecRow" FullName="Mono.Cecil.Metadata.TypeSpecRow">
+ <TypeSignature Language="C#" Value="public sealed class TypeSpecRow : Mono.Cecil.Metadata.IMetadataRow" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataRow</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataRowVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataRowVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Signature">
+ <MemberSignature Language="C#" Value="public uint Signature;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeSpecTable" FullName="Mono.Cecil.Metadata.TypeSpecTable">
+ <TypeSignature Language="C#" Value="public sealed class TypeSpecTable : Mono.Cecil.Metadata.IMetadataTable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.Metadata.IMetadataTable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.Metadata.IMetadataTableVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataTableVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Id">
+ <MemberSignature Language="C#" Value="public int Id { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.TypeSpecRow this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.TypeSpecRow</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RId">
+ <MemberSignature Language="C#" Value="public const int RId = 27;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <MemberValue>27</MemberValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rows">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.RowCollection Rows { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.RowCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="UserStringsHeap" FullName="Mono.Cecil.Metadata.UserStringsHeap">
+ <TypeSignature Language="C#" Value="public class UserStringsHeap : Mono.Cecil.Metadata.MetadataHeap" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Metadata.MetadataHeap</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.Metadata.IMetadataVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.Metadata.IMetadataVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public string this[uint offset] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="offset" Type="System.UInt32" />
+ </Parameters>
+ <Docs>
+ <param name="offset">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ArrayDimension" FullName="Mono.Cecil.ArrayDimension">
+ <TypeSignature Language="C#" Value="public sealed class ArrayDimension" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ArrayDimension (int lb, int ub);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="lb" Type="System.Int32" />
+ <Parameter Name="ub" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="lb">To be added.</param>
+ <param name="ub">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LowerBound">
+ <MemberSignature Language="C#" Value="public int LowerBound { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UpperBound">
+ <MemberSignature Language="C#" Value="public int UpperBound { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ArrayDimensionCollection" FullName="Mono.Cecil.ArrayDimensionCollection">
+ <TypeSignature Language="C#" Value="public sealed class ArrayDimensionCollection : System.Collections.CollectionBase" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ArrayDimensionCollection (Mono.Cecil.ArrayType container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.ArrayType" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.ArrayDimension value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ArrayDimension" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ArrayType Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ArrayType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.ArrayDimension value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ArrayDimension" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.ArrayDimension value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ArrayDimension" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.ArrayDimension value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.ArrayDimension" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ArrayDimension this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ArrayDimension</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.ArrayDimension value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ArrayDimension" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ArrayMarshalSpec" FullName="Mono.Cecil.ArrayMarshalSpec">
+ <TypeSignature Language="C#" Value="public sealed class ArrayMarshalSpec : Mono.Cecil.MarshalSpec" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MarshalSpec</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ArrayMarshalSpec (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CloneInto">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ElemMult">
+ <MemberSignature Language="C#" Value="public int ElemMult { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ElemType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.NativeType ElemType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NumElem">
+ <MemberSignature Language="C#" Value="public int NumElem { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ParamNum">
+ <MemberSignature Language="C#" Value="public int ParamNum { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ArrayType" FullName="Mono.Cecil.ArrayType">
+ <TypeSignature Language="C#" Value="public sealed class ArrayType : Mono.Cecil.TypeSpecification" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ArrayType (Mono.Cecil.TypeReference elementType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="elementType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="elementType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ArrayType (Mono.Cecil.TypeReference elementType, int rank);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="elementType" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="rank" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="elementType">To be added.</param>
+ <param name="rank">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Dimensions">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ArrayDimensionCollection Dimensions { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ArrayDimensionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullName">
+ <MemberSignature Language="C#" Value="public override string FullName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSizedArray">
+ <MemberSignature Language="C#" Value="public bool IsSizedArray { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public override string Name { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Rank">
+ <MemberSignature Language="C#" Value="public int Rank { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyDefinition" FullName="Mono.Cecil.AssemblyDefinition">
+ <TypeSignature Language="C#" Value="public class AssemblyDefinition : Mono.Cecil.IAnnotationProvider, Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IHasSecurity, Mono.Cecil.IReflectionStructureVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IHasSecurity</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CustomAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EntryPoint">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition EntryPoint { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttributes">
+ <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasSecurityDeclarations">
+ <MemberSignature Language="C#" Value="public bool HasSecurityDeclarations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Kind">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyKind Kind { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyKind</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MainModule">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition MainModule { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MetadataToken">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Modules">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinitionCollection Modules { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
+ <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyNameDefinition Name { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyNameDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolver">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.IAssemblyResolver Resolver { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IAssemblyResolver</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Runtime">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TargetRuntime Runtime { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TargetRuntime</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SecurityDeclarations">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclarationCollection SecurityDeclarations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityDeclarationCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyFactory" FullName="Mono.Cecil.AssemblyFactory">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyFactory" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="CreateReflectionAssembly">
+ <MemberSignature Language="C#" Value="public static System.Reflection.Assembly CreateReflectionAssembly (Mono.Cecil.AssemblyDefinition asm);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Reflection.Assembly</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="asm">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CreateReflectionAssembly">
+ <MemberSignature Language="C#" Value="public static System.Reflection.Assembly CreateReflectionAssembly (Mono.Cecil.AssemblyDefinition asm, AppDomain domain);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Reflection.Assembly</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ <Parameter Name="domain" Type="System.AppDomain" />
+ </Parameters>
+ <Docs>
+ <param name="asm">To be added.</param>
+ <param name="domain">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DefineAssembly">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition DefineAssembly (string name, Mono.Cecil.AssemblyKind kind);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="kind" Type="Mono.Cecil.AssemblyKind" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="kind">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DefineAssembly">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition DefineAssembly (string name, Mono.Cecil.TargetRuntime rt, Mono.Cecil.AssemblyKind kind);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="rt" Type="Mono.Cecil.TargetRuntime" />
+ <Parameter Name="kind" Type="Mono.Cecil.AssemblyKind" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="rt">To be added.</param>
+ <param name="kind">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DefineAssembly">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition DefineAssembly (string assemblyName, string moduleName, Mono.Cecil.TargetRuntime rt, Mono.Cecil.AssemblyKind kind);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="assemblyName" Type="System.String" />
+ <Parameter Name="moduleName" Type="System.String" />
+ <Parameter Name="rt" Type="Mono.Cecil.TargetRuntime" />
+ <Parameter Name="kind" Type="Mono.Cecil.AssemblyKind" />
+ </Parameters>
+ <Docs>
+ <param name="assemblyName">To be added.</param>
+ <param name="moduleName">To be added.</param>
+ <param name="rt">To be added.</param>
+ <param name="kind">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetAssembly">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssembly (byte[] assembly);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="assembly" Type="System.Byte[]" />
+ </Parameters>
+ <Docs>
+ <param name="assembly">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetAssembly">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssembly (System.IO.Stream stream);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="stream" Type="System.IO.Stream" />
+ </Parameters>
+ <Docs>
+ <param name="stream">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetAssembly">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssembly (string file);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="file" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="file">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetAssemblyManifest">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssemblyManifest (byte[] assembly);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="assembly" Type="System.Byte[]" />
+ </Parameters>
+ <Docs>
+ <param name="assembly">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetAssemblyManifest">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssemblyManifest (System.IO.Stream stream);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="stream" Type="System.IO.Stream" />
+ </Parameters>
+ <Docs>
+ <param name="stream">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetAssemblyManifest">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyDefinition GetAssemblyManifest (string file);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="file" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="file">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SaveAssembly">
+ <MemberSignature Language="C#" Value="public static void SaveAssembly (Mono.Cecil.AssemblyDefinition asm, out byte[] assembly);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ <Parameter Name="assembly" Type="System.Byte[]&" RefType="out" />
+ </Parameters>
+ <Docs>
+ <param name="asm">To be added.</param>
+ <param name="assembly">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SaveAssembly">
+ <MemberSignature Language="C#" Value="public static void SaveAssembly (Mono.Cecil.AssemblyDefinition asm, System.IO.Stream stream);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ <Parameter Name="stream" Type="System.IO.Stream" />
+ </Parameters>
+ <Docs>
+ <param name="asm">To be added.</param>
+ <param name="stream">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SaveAssembly">
+ <MemberSignature Language="C#" Value="public static void SaveAssembly (Mono.Cecil.AssemblyDefinition asm, string file);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ <Parameter Name="file" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="asm">To be added.</param>
+ <param name="file">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyFlags" FullName="Mono.Cecil.AssemblyFlags">
+ <TypeSignature Language="C#" Value="public enum AssemblyFlags" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="DisableJITcompileOptimizer">
+ <MemberSignature Language="C#" Value="DisableJITcompileOptimizer" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="EnableJITcompileTracking">
+ <MemberSignature Language="C#" Value="EnableJITcompileTracking" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="PublicKey">
+ <MemberSignature Language="C#" Value="PublicKey" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Retargetable">
+ <MemberSignature Language="C#" Value="Retargetable" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SideBySideCompatible">
+ <MemberSignature Language="C#" Value="SideBySideCompatible" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyHashAlgorithm" FullName="Mono.Cecil.AssemblyHashAlgorithm">
+ <TypeSignature Language="C#" Value="public enum AssemblyHashAlgorithm" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="None">
+ <MemberSignature Language="C#" Value="None" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyHashAlgorithm</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Reserved">
+ <MemberSignature Language="C#" Value="Reserved" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyHashAlgorithm</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SHA1">
+ <MemberSignature Language="C#" Value="SHA1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyHashAlgorithm</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyKind" FullName="Mono.Cecil.AssemblyKind">
+ <TypeSignature Language="C#" Value="public enum AssemblyKind" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Console">
+ <MemberSignature Language="C#" Value="Console" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyKind</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Dll">
+ <MemberSignature Language="C#" Value="Dll" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyKind</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Windows">
+ <MemberSignature Language="C#" Value="Windows" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyKind</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyLinkedResource" FullName="Mono.Cecil.AssemblyLinkedResource">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyLinkedResource : Mono.Cecil.Resource" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Resource</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public AssemblyLinkedResource (string name, Mono.Cecil.ManifestResourceAttributes flags, Mono.Cecil.AssemblyNameReference asmRef);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="flags" Type="Mono.Cecil.ManifestResourceAttributes" />
+ <Parameter Name="asmRef" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="flags">To be added.</param>
+ <param name="asmRef">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Assembly">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyNameReference Assembly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyNameReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyNameDefinition" FullName="Mono.Cecil.AssemblyNameDefinition">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyNameDefinition : Mono.Cecil.AssemblyNameReference" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.AssemblyNameReference</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public AssemblyNameDefinition ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public AssemblyNameDefinition (string name, string culture, Version version);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="culture" Type="System.String" />
+ <Parameter Name="version" Type="System.Version" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="culture">To be added.</param>
+ <param name="version">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hash">
+ <MemberSignature Language="C#" Value="public override byte[] Hash { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyNameReference" FullName="Mono.Cecil.AssemblyNameReference">
+ <TypeSignature Language="C#" Value="public class AssemblyNameReference : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IMetadataScope, Mono.Cecil.IReflectionStructureVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataScope</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public AssemblyNameReference ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public AssemblyNameReference (string name, string culture, Version version);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="culture" Type="System.String" />
+ <Parameter Name="version" Type="System.Version" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="culture">To be added.</param>
+ <param name="version">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public virtual void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Culture">
+ <MemberSignature Language="C#" Value="public string Culture { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyFlags Flags { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyFlags</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullName">
+ <MemberSignature Language="C#" Value="public string FullName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hash">
+ <MemberSignature Language="C#" Value="public virtual byte[] Hash { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HashAlgorithm">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyHashAlgorithm HashAlgorithm { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyHashAlgorithm</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasPublicKey">
+ <MemberSignature Language="C#" Value="public bool HasPublicKey { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsRetargetable">
+ <MemberSignature Language="C#" Value="public bool IsRetargetable { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSideBySideCompatible">
+ <MemberSignature Language="C#" Value="public bool IsSideBySideCompatible { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MetadataToken">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
+ <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parse">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.AssemblyNameReference Parse (string fullName);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyNameReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fullName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="fullName">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PublicKey">
+ <MemberSignature Language="C#" Value="public byte[] PublicKey { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PublicKeyToken">
+ <MemberSignature Language="C#" Value="public byte[] PublicKeyToken { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Version">
+ <MemberSignature Language="C#" Value="public Version Version { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Version</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="AssemblyNameReferenceCollection" FullName="Mono.Cecil.AssemblyNameReferenceCollection">
+ <TypeSignature Language="C#" Value="public sealed class AssemblyNameReferenceCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionStructureVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public AssemblyNameReferenceCollection (Mono.Cecil.ModuleDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.AssemblyNameReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.AssemblyNameReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.AssemblyNameReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.AssemblyNameReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyNameReference this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyNameReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.AssemblyNameReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="BaseAssemblyResolver" FullName="Mono.Cecil.BaseAssemblyResolver">
+ <TypeSignature Language="C#" Value="public abstract class BaseAssemblyResolver : Mono.Cecil.IAssemblyResolver" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IAssemblyResolver</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public BaseAssemblyResolver ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AddSearchDirectory">
+ <MemberSignature Language="C#" Value="public void AddSearchDirectory (string directory);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="directory" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="directory">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetSearchDirectories">
+ <MemberSignature Language="C#" Value="public string[] GetSearchDirectories ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String[]</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnMono">
+ <MemberSignature Language="C#" Value="public static bool OnMono ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveSearchDirectory">
+ <MemberSignature Language="C#" Value="public void RemoveSearchDirectory (string directory);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="directory" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="directory">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.AssemblyDefinition Resolve (Mono.Cecil.AssemblyNameReference name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.AssemblyDefinition Resolve (string fullName);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fullName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="fullName">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="BaseReflectionVisitor" FullName="Mono.Cecil.BaseReflectionVisitor">
+ <TypeSignature Language="C#" Value="public abstract class BaseReflectionVisitor : Mono.Cecil.IReflectionVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitor</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected BaseReflectionVisitor ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TerminateModuleDefinition">
+ <MemberSignature Language="C#" Value="public virtual void TerminateModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCollection">
+ <MemberSignature Language="C#" Value="protected void VisitCollection (System.Collections.ICollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="System.Collections.ICollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitConstructor">
+ <MemberSignature Language="C#" Value="public virtual void VisitConstructor (Mono.Cecil.MethodDefinition ctor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ctor" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="ctor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitConstructorCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitConstructorCollection (Mono.Cecil.ConstructorCollection ctors);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ctors" Type="Mono.Cecil.ConstructorCollection" />
+ </Parameters>
+ <Docs>
+ <param name="ctors">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCustomAttribute">
+ <MemberSignature Language="C#" Value="public virtual void VisitCustomAttribute (Mono.Cecil.CustomAttribute customAttr);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="customAttr" Type="Mono.Cecil.CustomAttribute" />
+ </Parameters>
+ <Docs>
+ <param name="customAttr">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCustomAttributeCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitCustomAttributeCollection (Mono.Cecil.CustomAttributeCollection customAttrs);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="customAttrs" Type="Mono.Cecil.CustomAttributeCollection" />
+ </Parameters>
+ <Docs>
+ <param name="customAttrs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitEventDefinition (Mono.Cecil.EventDefinition evt);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="evt" Type="Mono.Cecil.EventDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="evt">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventDefinitionCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitEventDefinitionCollection (Mono.Cecil.EventDefinitionCollection events);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="events" Type="Mono.Cecil.EventDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="events">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExternType">
+ <MemberSignature Language="C#" Value="public virtual void VisitExternType (Mono.Cecil.TypeReference externType);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="externType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="externType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExternTypeCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitExternTypeCollection (Mono.Cecil.ExternTypeCollection externs);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="externs" Type="Mono.Cecil.ExternTypeCollection" />
+ </Parameters>
+ <Docs>
+ <param name="externs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldDefinition (Mono.Cecil.FieldDefinition field);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="Mono.Cecil.FieldDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldDefinitionCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitFieldDefinitionCollection (Mono.Cecil.FieldDefinitionCollection fields);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fields" Type="Mono.Cecil.FieldDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="fields">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParameter">
+ <MemberSignature Language="C#" Value="public virtual void VisitGenericParameter (Mono.Cecil.GenericParameter genparam);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="genparam" Type="Mono.Cecil.GenericParameter" />
+ </Parameters>
+ <Docs>
+ <param name="genparam">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParameterCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitGenericParameterCollection (Mono.Cecil.GenericParameterCollection genparams);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="genparams" Type="Mono.Cecil.GenericParameterCollection" />
+ </Parameters>
+ <Docs>
+ <param name="genparams">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInterface">
+ <MemberSignature Language="C#" Value="public virtual void VisitInterface (Mono.Cecil.TypeReference interf);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="interf" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="interf">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInterfaceCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitInterfaceCollection (Mono.Cecil.InterfaceCollection interfaces);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="interfaces" Type="Mono.Cecil.InterfaceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="interfaces">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMarshalSpec">
+ <MemberSignature Language="C#" Value="public virtual void VisitMarshalSpec (Mono.Cecil.MarshalSpec marshalSpec);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="marshalSpec" Type="Mono.Cecil.MarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="marshalSpec">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMemberReference">
+ <MemberSignature Language="C#" Value="public virtual void VisitMemberReference (Mono.Cecil.MemberReference member);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="member" Type="Mono.Cecil.MemberReference" />
+ </Parameters>
+ <Docs>
+ <param name="member">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMemberReferenceCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitMemberReferenceCollection (Mono.Cecil.MemberReferenceCollection members);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="members" Type="Mono.Cecil.MemberReferenceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="members">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodDefinition (Mono.Cecil.MethodDefinition method);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="method" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="method">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodDefinitionCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitMethodDefinitionCollection (Mono.Cecil.MethodDefinitionCollection methods);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="methods" Type="Mono.Cecil.MethodDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="methods">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitNestedType">
+ <MemberSignature Language="C#" Value="public virtual void VisitNestedType (Mono.Cecil.TypeDefinition nestedType);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="nestedType" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="nestedType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitNestedTypeCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitNestedTypeCollection (Mono.Cecil.NestedTypeCollection nestedTypes);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="nestedTypes" Type="Mono.Cecil.NestedTypeCollection" />
+ </Parameters>
+ <Docs>
+ <param name="nestedTypes">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitOverride">
+ <MemberSignature Language="C#" Value="public virtual void VisitOverride (Mono.Cecil.MethodReference ov);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ov" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="ov">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitOverrideCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitOverrideCollection (Mono.Cecil.OverrideCollection meth);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.OverrideCollection" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParameterDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitParameterDefinition (Mono.Cecil.ParameterDefinition parameter);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="parameter" Type="Mono.Cecil.ParameterDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="parameter">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParameterDefinitionCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitParameterDefinitionCollection (Mono.Cecil.ParameterDefinitionCollection parameters);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="parameters" Type="Mono.Cecil.ParameterDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="parameters">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPInvokeInfo">
+ <MemberSignature Language="C#" Value="public virtual void VisitPInvokeInfo (Mono.Cecil.PInvokeInfo pinvk);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="pinvk" Type="Mono.Cecil.PInvokeInfo" />
+ </Parameters>
+ <Docs>
+ <param name="pinvk">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitPropertyDefinition (Mono.Cecil.PropertyDefinition property);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="property" Type="Mono.Cecil.PropertyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="property">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyDefinitionCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitPropertyDefinitionCollection (Mono.Cecil.PropertyDefinitionCollection properties);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="properties" Type="Mono.Cecil.PropertyDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="properties">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitSecurityDeclaration">
+ <MemberSignature Language="C#" Value="public virtual void VisitSecurityDeclaration (Mono.Cecil.SecurityDeclaration secDecl);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="secDecl" Type="Mono.Cecil.SecurityDeclaration" />
+ </Parameters>
+ <Docs>
+ <param name="secDecl">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitSecurityDeclarationCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitSecurityDeclarationCollection (Mono.Cecil.SecurityDeclarationCollection secDecls);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="secDecls" Type="Mono.Cecil.SecurityDeclarationCollection" />
+ </Parameters>
+ <Docs>
+ <param name="secDecls">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitTypeDefinition (Mono.Cecil.TypeDefinition type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeDefinitionCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitTypeDefinitionCollection (Mono.Cecil.TypeDefinitionCollection types);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="types" Type="Mono.Cecil.TypeDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="types">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeReference">
+ <MemberSignature Language="C#" Value="public virtual void VisitTypeReference (Mono.Cecil.TypeReference type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeReferenceCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitTypeReferenceCollection (Mono.Cecil.TypeReferenceCollection refs);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="refs" Type="Mono.Cecil.TypeReferenceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="refs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="BaseStructureVisitor" FullName="Mono.Cecil.BaseStructureVisitor">
+ <TypeSignature Language="C#" Value="public abstract class BaseStructureVisitor : Mono.Cecil.IReflectionStructureVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionStructureVisitor</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected BaseStructureVisitor ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TerminateAssemblyDefinition">
+ <MemberSignature Language="C#" Value="public virtual void TerminateAssemblyDefinition (Mono.Cecil.AssemblyDefinition asm);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="asm">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyDefinition (Mono.Cecil.AssemblyDefinition asm);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="asm">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyLinkedResource">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyLinkedResource (Mono.Cecil.AssemblyLinkedResource res);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="res" Type="Mono.Cecil.AssemblyLinkedResource" />
+ </Parameters>
+ <Docs>
+ <param name="res">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyNameDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyNameDefinition (Mono.Cecil.AssemblyNameDefinition name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="Mono.Cecil.AssemblyNameDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyNameReference">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyNameReference (Mono.Cecil.AssemblyNameReference name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyNameReferenceCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitAssemblyNameReferenceCollection (Mono.Cecil.AssemblyNameReferenceCollection names);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="names" Type="Mono.Cecil.AssemblyNameReferenceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="names">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCollection">
+ <MemberSignature Language="C#" Value="protected void VisitCollection (System.Collections.ICollection coll);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="coll" Type="System.Collections.ICollection" />
+ </Parameters>
+ <Docs>
+ <param name="coll">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEmbeddedResource">
+ <MemberSignature Language="C#" Value="public virtual void VisitEmbeddedResource (Mono.Cecil.EmbeddedResource res);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="res" Type="Mono.Cecil.EmbeddedResource" />
+ </Parameters>
+ <Docs>
+ <param name="res">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitLinkedResource">
+ <MemberSignature Language="C#" Value="public virtual void VisitLinkedResource (Mono.Cecil.LinkedResource res);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="res" Type="Mono.Cecil.LinkedResource" />
+ </Parameters>
+ <Docs>
+ <param name="res">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleDefinition">
+ <MemberSignature Language="C#" Value="public virtual void VisitModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleDefinitionCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitModuleDefinitionCollection (Mono.Cecil.ModuleDefinitionCollection modules);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="modules" Type="Mono.Cecil.ModuleDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="modules">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleReference">
+ <MemberSignature Language="C#" Value="public virtual void VisitModuleReference (Mono.Cecil.ModuleReference module);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleReference" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleReferenceCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitModuleReferenceCollection (Mono.Cecil.ModuleReferenceCollection modules);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="modules" Type="Mono.Cecil.ModuleReferenceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="modules">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitResourceCollection">
+ <MemberSignature Language="C#" Value="public virtual void VisitResourceCollection (Mono.Cecil.ResourceCollection resources);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="resources" Type="Mono.Cecil.ResourceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="resources">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="CallSite" FullName="Mono.Cecil.CallSite">
+ <TypeSignature Language="C#" Value="public sealed class CallSite : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IMetadataTokenProvider, Mono.Cecil.IMethodSignature" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMethodSignature</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public CallSite (bool hasThis, bool explicitThis, Mono.Cecil.MethodCallingConvention callConv, Mono.Cecil.MethodReturnType retType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="hasThis" Type="System.Boolean" />
+ <Parameter Name="explicitThis" Type="System.Boolean" />
+ <Parameter Name="callConv" Type="Mono.Cecil.MethodCallingConvention" />
+ <Parameter Name="retType" Type="Mono.Cecil.MethodReturnType" />
+ </Parameters>
+ <Docs>
+ <param name="hasThis">To be added.</param>
+ <param name="explicitThis">To be added.</param>
+ <param name="callConv">To be added.</param>
+ <param name="retType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CallingConvention">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodCallingConvention CallingConvention { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExplicitThis">
+ <MemberSignature Language="C#" Value="public bool ExplicitThis { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetSentinel">
+ <MemberSignature Language="C#" Value="public int GetSentinel ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasParameters">
+ <MemberSignature Language="C#" Value="public bool HasParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasThis">
+ <MemberSignature Language="C#" Value="public bool HasThis { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MetadataToken">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
+ <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parameters">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ReturnType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReturnType ReturnType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReturnType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="Constants" FullName="Mono.Cecil.Constants">
+ <TypeSignature Language="C#" Value="public class Constants" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Boolean">
+ <MemberSignature Language="C#" Value="public const string Boolean;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Byte">
+ <MemberSignature Language="C#" Value="public const string Byte;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Char">
+ <MemberSignature Language="C#" Value="public const string Char;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Corlib">
+ <MemberSignature Language="C#" Value="public const string Corlib;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Deleted">
+ <MemberSignature Language="C#" Value="public const string Deleted;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Double">
+ <MemberSignature Language="C#" Value="public const string Double;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Enum">
+ <MemberSignature Language="C#" Value="public const string Enum;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Int16">
+ <MemberSignature Language="C#" Value="public const string Int16;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Int32">
+ <MemberSignature Language="C#" Value="public const string Int32;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Int64">
+ <MemberSignature Language="C#" Value="public const string Int64;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IntPtr">
+ <MemberSignature Language="C#" Value="public const string IntPtr;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ModuleType">
+ <MemberSignature Language="C#" Value="public const string ModuleType;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Object">
+ <MemberSignature Language="C#" Value="public const string Object;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PrivateImplDetails">
+ <MemberSignature Language="C#" Value="public const string PrivateImplDetails;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SByte">
+ <MemberSignature Language="C#" Value="public const string SByte;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Single">
+ <MemberSignature Language="C#" Value="public const string Single;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="String">
+ <MemberSignature Language="C#" Value="public const string String;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Type">
+ <MemberSignature Language="C#" Value="public const string Type;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TypedReference">
+ <MemberSignature Language="C#" Value="public const string TypedReference;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UInt16">
+ <MemberSignature Language="C#" Value="public const string UInt16;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UInt32">
+ <MemberSignature Language="C#" Value="public const string UInt32;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UInt64">
+ <MemberSignature Language="C#" Value="public const string UInt64;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UIntPtr">
+ <MemberSignature Language="C#" Value="public const string UIntPtr;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ValueType">
+ <MemberSignature Language="C#" Value="public const string ValueType;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Void">
+ <MemberSignature Language="C#" Value="public const string Void;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ConstraintCollection" FullName="Mono.Cecil.ConstraintCollection">
+ <TypeSignature Language="C#" Value="public sealed class ConstraintCollection : System.Collections.CollectionBase" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ConstraintCollection (Mono.Cecil.GenericParameter container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.GenericParameter" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameter Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameter</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ConstructorCollection" FullName="Mono.Cecil.ConstructorCollection">
+ <TypeSignature Language="C#" Value="public sealed class ConstructorCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ConstructorCollection (Mono.Cecil.TypeDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.MethodDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.MethodDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetConstructor">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetConstructor (bool isStatic, Mono.Cecil.ParameterDefinitionCollection parameters);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="isStatic" Type="System.Boolean" />
+ <Parameter Name="parameters" Type="Mono.Cecil.ParameterDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="isStatic">To be added.</param>
+ <param name="parameters">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetConstructor">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetConstructor (bool isStatic, Mono.Cecil.TypeReference[] parameters);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="isStatic" Type="System.Boolean" />
+ <Parameter Name="parameters" Type="Mono.Cecil.TypeReference[]" />
+ </Parameters>
+ <Docs>
+ <param name="isStatic">To be added.</param>
+ <param name="parameters">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetConstructor">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetConstructor (bool isStatic, Type[] parameters);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="isStatic" Type="System.Boolean" />
+ <Parameter Name="parameters" Type="System.Type[]" />
+ </Parameters>
+ <Docs>
+ <param name="isStatic">To be added.</param>
+ <param name="parameters">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.MethodDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.MethodDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.MethodDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveAt">
+ <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="CustomAttribute" FullName="Mono.Cecil.CustomAttribute">
+ <TypeSignature Language="C#" Value="public sealed class CustomAttribute : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IReflectionVisitable, Mono.Cecil.IRequireResolving" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IRequireResolving</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public CustomAttribute (Mono.Cecil.MethodReference ctor);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="ctor" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="ctor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public CustomAttribute (Mono.Cecil.MethodReference ctor, byte[] blob);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="ctor" Type="Mono.Cecil.MethodReference" />
+ <Parameter Name="blob" Type="System.Byte[]" />
+ </Parameters>
+ <Docs>
+ <param name="ctor">To be added.</param>
+ <param name="blob">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Blob">
+ <MemberSignature Language="C#" Value="public byte[] Blob { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clone">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttribute Clone ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttribute</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Constructor">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Constructor { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ConstructorParameters">
+ <MemberSignature Language="C#" Value="public System.Collections.IList ConstructorParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IList</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Fields">
+ <MemberSignature Language="C#" Value="public System.Collections.IDictionary Fields { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetFieldType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference GetFieldType (string fieldName);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fieldName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="fieldName">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetPropertyType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference GetPropertyType (string propertyName);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="propertyName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="propertyName">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
+ <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Properties">
+ <MemberSignature Language="C#" Value="public System.Collections.IDictionary Properties { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public bool Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolved">
+ <MemberSignature Language="C#" Value="public bool Resolved { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetFieldType">
+ <MemberSignature Language="C#" Value="public void SetFieldType (string fieldName, Mono.Cecil.TypeReference type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fieldName" Type="System.String" />
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="fieldName">To be added.</param>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetPropertyType">
+ <MemberSignature Language="C#" Value="public void SetPropertyType (string propertyName, Mono.Cecil.TypeReference type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="propertyName" Type="System.String" />
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="propertyName">To be added.</param>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="CustomAttributeCollection" FullName="Mono.Cecil.CustomAttributeCollection">
+ <TypeSignature Language="C#" Value="public sealed class CustomAttributeCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public CustomAttributeCollection (Mono.Cecil.ICustomAttributeProvider container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.ICustomAttributeProvider" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.CustomAttribute value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.CustomAttribute" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ICustomAttributeProvider Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ICustomAttributeProvider</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.CustomAttribute value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.CustomAttribute" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.CustomAttribute value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.CustomAttribute" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.CustomAttribute value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.CustomAttribute" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttribute this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttribute</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.CustomAttribute value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.CustomAttribute" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="CustomMarshalerSpec" FullName="Mono.Cecil.CustomMarshalerSpec">
+ <TypeSignature Language="C#" Value="public sealed class CustomMarshalerSpec : Mono.Cecil.MarshalSpec" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MarshalSpec</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public CustomMarshalerSpec (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CloneInto">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Cookie">
+ <MemberSignature Language="C#" Value="public string Cookie { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Guid">
+ <MemberSignature Language="C#" Value="public Guid Guid { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ManagedType">
+ <MemberSignature Language="C#" Value="public string ManagedType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="UnmanagedType">
+ <MemberSignature Language="C#" Value="public string UnmanagedType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DefaultAssemblyResolver" FullName="Mono.Cecil.DefaultAssemblyResolver">
+ <TypeSignature Language="C#" Value="public class DefaultAssemblyResolver : Mono.Cecil.BaseAssemblyResolver" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.BaseAssemblyResolver</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public DefaultAssemblyResolver ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RegisterAssembly">
+ <MemberSignature Language="C#" Value="protected void RegisterAssembly (Mono.Cecil.AssemblyDefinition assembly);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="assembly" Type="Mono.Cecil.AssemblyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="assembly">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.AssemblyDefinition Resolve (Mono.Cecil.AssemblyNameReference name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="DefaultImporter" FullName="Mono.Cecil.DefaultImporter">
+ <TypeSignature Language="C#" Value="public class DefaultImporter : Mono.Cecil.IImporter" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IImporter</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public DefaultImporter (Mono.Cecil.ModuleDefinition module);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportAssembly">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyNameReference ImportAssembly (Mono.Cecil.AssemblyNameReference asm);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyNameReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="asm">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportFieldReference">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.FieldReference ImportFieldReference (Mono.Cecil.FieldReference fr, Mono.Cecil.ImportContext context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fr" Type="Mono.Cecil.FieldReference" />
+ <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
+ </Parameters>
+ <Docs>
+ <param name="fr">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportMethodReference">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MethodReference ImportMethodReference (Mono.Cecil.MethodReference mr, Mono.Cecil.ImportContext context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="mr" Type="Mono.Cecil.MethodReference" />
+ <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
+ </Parameters>
+ <Docs>
+ <param name="mr">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportTypeReference">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.TypeReference ImportTypeReference (Mono.Cecil.TypeReference t, Mono.Cecil.ImportContext context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="t" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
+ </Parameters>
+ <Docs>
+ <param name="t">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Module">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Module { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EmbeddedResource" FullName="Mono.Cecil.EmbeddedResource">
+ <TypeSignature Language="C#" Value="public sealed class EmbeddedResource : Mono.Cecil.Resource" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Resource</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public EmbeddedResource (string name, Mono.Cecil.ManifestResourceAttributes flags);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="flags" Type="Mono.Cecil.ManifestResourceAttributes" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="flags">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public EmbeddedResource (string name, Mono.Cecil.ManifestResourceAttributes flags, byte[] data);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="flags" Type="Mono.Cecil.ManifestResourceAttributes" />
+ <Parameter Name="data" Type="System.Byte[]" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="flags">To be added.</param>
+ <param name="data">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Data">
+ <MemberSignature Language="C#" Value="public byte[] Data { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EventAttributes" FullName="Mono.Cecil.EventAttributes">
+ <TypeSignature Language="C#" Value="public enum EventAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="RTSpecialName">
+ <MemberSignature Language="C#" Value="RTSpecialName" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.EventAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SpecialName">
+ <MemberSignature Language="C#" Value="SpecialName" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.EventAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EventDefinition" FullName="Mono.Cecil.EventDefinition">
+ <TypeSignature Language="C#" Value="public sealed class EventDefinition : Mono.Cecil.EventReference, Mono.Cecil.IMemberDefinition" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.EventReference</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMemberDefinition</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public EventDefinition (string name, Mono.Cecil.TypeReference eventType, Mono.Cecil.EventAttributes attrs);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="eventType" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="attrs" Type="Mono.Cecil.EventAttributes" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="eventType">To be added.</param>
+ <param name="attrs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AddMethod">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition AddMethod { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Attributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.EventAttributes Attributes { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.EventAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clone">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.EventDefinition Clone ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.EventDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CreateAddMethod">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.MethodDefinition CreateAddMethod (Mono.Cecil.EventDefinition evt);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="evt" Type="Mono.Cecil.EventDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="evt">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CreateInvokeMethod">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.MethodDefinition CreateInvokeMethod (Mono.Cecil.EventDefinition evt);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="evt" Type="Mono.Cecil.EventDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="evt">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CreateRemoveMethod">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.MethodDefinition CreateRemoveMethod (Mono.Cecil.EventDefinition evt);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="evt" Type="Mono.Cecil.EventDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="evt">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CustomAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DeclaringType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttributes">
+ <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="InvokeMethod">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition InvokeMethod { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsRuntimeSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveMethod">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition RemoveMethod { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.EventDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.EventDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EventDefinitionCollection" FullName="Mono.Cecil.EventDefinitionCollection">
+ <TypeSignature Language="C#" Value="public sealed class EventDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public EventDefinitionCollection (Mono.Cecil.TypeDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.EventDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.EventDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.EventDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.EventDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEvent">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.EventDefinition GetEvent (string name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.EventDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.EventDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.EventDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.EventDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.EventDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.EventDefinition this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.EventDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.EventDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.EventDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveAt">
+ <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="EventReference" FullName="Mono.Cecil.EventReference">
+ <TypeSignature Language="C#" Value="public abstract class EventReference : Mono.Cecil.MemberReference" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MemberReference</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public EventReference (string name, Mono.Cecil.TypeReference eventType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="eventType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="eventType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EventType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference EventType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public abstract Mono.Cecil.EventDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.EventDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ExternTypeCollection" FullName="Mono.Cecil.ExternTypeCollection">
+ <TypeSignature Language="C#" Value="public sealed class ExternTypeCollection : System.Collections.Specialized.NameObjectCollectionBase, Mono.Cecil.IReflectionVisitable, System.Collections.IList" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.Specialized.NameObjectCollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.IList</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ExternTypeCollection (Mono.Cecil.ModuleDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (string fullName);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fullName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="fullName">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ary" Type="System.Array" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="ary">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSynchronized">
+ <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[string fullName] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fullName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="fullName">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveAt">
+ <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SyncRoot">
+ <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Add">
+ <MemberSignature Language="C#" Value="int IList.Add (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Contains">
+ <MemberSignature Language="C#" Value="bool IList.Contains (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.IndexOf">
+ <MemberSignature Language="C#" Value="int IList.IndexOf (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Insert">
+ <MemberSignature Language="C#" Value="void IList.Insert (int index, object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.IsFixedSize">
+ <MemberSignature Language="C#" Value="bool System.Collections.IList.IsFixedSize { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.IsReadOnly">
+ <MemberSignature Language="C#" Value="bool System.Collections.IList.IsReadOnly { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Item">
+ <MemberSignature Language="C#" Value="object System.Collections.IList.Item[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Remove">
+ <MemberSignature Language="C#" Value="void IList.Remove (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldAttributes" FullName="Mono.Cecil.FieldAttributes">
+ <TypeSignature Language="C#" Value="public enum FieldAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Assembly">
+ <MemberSignature Language="C#" Value="Assembly" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Compilercontrolled">
+ <MemberSignature Language="C#" Value="Compilercontrolled" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FamANDAssem">
+ <MemberSignature Language="C#" Value="FamANDAssem" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Family">
+ <MemberSignature Language="C#" Value="Family" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FamORAssem">
+ <MemberSignature Language="C#" Value="FamORAssem" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FieldAccessMask">
+ <MemberSignature Language="C#" Value="FieldAccessMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasDefault">
+ <MemberSignature Language="C#" Value="HasDefault" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasFieldMarshal">
+ <MemberSignature Language="C#" Value="HasFieldMarshal" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasFieldRVA">
+ <MemberSignature Language="C#" Value="HasFieldRVA" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InitOnly">
+ <MemberSignature Language="C#" Value="InitOnly" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Literal">
+ <MemberSignature Language="C#" Value="Literal" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NotSerialized">
+ <MemberSignature Language="C#" Value="NotSerialized" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="PInvokeImpl">
+ <MemberSignature Language="C#" Value="PInvokeImpl" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Private">
+ <MemberSignature Language="C#" Value="Private" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Public">
+ <MemberSignature Language="C#" Value="Public" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RTSpecialName">
+ <MemberSignature Language="C#" Value="RTSpecialName" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SpecialName">
+ <MemberSignature Language="C#" Value="SpecialName" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Static">
+ <MemberSignature Language="C#" Value="Static" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldDefinition" FullName="Mono.Cecil.FieldDefinition">
+ <TypeSignature Language="C#" Value="public sealed class FieldDefinition : Mono.Cecil.FieldReference, Mono.Cecil.IHasConstant, Mono.Cecil.IHasMarshalSpec, Mono.Cecil.IMemberDefinition" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.FieldReference</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IHasConstant</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IHasMarshalSpec</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMemberDefinition</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public FieldDefinition (string name, Mono.Cecil.TypeReference fieldType, Mono.Cecil.FieldAttributes attrs);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="fieldType" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="attrs" Type="Mono.Cecil.FieldAttributes" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="fieldType">To be added.</param>
+ <param name="attrs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Attributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldAttributes Attributes { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clone">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinition Clone ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Constant">
+ <MemberSignature Language="C#" Value="public object Constant { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CustomAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DeclaringType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasConstant">
+ <MemberSignature Language="C#" Value="public bool HasConstant { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttributes">
+ <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasDefault">
+ <MemberSignature Language="C#" Value="public bool HasDefault { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasLayoutInfo">
+ <MemberSignature Language="C#" Value="public bool HasLayoutInfo { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="InitialValue">
+ <MemberSignature Language="C#" Value="public byte[] InitialValue { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsAssembly">
+ <MemberSignature Language="C#" Value="public bool IsAssembly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCompilerControlled">
+ <MemberSignature Language="C#" Value="public bool IsCompilerControlled { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsFamily">
+ <MemberSignature Language="C#" Value="public bool IsFamily { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsFamilyAndAssembly">
+ <MemberSignature Language="C#" Value="public bool IsFamilyAndAssembly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsFamilyOrAssembly">
+ <MemberSignature Language="C#" Value="public bool IsFamilyOrAssembly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsInitOnly">
+ <MemberSignature Language="C#" Value="public bool IsInitOnly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsLiteral">
+ <MemberSignature Language="C#" Value="public bool IsLiteral { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNotSerialized">
+ <MemberSignature Language="C#" Value="public bool IsNotSerialized { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPInvokeImpl">
+ <MemberSignature Language="C#" Value="public bool IsPInvokeImpl { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPrivate">
+ <MemberSignature Language="C#" Value="public bool IsPrivate { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPublic">
+ <MemberSignature Language="C#" Value="public bool IsPublic { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsRuntimeSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsStatic">
+ <MemberSignature Language="C#" Value="public bool IsStatic { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MarshalSpec">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MarshalSpec MarshalSpec { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Offset">
+ <MemberSignature Language="C#" Value="public uint Offset { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.FieldDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RVA">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA RVA { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldDefinitionCollection" FullName="Mono.Cecil.FieldDefinitionCollection">
+ <TypeSignature Language="C#" Value="public sealed class FieldDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public FieldDefinitionCollection (Mono.Cecil.TypeDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.FieldDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.FieldDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.FieldDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.FieldDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetField">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinition GetField (string name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.FieldDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.FieldDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.FieldDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.FieldDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinition this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.FieldDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.FieldDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveAt">
+ <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FieldReference" FullName="Mono.Cecil.FieldReference">
+ <TypeSignature Language="C#" Value="public class FieldReference : Mono.Cecil.MemberReference" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MemberReference</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public FieldReference (string name, Mono.Cecil.TypeReference declaringType, Mono.Cecil.TypeReference fieldType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="declaringType" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="fieldType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="declaringType">To be added.</param>
+ <param name="fieldType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FieldType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference FieldType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.FieldDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FileAttributes" FullName="Mono.Cecil.FileAttributes">
+ <TypeSignature Language="C#" Value="public enum FileAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="ContainsMetaData">
+ <MemberSignature Language="C#" Value="ContainsMetaData" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FileAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ContainsNoMetaData">
+ <MemberSignature Language="C#" Value="ContainsNoMetaData" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FileAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FixedArraySpec" FullName="Mono.Cecil.FixedArraySpec">
+ <TypeSignature Language="C#" Value="public sealed class FixedArraySpec : Mono.Cecil.MarshalSpec" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MarshalSpec</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public FixedArraySpec (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CloneInto">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ElemType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.NativeType ElemType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NumElem">
+ <MemberSignature Language="C#" Value="public int NumElem { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FixedSysStringSpec" FullName="Mono.Cecil.FixedSysStringSpec">
+ <TypeSignature Language="C#" Value="public sealed class FixedSysStringSpec : Mono.Cecil.MarshalSpec" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MarshalSpec</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public FixedSysStringSpec (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CloneInto">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Size">
+ <MemberSignature Language="C#" Value="public int Size { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="FunctionPointerType" FullName="Mono.Cecil.FunctionPointerType">
+ <TypeSignature Language="C#" Value="public sealed class FunctionPointerType : Mono.Cecil.TypeSpecification, Mono.Cecil.IMethodSignature" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMethodSignature</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public FunctionPointerType (bool hasThis, bool explicitThis, Mono.Cecil.MethodCallingConvention callConv, Mono.Cecil.MethodReturnType retType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="hasThis" Type="System.Boolean" />
+ <Parameter Name="explicitThis" Type="System.Boolean" />
+ <Parameter Name="callConv" Type="Mono.Cecil.MethodCallingConvention" />
+ <Parameter Name="retType" Type="Mono.Cecil.MethodReturnType" />
+ </Parameters>
+ <Docs>
+ <param name="hasThis">To be added.</param>
+ <param name="explicitThis">To be added.</param>
+ <param name="callConv">To be added.</param>
+ <param name="retType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CallingConvention">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodCallingConvention CallingConvention { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExplicitThis">
+ <MemberSignature Language="C#" Value="public bool ExplicitThis { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullName">
+ <MemberSignature Language="C#" Value="public override string FullName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetSentinel">
+ <MemberSignature Language="C#" Value="public int GetSentinel ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasParameters">
+ <MemberSignature Language="C#" Value="public bool HasParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasThis">
+ <MemberSignature Language="C#" Value="public bool HasThis { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public override string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Namespace">
+ <MemberSignature Language="C#" Value="public override string Namespace { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parameters">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ReturnType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReturnType ReturnType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReturnType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Scope">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.IMetadataScope Scope { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IMetadataScope</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericArgumentCollection" FullName="Mono.Cecil.GenericArgumentCollection">
+ <TypeSignature Language="C#" Value="public sealed class GenericArgumentCollection : System.Collections.CollectionBase" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GenericArgumentCollection (Mono.Cecil.IGenericInstance container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IGenericInstance" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.IGenericInstance Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IGenericInstance</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericContext" FullName="Mono.Cecil.GenericContext">
+ <TypeSignature Language="C#" Value="public class GenericContext" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GenericContext ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GenericContext (Mono.Cecil.IGenericParameterProvider provider);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="provider" Type="Mono.Cecil.IGenericParameterProvider" />
+ </Parameters>
+ <Docs>
+ <param name="provider">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GenericContext (Mono.Cecil.TypeReference type, Mono.Cecil.MethodReference meth);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <param name="meth">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AllowCreation">
+ <MemberSignature Language="C#" Value="public bool AllowCreation { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clone">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericContext Clone ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericContext</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Method { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Null">
+ <MemberSignature Language="C#" Value="public bool Null { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Type">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Type { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericInstanceMethod" FullName="Mono.Cecil.GenericInstanceMethod">
+ <TypeSignature Language="C#" Value="public sealed class GenericInstanceMethod : Mono.Cecil.MethodSpecification, Mono.Cecil.IGenericInstance" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MethodSpecification</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IGenericInstance</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GenericInstanceMethod (Mono.Cecil.MethodReference elemMethod);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="elemMethod" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="elemMethod">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GenericArguments">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericArgumentCollection GenericArguments { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericArgumentCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasGenericArguments">
+ <MemberSignature Language="C#" Value="public bool HasGenericArguments { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericInstanceType" FullName="Mono.Cecil.GenericInstanceType">
+ <TypeSignature Language="C#" Value="public sealed class GenericInstanceType : Mono.Cecil.TypeSpecification, Mono.Cecil.IGenericInstance" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IGenericInstance</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GenericInstanceType (Mono.Cecil.TypeReference elementType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="elementType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="elementType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullName">
+ <MemberSignature Language="C#" Value="public override string FullName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GenericArguments">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericArgumentCollection GenericArguments { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericArgumentCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasGenericArguments">
+ <MemberSignature Language="C#" Value="public bool HasGenericArguments { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsValueType">
+ <MemberSignature Language="C#" Value="public override bool IsValueType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericParameter" FullName="Mono.Cecil.GenericParameter">
+ <TypeSignature Language="C#" Value="public sealed class GenericParameter : Mono.Cecil.TypeReference" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeReference</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GenericParameter (string name, Mono.Cecil.IGenericParameterProvider owner);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="owner" Type="Mono.Cecil.IGenericParameterProvider" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="owner">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Attributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameterAttributes Attributes { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Constraints">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ConstraintCollection Constraints { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ConstraintCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullName">
+ <MemberSignature Language="C#" Value="public override string FullName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasConstraints">
+ <MemberSignature Language="C#" Value="public bool HasConstraints { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasDefaultConstructorConstraint">
+ <MemberSignature Language="C#" Value="public bool HasDefaultConstructorConstraint { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasNotNullableValueTypeConstraint">
+ <MemberSignature Language="C#" Value="public bool HasNotNullableValueTypeConstraint { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasReferenceTypeConstraint">
+ <MemberSignature Language="C#" Value="public bool HasReferenceTypeConstraint { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsContravariant">
+ <MemberSignature Language="C#" Value="public bool IsContravariant { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCovariant">
+ <MemberSignature Language="C#" Value="public bool IsCovariant { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNonVariant">
+ <MemberSignature Language="C#" Value="public bool IsNonVariant { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public override string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Namespace">
+ <MemberSignature Language="C#" Value="public override string Namespace { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Owner">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.IGenericParameterProvider Owner { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IGenericParameterProvider</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Position">
+ <MemberSignature Language="C#" Value="public int Position { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.TypeDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Scope">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.IMetadataScope Scope { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IMetadataScope</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericParameterAttributes" FullName="Mono.Cecil.GenericParameterAttributes">
+ <TypeSignature Language="C#" Value="public enum GenericParameterAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Contravariant">
+ <MemberSignature Language="C#" Value="Contravariant" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Covariant">
+ <MemberSignature Language="C#" Value="Covariant" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="DefaultConstructorConstraint">
+ <MemberSignature Language="C#" Value="DefaultConstructorConstraint" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NonVariant">
+ <MemberSignature Language="C#" Value="NonVariant" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NotNullableValueTypeConstraint">
+ <MemberSignature Language="C#" Value="NotNullableValueTypeConstraint" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ReferenceTypeConstraint">
+ <MemberSignature Language="C#" Value="ReferenceTypeConstraint" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SpecialConstraintMask">
+ <MemberSignature Language="C#" Value="SpecialConstraintMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="VarianceMask">
+ <MemberSignature Language="C#" Value="VarianceMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="GenericParameterCollection" FullName="Mono.Cecil.GenericParameterCollection">
+ <TypeSignature Language="C#" Value="public sealed class GenericParameterCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public GenericParameterCollection (Mono.Cecil.IGenericParameterProvider container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IGenericParameterProvider" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.GenericParameter value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.GenericParameter" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.IGenericParameterProvider Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IGenericParameterProvider</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.GenericParameter value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.GenericParameter" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.GenericParameter value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.GenericParameter" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.GenericParameter value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.GenericParameter" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameter this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameter</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.GenericParameter value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.GenericParameter" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IAnnotationProvider" FullName="Mono.Cecil.IAnnotationProvider">
+ <TypeSignature Language="C#" Value="public interface IAnnotationProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Annotations">
+ <MemberSignature Language="C#" Value="public System.Collections.IDictionary Annotations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IAssemblyResolver" FullName="Mono.Cecil.IAssemblyResolver">
+ <TypeSignature Language="C#" Value="public interface IAssemblyResolver" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyDefinition Resolve (Mono.Cecil.AssemblyNameReference name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyDefinition Resolve (string fullName);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fullName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="fullName">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ICustomAttributeProvider" FullName="Mono.Cecil.ICustomAttributeProvider">
+ <TypeSignature Language="C#" Value="public interface ICustomAttributeProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="CustomAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttributes">
+ <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IGenericInstance" FullName="Mono.Cecil.IGenericInstance">
+ <TypeSignature Language="C#" Value="public interface IGenericInstance : Mono.Cecil.IMetadataTokenProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="GenericArguments">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericArgumentCollection GenericArguments { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericArgumentCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasGenericArguments">
+ <MemberSignature Language="C#" Value="public bool HasGenericArguments { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IGenericParameterProvider" FullName="Mono.Cecil.IGenericParameterProvider">
+ <TypeSignature Language="C#" Value="public interface IGenericParameterProvider : Mono.Cecil.IMetadataTokenProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="GenericParameters">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameterCollection GenericParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasGenericParameters">
+ <MemberSignature Language="C#" Value="public bool HasGenericParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IHasConstant" FullName="Mono.Cecil.IHasConstant">
+ <TypeSignature Language="C#" Value="public interface IHasConstant : Mono.Cecil.IMetadataTokenProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Constant">
+ <MemberSignature Language="C#" Value="public object Constant { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasConstant">
+ <MemberSignature Language="C#" Value="public bool HasConstant { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IHasMarshalSpec" FullName="Mono.Cecil.IHasMarshalSpec">
+ <TypeSignature Language="C#" Value="public interface IHasMarshalSpec : Mono.Cecil.IMetadataTokenProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="MarshalSpec">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MarshalSpec MarshalSpec { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IHasSecurity" FullName="Mono.Cecil.IHasSecurity">
+ <TypeSignature Language="C#" Value="public interface IHasSecurity : Mono.Cecil.IMetadataTokenProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="HasSecurityDeclarations">
+ <MemberSignature Language="C#" Value="public bool HasSecurityDeclarations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SecurityDeclarations">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclarationCollection SecurityDeclarations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityDeclarationCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IImporter" FullName="Mono.Cecil.IImporter">
+ <TypeSignature Language="C#" Value="public interface IImporter" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="ImportFieldReference">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference ImportFieldReference (Mono.Cecil.FieldReference field, Mono.Cecil.ImportContext context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
+ <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportMethodReference">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference ImportMethodReference (Mono.Cecil.MethodReference method, Mono.Cecil.ImportContext context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="method" Type="Mono.Cecil.MethodReference" />
+ <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
+ </Parameters>
+ <Docs>
+ <param name="method">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImportTypeReference">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference ImportTypeReference (Mono.Cecil.TypeReference type, Mono.Cecil.ImportContext context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="context" Type="Mono.Cecil.ImportContext" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMemberDefinition" FullName="Mono.Cecil.IMemberDefinition">
+ <TypeSignature Language="C#" Value="public interface IMemberDefinition : Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IMemberReference" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMemberReference</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="DeclaringType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsRuntimeSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMemberReference" FullName="Mono.Cecil.IMemberReference">
+ <TypeSignature Language="C#" Value="public interface IMemberReference : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IMetadataTokenProvider, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="DeclaringType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference DeclaringType { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMetadataScope" FullName="Mono.Cecil.IMetadataScope">
+ <TypeSignature Language="C#" Value="public interface IMetadataScope : Mono.Cecil.IMetadataTokenProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMetadataTokenProvider" FullName="Mono.Cecil.IMetadataTokenProvider">
+ <TypeSignature Language="C#" Value="public interface IMetadataTokenProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="MetadataToken">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IMethodSignature" FullName="Mono.Cecil.IMethodSignature">
+ <TypeSignature Language="C#" Value="public interface IMethodSignature" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="CallingConvention">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodCallingConvention CallingConvention { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExplicitThis">
+ <MemberSignature Language="C#" Value="public bool ExplicitThis { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetSentinel">
+ <MemberSignature Language="C#" Value="public int GetSentinel ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasParameters">
+ <MemberSignature Language="C#" Value="public bool HasParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasThis">
+ <MemberSignature Language="C#" Value="public bool HasThis { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parameters">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ReturnType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReturnType ReturnType { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReturnType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IReflectionStructureVisitable" FullName="Mono.Cecil.IReflectionStructureVisitable">
+ <TypeSignature Language="C#" Value="public interface IReflectionStructureVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IReflectionStructureVisitor" FullName="Mono.Cecil.IReflectionStructureVisitor">
+ <TypeSignature Language="C#" Value="public interface IReflectionStructureVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="TerminateAssemblyDefinition">
+ <MemberSignature Language="C#" Value="public void TerminateAssemblyDefinition (Mono.Cecil.AssemblyDefinition asm);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="asm">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyDefinition">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyDefinition (Mono.Cecil.AssemblyDefinition asm);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="asm">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyLinkedResource">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyLinkedResource (Mono.Cecil.AssemblyLinkedResource res);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="res" Type="Mono.Cecil.AssemblyLinkedResource" />
+ </Parameters>
+ <Docs>
+ <param name="res">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyNameDefinition">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyNameDefinition (Mono.Cecil.AssemblyNameDefinition name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="Mono.Cecil.AssemblyNameDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyNameReference">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyNameReference (Mono.Cecil.AssemblyNameReference name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="Mono.Cecil.AssemblyNameReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitAssemblyNameReferenceCollection">
+ <MemberSignature Language="C#" Value="public void VisitAssemblyNameReferenceCollection (Mono.Cecil.AssemblyNameReferenceCollection names);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="names" Type="Mono.Cecil.AssemblyNameReferenceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="names">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEmbeddedResource">
+ <MemberSignature Language="C#" Value="public void VisitEmbeddedResource (Mono.Cecil.EmbeddedResource res);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="res" Type="Mono.Cecil.EmbeddedResource" />
+ </Parameters>
+ <Docs>
+ <param name="res">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitLinkedResource">
+ <MemberSignature Language="C#" Value="public void VisitLinkedResource (Mono.Cecil.LinkedResource res);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="res" Type="Mono.Cecil.LinkedResource" />
+ </Parameters>
+ <Docs>
+ <param name="res">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleDefinition">
+ <MemberSignature Language="C#" Value="public void VisitModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleDefinitionCollection">
+ <MemberSignature Language="C#" Value="public void VisitModuleDefinitionCollection (Mono.Cecil.ModuleDefinitionCollection modules);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="modules" Type="Mono.Cecil.ModuleDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="modules">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleReference">
+ <MemberSignature Language="C#" Value="public void VisitModuleReference (Mono.Cecil.ModuleReference module);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleReference" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleReferenceCollection">
+ <MemberSignature Language="C#" Value="public void VisitModuleReferenceCollection (Mono.Cecil.ModuleReferenceCollection modules);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="modules" Type="Mono.Cecil.ModuleReferenceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="modules">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitResourceCollection">
+ <MemberSignature Language="C#" Value="public void VisitResourceCollection (Mono.Cecil.ResourceCollection resources);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="resources" Type="Mono.Cecil.ResourceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="resources">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IReflectionVisitable" FullName="Mono.Cecil.IReflectionVisitable">
+ <TypeSignature Language="C#" Value="public interface IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IReflectionVisitor" FullName="Mono.Cecil.IReflectionVisitor">
+ <TypeSignature Language="C#" Value="public interface IReflectionVisitor" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="TerminateModuleDefinition">
+ <MemberSignature Language="C#" Value="public void TerminateModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitConstructor">
+ <MemberSignature Language="C#" Value="public void VisitConstructor (Mono.Cecil.MethodDefinition ctor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ctor" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="ctor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitConstructorCollection">
+ <MemberSignature Language="C#" Value="public void VisitConstructorCollection (Mono.Cecil.ConstructorCollection ctors);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ctors" Type="Mono.Cecil.ConstructorCollection" />
+ </Parameters>
+ <Docs>
+ <param name="ctors">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCustomAttribute">
+ <MemberSignature Language="C#" Value="public void VisitCustomAttribute (Mono.Cecil.CustomAttribute customAttr);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="customAttr" Type="Mono.Cecil.CustomAttribute" />
+ </Parameters>
+ <Docs>
+ <param name="customAttr">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitCustomAttributeCollection">
+ <MemberSignature Language="C#" Value="public void VisitCustomAttributeCollection (Mono.Cecil.CustomAttributeCollection customAttrs);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="customAttrs" Type="Mono.Cecil.CustomAttributeCollection" />
+ </Parameters>
+ <Docs>
+ <param name="customAttrs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventDefinition">
+ <MemberSignature Language="C#" Value="public void VisitEventDefinition (Mono.Cecil.EventDefinition evt);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="evt" Type="Mono.Cecil.EventDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="evt">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitEventDefinitionCollection">
+ <MemberSignature Language="C#" Value="public void VisitEventDefinitionCollection (Mono.Cecil.EventDefinitionCollection events);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="events" Type="Mono.Cecil.EventDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="events">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExternType">
+ <MemberSignature Language="C#" Value="public void VisitExternType (Mono.Cecil.TypeReference externType);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="externType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="externType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitExternTypeCollection">
+ <MemberSignature Language="C#" Value="public void VisitExternTypeCollection (Mono.Cecil.ExternTypeCollection externs);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="externs" Type="Mono.Cecil.ExternTypeCollection" />
+ </Parameters>
+ <Docs>
+ <param name="externs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldDefinition">
+ <MemberSignature Language="C#" Value="public void VisitFieldDefinition (Mono.Cecil.FieldDefinition field);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="Mono.Cecil.FieldDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitFieldDefinitionCollection">
+ <MemberSignature Language="C#" Value="public void VisitFieldDefinitionCollection (Mono.Cecil.FieldDefinitionCollection fields);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fields" Type="Mono.Cecil.FieldDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="fields">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParameter">
+ <MemberSignature Language="C#" Value="public void VisitGenericParameter (Mono.Cecil.GenericParameter genparam);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="genparam" Type="Mono.Cecil.GenericParameter" />
+ </Parameters>
+ <Docs>
+ <param name="genparam">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitGenericParameterCollection">
+ <MemberSignature Language="C#" Value="public void VisitGenericParameterCollection (Mono.Cecil.GenericParameterCollection genparams);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="genparams" Type="Mono.Cecil.GenericParameterCollection" />
+ </Parameters>
+ <Docs>
+ <param name="genparams">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInterface">
+ <MemberSignature Language="C#" Value="public void VisitInterface (Mono.Cecil.TypeReference interf);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="interf" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="interf">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitInterfaceCollection">
+ <MemberSignature Language="C#" Value="public void VisitInterfaceCollection (Mono.Cecil.InterfaceCollection interfaces);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="interfaces" Type="Mono.Cecil.InterfaceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="interfaces">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMarshalSpec">
+ <MemberSignature Language="C#" Value="public void VisitMarshalSpec (Mono.Cecil.MarshalSpec marshalSpec);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="marshalSpec" Type="Mono.Cecil.MarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="marshalSpec">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMemberReference">
+ <MemberSignature Language="C#" Value="public void VisitMemberReference (Mono.Cecil.MemberReference member);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="member" Type="Mono.Cecil.MemberReference" />
+ </Parameters>
+ <Docs>
+ <param name="member">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMemberReferenceCollection">
+ <MemberSignature Language="C#" Value="public void VisitMemberReferenceCollection (Mono.Cecil.MemberReferenceCollection members);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="members" Type="Mono.Cecil.MemberReferenceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="members">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodDefinition">
+ <MemberSignature Language="C#" Value="public void VisitMethodDefinition (Mono.Cecil.MethodDefinition method);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="method" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="method">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitMethodDefinitionCollection">
+ <MemberSignature Language="C#" Value="public void VisitMethodDefinitionCollection (Mono.Cecil.MethodDefinitionCollection methods);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="methods" Type="Mono.Cecil.MethodDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="methods">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitModuleDefinition">
+ <MemberSignature Language="C#" Value="public void VisitModuleDefinition (Mono.Cecil.ModuleDefinition module);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="module" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="module">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitNestedType">
+ <MemberSignature Language="C#" Value="public void VisitNestedType (Mono.Cecil.TypeDefinition nestedType);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="nestedType" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="nestedType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitNestedTypeCollection">
+ <MemberSignature Language="C#" Value="public void VisitNestedTypeCollection (Mono.Cecil.NestedTypeCollection nestedTypes);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="nestedTypes" Type="Mono.Cecil.NestedTypeCollection" />
+ </Parameters>
+ <Docs>
+ <param name="nestedTypes">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitOverride">
+ <MemberSignature Language="C#" Value="public void VisitOverride (Mono.Cecil.MethodReference ov);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ov" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="ov">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitOverrideCollection">
+ <MemberSignature Language="C#" Value="public void VisitOverrideCollection (Mono.Cecil.OverrideCollection meth);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.OverrideCollection" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParameterDefinition">
+ <MemberSignature Language="C#" Value="public void VisitParameterDefinition (Mono.Cecil.ParameterDefinition parameter);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="parameter" Type="Mono.Cecil.ParameterDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="parameter">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitParameterDefinitionCollection">
+ <MemberSignature Language="C#" Value="public void VisitParameterDefinitionCollection (Mono.Cecil.ParameterDefinitionCollection parameters);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="parameters" Type="Mono.Cecil.ParameterDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="parameters">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPInvokeInfo">
+ <MemberSignature Language="C#" Value="public void VisitPInvokeInfo (Mono.Cecil.PInvokeInfo pinvk);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="pinvk" Type="Mono.Cecil.PInvokeInfo" />
+ </Parameters>
+ <Docs>
+ <param name="pinvk">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyDefinition">
+ <MemberSignature Language="C#" Value="public void VisitPropertyDefinition (Mono.Cecil.PropertyDefinition property);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="property" Type="Mono.Cecil.PropertyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="property">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitPropertyDefinitionCollection">
+ <MemberSignature Language="C#" Value="public void VisitPropertyDefinitionCollection (Mono.Cecil.PropertyDefinitionCollection properties);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="properties" Type="Mono.Cecil.PropertyDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="properties">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitSecurityDeclaration">
+ <MemberSignature Language="C#" Value="public void VisitSecurityDeclaration (Mono.Cecil.SecurityDeclaration secDecl);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="secDecl" Type="Mono.Cecil.SecurityDeclaration" />
+ </Parameters>
+ <Docs>
+ <param name="secDecl">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitSecurityDeclarationCollection">
+ <MemberSignature Language="C#" Value="public void VisitSecurityDeclarationCollection (Mono.Cecil.SecurityDeclarationCollection secDecls);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="secDecls" Type="Mono.Cecil.SecurityDeclarationCollection" />
+ </Parameters>
+ <Docs>
+ <param name="secDecls">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeDefinition">
+ <MemberSignature Language="C#" Value="public void VisitTypeDefinition (Mono.Cecil.TypeDefinition type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeDefinitionCollection">
+ <MemberSignature Language="C#" Value="public void VisitTypeDefinitionCollection (Mono.Cecil.TypeDefinitionCollection types);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="types" Type="Mono.Cecil.TypeDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="types">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeReference">
+ <MemberSignature Language="C#" Value="public void VisitTypeReference (Mono.Cecil.TypeReference type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="VisitTypeReferenceCollection">
+ <MemberSignature Language="C#" Value="public void VisitTypeReferenceCollection (Mono.Cecil.TypeReferenceCollection refs);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="refs" Type="Mono.Cecil.TypeReferenceCollection" />
+ </Parameters>
+ <Docs>
+ <param name="refs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="IRequireResolving" FullName="Mono.Cecil.IRequireResolving">
+ <TypeSignature Language="C#" Value="public interface IRequireResolving" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Blob">
+ <MemberSignature Language="C#" Value="public byte[] Blob { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public bool Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolved">
+ <MemberSignature Language="C#" Value="public bool Resolved { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ImportContext" FullName="Mono.Cecil.ImportContext">
+ <TypeSignature Language="C#" Value="public class ImportContext" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ImportContext (Mono.Cecil.IImporter importer);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
+ </Parameters>
+ <Docs>
+ <param name="importer">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ImportContext (Mono.Cecil.IImporter importer, Mono.Cecil.IGenericParameterProvider provider);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
+ <Parameter Name="provider" Type="Mono.Cecil.IGenericParameterProvider" />
+ </Parameters>
+ <Docs>
+ <param name="importer">To be added.</param>
+ <param name="provider">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GenericContext">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericContext GenericContext { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericContext</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (Mono.Cecil.FieldReference field);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (Mono.Cecil.MethodReference meth);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Mono.Cecil.TypeReference type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="InterfaceCollection" FullName="Mono.Cecil.InterfaceCollection">
+ <TypeSignature Language="C#" Value="public sealed class InterfaceCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public InterfaceCollection (Mono.Cecil.TypeDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="LinkedResource" FullName="Mono.Cecil.LinkedResource">
+ <TypeSignature Language="C#" Value="public sealed class LinkedResource : Mono.Cecil.Resource" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Resource</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public LinkedResource (string name, Mono.Cecil.ManifestResourceAttributes flags, string file);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="flags" Type="Mono.Cecil.ManifestResourceAttributes" />
+ <Parameter Name="file" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="flags">To be added.</param>
+ <param name="file">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="File">
+ <MemberSignature Language="C#" Value="public string File { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Hash">
+ <MemberSignature Language="C#" Value="public byte[] Hash { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ManifestResourceAttributes" FullName="Mono.Cecil.ManifestResourceAttributes">
+ <TypeSignature Language="C#" Value="public enum ManifestResourceAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Private">
+ <MemberSignature Language="C#" Value="Private" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ManifestResourceAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Public">
+ <MemberSignature Language="C#" Value="Public" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ManifestResourceAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="VisibilityMask">
+ <MemberSignature Language="C#" Value="VisibilityMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ManifestResourceAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MarshalSpec" FullName="Mono.Cecil.MarshalSpec">
+ <TypeSignature Language="C#" Value="public class MarshalSpec" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MarshalSpec (Mono.Cecil.NativeType natIntr, Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="natIntr" Type="Mono.Cecil.NativeType" />
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="natIntr">To be added.</param>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public virtual void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CloneInto">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.IHasMarshalSpec Container { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IHasMarshalSpec</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NativeIntrinsic">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.NativeType NativeIntrinsic { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MemberReference" FullName="Mono.Cecil.MemberReference">
+ <TypeSignature Language="C#" Value="public abstract class MemberReference : Mono.Cecil.IMemberReference" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMemberReference</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MemberReference (string name);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public virtual void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DeclaringType">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.TypeReference DeclaringType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MetadataToken">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
+ <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public virtual string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MemberReferenceCollection" FullName="Mono.Cecil.MemberReferenceCollection">
+ <TypeSignature Language="C#" Value="public sealed class MemberReferenceCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MemberReferenceCollection (Mono.Cecil.ModuleDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.MemberReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MemberReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.MemberReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MemberReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.MemberReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MemberReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.MemberReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.MemberReference" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MemberReference this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MemberReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.MemberReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MemberReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodAttributes" FullName="Mono.Cecil.MethodAttributes">
+ <TypeSignature Language="C#" Value="public enum MethodAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Abstract">
+ <MemberSignature Language="C#" Value="Abstract" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Assem">
+ <MemberSignature Language="C#" Value="Assem" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Compilercontrolled">
+ <MemberSignature Language="C#" Value="Compilercontrolled" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FamANDAssem">
+ <MemberSignature Language="C#" Value="FamANDAssem" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Family">
+ <MemberSignature Language="C#" Value="Family" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FamORAssem">
+ <MemberSignature Language="C#" Value="FamORAssem" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Final">
+ <MemberSignature Language="C#" Value="Final" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasSecurity">
+ <MemberSignature Language="C#" Value="HasSecurity" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HideBySig">
+ <MemberSignature Language="C#" Value="HideBySig" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MemberAccessMask">
+ <MemberSignature Language="C#" Value="MemberAccessMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NewSlot">
+ <MemberSignature Language="C#" Value="NewSlot" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="PInvokeImpl">
+ <MemberSignature Language="C#" Value="PInvokeImpl" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Private">
+ <MemberSignature Language="C#" Value="Private" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Public">
+ <MemberSignature Language="C#" Value="Public" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RequireSecObject">
+ <MemberSignature Language="C#" Value="RequireSecObject" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ReuseSlot">
+ <MemberSignature Language="C#" Value="ReuseSlot" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RTSpecialName">
+ <MemberSignature Language="C#" Value="RTSpecialName" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SpecialName">
+ <MemberSignature Language="C#" Value="SpecialName" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Static">
+ <MemberSignature Language="C#" Value="Static" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Strict">
+ <MemberSignature Language="C#" Value="Strict" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="UnmanagedExport">
+ <MemberSignature Language="C#" Value="UnmanagedExport" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Virtual">
+ <MemberSignature Language="C#" Value="Virtual" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="VtableLayoutMask">
+ <MemberSignature Language="C#" Value="VtableLayoutMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodCallingConvention" FullName="Mono.Cecil.MethodCallingConvention">
+ <TypeSignature Language="C#" Value="public enum MethodCallingConvention" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="C">
+ <MemberSignature Language="C#" Value="C" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Default">
+ <MemberSignature Language="C#" Value="Default" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FastCall">
+ <MemberSignature Language="C#" Value="FastCall" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Generic">
+ <MemberSignature Language="C#" Value="Generic" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="StdCall">
+ <MemberSignature Language="C#" Value="StdCall" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ThisCall">
+ <MemberSignature Language="C#" Value="ThisCall" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="VarArg">
+ <MemberSignature Language="C#" Value="VarArg" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodDefinition" FullName="Mono.Cecil.MethodDefinition">
+ <TypeSignature Language="C#" Value="public sealed class MethodDefinition : Mono.Cecil.MethodReference, Mono.Cecil.IHasSecurity, Mono.Cecil.IMemberDefinition" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MethodReference</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IHasSecurity</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMemberDefinition</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MethodDefinition (string name, Mono.Cecil.MethodAttributes attrs, Mono.Cecil.TypeReference returnType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="attrs" Type="Mono.Cecil.MethodAttributes" />
+ <Parameter Name="returnType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="attrs">To be added.</param>
+ <param name="returnType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MethodDefinition (string name, Mono.Cecil.Binary.RVA rva, Mono.Cecil.MethodAttributes attrs, Mono.Cecil.MethodImplAttributes implAttrs, bool hasThis, bool explicitThis, Mono.Cecil.MethodCallingConvention callConv);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="rva" Type="Mono.Cecil.Binary.RVA" />
+ <Parameter Name="attrs" Type="Mono.Cecil.MethodAttributes" />
+ <Parameter Name="implAttrs" Type="Mono.Cecil.MethodImplAttributes" />
+ <Parameter Name="hasThis" Type="System.Boolean" />
+ <Parameter Name="explicitThis" Type="System.Boolean" />
+ <Parameter Name="callConv" Type="Mono.Cecil.MethodCallingConvention" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="rva">To be added.</param>
+ <param name="attrs">To be added.</param>
+ <param name="implAttrs">To be added.</param>
+ <param name="hasThis">To be added.</param>
+ <param name="explicitThis">To be added.</param>
+ <param name="callConv">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Attributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodAttributes Attributes { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Body">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Cil.MethodBody Body { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Cil.MethodBody</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Cctor">
+ <MemberSignature Language="C#" Value="public const string Cctor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clone">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Clone ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Ctor">
+ <MemberSignature Language="C#" Value="public const string Ctor;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CustomAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DeclaringType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasBody">
+ <MemberSignature Language="C#" Value="public bool HasBody { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttributes">
+ <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasOverrides">
+ <MemberSignature Language="C#" Value="public bool HasOverrides { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasSecurity">
+ <MemberSignature Language="C#" Value="public bool HasSecurity { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasSecurityDeclarations">
+ <MemberSignature Language="C#" Value="public bool HasSecurityDeclarations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ImplAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodImplAttributes ImplAttributes { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsAbstract">
+ <MemberSignature Language="C#" Value="public bool IsAbstract { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsAddOn">
+ <MemberSignature Language="C#" Value="public bool IsAddOn { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsAssembly">
+ <MemberSignature Language="C#" Value="public bool IsAssembly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCompilerControlled">
+ <MemberSignature Language="C#" Value="public bool IsCompilerControlled { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsConstructor">
+ <MemberSignature Language="C#" Value="public bool IsConstructor { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsFamily">
+ <MemberSignature Language="C#" Value="public bool IsFamily { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsFamilyAndAssembly">
+ <MemberSignature Language="C#" Value="public bool IsFamilyAndAssembly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsFamilyOrAssembly">
+ <MemberSignature Language="C#" Value="public bool IsFamilyOrAssembly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsFinal">
+ <MemberSignature Language="C#" Value="public bool IsFinal { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsFire">
+ <MemberSignature Language="C#" Value="public bool IsFire { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsForwardRef">
+ <MemberSignature Language="C#" Value="public bool IsForwardRef { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsGetter">
+ <MemberSignature Language="C#" Value="public bool IsGetter { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsHideBySig">
+ <MemberSignature Language="C#" Value="public bool IsHideBySig { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsIL">
+ <MemberSignature Language="C#" Value="public bool IsIL { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsInternalCall">
+ <MemberSignature Language="C#" Value="public bool IsInternalCall { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsManaged">
+ <MemberSignature Language="C#" Value="public bool IsManaged { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNative">
+ <MemberSignature Language="C#" Value="public bool IsNative { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNewSlot">
+ <MemberSignature Language="C#" Value="public bool IsNewSlot { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsOther">
+ <MemberSignature Language="C#" Value="public bool IsOther { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPInvokeImpl">
+ <MemberSignature Language="C#" Value="public bool IsPInvokeImpl { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPreserveSig">
+ <MemberSignature Language="C#" Value="public bool IsPreserveSig { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPrivate">
+ <MemberSignature Language="C#" Value="public bool IsPrivate { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPublic">
+ <MemberSignature Language="C#" Value="public bool IsPublic { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsRemoveOn">
+ <MemberSignature Language="C#" Value="public bool IsRemoveOn { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsReuseSlot">
+ <MemberSignature Language="C#" Value="public bool IsReuseSlot { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsRuntime">
+ <MemberSignature Language="C#" Value="public bool IsRuntime { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsRuntimeSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSetter">
+ <MemberSignature Language="C#" Value="public bool IsSetter { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsStatic">
+ <MemberSignature Language="C#" Value="public bool IsStatic { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsStrict">
+ <MemberSignature Language="C#" Value="public bool IsStrict { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSynchronized">
+ <MemberSignature Language="C#" Value="public bool IsSynchronized { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsUnmanaged">
+ <MemberSignature Language="C#" Value="public bool IsUnmanaged { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsUnmanagedExport">
+ <MemberSignature Language="C#" Value="public bool IsUnmanagedExport { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsVirtual">
+ <MemberSignature Language="C#" Value="public bool IsVirtual { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NoInlining">
+ <MemberSignature Language="C#" Value="public bool NoInlining { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Overrides">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.OverrideCollection Overrides { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.OverrideCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PInvokeInfo">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.PInvokeInfo PInvokeInfo { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeInfo</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.MethodDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RVA">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.RVA RVA { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.RVA</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SecurityDeclarations">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclarationCollection SecurityDeclarations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityDeclarationCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SemanticsAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodSemanticsAttributes SemanticsAttributes { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="This">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinition This { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodDefinitionCollection" FullName="Mono.Cecil.MethodDefinitionCollection">
+ <TypeSignature Language="C#" Value="public sealed class MethodDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MethodDefinitionCollection (Mono.Cecil.TypeDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.MethodDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.MethodDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetMethod">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition[] GetMethod (string name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition[]</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetMethod">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetMethod (string name, Mono.Cecil.ParameterDefinitionCollection parameters);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="parameters" Type="Mono.Cecil.ParameterDefinitionCollection" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="parameters">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetMethod">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetMethod (string name, Mono.Cecil.TypeReference[] parameters);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="parameters" Type="Mono.Cecil.TypeReference[]" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="parameters">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetMethod">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetMethod (string name, Type[] parameters);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="parameters" Type="System.Type[]" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="parameters">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.MethodDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.MethodDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.MethodDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveAt">
+ <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodImplAttributes" FullName="Mono.Cecil.MethodImplAttributes">
+ <TypeSignature Language="C#" Value="public enum MethodImplAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="CodeTypeMask">
+ <MemberSignature Language="C#" Value="CodeTypeMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ForwardRef">
+ <MemberSignature Language="C#" Value="ForwardRef" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="IL">
+ <MemberSignature Language="C#" Value="IL" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InternalCall">
+ <MemberSignature Language="C#" Value="InternalCall" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Managed">
+ <MemberSignature Language="C#" Value="Managed" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ManagedMask">
+ <MemberSignature Language="C#" Value="ManagedMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MaxMethodImplVal">
+ <MemberSignature Language="C#" Value="MaxMethodImplVal" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Native">
+ <MemberSignature Language="C#" Value="Native" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NoInlining">
+ <MemberSignature Language="C#" Value="NoInlining" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="OPTIL">
+ <MemberSignature Language="C#" Value="OPTIL" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="PreserveSig">
+ <MemberSignature Language="C#" Value="PreserveSig" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Runtime">
+ <MemberSignature Language="C#" Value="Runtime" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Synchronized">
+ <MemberSignature Language="C#" Value="Synchronized" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Unmanaged">
+ <MemberSignature Language="C#" Value="Unmanaged" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodImplAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodReference" FullName="Mono.Cecil.MethodReference">
+ <TypeSignature Language="C#" Value="public class MethodReference : Mono.Cecil.MemberReference, Mono.Cecil.IGenericParameterProvider, Mono.Cecil.IMethodSignature" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MemberReference</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IGenericParameterProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMethodSignature</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MethodReference (string name, Mono.Cecil.TypeReference declaringType, Mono.Cecil.TypeReference returnType, bool hasThis, bool explicitThis, Mono.Cecil.MethodCallingConvention callConv);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="declaringType" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="returnType" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="hasThis" Type="System.Boolean" />
+ <Parameter Name="explicitThis" Type="System.Boolean" />
+ <Parameter Name="callConv" Type="Mono.Cecil.MethodCallingConvention" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="declaringType">To be added.</param>
+ <param name="returnType">To be added.</param>
+ <param name="hasThis">To be added.</param>
+ <param name="explicitThis">To be added.</param>
+ <param name="callConv">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CallingConvention">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MethodCallingConvention CallingConvention { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExplicitThis">
+ <MemberSignature Language="C#" Value="public virtual bool ExplicitThis { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GenericParameters">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameterCollection GenericParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetOriginalMethod">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MethodReference GetOriginalMethod ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetSentinel">
+ <MemberSignature Language="C#" Value="public int GetSentinel ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasGenericParameters">
+ <MemberSignature Language="C#" Value="public bool HasGenericParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasParameters">
+ <MemberSignature Language="C#" Value="public virtual bool HasParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasThis">
+ <MemberSignature Language="C#" Value="public virtual bool HasThis { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parameters">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MethodDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ReturnType">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.MethodReturnType ReturnType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReturnType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodReturnType" FullName="Mono.Cecil.MethodReturnType">
+ <TypeSignature Language="C#" Value="public sealed class MethodReturnType : Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IHasConstant, Mono.Cecil.IHasMarshalSpec" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IHasConstant</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IHasMarshalSpec</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public MethodReturnType (Mono.Cecil.TypeReference retType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="retType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="retType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Constant">
+ <MemberSignature Language="C#" Value="public object Constant { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CustomAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasConstant">
+ <MemberSignature Language="C#" Value="public bool HasConstant { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttributes">
+ <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MarshalSpec">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MarshalSpec MarshalSpec { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MetadataToken">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Method { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ReturnType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference ReturnType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodSemanticsAttributes" FullName="Mono.Cecil.MethodSemanticsAttributes">
+ <TypeSignature Language="C#" Value="public enum MethodSemanticsAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="AddOn">
+ <MemberSignature Language="C#" Value="AddOn" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Fire">
+ <MemberSignature Language="C#" Value="Fire" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Getter">
+ <MemberSignature Language="C#" Value="Getter" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Other">
+ <MemberSignature Language="C#" Value="Other" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveOn">
+ <MemberSignature Language="C#" Value="RemoveOn" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Setter">
+ <MemberSignature Language="C#" Value="Setter" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodSemanticsAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="MethodSpecification" FullName="Mono.Cecil.MethodSpecification">
+ <TypeSignature Language="C#" Value="public abstract class MethodSpecification : Mono.Cecil.MethodReference" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MethodReference</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="CallingConvention">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.MethodCallingConvention CallingConvention { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodCallingConvention</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DeclaringType">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.TypeReference DeclaringType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ElementMethod">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference ElementMethod { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExplicitThis">
+ <MemberSignature Language="C#" Value="public override bool ExplicitThis { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetOriginalMethod">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.MethodReference GetOriginalMethod ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasParameters">
+ <MemberSignature Language="C#" Value="public override bool HasParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasThis">
+ <MemberSignature Language="C#" Value="public override bool HasThis { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public override string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parameters">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ReturnType">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.MethodReturnType ReturnType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReturnType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModType" FullName="Mono.Cecil.ModType">
+ <TypeSignature Language="C#" Value="public abstract class ModType : Mono.Cecil.TypeSpecification" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ModType (Mono.Cecil.TypeReference elemType, Mono.Cecil.TypeReference modType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="elemType" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="modType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="elemType">To be added.</param>
+ <param name="modType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullName">
+ <MemberSignature Language="C#" Value="public override string FullName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ModifierName">
+ <MemberSignature Language="C#" Value="protected abstract string ModifierName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ModifierType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference ModifierType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public override string Name { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModifierOptional" FullName="Mono.Cecil.ModifierOptional">
+ <TypeSignature Language="C#" Value="public sealed class ModifierOptional : Mono.Cecil.ModType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.ModType</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ModifierOptional (Mono.Cecil.TypeReference elemType, Mono.Cecil.TypeReference modType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="elemType" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="modType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="elemType">To be added.</param>
+ <param name="modType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ModifierName">
+ <MemberSignature Language="C#" Value="protected override string ModifierName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModifierRequired" FullName="Mono.Cecil.ModifierRequired">
+ <TypeSignature Language="C#" Value="public sealed class ModifierRequired : Mono.Cecil.ModType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.ModType</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ModifierRequired (Mono.Cecil.TypeReference elemType, Mono.Cecil.TypeReference modType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="elemType" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="modType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="elemType">To be added.</param>
+ <param name="modType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ModifierName">
+ <MemberSignature Language="C#" Value="protected override string ModifierName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModuleDefinition" FullName="Mono.Cecil.ModuleDefinition">
+ <TypeSignature Language="C#" Value="public sealed class ModuleDefinition : Mono.Cecil.ModuleReference, Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.ModuleReference</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ModuleDefinition (string name, Mono.Cecil.AssemblyDefinition asm);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="asm">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ModuleDefinition (string name, Mono.Cecil.AssemblyDefinition asm, bool main);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="asm" Type="Mono.Cecil.AssemblyDefinition" />
+ <Parameter Name="main" Type="System.Boolean" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="asm">To be added.</param>
+ <param name="main">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Assembly">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyDefinition Assembly { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="AssemblyReferences">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyNameReferenceCollection AssemblyReferences { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyNameReferenceCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CustomAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ExternTypes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ExternTypeCollection ExternTypes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ExternTypeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FromByteArray">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttribute FromByteArray (Mono.Cecil.MethodReference ctor, byte[] data);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttribute</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ctor" Type="Mono.Cecil.MethodReference" />
+ <Parameter Name="data" Type="System.Byte[]" />
+ </Parameters>
+ <Docs>
+ <param name="ctor">To be added.</param>
+ <param name="data">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FromByteArray">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclaration FromByteArray (Mono.Cecil.SecurityAction action, byte[] declaration);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityDeclaration</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="action" Type="Mono.Cecil.SecurityAction" />
+ <Parameter Name="declaration" Type="System.Byte[]" />
+ </Parameters>
+ <Docs>
+ <param name="action">To be added.</param>
+ <param name="declaration">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullLoad">
+ <MemberSignature Language="C#" Value="public void FullLoad ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetAsByteArray">
+ <MemberSignature Language="C#" Value="public byte[] GetAsByteArray (Mono.Cecil.CustomAttribute ca);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ca" Type="Mono.Cecil.CustomAttribute" />
+ </Parameters>
+ <Docs>
+ <param name="ca">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetAsByteArray">
+ <MemberSignature Language="C#" Value="public byte[] GetAsByteArray (Mono.Cecil.SecurityDeclaration dec);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="dec" Type="Mono.Cecil.SecurityDeclaration" />
+ </Parameters>
+ <Docs>
+ <param name="dec">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttributes">
+ <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Image">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Binary.Image Image { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Binary.Image</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (Mono.Cecil.FieldReference field);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (Mono.Cecil.MethodReference meth);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Mono.Cecil.TypeReference type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (System.Reflection.FieldInfo field);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="System.Reflection.FieldInfo" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (System.Reflection.MethodBase meth);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="meth" Type="System.Reflection.MethodBase" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Type type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="System.Type" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (Mono.Cecil.FieldReference field, Mono.Cecil.MethodDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
+ <Parameter Name="context" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (Mono.Cecil.FieldReference field, Mono.Cecil.TypeDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="Mono.Cecil.FieldReference" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (Mono.Cecil.MethodReference meth, Mono.Cecil.MethodDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
+ <Parameter Name="context" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (Mono.Cecil.MethodReference meth, Mono.Cecil.TypeDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.MethodReference" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Mono.Cecil.TypeReference type, Mono.Cecil.MethodDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="context" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Mono.Cecil.TypeReference type, Mono.Cecil.TypeDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (System.Reflection.FieldInfo field, Mono.Cecil.MethodDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="System.Reflection.FieldInfo" />
+ <Parameter Name="context" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldReference Import (System.Reflection.FieldInfo field, Mono.Cecil.TypeDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="System.Reflection.FieldInfo" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Import (System.Reflection.MethodBase meth, Mono.Cecil.TypeDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="meth" Type="System.Reflection.MethodBase" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Type type, Mono.Cecil.MethodDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="System.Type" />
+ <Parameter Name="context" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference Import (Type type, Mono.Cecil.TypeDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="System.Type" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Inject">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Inject (Mono.Cecil.TypeDefinition type);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Inject">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinition Inject (Mono.Cecil.FieldDefinition field, Mono.Cecil.TypeDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="Mono.Cecil.FieldDefinition" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Inject">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Inject (Mono.Cecil.MethodDefinition meth, Mono.Cecil.TypeDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.MethodDefinition" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Inject">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Inject (Mono.Cecil.TypeDefinition type, Mono.Cecil.IImporter importer);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
+ <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <param name="importer">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Inject">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Inject (Mono.Cecil.TypeDefinition type, Mono.Cecil.TypeDefinition context);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <param name="context">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Inject">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinition Inject (Mono.Cecil.FieldDefinition field, Mono.Cecil.TypeDefinition context, Mono.Cecil.IImporter importer);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="field" Type="Mono.Cecil.FieldDefinition" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
+ </Parameters>
+ <Docs>
+ <param name="field">To be added.</param>
+ <param name="context">To be added.</param>
+ <param name="importer">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Inject">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Inject (Mono.Cecil.MethodDefinition meth, Mono.Cecil.TypeDefinition context, Mono.Cecil.IImporter importer);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.MethodDefinition" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <param name="context">To be added.</param>
+ <param name="importer">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Inject">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Inject (Mono.Cecil.TypeDefinition type, Mono.Cecil.TypeDefinition context, Mono.Cecil.IImporter importer);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeDefinition" />
+ <Parameter Name="context" Type="Mono.Cecil.TypeDefinition" />
+ <Parameter Name="importer" Type="Mono.Cecil.IImporter" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <param name="context">To be added.</param>
+ <param name="importer">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LoadSymbols">
+ <MemberSignature Language="C#" Value="public void LoadSymbols ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LoadSymbols">
+ <MemberSignature Language="C#" Value="public void LoadSymbols (Mono.Cecil.Cil.ISymbolReader reader);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="reader" Type="Mono.Cecil.Cil.ISymbolReader" />
+ </Parameters>
+ <Docs>
+ <param name="reader">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LookupByToken">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.IMetadataTokenProvider LookupByToken (Mono.Cecil.Metadata.MetadataToken token);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IMetadataTokenProvider</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="token" Type="Mono.Cecil.Metadata.MetadataToken" />
+ </Parameters>
+ <Docs>
+ <param name="token">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LookupByToken">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.IMetadataTokenProvider LookupByToken (Mono.Cecil.Metadata.TokenType table, int rid);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IMetadataTokenProvider</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="table" Type="Mono.Cecil.Metadata.TokenType" />
+ <Parameter Name="rid" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="table">To be added.</param>
+ <param name="rid">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Main">
+ <MemberSignature Language="C#" Value="public bool Main { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MemberReferences">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MemberReferenceCollection MemberReferences { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MemberReferenceCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ModuleReferences">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleReferenceCollection ModuleReferences { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleReferenceCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mvid">
+ <MemberSignature Language="C#" Value="public Guid Mvid { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Guid</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resources">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ResourceCollection Resources { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ResourceCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SaveSymbols">
+ <MemberSignature Language="C#" Value="public void SaveSymbols ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SaveSymbols">
+ <MemberSignature Language="C#" Value="public void SaveSymbols (Mono.Cecil.Cil.ISymbolWriter writer);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="writer" Type="Mono.Cecil.Cil.ISymbolWriter" />
+ </Parameters>
+ <Docs>
+ <param name="writer">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SaveSymbols">
+ <MemberSignature Language="C#" Value="public void SaveSymbols (string outputDirectory);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="outputDirectory" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="outputDirectory">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SaveSymbols">
+ <MemberSignature Language="C#" Value="public void SaveSymbols (string outputDirectory, Mono.Cecil.Cil.ISymbolWriter writer);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="outputDirectory" Type="System.String" />
+ <Parameter Name="writer" Type="Mono.Cecil.Cil.ISymbolWriter" />
+ </Parameters>
+ <Docs>
+ <param name="outputDirectory">To be added.</param>
+ <param name="writer">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="TypeReferences">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReferenceCollection TypeReferences { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReferenceCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Types">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinitionCollection Types { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModuleDefinitionCollection" FullName="Mono.Cecil.ModuleDefinitionCollection">
+ <TypeSignature Language="C#" Value="public sealed class ModuleDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionStructureVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ModuleDefinitionCollection (Mono.Cecil.AssemblyDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.AssemblyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.ModuleDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.AssemblyDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.AssemblyDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.ModuleDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.ModuleDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.ModuleDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.ModuleDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModuleReference" FullName="Mono.Cecil.ModuleReference">
+ <TypeSignature Language="C#" Value="public class ModuleReference : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IMetadataScope, Mono.Cecil.IReflectionStructureVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataScope</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ModuleReference (string name);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public virtual void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MetadataToken">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
+ <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ModuleReferenceCollection" FullName="Mono.Cecil.ModuleReferenceCollection">
+ <TypeSignature Language="C#" Value="public sealed class ModuleReferenceCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionStructureVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ModuleReferenceCollection (Mono.Cecil.ModuleDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.ModuleReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ModuleReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.ModuleReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ModuleReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.ModuleReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ModuleReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.ModuleReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.ModuleReference" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleReference this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.ModuleReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ModuleReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="NativeType" FullName="Mono.Cecil.NativeType">
+ <TypeSignature Language="C#" Value="public enum NativeType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="ANSIBSTR">
+ <MemberSignature Language="C#" Value="ANSIBSTR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ARRAY">
+ <MemberSignature Language="C#" Value="ARRAY" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ASANY">
+ <MemberSignature Language="C#" Value="ASANY" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="BOOLEAN">
+ <MemberSignature Language="C#" Value="BOOLEAN" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="BSTR">
+ <MemberSignature Language="C#" Value="BSTR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="BYVALSTR">
+ <MemberSignature Language="C#" Value="BYVALSTR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CURRENCY">
+ <MemberSignature Language="C#" Value="CURRENCY" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CUSTOMMARSHALER">
+ <MemberSignature Language="C#" Value="CUSTOMMARSHALER" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ERROR">
+ <MemberSignature Language="C#" Value="ERROR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FIXEDARRAY">
+ <MemberSignature Language="C#" Value="FIXEDARRAY" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FIXEDSYSSTRING">
+ <MemberSignature Language="C#" Value="FIXEDSYSSTRING" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="FUNC">
+ <MemberSignature Language="C#" Value="FUNC" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I1">
+ <MemberSignature Language="C#" Value="I1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I2">
+ <MemberSignature Language="C#" Value="I2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I4">
+ <MemberSignature Language="C#" Value="I4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I8">
+ <MemberSignature Language="C#" Value="I8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="IDISPATCH">
+ <MemberSignature Language="C#" Value="IDISPATCH" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="INT">
+ <MemberSignature Language="C#" Value="INT" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="INTF">
+ <MemberSignature Language="C#" Value="INTF" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="IUNKNOWN">
+ <MemberSignature Language="C#" Value="IUNKNOWN" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LPSTR">
+ <MemberSignature Language="C#" Value="LPSTR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LPSTRUCT">
+ <MemberSignature Language="C#" Value="LPSTRUCT" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LPTSTR">
+ <MemberSignature Language="C#" Value="LPTSTR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LPWSTR">
+ <MemberSignature Language="C#" Value="LPWSTR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="MAX">
+ <MemberSignature Language="C#" Value="MAX" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NONE">
+ <MemberSignature Language="C#" Value="NONE" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="R4">
+ <MemberSignature Language="C#" Value="R4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="R8">
+ <MemberSignature Language="C#" Value="R8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SAFEARRAY">
+ <MemberSignature Language="C#" Value="SAFEARRAY" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="STRUCT">
+ <MemberSignature Language="C#" Value="STRUCT" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="TBSTR">
+ <MemberSignature Language="C#" Value="TBSTR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="U1">
+ <MemberSignature Language="C#" Value="U1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="U2">
+ <MemberSignature Language="C#" Value="U2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="U4">
+ <MemberSignature Language="C#" Value="U4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="U8">
+ <MemberSignature Language="C#" Value="U8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="UINT">
+ <MemberSignature Language="C#" Value="UINT" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="VARIANTBOOL">
+ <MemberSignature Language="C#" Value="VARIANTBOOL" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NativeType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="NestedTypeCollection" FullName="Mono.Cecil.NestedTypeCollection">
+ <TypeSignature Language="C#" Value="public sealed class NestedTypeCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public NestedTypeCollection (Mono.Cecil.TypeDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.TypeDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveAt">
+ <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="OverrideCollection" FullName="Mono.Cecil.OverrideCollection">
+ <TypeSignature Language="C#" Value="public sealed class OverrideCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public OverrideCollection (Mono.Cecil.MethodDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.MethodReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.MethodReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.MethodReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.MethodReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.MethodReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.MethodReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PInvokeAttributes" FullName="Mono.Cecil.PInvokeAttributes">
+ <TypeSignature Language="C#" Value="public enum PInvokeAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="CallConvCdecl">
+ <MemberSignature Language="C#" Value="CallConvCdecl" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CallConvFastcall">
+ <MemberSignature Language="C#" Value="CallConvFastcall" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CallConvMask">
+ <MemberSignature Language="C#" Value="CallConvMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CallConvStdCall">
+ <MemberSignature Language="C#" Value="CallConvStdCall" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CallConvThiscall">
+ <MemberSignature Language="C#" Value="CallConvThiscall" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CallConvWinapi">
+ <MemberSignature Language="C#" Value="CallConvWinapi" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CharSetAnsi">
+ <MemberSignature Language="C#" Value="CharSetAnsi" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CharSetAuto">
+ <MemberSignature Language="C#" Value="CharSetAuto" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CharSetMask">
+ <MemberSignature Language="C#" Value="CharSetMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CharSetNotSpec">
+ <MemberSignature Language="C#" Value="CharSetNotSpec" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CharSetUnicode">
+ <MemberSignature Language="C#" Value="CharSetUnicode" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NoMangle">
+ <MemberSignature Language="C#" Value="NoMangle" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SupportsLastError">
+ <MemberSignature Language="C#" Value="SupportsLastError" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PInvokeInfo" FullName="Mono.Cecil.PInvokeInfo">
+ <TypeSignature Language="C#" Value="public sealed class PInvokeInfo : Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public PInvokeInfo (Mono.Cecil.MethodDefinition meth);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.MethodDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public PInvokeInfo (Mono.Cecil.MethodDefinition meth, Mono.Cecil.PInvokeAttributes attrs, string entryPoint, Mono.Cecil.ModuleReference mod);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="meth" Type="Mono.Cecil.MethodDefinition" />
+ <Parameter Name="attrs" Type="Mono.Cecil.PInvokeAttributes" />
+ <Parameter Name="entryPoint" Type="System.String" />
+ <Parameter Name="mod" Type="Mono.Cecil.ModuleReference" />
+ </Parameters>
+ <Docs>
+ <param name="meth">To be added.</param>
+ <param name="attrs">To be added.</param>
+ <param name="entryPoint">To be added.</param>
+ <param name="mod">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Attributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.PInvokeAttributes Attributes { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PInvokeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="EntryPoint">
+ <MemberSignature Language="C#" Value="public string EntryPoint { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCallConvCdecl">
+ <MemberSignature Language="C#" Value="public bool IsCallConvCdecl { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCallConvFastcall">
+ <MemberSignature Language="C#" Value="public bool IsCallConvFastcall { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCallConvStdCall">
+ <MemberSignature Language="C#" Value="public bool IsCallConvStdCall { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCallConvThiscall">
+ <MemberSignature Language="C#" Value="public bool IsCallConvThiscall { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCallConvWinapi">
+ <MemberSignature Language="C#" Value="public bool IsCallConvWinapi { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCharSetAnsi">
+ <MemberSignature Language="C#" Value="public bool IsCharSetAnsi { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCharSetAuto">
+ <MemberSignature Language="C#" Value="public bool IsCharSetAuto { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCharSetNotSpec">
+ <MemberSignature Language="C#" Value="public bool IsCharSetNotSpec { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsCharSetUnicode">
+ <MemberSignature Language="C#" Value="public bool IsCharSetUnicode { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNoMangle">
+ <MemberSignature Language="C#" Value="public bool IsNoMangle { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition Method { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Module">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleReference Module { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SupportsLastError">
+ <MemberSignature Language="C#" Value="public bool SupportsLastError { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ParameterAttributes" FullName="Mono.Cecil.ParameterAttributes">
+ <TypeSignature Language="C#" Value="public enum ParameterAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="HasDefault">
+ <MemberSignature Language="C#" Value="HasDefault" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasFieldMarshal">
+ <MemberSignature Language="C#" Value="HasFieldMarshal" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="In">
+ <MemberSignature Language="C#" Value="In" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Lcid">
+ <MemberSignature Language="C#" Value="Lcid" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="None">
+ <MemberSignature Language="C#" Value="None" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Optional">
+ <MemberSignature Language="C#" Value="Optional" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Out">
+ <MemberSignature Language="C#" Value="Out" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Retval">
+ <MemberSignature Language="C#" Value="Retval" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Unused">
+ <MemberSignature Language="C#" Value="Unused" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ParameterDefinition" FullName="Mono.Cecil.ParameterDefinition">
+ <TypeSignature Language="C#" Value="public sealed class ParameterDefinition : Mono.Cecil.ParameterReference, Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IHasConstant, Mono.Cecil.IHasMarshalSpec" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.ParameterReference</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IHasConstant</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IHasMarshalSpec</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ParameterDefinition (Mono.Cecil.TypeReference paramType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="paramType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="paramType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ParameterDefinition (string name, int seq, Mono.Cecil.ParameterAttributes attrs, Mono.Cecil.TypeReference paramType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="seq" Type="System.Int32" />
+ <Parameter Name="attrs" Type="Mono.Cecil.ParameterAttributes" />
+ <Parameter Name="paramType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="seq">To be added.</param>
+ <param name="attrs">To be added.</param>
+ <param name="paramType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Attributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterAttributes Attributes { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clone">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinition Clone ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Constant">
+ <MemberSignature Language="C#" Value="public object Constant { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CustomAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasConstant">
+ <MemberSignature Language="C#" Value="public bool HasConstant { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttributes">
+ <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasDefault">
+ <MemberSignature Language="C#" Value="public bool HasDefault { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsIn">
+ <MemberSignature Language="C#" Value="public bool IsIn { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsLcid">
+ <MemberSignature Language="C#" Value="public bool IsLcid { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsOptional">
+ <MemberSignature Language="C#" Value="public bool IsOptional { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsOut">
+ <MemberSignature Language="C#" Value="public bool IsOut { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsRetval">
+ <MemberSignature Language="C#" Value="public bool IsRetval { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MarshalSpec">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MarshalSpec MarshalSpec { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Method">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodReference Method { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.ParameterDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ParameterDefinitionCollection" FullName="Mono.Cecil.ParameterDefinitionCollection">
+ <TypeSignature Language="C#" Value="public sealed class ParameterDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ParameterDefinitionCollection (Mono.Cecil.IMemberReference container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IMemberReference" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.ParameterDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ParameterDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.IMemberReference Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IMemberReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.ParameterDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ParameterDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.ParameterDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ParameterDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.ParameterDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.ParameterDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ParameterDefinition this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.ParameterDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.ParameterDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ParameterReference" FullName="Mono.Cecil.ParameterReference">
+ <TypeSignature Language="C#" Value="public abstract class ParameterReference : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IMetadataTokenProvider, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMetadataTokenProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ParameterReference (string name, int sequence, Mono.Cecil.TypeReference parameterType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="sequence" Type="System.Int32" />
+ <Parameter Name="parameterType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="sequence">To be added.</param>
+ <param name="parameterType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public abstract void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="MetadataToken">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Metadata.MetadataToken MetadataToken { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Metadata.MetadataToken</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
+ <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ParameterType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference ParameterType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public abstract Mono.Cecil.ParameterDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Sequence">
+ <MemberSignature Language="C#" Value="public int Sequence { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PinnedType" FullName="Mono.Cecil.PinnedType">
+ <TypeSignature Language="C#" Value="public sealed class PinnedType : Mono.Cecil.TypeSpecification" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public PinnedType (Mono.Cecil.TypeReference pType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="pType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="pType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PointerType" FullName="Mono.Cecil.PointerType">
+ <TypeSignature Language="C#" Value="public sealed class PointerType : Mono.Cecil.TypeSpecification" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public PointerType (Mono.Cecil.TypeReference pType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="pType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="pType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullName">
+ <MemberSignature Language="C#" Value="public override string FullName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public override string Name { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PropertyAttributes" FullName="Mono.Cecil.PropertyAttributes">
+ <TypeSignature Language="C#" Value="public enum PropertyAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="HasDefault">
+ <MemberSignature Language="C#" Value="HasDefault" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RTSpecialName">
+ <MemberSignature Language="C#" Value="RTSpecialName" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SpecialName">
+ <MemberSignature Language="C#" Value="SpecialName" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Unused">
+ <MemberSignature Language="C#" Value="Unused" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PropertyDefinition" FullName="Mono.Cecil.PropertyDefinition">
+ <TypeSignature Language="C#" Value="public sealed class PropertyDefinition : Mono.Cecil.PropertyReference, Mono.Cecil.IHasConstant, Mono.Cecil.IMemberDefinition" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.PropertyReference</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IHasConstant</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMemberDefinition</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public PropertyDefinition (string name, Mono.Cecil.TypeReference propertyType, Mono.Cecil.PropertyAttributes attrs);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="propertyType" Type="Mono.Cecil.TypeReference" />
+ <Parameter Name="attrs" Type="Mono.Cecil.PropertyAttributes" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="propertyType">To be added.</param>
+ <param name="attrs">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Attributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyAttributes Attributes { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clone">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyDefinition Clone ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Constant">
+ <MemberSignature Language="C#" Value="public object Constant { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CreateGetMethod">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.MethodDefinition CreateGetMethod (Mono.Cecil.PropertyDefinition prop);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="prop" Type="Mono.Cecil.PropertyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="prop">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CreateSetMethod">
+ <MemberSignature Language="C#" Value="public static Mono.Cecil.MethodDefinition CreateSetMethod (Mono.Cecil.PropertyDefinition prop);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="prop" Type="Mono.Cecil.PropertyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="prop">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CustomAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DeclaringType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetMethod">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition GetMethod { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasConstant">
+ <MemberSignature Language="C#" Value="public bool HasConstant { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttributes">
+ <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasDefault">
+ <MemberSignature Language="C#" Value="public bool HasDefault { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasParameters">
+ <MemberSignature Language="C#" Value="public override bool HasParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsRuntimeSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parameters">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.PropertyDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SetMethod">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinition SetMethod { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PropertyDefinitionCollection" FullName="Mono.Cecil.PropertyDefinitionCollection">
+ <TypeSignature Language="C#" Value="public sealed class PropertyDefinitionCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public PropertyDefinitionCollection (Mono.Cecil.TypeDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.PropertyDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.PropertyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.PropertyDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.PropertyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetProperties">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyDefinition[] GetProperties (string name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyDefinition[]</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.PropertyDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.PropertyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.PropertyDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.PropertyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyDefinition this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.PropertyDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.PropertyDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveAt">
+ <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="PropertyReference" FullName="Mono.Cecil.PropertyReference">
+ <TypeSignature Language="C#" Value="public abstract class PropertyReference : Mono.Cecil.MemberReference" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MemberReference</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public PropertyReference (string name, Mono.Cecil.TypeReference propertyType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="propertyType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="propertyType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasParameters">
+ <MemberSignature Language="C#" Value="public abstract bool HasParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="m_parameters">
+ <MemberSignature Language="C#" Value="protected Mono.Cecil.ParameterDefinitionCollection m_parameters;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Parameters">
+ <MemberSignature Language="C#" Value="public abstract Mono.Cecil.ParameterDefinitionCollection Parameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ParameterDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PropertyType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference PropertyType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public abstract Mono.Cecil.PropertyDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ReferenceType" FullName="Mono.Cecil.ReferenceType">
+ <TypeSignature Language="C#" Value="public sealed class ReferenceType : Mono.Cecil.TypeSpecification" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ReferenceType (Mono.Cecil.TypeReference type);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="type" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="type">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullName">
+ <MemberSignature Language="C#" Value="public override string FullName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public override string Name { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ReflectionException" FullName="Mono.Cecil.ReflectionException">
+ <TypeSignature Language="C#" Value="public sealed class ReflectionException : Mono.Cecil.Metadata.MetadataFormatException" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.Metadata.MetadataFormatException</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members />
+</Type>
--- /dev/null
+<Type Name="Resource" FullName="Mono.Cecil.Resource">
+ <TypeSignature Language="C#" Value="public abstract class Resource : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IReflectionStructureVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public abstract void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Flags">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ManifestResourceAttributes Flags { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ManifestResourceAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPrivate">
+ <MemberSignature Language="C#" Value="public bool IsPrivate { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPublic">
+ <MemberSignature Language="C#" Value="public bool IsPublic { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
+ <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="ResourceCollection" FullName="Mono.Cecil.ResourceCollection">
+ <TypeSignature Language="C#" Value="public sealed class ResourceCollection : System.Collections.CollectionBase, Mono.Cecil.IReflectionStructureVisitable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.CollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionStructureVisitable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ResourceCollection (Mono.Cecil.ModuleDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionStructureVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionStructureVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.Resource value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Resource" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.Resource value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Resource" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.Resource value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Resource" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Insert">
+ <MemberSignature Language="C#" Value="public void Insert (int index, Mono.Cecil.Resource value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="Mono.Cecil.Resource" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.Resource this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.Resource</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="OnValidate">
+ <MemberSignature Language="C#" Value="protected override void OnValidate (object o);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="o" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="o">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.Resource value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.Resource" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="SafeArraySpec" FullName="Mono.Cecil.SafeArraySpec">
+ <TypeSignature Language="C#" Value="public sealed class SafeArraySpec : Mono.Cecil.MarshalSpec" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MarshalSpec</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public SafeArraySpec (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CloneInto">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.MarshalSpec CloneInto (Mono.Cecil.IHasMarshalSpec container);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MarshalSpec</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasMarshalSpec" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ElemType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.VariantType ElemType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="SecurityAction" FullName="Mono.Cecil.SecurityAction">
+ <TypeSignature Language="C#" Value="public enum SecurityAction" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Assert">
+ <MemberSignature Language="C#" Value="Assert" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Demand">
+ <MemberSignature Language="C#" Value="Demand" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Deny">
+ <MemberSignature Language="C#" Value="Deny" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="InheritDemand">
+ <MemberSignature Language="C#" Value="InheritDemand" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LinkDemand">
+ <MemberSignature Language="C#" Value="LinkDemand" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NonCasDemand">
+ <MemberSignature Language="C#" Value="NonCasDemand" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NonCasInheritance">
+ <MemberSignature Language="C#" Value="NonCasInheritance" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NonCasLinkDemand">
+ <MemberSignature Language="C#" Value="NonCasLinkDemand" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="PermitOnly">
+ <MemberSignature Language="C#" Value="PermitOnly" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="PreJitDeny">
+ <MemberSignature Language="C#" Value="PreJitDeny" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="PreJitGrant">
+ <MemberSignature Language="C#" Value="PreJitGrant" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Request">
+ <MemberSignature Language="C#" Value="Request" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RequestMinimum">
+ <MemberSignature Language="C#" Value="RequestMinimum" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RequestOptional">
+ <MemberSignature Language="C#" Value="RequestOptional" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RequestRefuse">
+ <MemberSignature Language="C#" Value="RequestRefuse" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="SecurityDeclaration" FullName="Mono.Cecil.SecurityDeclaration">
+ <TypeSignature Language="C#" Value="public sealed class SecurityDeclaration : Mono.Cecil.IAnnotationProvider, Mono.Cecil.IReflectionVisitable, Mono.Cecil.IRequireResolving" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IAnnotationProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IRequireResolving</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public SecurityDeclaration (Mono.Cecil.SecurityAction action);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="action" Type="Mono.Cecil.SecurityAction" />
+ </Parameters>
+ <Docs>
+ <param name="action">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Action">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityAction Action { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityAction</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Blob">
+ <MemberSignature Language="C#" Value="public byte[] Blob { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Byte[]</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clone">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclaration Clone ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityDeclaration</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Mono.Cecil.IAnnotationProvider.Annotations">
+ <MemberSignature Language="C#" Value="System.Collections.IDictionary Mono.Cecil.IAnnotationProvider.Annotations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IDictionary</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PermissionSet">
+ <MemberSignature Language="C#" Value="public System.Security.PermissionSet PermissionSet { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Security.PermissionSet</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public bool Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolved">
+ <MemberSignature Language="C#" Value="public bool Resolved { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="SecurityDeclarationCollection" FullName="Mono.Cecil.SecurityDeclarationCollection">
+ <TypeSignature Language="C#" Value="public sealed class SecurityDeclarationCollection : Mono.Cecil.IReflectionVisitable, System.Collections.IEnumerable" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.IEnumerable</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public SecurityDeclarationCollection (Mono.Cecil.IHasSecurity container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.IHasSecurity" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.SecurityDeclaration value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.SecurityDeclaration" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.IHasSecurity Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IHasSecurity</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.SecurityAction action);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="action" Type="Mono.Cecil.SecurityAction" />
+ </Parameters>
+ <Docs>
+ <param name="action">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.SecurityDeclaration value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.SecurityDeclaration" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ary" Type="System.Array" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="ary">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Count">
+ <MemberSignature Language="C#" Value="public int Count { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSynchronized">
+ <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclaration this[Mono.Cecil.SecurityAction action] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityDeclaration</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="action" Type="Mono.Cecil.SecurityAction" />
+ </Parameters>
+ <Docs>
+ <param name="action">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclaration this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityDeclaration</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.SecurityAction action);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="action" Type="Mono.Cecil.SecurityAction" />
+ </Parameters>
+ <Docs>
+ <param name="action">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SyncRoot">
+ <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="SentinelType" FullName="Mono.Cecil.SentinelType">
+ <TypeSignature Language="C#" Value="public sealed class SentinelType : Mono.Cecil.TypeSpecification" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeSpecification</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public SentinelType (Mono.Cecil.TypeReference elementType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="elementType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="elementType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TargetRuntime" FullName="Mono.Cecil.TargetRuntime">
+ <TypeSignature Language="C#" Value="public enum TargetRuntime" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="NET_1_0">
+ <MemberSignature Language="C#" Value="NET_1_0" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TargetRuntime</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NET_1_1">
+ <MemberSignature Language="C#" Value="NET_1_1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TargetRuntime</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NET_2_0">
+ <MemberSignature Language="C#" Value="NET_2_0" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TargetRuntime</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NET_4_0">
+ <MemberSignature Language="C#" Value="NET_4_0" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TargetRuntime</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeAttributes" FullName="Mono.Cecil.TypeAttributes">
+ <TypeSignature Language="C#" Value="public enum TypeAttributes" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Flags</AttributeName>
+ </Attribute>
+ </Attributes>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="Abstract">
+ <MemberSignature Language="C#" Value="Abstract" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="AnsiClass">
+ <MemberSignature Language="C#" Value="AnsiClass" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="AutoClass">
+ <MemberSignature Language="C#" Value="AutoClass" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="AutoLayout">
+ <MemberSignature Language="C#" Value="AutoLayout" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="BeforeFieldInit">
+ <MemberSignature Language="C#" Value="BeforeFieldInit" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Class">
+ <MemberSignature Language="C#" Value="Class" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ClassSemanticMask">
+ <MemberSignature Language="C#" Value="ClassSemanticMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ExplicitLayout">
+ <MemberSignature Language="C#" Value="ExplicitLayout" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="HasSecurity">
+ <MemberSignature Language="C#" Value="HasSecurity" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Import">
+ <MemberSignature Language="C#" Value="Import" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Interface">
+ <MemberSignature Language="C#" Value="Interface" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="LayoutMask">
+ <MemberSignature Language="C#" Value="LayoutMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NestedAssembly">
+ <MemberSignature Language="C#" Value="NestedAssembly" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NestedFamANDAssem">
+ <MemberSignature Language="C#" Value="NestedFamANDAssem" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NestedFamily">
+ <MemberSignature Language="C#" Value="NestedFamily" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NestedFamORAssem">
+ <MemberSignature Language="C#" Value="NestedFamORAssem" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NestedPrivate">
+ <MemberSignature Language="C#" Value="NestedPrivate" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NestedPublic">
+ <MemberSignature Language="C#" Value="NestedPublic" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="NotPublic">
+ <MemberSignature Language="C#" Value="NotPublic" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Public">
+ <MemberSignature Language="C#" Value="Public" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="RTSpecialName">
+ <MemberSignature Language="C#" Value="RTSpecialName" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Sealed">
+ <MemberSignature Language="C#" Value="Sealed" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SequentialLayout">
+ <MemberSignature Language="C#" Value="SequentialLayout" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Serializable">
+ <MemberSignature Language="C#" Value="Serializable" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="SpecialName">
+ <MemberSignature Language="C#" Value="SpecialName" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="StringFormatMask">
+ <MemberSignature Language="C#" Value="StringFormatMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="UnicodeClass">
+ <MemberSignature Language="C#" Value="UnicodeClass" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="VisibilityMask">
+ <MemberSignature Language="C#" Value="VisibilityMask" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeDefinition" FullName="Mono.Cecil.TypeDefinition">
+ <TypeSignature Language="C#" Value="public sealed class TypeDefinition : Mono.Cecil.TypeReference, Mono.Cecil.IHasSecurity, Mono.Cecil.IMemberDefinition" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeReference</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IHasSecurity</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IMemberDefinition</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public TypeDefinition (string name, string ns, Mono.Cecil.TypeAttributes attributes, Mono.Cecil.TypeReference baseType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="ns" Type="System.String" />
+ <Parameter Name="attributes" Type="Mono.Cecil.TypeAttributes" />
+ <Parameter Name="baseType" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="ns">To be added.</param>
+ <param name="attributes">To be added.</param>
+ <param name="baseType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Attributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeAttributes Attributes { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeAttributes</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="BaseType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference BaseType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ClassSize">
+ <MemberSignature Language="C#" Value="public uint ClassSize { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clone">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition Clone ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Constructors">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ConstructorCollection Constructors { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ConstructorCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="DeclaringType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition DeclaringType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Events">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.EventDefinitionCollection Events { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.EventDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Fields">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.FieldDefinitionCollection Fields { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.FieldDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasConstructors">
+ <MemberSignature Language="C#" Value="public bool HasConstructors { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasEvents">
+ <MemberSignature Language="C#" Value="public bool HasEvents { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasFields">
+ <MemberSignature Language="C#" Value="public bool HasFields { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasInterfaces">
+ <MemberSignature Language="C#" Value="public bool HasInterfaces { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasLayoutInfo">
+ <MemberSignature Language="C#" Value="public bool HasLayoutInfo { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasMethods">
+ <MemberSignature Language="C#" Value="public bool HasMethods { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasNestedTypes">
+ <MemberSignature Language="C#" Value="public bool HasNestedTypes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasProperties">
+ <MemberSignature Language="C#" Value="public bool HasProperties { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasSecurity">
+ <MemberSignature Language="C#" Value="public bool HasSecurity { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasSecurityDeclarations">
+ <MemberSignature Language="C#" Value="public bool HasSecurityDeclarations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Interfaces">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.InterfaceCollection Interfaces { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.InterfaceCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsAbstract">
+ <MemberSignature Language="C#" Value="public bool IsAbstract { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsAnsiClass">
+ <MemberSignature Language="C#" Value="public bool IsAnsiClass { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsAutoClass">
+ <MemberSignature Language="C#" Value="public bool IsAutoClass { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsAutoLayout">
+ <MemberSignature Language="C#" Value="public bool IsAutoLayout { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsBeforeFieldInit">
+ <MemberSignature Language="C#" Value="public bool IsBeforeFieldInit { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsClass">
+ <MemberSignature Language="C#" Value="public bool IsClass { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsEnum">
+ <MemberSignature Language="C#" Value="public bool IsEnum { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsExplicitLayout">
+ <MemberSignature Language="C#" Value="public bool IsExplicitLayout { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsImport">
+ <MemberSignature Language="C#" Value="public bool IsImport { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsInterface">
+ <MemberSignature Language="C#" Value="public bool IsInterface { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNestedAssembly">
+ <MemberSignature Language="C#" Value="public bool IsNestedAssembly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNestedFamily">
+ <MemberSignature Language="C#" Value="public bool IsNestedFamily { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNestedFamilyAndAssembly">
+ <MemberSignature Language="C#" Value="public bool IsNestedFamilyAndAssembly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNestedFamilyOrAssembly">
+ <MemberSignature Language="C#" Value="public bool IsNestedFamilyOrAssembly { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNestedPrivate">
+ <MemberSignature Language="C#" Value="public bool IsNestedPrivate { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNestedPublic">
+ <MemberSignature Language="C#" Value="public bool IsNestedPublic { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNotPublic">
+ <MemberSignature Language="C#" Value="public bool IsNotPublic { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsPublic">
+ <MemberSignature Language="C#" Value="public bool IsPublic { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsRuntimeSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsRuntimeSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSealed">
+ <MemberSignature Language="C#" Value="public bool IsSealed { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSequentialLayout">
+ <MemberSignature Language="C#" Value="public bool IsSequentialLayout { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSerializable">
+ <MemberSignature Language="C#" Value="public bool IsSerializable { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSpecialName">
+ <MemberSignature Language="C#" Value="public bool IsSpecialName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsUnicodeClass">
+ <MemberSignature Language="C#" Value="public bool IsUnicodeClass { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsValueType">
+ <MemberSignature Language="C#" Value="public override bool IsValueType { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Methods">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.MethodDefinitionCollection Methods { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.MethodDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="NestedTypes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.NestedTypeCollection NestedTypes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.NestedTypeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="PackingSize">
+ <MemberSignature Language="C#" Value="public ushort PackingSize { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.UInt16</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Properties">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.PropertyDefinitionCollection Properties { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.PropertyDefinitionCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.TypeDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SecurityDeclarations">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.SecurityDeclarationCollection SecurityDeclarations { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.SecurityDeclarationCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeDefinitionCollection" FullName="Mono.Cecil.TypeDefinitionCollection">
+ <TypeSignature Language="C#" Value="public sealed class TypeDefinitionCollection : System.Collections.Specialized.NameObjectCollectionBase, Mono.Cecil.IReflectionVisitable, System.Collections.IList" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.Specialized.NameObjectCollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.IList</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public TypeDefinitionCollection (Mono.Cecil.ModuleDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (string fullName);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fullName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="fullName">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ary" Type="System.Array" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="ary">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSynchronized">
+ <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeDefinition this[string fullName] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fullName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="fullName">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeDefinition value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveAt">
+ <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SyncRoot">
+ <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Add">
+ <MemberSignature Language="C#" Value="int IList.Add (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Contains">
+ <MemberSignature Language="C#" Value="bool IList.Contains (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.IndexOf">
+ <MemberSignature Language="C#" Value="int IList.IndexOf (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Insert">
+ <MemberSignature Language="C#" Value="void IList.Insert (int index, object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.IsFixedSize">
+ <MemberSignature Language="C#" Value="bool System.Collections.IList.IsFixedSize { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.IsReadOnly">
+ <MemberSignature Language="C#" Value="bool System.Collections.IList.IsReadOnly { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Item">
+ <MemberSignature Language="C#" Value="object System.Collections.IList.Item[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Remove">
+ <MemberSignature Language="C#" Value="void IList.Remove (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeReference" FullName="Mono.Cecil.TypeReference">
+ <TypeSignature Language="C#" Value="public class TypeReference : Mono.Cecil.MemberReference, Mono.Cecil.ICustomAttributeProvider, Mono.Cecil.IGenericParameterProvider" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.MemberReference</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.ICustomAttributeProvider</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IGenericParameterProvider</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="protected TypeReference (string name, string ns);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="ns" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="ns">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public TypeReference (string name, string ns, Mono.Cecil.IMetadataScope scope, bool valueType);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="ns" Type="System.String" />
+ <Parameter Name="scope" Type="Mono.Cecil.IMetadataScope" />
+ <Parameter Name="valueType" Type="System.Boolean" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="ns">To be added.</param>
+ <param name="scope">To be added.</param>
+ <param name="valueType">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public override void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CustomAttributes">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.CustomAttributeCollection CustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.CustomAttributeCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullName">
+ <MemberSignature Language="C#" Value="public virtual string FullName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GenericParameters">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.GenericParameterCollection GenericParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.GenericParameterCollection</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetOriginalType">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.TypeReference GetOriginalType ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasCustomAttributes">
+ <MemberSignature Language="C#" Value="public bool HasCustomAttributes { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="HasGenericParameters">
+ <MemberSignature Language="C#" Value="public bool HasGenericParameters { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsNested">
+ <MemberSignature Language="C#" Value="public bool IsNested { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsValueType">
+ <MemberSignature Language="C#" Value="public virtual bool IsValueType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="m_isValueType">
+ <MemberSignature Language="C#" Value="protected bool m_isValueType;" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Module">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.ModuleDefinition Module { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public override string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Namespace">
+ <MemberSignature Language="C#" Value="public virtual string Namespace { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Resolve">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.TypeDefinition Resolve ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeDefinition</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Scope">
+ <MemberSignature Language="C#" Value="public virtual Mono.Cecil.IMetadataScope Scope { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IMetadataScope</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ToString">
+ <MemberSignature Language="C#" Value="public override string ToString ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeReferenceCollection" FullName="Mono.Cecil.TypeReferenceCollection">
+ <TypeSignature Language="C#" Value="public sealed class TypeReferenceCollection : System.Collections.Specialized.NameObjectCollectionBase, Mono.Cecil.IReflectionVisitable, System.Collections.IList" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Collections.Specialized.NameObjectCollectionBase</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>Mono.Cecil.IReflectionVisitable</InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.IList</InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public TypeReferenceCollection (Mono.Cecil.ModuleDefinition container);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="container" Type="Mono.Cecil.ModuleDefinition" />
+ </Parameters>
+ <Docs>
+ <param name="container">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Accept">
+ <MemberSignature Language="C#" Value="public void Accept (Mono.Cecil.IReflectionVisitor visitor);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="visitor" Type="Mono.Cecil.IReflectionVisitor" />
+ </Parameters>
+ <Docs>
+ <param name="visitor">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Container">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.ModuleDefinition Container { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (string fullName);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fullName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="fullName">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (Array ary, int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="ary" Type="System.Array" />
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="ary">To be added.</param>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IndexOf">
+ <MemberSignature Language="C#" Value="public int IndexOf (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsSynchronized">
+ <MemberSignature Language="C#" Value="public bool IsSynchronized { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference this[string fullName] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="fullName" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="fullName">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public void Remove (Mono.Cecil.TypeReference value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="Mono.Cecil.TypeReference" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveAt">
+ <MemberSignature Language="C#" Value="public void RemoveAt (int index);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="SyncRoot">
+ <MemberSignature Language="C#" Value="public object SyncRoot { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Add">
+ <MemberSignature Language="C#" Value="int IList.Add (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Contains">
+ <MemberSignature Language="C#" Value="bool IList.Contains (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.IndexOf">
+ <MemberSignature Language="C#" Value="int IList.IndexOf (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Insert">
+ <MemberSignature Language="C#" Value="void IList.Insert (int index, object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.IsFixedSize">
+ <MemberSignature Language="C#" Value="bool System.Collections.IList.IsFixedSize { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.IsReadOnly">
+ <MemberSignature Language="C#" Value="bool System.Collections.IList.IsReadOnly { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Item">
+ <MemberSignature Language="C#" Value="object System.Collections.IList.Item[int index] { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Object</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IList.Remove">
+ <MemberSignature Language="C#" Value="void IList.Remove (object value);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="value" Type="System.Object" />
+ </Parameters>
+ <Docs>
+ <param name="value">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="TypeSpecification" FullName="Mono.Cecil.TypeSpecification">
+ <TypeSignature Language="C#" Value="public abstract class TypeSpecification : Mono.Cecil.TypeReference" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>Mono.Cecil.TypeReference</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="ElementType">
+ <MemberSignature Language="C#" Value="public Mono.Cecil.TypeReference ElementType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="FullName">
+ <MemberSignature Language="C#" Value="public override string FullName { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetOriginalType">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.TypeReference GetOriginalType ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.TypeReference</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsValueType">
+ <MemberSignature Language="C#" Value="public override bool IsValueType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Module">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.ModuleDefinition Module { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.ModuleDefinition</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public override string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Namespace">
+ <MemberSignature Language="C#" Value="public override string Namespace { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Scope">
+ <MemberSignature Language="C#" Value="public override Mono.Cecil.IMetadataScope Scope { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.IMetadataScope</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="VariantType" FullName="Mono.Cecil.VariantType">
+ <TypeSignature Language="C#" Value="public enum VariantType" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Cecil</AssemblyName>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Enum</BaseTypeName>
+ </Base>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="BOOL">
+ <MemberSignature Language="C#" Value="BOOL" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="BSTR">
+ <MemberSignature Language="C#" Value="BSTR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="CY">
+ <MemberSignature Language="C#" Value="CY" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="DATE">
+ <MemberSignature Language="C#" Value="DATE" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="DECIMAL">
+ <MemberSignature Language="C#" Value="DECIMAL" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="DISPATCH">
+ <MemberSignature Language="C#" Value="DISPATCH" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="ERROR">
+ <MemberSignature Language="C#" Value="ERROR" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I1">
+ <MemberSignature Language="C#" Value="I1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I2">
+ <MemberSignature Language="C#" Value="I2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="I4">
+ <MemberSignature Language="C#" Value="I4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="INT">
+ <MemberSignature Language="C#" Value="INT" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="R4">
+ <MemberSignature Language="C#" Value="R4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="R8">
+ <MemberSignature Language="C#" Value="R8" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="UI1">
+ <MemberSignature Language="C#" Value="UI1" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="UI2">
+ <MemberSignature Language="C#" Value="UI2" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="UI4">
+ <MemberSignature Language="C#" Value="UI4" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="UINT">
+ <MemberSignature Language="C#" Value="UINT" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="UNKNOWN">
+ <MemberSignature Language="C#" Value="UNKNOWN" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="VARIANT">
+ <MemberSignature Language="C#" Value="VARIANT" />
+ <MemberType>Field</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.6.9.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Cecil.VariantType</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Overview>
+ <Assemblies>
+ <Assembly Name="Mono.Cecil" Version="0.6.9.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.CLSCompliant(false)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Reflection.AssemblyConfiguration("")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Reflection.AssemblyCopyright("(C) 2005 - 2007, Jb Evain")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Reflection.AssemblyDescription("Library for reading and writing CIL images")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Reflection.AssemblyProduct("Mono.Cecil")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Reflection.AssemblyTitle("Mono.Cecil")</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ <Attribute>
+ <AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ </Assemblies>
+ <Remarks>To be added.</Remarks>
+ <Copyright>To be added.</Copyright>
+ <Types>
+ <Namespace Name="Mono.Cecil">
+ <Type Name="ArrayDimension" Kind="Class" />
+ <Type Name="ArrayDimensionCollection" Kind="Class" />
+ <Type Name="ArrayMarshalSpec" Kind="Class" />
+ <Type Name="ArrayType" Kind="Class" />
+ <Type Name="AssemblyDefinition" Kind="Class" />
+ <Type Name="AssemblyFactory" Kind="Class" />
+ <Type Name="AssemblyFlags" Kind="Enumeration" />
+ <Type Name="AssemblyHashAlgorithm" Kind="Enumeration" />
+ <Type Name="AssemblyKind" Kind="Enumeration" />
+ <Type Name="AssemblyLinkedResource" Kind="Class" />
+ <Type Name="AssemblyNameDefinition" Kind="Class" />
+ <Type Name="AssemblyNameReference" Kind="Class" />
+ <Type Name="AssemblyNameReferenceCollection" Kind="Class" />
+ <Type Name="BaseAssemblyResolver" Kind="Class" />
+ <Type Name="BaseReflectionVisitor" Kind="Class" />
+ <Type Name="BaseStructureVisitor" Kind="Class" />
+ <Type Name="CallSite" Kind="Class" />
+ <Type Name="Constants" Kind="Class" />
+ <Type Name="ConstraintCollection" Kind="Class" />
+ <Type Name="ConstructorCollection" Kind="Class" />
+ <Type Name="CustomAttribute" Kind="Class" />
+ <Type Name="CustomAttributeCollection" Kind="Class" />
+ <Type Name="CustomMarshalerSpec" Kind="Class" />
+ <Type Name="DefaultAssemblyResolver" Kind="Class" />
+ <Type Name="DefaultImporter" Kind="Class" />
+ <Type Name="EmbeddedResource" Kind="Class" />
+ <Type Name="EventAttributes" Kind="Enumeration" />
+ <Type Name="EventDefinition" Kind="Class" />
+ <Type Name="EventDefinitionCollection" Kind="Class" />
+ <Type Name="EventReference" Kind="Class" />
+ <Type Name="ExternTypeCollection" Kind="Class" />
+ <Type Name="FieldAttributes" Kind="Enumeration" />
+ <Type Name="FieldDefinition" Kind="Class" />
+ <Type Name="FieldDefinitionCollection" Kind="Class" />
+ <Type Name="FieldReference" Kind="Class" />
+ <Type Name="FileAttributes" Kind="Enumeration" />
+ <Type Name="FixedArraySpec" Kind="Class" />
+ <Type Name="FixedSysStringSpec" Kind="Class" />
+ <Type Name="FunctionPointerType" Kind="Class" />
+ <Type Name="GenericArgumentCollection" Kind="Class" />
+ <Type Name="GenericContext" Kind="Class" />
+ <Type Name="GenericInstanceMethod" Kind="Class" />
+ <Type Name="GenericInstanceType" Kind="Class" />
+ <Type Name="GenericParameter" Kind="Class" />
+ <Type Name="GenericParameterAttributes" Kind="Enumeration" />
+ <Type Name="GenericParameterCollection" Kind="Class" />
+ <Type Name="IAnnotationProvider" Kind="Interface" />
+ <Type Name="IAssemblyResolver" Kind="Interface" />
+ <Type Name="ICustomAttributeProvider" Kind="Interface" />
+ <Type Name="IGenericInstance" Kind="Interface" />
+ <Type Name="IGenericParameterProvider" Kind="Interface" />
+ <Type Name="IHasConstant" Kind="Interface" />
+ <Type Name="IHasMarshalSpec" Kind="Interface" />
+ <Type Name="IHasSecurity" Kind="Interface" />
+ <Type Name="IImporter" Kind="Interface" />
+ <Type Name="IMemberDefinition" Kind="Interface" />
+ <Type Name="IMemberReference" Kind="Interface" />
+ <Type Name="IMetadataScope" Kind="Interface" />
+ <Type Name="IMetadataTokenProvider" Kind="Interface" />
+ <Type Name="IMethodSignature" Kind="Interface" />
+ <Type Name="ImportContext" Kind="Class" />
+ <Type Name="InterfaceCollection" Kind="Class" />
+ <Type Name="IReflectionStructureVisitable" Kind="Interface" />
+ <Type Name="IReflectionStructureVisitor" Kind="Interface" />
+ <Type Name="IReflectionVisitable" Kind="Interface" />
+ <Type Name="IReflectionVisitor" Kind="Interface" />
+ <Type Name="IRequireResolving" Kind="Interface" />
+ <Type Name="LinkedResource" Kind="Class" />
+ <Type Name="ManifestResourceAttributes" Kind="Enumeration" />
+ <Type Name="MarshalSpec" Kind="Class" />
+ <Type Name="MemberReference" Kind="Class" />
+ <Type Name="MemberReferenceCollection" Kind="Class" />
+ <Type Name="MethodAttributes" Kind="Enumeration" />
+ <Type Name="MethodCallingConvention" Kind="Enumeration" />
+ <Type Name="MethodDefinition" Kind="Class" />
+ <Type Name="MethodDefinitionCollection" Kind="Class" />
+ <Type Name="MethodImplAttributes" Kind="Enumeration" />
+ <Type Name="MethodReference" Kind="Class" />
+ <Type Name="MethodReturnType" Kind="Class" />
+ <Type Name="MethodSemanticsAttributes" Kind="Enumeration" />
+ <Type Name="MethodSpecification" Kind="Class" />
+ <Type Name="ModifierOptional" Kind="Class" />
+ <Type Name="ModifierRequired" Kind="Class" />
+ <Type Name="ModType" Kind="Class" />
+ <Type Name="ModuleDefinition" Kind="Class" />
+ <Type Name="ModuleDefinitionCollection" Kind="Class" />
+ <Type Name="ModuleReference" Kind="Class" />
+ <Type Name="ModuleReferenceCollection" Kind="Class" />
+ <Type Name="NativeType" Kind="Enumeration" />
+ <Type Name="NestedTypeCollection" Kind="Class" />
+ <Type Name="OverrideCollection" Kind="Class" />
+ <Type Name="ParameterAttributes" Kind="Enumeration" />
+ <Type Name="ParameterDefinition" Kind="Class" />
+ <Type Name="ParameterDefinitionCollection" Kind="Class" />
+ <Type Name="ParameterReference" Kind="Class" />
+ <Type Name="PinnedType" Kind="Class" />
+ <Type Name="PInvokeAttributes" Kind="Enumeration" />
+ <Type Name="PInvokeInfo" Kind="Class" />
+ <Type Name="PointerType" Kind="Class" />
+ <Type Name="PropertyAttributes" Kind="Enumeration" />
+ <Type Name="PropertyDefinition" Kind="Class" />
+ <Type Name="PropertyDefinitionCollection" Kind="Class" />
+ <Type Name="PropertyReference" Kind="Class" />
+ <Type Name="ReferenceType" Kind="Class" />
+ <Type Name="ReflectionException" Kind="Class" />
+ <Type Name="Resource" Kind="Class" />
+ <Type Name="ResourceCollection" Kind="Class" />
+ <Type Name="SafeArraySpec" Kind="Class" />
+ <Type Name="SecurityAction" Kind="Enumeration" />
+ <Type Name="SecurityDeclaration" Kind="Class" />
+ <Type Name="SecurityDeclarationCollection" Kind="Class" />
+ <Type Name="SentinelType" Kind="Class" />
+ <Type Name="TargetRuntime" Kind="Enumeration" />
+ <Type Name="TypeAttributes" Kind="Enumeration" />
+ <Type Name="TypeDefinition" Kind="Class" />
+ <Type Name="TypeDefinitionCollection" Kind="Class" />
+ <Type Name="TypeReference" Kind="Class" />
+ <Type Name="TypeReferenceCollection" Kind="Class" />
+ <Type Name="TypeSpecification" Kind="Class" />
+ <Type Name="VariantType" Kind="Enumeration" />
+ </Namespace>
+ <Namespace Name="Mono.Cecil.Binary">
+ <Type Name="BaseImageVisitor" Kind="Class" />
+ <Type Name="CLIHeader" Kind="Class" />
+ <Type Name="DataDirectory" Kind="Structure" />
+ <Type Name="DebugHeader" Kind="Class" />
+ <Type Name="DebugStoreType" Kind="Enumeration" />
+ <Type Name="DOSHeader" Kind="Class" />
+ <Type Name="ExportTable" Kind="Class" />
+ <Type Name="HintNameTable" Kind="Class" />
+ <Type Name="IBinaryVisitable" Kind="Interface" />
+ <Type Name="IBinaryVisitor" Kind="Interface" />
+ <Type Name="Image" Kind="Class" />
+ <Type Name="ImageCharacteristics" Kind="Enumeration" />
+ <Type Name="ImageFormatException" Kind="Class" />
+ <Type Name="ImportAddressTable" Kind="Class" />
+ <Type Name="ImportLookupTable" Kind="Class" />
+ <Type Name="ImportTable" Kind="Class" />
+ <Type Name="PEFileHeader" Kind="Class" />
+ <Type Name="PEOptionalHeader" Kind="Class" />
+ <Type Name="PEOptionalHeader+DataDirectoriesHeader" Kind="Class" />
+ <Type Name="PEOptionalHeader+NTSpecificFieldsHeader" Kind="Class" />
+ <Type Name="PEOptionalHeader+StandardFieldsHeader" Kind="Class" />
+ <Type Name="ResourceDataEntry" Kind="Class" />
+ <Type Name="ResourceDirectoryEntry" Kind="Class" />
+ <Type Name="ResourceDirectoryString" Kind="Class" />
+ <Type Name="ResourceDirectoryTable" Kind="Class" />
+ <Type Name="ResourceNode" Kind="Class" />
+ <Type Name="RuntimeImage" Kind="Enumeration" />
+ <Type Name="RVA" Kind="Structure" />
+ <Type Name="Section" Kind="Class" />
+ <Type Name="SectionCharacteristics" Kind="Enumeration" />
+ <Type Name="SectionCollection" Kind="Class" />
+ <Type Name="SubSystem" Kind="Enumeration" />
+ </Namespace>
+ <Namespace Name="Mono.Cecil.Cil">
+ <Type Name="BaseCodeVisitor" Kind="Class" />
+ <Type Name="CilWorker" Kind="Class" />
+ <Type Name="Code" Kind="Enumeration" />
+ <Type Name="Document" Kind="Class" />
+ <Type Name="DocumentHashAlgorithm" Kind="Enumeration" />
+ <Type Name="DocumentLanguage" Kind="Class" />
+ <Type Name="DocumentLanguageVendor" Kind="Class" />
+ <Type Name="DocumentType" Kind="Class" />
+ <Type Name="ExceptionHandler" Kind="Class" />
+ <Type Name="ExceptionHandlerCollection" Kind="Class" />
+ <Type Name="ExceptionHandlerType" Kind="Enumeration" />
+ <Type Name="FlowControl" Kind="Enumeration" />
+ <Type Name="GuidAttribute" Kind="Class" />
+ <Type Name="ICodeVisitable" Kind="Interface" />
+ <Type Name="ICodeVisitor" Kind="Interface" />
+ <Type Name="Instruction" Kind="Class" />
+ <Type Name="InstructionCollection" Kind="Class" />
+ <Type Name="IScopeProvider" Kind="Interface" />
+ <Type Name="ISymbolReader" Kind="Interface" />
+ <Type Name="ISymbolStoreFactory" Kind="Interface" />
+ <Type Name="ISymbolWriter" Kind="Interface" />
+ <Type Name="IVariableDefinitionProvider" Kind="Interface" />
+ <Type Name="MethodBody" Kind="Class" />
+ <Type Name="OpCode" Kind="Structure" />
+ <Type Name="OpCodes" Kind="Class" />
+ <Type Name="OpCodeType" Kind="Enumeration" />
+ <Type Name="OperandType" Kind="Enumeration" />
+ <Type Name="Scope" Kind="Class" />
+ <Type Name="ScopeCollection" Kind="Class" />
+ <Type Name="SequencePoint" Kind="Class" />
+ <Type Name="StackBehaviour" Kind="Enumeration" />
+ <Type Name="VariableDefinition" Kind="Class" />
+ <Type Name="VariableDefinitionCollection" Kind="Class" />
+ <Type Name="VariableReference" Kind="Class" />
+ </Namespace>
+ <Namespace Name="Mono.Cecil.Metadata">
+ <Type Name="AssemblyOSRow" Kind="Class" />
+ <Type Name="AssemblyOSTable" Kind="Class" />
+ <Type Name="AssemblyProcessorRow" Kind="Class" />
+ <Type Name="AssemblyProcessorTable" Kind="Class" />
+ <Type Name="AssemblyRefOSRow" Kind="Class" />
+ <Type Name="AssemblyRefOSTable" Kind="Class" />
+ <Type Name="AssemblyRefProcessorRow" Kind="Class" />
+ <Type Name="AssemblyRefProcessorTable" Kind="Class" />
+ <Type Name="AssemblyRefRow" Kind="Class" />
+ <Type Name="AssemblyRefTable" Kind="Class" />
+ <Type Name="AssemblyRow" Kind="Class" />
+ <Type Name="AssemblyTable" Kind="Class" />
+ <Type Name="BaseMetadataRowVisitor" Kind="Class" />
+ <Type Name="BaseMetadataTableVisitor" Kind="Class" />
+ <Type Name="BaseMetadataVisitor" Kind="Class" />
+ <Type Name="BlobHeap" Kind="Class" />
+ <Type Name="ClassLayoutRow" Kind="Class" />
+ <Type Name="ClassLayoutTable" Kind="Class" />
+ <Type Name="CodedIndex" Kind="Enumeration" />
+ <Type Name="ConstantRow" Kind="Class" />
+ <Type Name="ConstantTable" Kind="Class" />
+ <Type Name="CustomAttributeRow" Kind="Class" />
+ <Type Name="CustomAttributeTable" Kind="Class" />
+ <Type Name="DeclSecurityRow" Kind="Class" />
+ <Type Name="DeclSecurityTable" Kind="Class" />
+ <Type Name="ElementType" Kind="Enumeration" />
+ <Type Name="EventMapRow" Kind="Class" />
+ <Type Name="EventMapTable" Kind="Class" />
+ <Type Name="EventPtrRow" Kind="Class" />
+ <Type Name="EventPtrTable" Kind="Class" />
+ <Type Name="EventRow" Kind="Class" />
+ <Type Name="EventTable" Kind="Class" />
+ <Type Name="ExportedTypeRow" Kind="Class" />
+ <Type Name="ExportedTypeTable" Kind="Class" />
+ <Type Name="FieldLayoutRow" Kind="Class" />
+ <Type Name="FieldLayoutTable" Kind="Class" />
+ <Type Name="FieldMarshalRow" Kind="Class" />
+ <Type Name="FieldMarshalTable" Kind="Class" />
+ <Type Name="FieldPtrRow" Kind="Class" />
+ <Type Name="FieldPtrTable" Kind="Class" />
+ <Type Name="FieldRow" Kind="Class" />
+ <Type Name="FieldRVARow" Kind="Class" />
+ <Type Name="FieldRVATable" Kind="Class" />
+ <Type Name="FieldTable" Kind="Class" />
+ <Type Name="FileRow" Kind="Class" />
+ <Type Name="FileTable" Kind="Class" />
+ <Type Name="GenericParamConstraintRow" Kind="Class" />
+ <Type Name="GenericParamConstraintTable" Kind="Class" />
+ <Type Name="GenericParamRow" Kind="Class" />
+ <Type Name="GenericParamTable" Kind="Class" />
+ <Type Name="GuidHeap" Kind="Class" />
+ <Type Name="IMetadataRow" Kind="Interface" />
+ <Type Name="IMetadataRowVisitable" Kind="Interface" />
+ <Type Name="IMetadataRowVisitor" Kind="Interface" />
+ <Type Name="IMetadataTable" Kind="Interface" />
+ <Type Name="IMetadataTableVisitable" Kind="Interface" />
+ <Type Name="IMetadataTableVisitor" Kind="Interface" />
+ <Type Name="IMetadataVisitable" Kind="Interface" />
+ <Type Name="IMetadataVisitor" Kind="Interface" />
+ <Type Name="ImplMapRow" Kind="Class" />
+ <Type Name="ImplMapTable" Kind="Class" />
+ <Type Name="InterfaceImplRow" Kind="Class" />
+ <Type Name="InterfaceImplTable" Kind="Class" />
+ <Type Name="ManifestResourceRow" Kind="Class" />
+ <Type Name="ManifestResourceTable" Kind="Class" />
+ <Type Name="MemberRefRow" Kind="Class" />
+ <Type Name="MemberRefTable" Kind="Class" />
+ <Type Name="MetadataFormatException" Kind="Class" />
+ <Type Name="MetadataHeap" Kind="Class" />
+ <Type Name="MetadataRoot" Kind="Class" />
+ <Type Name="MetadataRoot+MetadataRootHeader" Kind="Class" />
+ <Type Name="MetadataStream" Kind="Class" />
+ <Type Name="MetadataStream+MetadataStreamHeader" Kind="Class" />
+ <Type Name="MetadataStreamCollection" Kind="Class" />
+ <Type Name="MetadataToken" Kind="Structure" />
+ <Type Name="MethodImplRow" Kind="Class" />
+ <Type Name="MethodImplTable" Kind="Class" />
+ <Type Name="MethodPtrRow" Kind="Class" />
+ <Type Name="MethodPtrTable" Kind="Class" />
+ <Type Name="MethodRow" Kind="Class" />
+ <Type Name="MethodSemanticsRow" Kind="Class" />
+ <Type Name="MethodSemanticsTable" Kind="Class" />
+ <Type Name="MethodSpecRow" Kind="Class" />
+ <Type Name="MethodSpecTable" Kind="Class" />
+ <Type Name="MethodTable" Kind="Class" />
+ <Type Name="ModuleRefRow" Kind="Class" />
+ <Type Name="ModuleRefTable" Kind="Class" />
+ <Type Name="ModuleRow" Kind="Class" />
+ <Type Name="ModuleTable" Kind="Class" />
+ <Type Name="NestedClassRow" Kind="Class" />
+ <Type Name="NestedClassTable" Kind="Class" />
+ <Type Name="ParamPtrRow" Kind="Class" />
+ <Type Name="ParamPtrTable" Kind="Class" />
+ <Type Name="ParamRow" Kind="Class" />
+ <Type Name="ParamTable" Kind="Class" />
+ <Type Name="PropertyMapRow" Kind="Class" />
+ <Type Name="PropertyMapTable" Kind="Class" />
+ <Type Name="PropertyPtrRow" Kind="Class" />
+ <Type Name="PropertyPtrTable" Kind="Class" />
+ <Type Name="PropertyRow" Kind="Class" />
+ <Type Name="PropertyTable" Kind="Class" />
+ <Type Name="RowCollection" Kind="Class" />
+ <Type Name="StandAloneSigRow" Kind="Class" />
+ <Type Name="StandAloneSigTable" Kind="Class" />
+ <Type Name="StringsHeap" Kind="Class" />
+ <Type Name="TableCollection" Kind="Class" />
+ <Type Name="TablesHeap" Kind="Class" />
+ <Type Name="TokenType" Kind="Enumeration" />
+ <Type Name="TypeDefRow" Kind="Class" />
+ <Type Name="TypeDefTable" Kind="Class" />
+ <Type Name="TypeRefRow" Kind="Class" />
+ <Type Name="TypeRefTable" Kind="Class" />
+ <Type Name="TypeSpecRow" Kind="Class" />
+ <Type Name="TypeSpecTable" Kind="Class" />
+ <Type Name="UserStringsHeap" Kind="Class" />
+ </Namespace>
+ </Types>
+ <Title>Mono.Cecil</Title>
+</Overview>
--- /dev/null
+<Namespace Name="">
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+</Namespace>
--- /dev/null
+<Namespace Name="Mono.Cecil.Binary">
+ <Docs>
+ <summary>Internal namespace used by Mono.Cecil.</summary>
+ <remarks>
+ <para>
+ The classes in this namespace are low-level routines to access
+ ECMA CLI images and deals mostly with PE headers and other
+ low-level components.
+ </para>
+ <para>
+ The API exposed in this namespace is intended for use by
+ Mono.Cecil and is not in general useful for developers.
+ </para>
+ </remarks>
+ </Docs>
+</Namespace>
--- /dev/null
+<Namespace Name="Mono.Cecil.Cil">
+ <Docs>
+ <summary>Dealing with Method Bodies: the Common Language Infrastructure opcodes.</summary>
+ <remarks>
+ <para>
+ The classes in this namespace are used to consume or generate
+ bytecodes from the Common Intermediate Language (CIL) from the
+ ECMA Common Language Infrastructure (CLI).
+ </para>
+ </remarks>
+ </Docs>
+</Namespace>
--- /dev/null
+<Namespace Name="Mono.Cecil.Metadata">
+ <Docs>
+ <summary>Internal namespace used by Mono.Cecil.</summary>
+ <remarks>
+ <para>
+ The classes in this namespace are low-level routines to access
+ ECMA CLI metadata tables and other low-level ECMA CLI constructs.
+ </para>
+ <para>
+ The API exposed in this namespace is intended for use by
+ Mono.Cecil and is not in general useful for developers.
+ </para>
+ </remarks>
+ </Docs>
+</Namespace>
--- /dev/null
+<Namespace Name="Mono.Cecil">
+ <Docs>
+ <summary>Representation for ECMA CLI Images.</summary>
+ <remarks>
+ <para>
+ The classes in this namespace are used to represent ECMA
+ Common Language Infrastructure (CLI) binary images. These
+ represent assemblies, modules, types, methods, resources and
+ every other component that makes up the ECMA 335 files.
+ </para>
+ <para>
+ You can use the classes in Mono.Cecil to read existing ECMA
+ CLI images, creating CLI images and to modify these images
+ through the exposed API.
+ </para>
+ </remarks>
+ </Docs>
+</Namespace>
MethodDefinition method = (MethodDefinition) assembly.MainModule.LookupByToken (methodToken);
- method_rva = method_rva != RVA.Zero
- ? method_rva
- : reflection_writer.CodeWriter.WriteMethodBody (method);
-
- methodRow.RVA = method_rva;
+ if (method.HasBody) {
+ method_rva = method_rva != RVA.Zero
+ ? method_rva
+ : reflection_writer.CodeWriter.WriteMethodBody (method);
+
+ methodRow.RVA = method_rva;
+ } else
+ methodRow.RVA = RVA.Zero;
}
}
// Additional flags
RTSpecialName = 0x00000800, // CLI provides 'special' behavior, depending upon the name of the Type
- HasSecurity = 0x00040000 // Type has security associate with it
+ HasSecurity = 0x00040000, // Type has security associate with it
+ Forwarder = 0x00200000, // Exported type is a type forwarder
}
}
row[SchemaTableColumn.DataType] = GetFieldType(n);\r
row[SchemaTableOptionalColumn.IsHidden] = false;\r
\r
+#if !MONOTOUCH\r
strColumn = _command.Connection._sql.ColumnOriginalName(_activeStatement, n);\r
if (String.IsNullOrEmpty(strColumn) == false) row[SchemaTableColumn.BaseColumnName] = strColumn;\r
\r
\r
temp = _command.Connection._sql.ColumnDatabaseName(_activeStatement, n);\r
if (String.IsNullOrEmpty(temp) == false) row[SchemaTableOptionalColumn.BaseCatalogName] = temp;\r
+#endif\r
\r
string dataType = null;\r
// If we have a table-bound column, extract the extra information from it\r
Mono.Debugger.Soft/ModuleMirror.cs
Mono.Debugger.Soft/AppDomainMirror.cs
Mono.Debugger.Soft/AssemblyLoadEvent.cs
+Mono.Debugger.Soft/AssemblyUnloadEvent.cs
Mono.Debugger.Soft/VMStartEvent.cs
Mono.Debugger.Soft/StackFrame.cs
Mono.Debugger.Soft/CustomAttributeDataMirror.cs
return vm.GetObject<StringMirror> (vm.conn.Domain_CreateString (id, s));
}
+ TypeMirror[] primitiveTypes = new TypeMirror [32];
+
+ public TypeMirror GetCorrespondingType (Type t) {
+ if (t == null)
+ throw new ArgumentNullException ("t");
+ TypeCode tc = Type.GetTypeCode (t);
+
+ if (tc == TypeCode.Empty || tc == TypeCode.Object)
+ throw new ArgumentException ("t must be a primitive type", "t");
+
+ int tc_index = (int)tc;
+ if (primitiveTypes [tc_index] == null) {
+ primitiveTypes [tc_index] = Corlib.GetType ("System." + t.Name, false, false);
+ if (primitiveTypes [tc_index] == null)
+ throw new NotImplementedException ();
+ }
+ return primitiveTypes [tc_index];
+ }
}
}
return vm.GetType (vm.conn.Assembly_GetType (id, name, ignoreCase));
}
+ public TypeMirror GetType (String name, Boolean throwOnError)
+ {
+ return GetType (name, throwOnError, false);
+ }
+
+ public TypeMirror GetType (String name) {
+ return GetType (name, false, false);
+ }
+
/*
* An optional Cecil assembly which could be used to access metadata instead
* of reading it from the debuggee.
--- /dev/null
+
+namespace Mono.Debugger.Soft
+{
+ public class AssemblyUnloadEvent : Event {
+ AssemblyMirror assembly;
+ long id;
+
+ internal AssemblyUnloadEvent (VirtualMachine vm, int req_id, long thread_id, long id) : base (EventType.AssemblyUnload, vm, req_id, thread_id) {
+ this.id = id;
+ }
+
+ public AssemblyMirror Assembly {
+ get {
+ if (assembly == null)
+ assembly = vm.GetAssembly (id);
+ return assembly;
+ }
+ }
+ }
+}
+2010-02-20 Zoltan Varga <vargaz@gmail.com>
+
+ * VirtualMachine.cs (CreateExceptionRequest): Add an overload taking two
+ booleans which specify whenever to report caught/uncaught exceptions.
+
+ * ExceptionRequest.cs: Add public properties for them.
+
+ * Connections.cs: Pass the caught/uncaught flags to the debuggee. Bump protocol
+ minor version.
+
+2010-02-11 Zoltan Varga <vargaz@gmail.com>
+
+ * AssemblyMirror.cs: Add missing GetType () overloads.
+
+2010-02-04 Zoltan Varga <vargaz@gmail.com>
+
+ * TypeMirror.cs (EnumUnderlyingType): New property.
+
+ * EnumMirror.cs: Use it.
+
+ * VirtualMachine.cs (CreateEnumMirror): New method to create an EnumMirror.
+
+ * AppDomainMirror.cs (GetCorrespondingType): New method to return a TypeMirror
+ corresponding to a primitive type.
+
+ * TypeMirror.cs (IsEnum): Implement.
+
+ * EnumMirror.cs (.ctor): New internal constructor called from CreateEnumMirror
+ which does lots of error checking.
+
+2010-01-28 Zoltan Varga <vargaz@gmail.com>
+
+ * AssemblyUnloadEvent: New file.
+
+ * VirtualMachine.cs Connection.cs: Add support for assembly unload events.
+
2009-12-05 Lluis Sanchez <lluis@novell.com>
* StructMirror.cs: Fix field indexer for structs with static fields.
public string ns, name, full_name;
public long assembly, module, base_type, element_type;
public int token, rank, attributes;
- public bool is_byref, is_pointer, is_primitive, is_valuetype;
+ public bool is_byref, is_pointer, is_primitive, is_valuetype, is_enum;
public long[] nested;
}
public long Type {
get; set;
}
+ public bool Caught {
+ get; set;
+ }
+ public bool Uncaught {
+ get; set;
+ }
}
class AssemblyModifier : Modifier {
* and the debuggee's minor version is <= the library's minor version.
*/
public const int MAJOR_VERSION = 2;
- public const int MINOR_VERSION = 0;
+ public const int MINOR_VERSION = 1;
enum WPSuspendPolicy {
NONE = 0,
long thread_id = r.ReadId ();
long id = r.ReadId ();
EventHandler.AssemblyLoad (req_id, thread_id, id);
+ } else if (kind == EventKind.ASSEMBLY_UNLOAD) {
+ long thread_id = r.ReadId ();
+ long id = r.ReadId ();
+ EventHandler.AssemblyUnload (req_id, thread_id, id);
} else if (kind == EventKind.TYPE_LOAD) {
long thread_id = r.ReadId ();
long id = r.ReadId ();
res.is_pointer = (b & 2) != 0;
res.is_primitive = (b & 4) != 0;
res.is_valuetype = (b & 8) != 0;
+ res.is_enum = (b & 16) != 0;
int nested_len = r.ReadInt ();
res.nested = new long [nested_len];
} else if (mod is ExceptionModifier) {
w.WriteByte ((byte)ModifierKind.EXCEPTION_ONLY);
w.WriteId ((mod as ExceptionModifier).Type);
+ if (Version.MajorVersion > 2 || Version.MinorVersion > 0) {
+ /* This is only supported in protocol version 2.1 */
+ w.WriteBool ((mod as ExceptionModifier).Caught);
+ w.WriteBool ((mod as ExceptionModifier).Uncaught);
+ }
} else if (mod is AssemblyModifier) {
w.WriteByte ((byte)ModifierKind.ASSEMBLY_ONLY);
var amod = (mod as AssemblyModifier);
void AssemblyLoad (int req_id, long thread_id, long id);
+ void AssemblyUnload (int req_id, long thread_id, long id);
+
void TypeLoad (int req_id, long thread_id, long id);
void MethodEntry (int req_id, long thread_id, long id);
internal EnumMirror (VirtualMachine vm, TypeMirror type, Value[] fields) : base (vm, type, fields) {
}
+ internal EnumMirror (VirtualMachine vm, TypeMirror type, PrimitiveValue value) : base (vm, type, new Value[] { value }) {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+ if (value == null)
+ throw new ArgumentNullException ("value");
+ if (!type.IsEnum)
+ throw new ArgumentException ("type must be an enum type", "type");
+ TypeMirror t = type.EnumUnderlyingType;
+ if (value.Value == null || !value.Value.GetType ().IsPrimitive || t != vm.RootDomain.GetCorrespondingType (value.Value.GetType ()))
+ throw new ArgumentException ("Value '" + value.Value + "' does not match the type of the enum.");
+ }
+
public object Value {
get {
return ((PrimitiveValue)Fields [0]).Value;
public sealed class ExceptionEventRequest : EventRequest {
TypeMirror exc_type;
+ bool caught, uncaught;
- internal ExceptionEventRequest (VirtualMachine vm, TypeMirror exc_type) : base (vm, EventType.Exception) {
+ internal ExceptionEventRequest (VirtualMachine vm, TypeMirror exc_type, bool caught, bool uncaught) : base (vm, EventType.Exception) {
if (exc_type != null) {
CheckMirror (vm, exc_type);
TypeMirror exception_type = vm.RootDomain.Corlib.GetType ("System.Exception", false, false);
throw new ArgumentException ("The exception type does not inherit from System.Exception", "exc_type");
}
this.exc_type = exc_type;
+ this.caught = caught;
+ this.uncaught = uncaught;
}
public TypeMirror ExceptionType {
public override void Enable () {
var mods = new List <Modifier> ();
- mods.Add (new ExceptionModifier () { Type = exc_type != null ? exc_type.Id : 0 });
+ mods.Add (new ExceptionModifier () { Type = exc_type != null ? exc_type.Id : 0, Caught = caught, Uncaught = uncaught });
SendReq (mods);
}
}
public bool IsEnum {
get {
- // FIXME:
- return false;
- //return IsSubclassOf (typeof (Enum));
+ return GetInfo ().is_enum;
}
}
return false;
}
+ // Same as Enum.GetUnderlyingType ()
+ public TypeMirror EnumUnderlyingType {
+ get {
+ if (!IsEnum)
+ throw new ArgumentException ("Type is not an enum type.");
+ foreach (FieldInfoMirror f in GetFields ()) {
+ if (!f.IsStatic)
+ return f.FieldType;
+ }
+ throw new NotImplementedException ();
+ }
+ }
+
/*
* Creating the custom attributes themselves could modify the behavior of the
* debuggee, so we return objects similar to the CustomAttributeData objects
return new PrimitiveValue (vm, value);
}
+ public EnumMirror CreateEnumMirror (TypeMirror type, PrimitiveValue value) {
+ return new EnumMirror (this, type, value);
+ }
+
//
// Methods to create event request objects
//
}
public ExceptionEventRequest CreateExceptionRequest (TypeMirror exc_type) {
- return new ExceptionEventRequest (this, exc_type);
+ return new ExceptionEventRequest (this, exc_type, true, true);
+ }
+
+ public ExceptionEventRequest CreateExceptionRequest (TypeMirror exc_type, bool caught, bool uncaught) {
+ return new ExceptionEventRequest (this, exc_type, caught, uncaught);
}
public void EnableEvents (params EventType[] events) {
vm.queue_event (new AssemblyLoadEvent (vm, req_id, thread_id, id));
}
+ public void AssemblyUnload (int req_id, long thread_id, long id) {
+ vm.queue_event (new AssemblyUnloadEvent (vm, req_id, thread_id, id));
+ }
+
public void TypeLoad (int req_id, long thread_id, long id) {
vm.queue_event (new TypeLoadEvent (vm, req_id, thread_id, id));
}
+2010-02-06 Michael Barker <mike@middlesoft.co.uk>
+
+ * ConnectionException.cs: Added additional text to aid debugging.
+
2009-07-20 Michael Barker <mike@middlesoft.co.uk>
* MessagingProviderLocator.cs: Changed System.Exceptions to
* MessageType.cs: New
* MessagingProviderLocator.cs: New
* MonoMessagingException.cs: New
- * QueueReference.cs: New
\ No newline at end of file
+ * QueueReference.cs: New
+
private readonly QueueReference qRef;
public ConnectionException (QueueReference qRef, Exception e)
- : base ("Unable to connect to Queue", e)
+ : base ("Unable to connect to Queue: " + qRef + ", Error: " + e.Message, e)
{
this.qRef = qRef;
}
public ConnectionException (QueueReference qRef)
- : base ("Unable to connect to Queue")
+ : base ("Unable to connect to Queue: " + qRef)
{
this.qRef = qRef;
}
#if NET_2_0
Assert.AreEqual (DateTimeKind.Utc, actual.Kind, "Kind");
#endif
- AssertDate (expected, actual, "DateTime");
+ AssertDate (expected, actual.ToLocalTime(), "DateTime");
}
[Test]
#if NET_2_0
Assert.AreEqual (DateTimeKind.Utc, actual.Kind, "Kind");
#endif
- AssertDate (expected, actual, "DateTime");
+ AssertDate (expected, actual.ToLocalTime(), "DateTime");
}
[Test]
#if NET_2_0
Assert.AreEqual (DateTimeKind.Utc, actual.Kind, "Kind");
#endif
- AssertDate (expected, actual, "DateTime");
+ AssertDate (expected, actual.ToLocalTime(), "DateTime");
}
[Test]
+2010-02-03 Sebastien Pouliot <sebastien@ximian.com>
+
+ * ASN1ConvertTest.cs: Fix test cases by using local time. Patch
+ provided by Peter Dettman. Fix bug #324181
+
2008-04-25 Sebastien Pouliot <sebastien@ximian.com>
* StrongName.cs: New test cases to verify signatures from streams.
LIB_MCS_FLAGS += -d:CODEPLEX_40
endif
-FULL_PROFILE := $(filter net_2_0 net_4_0 net_2_1_raw, $(PROFILE))
+FULL_PROFILE := $(filter net_2_0 net_4_0 net_2_1_raw monotouch, $(PROFILE))
ifdef FULL_PROFILE
LIBRARY_COMPILE = $(BOOT_COMPILE)
endif
+2010-02-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * HashSet.cs: fix and test for bug #579791. Patch from Tiaan
+ Geldenhuys.
+
2009-11-13 Marek Safar <marek.safar@gmail.com>
- * HasSet.cs: Add ISet, debugger view.
+ * HasSet.cs: Add ISet, debugger view.
2009-07-30 Raja R Harinath <harinath@hurrynot.org>
int current = table [index] - 1;
while (current != NO_SLOT) {
Link link = links [current];
- if (link.HashCode == hash && comparer.Equals (item, slots [current]))
+ if (link.HashCode == hash && ((hash == HASH_FLAG && (item == null || null == slots [current])) ? (item == null && null == slots [current]) : comparer.Equals (item, slots [current])))
return true;
current = link.Next;
int GetItemHashCode (T item)
{
+ if (item == null)
+ return HASH_FLAG;
return comparer.GetHashCode (item) | HASH_FLAG;
}
int prev = NO_SLOT;
do {
Link link = links [current];
- if (link.HashCode == hashCode && comparer.Equals (slots [current], item))
+ if (link.HashCode == hashCode && ((hashCode == HASH_FLAG && (item == null || null == slots [current])) ? (item == null && null == slots [current]) : comparer.Equals (slots [current], item)))
break;
prev = current;
+2010-02-23 Marek Safar <marek.safar@gmail.com>
+
+ * Enumerable.cs: Implement Zip.
+
+2010-01-25 Jb Evain <jbevain@novell.com>
+
+ * QueryableTransformer.cs (ReplaceQueryableMethod): fix
+ exception message.
+
2009-12-03 Marek Safar <marek.safar@gmail.com>
* EnumerableExecutor.cs, EnumerableExecutor_T.cs, EnumerableQuery.cs
if (list != null) {
if (list.Count != 0)
return list [0];
-
- throw new InvalidOperationException ();
} else {
using (var enumerator = source.GetEnumerator ()) {
if (enumerator.MoveNext ())
}
}
- throw new InvalidOperationException ();
+ throw new InvalidOperationException ("The source sequence is empty");
}
public static TSource First<TSource> (this IEnumerable<TSource> source, Func<TSource, bool> predicate)
}
#endregion
+
+#if NET_4_0
+ #region Zip
+
+ public static IEnumerable<TResult> Zip<TFirst, TSecond, TResult> (this IEnumerable<TFirst> first, IEnumerable<TSecond> second, Func<TFirst, TSecond, TResult> resultSelector)
+ {
+ Check.FirstAndSecond (first, second);
+ if (resultSelector == null)
+ throw new ArgumentNullException ("resultSelector");
+
+ return CreateZipIterator (first, second, resultSelector);
+ }
+
+ static IEnumerable<TResult> CreateZipIterator<TFirst, TSecond, TResult> (IEnumerable<TFirst> first, IEnumerable<TSecond> second, Func<TFirst, TSecond, TResult> selector)
+ {
+ using (IEnumerator<TFirst> first_enumerator = first.GetEnumerator ()) {
+ using (IEnumerator<TSecond> second_enumerator = second.GetEnumerator ()) {
+
+ while (first_enumerator.MoveNext () && second_enumerator.MoveNext ()) {
+ yield return selector (first_enumerator.Current, second_enumerator.Current);
+ }
+ }
+ }
+ }
+
+ #endregion
+#endif
#region Where
static MethodInfo ReplaceQueryableMethod (MethodInfo method)
{
- var result = GetMatchingMethod (method, GetTargetDeclaringType (method));
+ var target_type = GetTargetDeclaringType (method);
+ var result = GetMatchingMethod (method, target_type);
if (result != null)
return result;
string.Format (
"There is no method {0} on type {1} that matches the specified arguments",
method.Name,
- method.DeclaringType.FullName));
+ target_type.FullName));
}
static MethodInfo GetMatchingMethod (MethodInfo method, Type declaring)
daylightTransitionEnd.GetHashCode ();
}
+#if NET_4_0
+ void ISerializable.GetObjectData (SerializationInfo info, StreamingContext context)
+#else
public void GetObjectData (SerializationInfo info, StreamingContext context)
+#endif
{
throw new NotImplementedException ();
}
-
+#if NET_4_0
+ void IDeserializationCallback.OnDeserialization (object sender)
+#else
public void OnDeserialization (object sender)
+#endif
{
throw new NotImplementedException ();
}
return !(t1 == t2);
}
+
+#if NET_4_0
+ void ISerializable.GetObjectData (SerializationInfo info, StreamingContext context)
+#else
public void GetObjectData (SerializationInfo info, StreamingContext context)
+#endif
{
throw new NotImplementedException ();
}
return (day ^ (int)dayOfWeek ^ month ^ (int)timeOfDay.Ticks ^ week);
}
+#if NET_4_0
+ void IDeserializationCallback.OnDeserialization (object sender)
+#else
public void OnDeserialization (object sender)
+#endif
{
throw new NotImplementedException ();
}
return hash_code;
}
+#if NET_4_0
+ void ISerializable.GetObjectData (SerializationInfo info, StreamingContext context)
+#else
public void GetObjectData (SerializationInfo info, StreamingContext context)
+#endif
{
throw new NotImplementedException ();
}
return false;
}
+#if NET_4_0
+ void IDeserializationCallback.OnDeserialization (object sender)
+#else
public void OnDeserialization (object sender)
+#endif
{
throw new NotImplementedException ();
}
+2010-02-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * System.Collections.Generic/HashSetTest.cs: fix and test for bug
+ #579791. Patch from Tiaan Geldenhuys.
+
2009-08-30 Zoltan Varga <vargaz@gmail.com>
* HashSetTest.cs: Fix warnings.
Assert.IsTrue (Throws (delegate { var x = e4.Current; }));
#pragma warning restore 0168
}
+
+ [Test]
+ public void TestNullsWithComparerThrowingException ()
+ {
+ // NOTE: We should get the same errors when using StringComparer.Ordinal on Mono 2.6.1, but the look-alike gives us more control over this test case
+ var set = new HashSet<string> (new StringComparerOrdinalLookAlike ());
+ Assert.IsTrue (set.Add (string.Empty), "#1a");
+ Assert.IsFalse (set.Contains (null), "#2a");
+ Assert.IsTrue (set.Add (null), "#2b");
+ Assert.IsTrue (set.Contains (null), "#2c");
+ Assert.AreEqual (2, set.Count, "#3");
+ Assert.IsTrue (set.Add ("a"), "#4");
+ AssertContainsOnly (new string [] { string.Empty, null, "a" }, set);
+ Assert.IsFalse (set.Add (null), "#5");
+ Assert.IsTrue (set.Add ("b"), "#6");
+ Assert.IsFalse (set.Add ("b"), "#7");
+ Assert.IsFalse (set.Add (string.Empty), "#8");
+ Assert.IsFalse (set.Add ("a"), "#9");
+ Assert.IsFalse (set.Add (null), "#10");
+ Assert.IsTrue (set.Add ("c"), "#11");
+ Assert.IsFalse (set.Add ("c"), "#12");
+ Assert.AreEqual (5, set.Count, "#13");
+ Assert.IsTrue (set.Remove (null), "#14");
+ Assert.IsTrue (set.Remove ("b"), "#15");
+ Assert.IsFalse (set.Remove (null), "#16");
+ Assert.AreEqual (3, set.Count, "#17");
+ AssertContainsOnly (new string [] { string.Empty, "a", "c" }, set);
+ }
+
+ private class StringComparerOrdinalLookAlike : IEqualityComparer<string>
+ {
+ public bool Equals(string x, string y)
+ {
+ return string.CompareOrdinal(x, y) == 0;
+ }
+
+ public int GetHashCode(string str)
+ {
+ if (str != null)
+ return str.GetHashCode();
+ throw new ArgumentNullException (); // Important aspect for test (same as what StringComparer.Ordinal does, and different from GenericEqualityComparer<string>)
+ }
+ }
}
}
[Test]
public void CreateFromFile_Null () {
AssertThrows<ArgumentNullException> (delegate () {
- MemoryMappedFile.CreateFromFile (null);
+ MemoryMappedFile.CreateFromFile ((FileStream) null);
});
}
{
Assert.That (Enumerable.AsEnumerable<object> (null), Is.Null);
}
+
+#if NET_4_0
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void Zip_FirstSourceNull_ThrowsArgumentNullException ()
+ {
+ Enumerable.Zip<object, object, object> (null, new object [0], null);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void Zip_SecondSourceNull_ThrowsArgumentNullException ()
+ {
+ new object [0].Zip<object, object, object> (null, null);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void Zip_ResultNull_ThrowsArgumentNullException ()
+ {
+ new object [0].Zip<object, object, object> (new object [0], null);
+ }
+
+ [Test]
+ public void Zip ()
+ {
+ var a = new [] { 'a', 'b', 'c' };
+ var b = new [] { 1, 2, 3 };
+ a.Zip (b, (f, s) => f + s.ToString ()).AssertEquals ("a1", "b2", "c3");
+
+ a = new [] { 'a' };
+ b = new [] { 100, 200, 300 };
+ a.Zip (b, (f, s) => f + s.ToString ()).AssertEquals ("a100");
+ }
+#endif
+
private Reader<T> Read<T> (params T [] source)
{
-#include net_2_1_raw_System.Core.dll.sources
-System.Linq.jvm/Conversion.cs
-System.Linq.jvm/ExpressionInterpreter.cs
-System.Linq.jvm/ExpressionValidator.cs
-System.Linq.jvm/Interpreter.cs
-System.Linq.jvm/Math.cs
-System.Threading/LockRecursionException.cs
-System.Threading/LockRecursionPolicy.cs
-System.Threading/ReaderWriterLockSlim.cs
+#include monotouch_bootstrap_System.Core.dll.sources
--- /dev/null
+../../build/common/Consts.cs
+../../build/common/Locale.cs
+../../build/common/MonoTODOAttribute.cs
+../corlib/Mono.Security.Cryptography/CryptoTools.cs
+../corlib/Mono.Security.Cryptography/SymmetricTransform.cs
+Assembly/AssemblyInfo.cs
+System/Actions.cs
+System/Funcs.cs
+System/InvalidTimeZoneException.cs
+System/TimeZoneInfo.AdjustmentRule.cs
+System/TimeZoneInfo.cs
+System/TimeZoneInfo.TransitionTime.cs
+System/TimeZoneNotFoundException.cs
+System.Runtime.CompilerServices/ExecutionScope.cs
+System.Runtime.CompilerServices/ExtensionAttribute.cs
+System.Runtime.CompilerServices/IStrongBox.cs
+System.Runtime.CompilerServices/StrongBox_T.cs
+System.Linq/Check.cs
+System.Linq/Enumerable.cs
+System.Linq/QueryableEnumerable.cs
+System.Linq/QueryableTransformer.cs
+System.Linq/Grouping.cs
+System.Linq/IGrouping.cs
+System.Linq/IOrderedQueryable.cs
+System.Linq/IOrderedQueryable_T.cs
+System.Linq/IOrderedEnumerable_T.cs
+System.Linq/IQueryable.cs
+System.Linq/IQueryable_T.cs
+System.Linq/Lookup.cs
+System.Linq/ILookup_T.cs
+System.Linq/OrderedEnumerable.cs
+System.Linq/OrderedSequence.cs
+System.Linq/Queryable.cs
+System.Linq/QuickSort.cs
+System.Linq/SortContext.cs
+System.Linq/SortDirection.cs
+System.Linq/SortSequenceContext.cs
+System.Linq/IQueryProvider.cs
+System.Linq.Expressions/BinaryExpression.cs
+System.Linq.Expressions/ConditionalExpression.cs
+System.Linq.Expressions/ConstantExpression.cs
+System.Linq.Expressions/ElementInit.cs
+System.Linq.Expressions/EmitContext.cs
+System.Linq.Expressions/Expression.cs
+System.Linq.Expressions/Expression_T.cs
+System.Linq.Expressions/ExpressionPrinter.cs
+System.Linq.Expressions/ExpressionType.cs
+System.Linq.Expressions/ExpressionVisitor.cs
+System.Linq.Expressions/ExpressionTransformer.cs
+System.Linq.Expressions/Extensions.cs
+System.Linq.Expressions/InvocationExpression.cs
+System.Linq.Expressions/LambdaExpression.cs
+System.Linq.Expressions/ListInitExpression.cs
+System.Linq.Expressions/MemberAssignment.cs
+System.Linq.Expressions/MemberBinding.cs
+System.Linq.Expressions/MemberBindingType.cs
+System.Linq.Expressions/MemberExpression.cs
+System.Linq.Expressions/MemberInitExpression.cs
+System.Linq.Expressions/MemberListBinding.cs
+System.Linq.Expressions/MemberMemberBinding.cs
+System.Linq.Expressions/MethodCallExpression.cs
+System.Linq.Expressions/NewArrayExpression.cs
+System.Linq.Expressions/NewExpression.cs
+System.Linq.Expressions/ParameterExpression.cs
+System.Linq.Expressions/TypeBinaryExpression.cs
+System.Linq.Expressions/UnaryExpression.cs
+System.Collections.Generic/HashSet.cs
+../corlib/System.Collections.Generic/CollectionDebuggerView.cs
+System.Security.Cryptography/Aes.cs
+System.Security.Cryptography/AesManaged.cs
+System.Security.Cryptography/AesTransform.cs
+System.Linq.jvm/Conversion.cs
+System.Linq.jvm/ExpressionInterpreter.cs
+System.Linq.jvm/ExpressionValidator.cs
+System.Linq.jvm/Interpreter.cs
+System.Linq.jvm/Math.cs
+System.Threading/LockRecursionException.cs
+System.Threading/LockRecursionPolicy.cs
+System.Threading/ReaderWriterLockSlim.cs
+2010-02-10 Marek Habersack <mhabersack@novell.com>
+
+ * XmlSchemaDataImporter.cs: the <connections> element might be
+ empty - make sure FirstChild of the element is not null before
+ attempting to use it. Fixes bug #578587
+
2009-10-30 Veerapuram Varadhan <vvaradhan@novell.com>
* DataTable.cs: Reuse old utility methods for raising DataTable
string providerName = null;
string connString = null;
DbProviderFactory provider = null;
- XmlElement e, tablesElement = null;
+ XmlElement e, tablesElement = null, firstChild;
foreach (XmlNode n in el.ChildNodes) {
e = n as XmlElement;
continue;
#if !MONOTOUCH
- if (e.LocalName == "Connections") {
- providerName = ((XmlElement)e.FirstChild).GetAttribute ("Provider");
- connString = ((XmlElement)e.FirstChild).GetAttribute ("AppSettingsPropertyName");
+ if (e.LocalName == "Connections" && (firstChild = e.FirstChild as XmlElement) != null) {
+ providerName = firstChild.GetAttribute ("Provider");
+ connString = firstChild.GetAttribute ("AppSettingsPropertyName");
provider = DbProviderFactories.GetFactory (providerName);
continue;
}
-2009-08-18 Veerapuram Varadhan <vvaradhan@novell.com>
-
- * DateComparisonTest.cs: Fix test-data xml path.
-
-2009-07-23 Adam Wendt <adam@awendtconsulting.com>
-
- * DateComparisonTest.cs
- (TestDateComparisonRight, TestDateComparisonLeft): Test case to
- check that comparison of date and string works regardless of which
- side the existing date is.
-
-2007-06-06 Nagappan A <anagappan@novell.com>
-
- * DataColumnExpressionTest.cs (DataColumnCharTest): Test case to
- check if the data column of type char. Bug # 81625.
-
-2006-12-07 Nagappan A <anagappan@novell.com>
-
- * Mono.Data.SqlExpressions/DataColumnExpressionTest.cs
- (TestDataColumnExpr1, TestDataColumnExpr2): Added two functions to
- test Data Column Expression.
+2010-01-21 Jonathan Pobst <monkey@jpobst.com>\r
+\r
+ * DateComparisonTest.cs: Failing test TestDateComparisonLeft\r
+ marked NotWorking. Bug filed as 572725.\r
+\r
+2009-08-18 Veerapuram Varadhan <vvaradhan@novell.com>\r
+\r
+ * DateComparisonTest.cs: Fix test-data xml path.\r
+ \r
+2009-07-23 Adam Wendt <adam@awendtconsulting.com>\r
+\r
+ * DateComparisonTest.cs\r
+ (TestDateComparisonRight, TestDateComparisonLeft): Test case to\r
+ check that comparison of date and string works regardless of which\r
+ side the existing date is.\r
+\r
+2007-06-06 Nagappan A <anagappan@novell.com>\r
+\r
+ * DataColumnExpressionTest.cs (DataColumnCharTest): Test case to\r
+ check if the data column of type char. Bug # 81625.\r
+\r
+2006-12-07 Nagappan A <anagappan@novell.com>\r
+\r
+ * Mono.Data.SqlExpressions/DataColumnExpressionTest.cs\r
+ (TestDataColumnExpr1, TestDataColumnExpr2): Added two functions to\r
+ test Data Column Expression.\r
-using System;
-using System.Data;
-using NUnit.Framework;
-
-namespace Monotests_Mono.Data.SqlExpressions
-{
- [TestFixture]
- public class DateComparisonTest
- {
- private DataSet dataSet;
-
- [SetUp]
- public void SetUp()
- {
- dataSet = new DataSet();
- dataSet.ReadXml("Test/Mono.Data.SqlExpressions/dateComparisonTest.xml", XmlReadMode.InferSchema);
- }
-
- [Test]
- public void TestDateComparisonRight()
- {
- DataView dataView = new DataView(dataSet.Tables["thing"], "#2009-07-19 00:01:00# = start", "", DataViewRowState.CurrentRows);
- Assert.AreEqual (1, dataView.Count);
- }
-
- [Test]
- public void TestDateComparisonLeft()
- {
- DataView dataView = new DataView(dataSet.Tables["thing"], "start = #2009-07-19 00:01:00#", "", DataViewRowState.CurrentRows);
- Assert.AreEqual (1, dataView.Count);
- }
- }
-}
+using System;\r
+using System.Data;\r
+using NUnit.Framework;\r
+\r
+namespace Monotests_Mono.Data.SqlExpressions\r
+{\r
+ [TestFixture] \r
+ public class DateComparisonTest\r
+ {\r
+ private DataSet dataSet;\r
+\r
+ [SetUp]\r
+ public void SetUp()\r
+ {\r
+ dataSet = new DataSet();\r
+ dataSet.ReadXml("Test/Mono.Data.SqlExpressions/dateComparisonTest.xml", XmlReadMode.InferSchema);\r
+ }\r
+\r
+ [Test]\r
+ public void TestDateComparisonRight()\r
+ {\r
+ DataView dataView = new DataView(dataSet.Tables["thing"], "#2009-07-19 00:01:00# = start", "", DataViewRowState.CurrentRows);\r
+ Assert.AreEqual (1, dataView.Count);\r
+ }\r
+ \r
+ [Test]\r
+ [Category ("NotWorking")]\r
+ public void TestDateComparisonLeft()\r
+ {\r
+ DataView dataView = new DataView(dataSet.Tables["thing"], "start = #2009-07-19 00:01:00#", "", DataViewRowState.CurrentRows);\r
+ Assert.AreEqual (1, dataView.Count);\r
+ }\r
+ }\r
+}\r
+2010-01-21 Jonathan Pobst <monkey@jpobst.com>
+
+ * DataTableTest2.cs: Mark PrimaryKey test as NotWorking.
+ Bug filed as 572722.
+
2009-10-13 Veerapuram Varadhan <vvaradhan@novell.com>
* DataSetTest2.cs (Bug537229_BinFormatSerializer_Test): Added new.
}
[Test]
+ [Category ("NotWorking")]
public void PrimaryKey()
{
DataTable dtParent;
System.Web.UI.Design.WebControls/BaseDataBoundControlDesigner.cs
System.Web.UI.Design.WebControls/DataBoundControlDesigner.cs
System.Web.UI.Design.WebControls/DataListComponentEditor.cs
+System.Web.UI.Design.WebControls/HierarchicalDataBoundControlDesigner.cs
System.Web.UI.Design.Util/DummyClass.cs
System.Windows.Forms.Design/AnchorEditor.cs
System.Windows.Forms.Design/AxImporter.cs
+2010-01-21 Marek Habersack <mhabersack@novell.com>
+
+ * HierarchicalDataBoundControlDesigner.cs: added
+
2009-05-26 Marek Habersack <mhabersack@novell.com>
* ListControlDesigner.cs: updated to match MSDN specs, added 2.0
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// Copyright (C) 2010 Novell, Inc (http://novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Collections;
+using System.ComponentModel.Design;
+using System.Web.UI;
+using System.Web.UI.Design;
+using System.Web.UI.WebControls;
+
+namespace System.Web.UI.Design.WebControls
+{
+ public class HierarchicalDataBoundControlDesigner : BaseDataBoundControlDesigner
+ {
+ public override DesignerActionListCollection ActionLists {
+ get { throw new NotImplementedException (); }
+ }
+
+ public IHierarchicalDataSourceDesigner DataSourceDesigner {
+ get { throw new NotImplementedException (); }
+ }
+
+ public DesignerHierarchicalDataSourceView DesignerView {
+ get { throw new NotImplementedException (); }
+ }
+
+ protected virtual bool UseDataSourcePickerActionList {
+ get { throw new NotImplementedException (); }
+ }
+
+ public HierarchicalDataBoundControlDesigner ()
+ {
+ }
+
+ protected override bool ConnectToDataSource ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected override void CreateDataSource ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected override void DataBind (BaseDataBoundControl dataBoundControl)
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected override void DisconnectFromDataSource ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected virtual IHierarchicalEnumerable GetDesignTimeDataSource ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected virtual IHierarchicalEnumerable GetSampleDataSource ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected override void PreFilterProperties (IDictionary properties)
+ {
+ throw new NotImplementedException ();
+ }
+
+
+ }
+}
+2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * JsonValue.cs : fix string escaping, it was giving wrong output
+ after \" and \\.
+
+2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * JsonReader.cs : line endings after a value should not result in
+ a parse error.
+ * JsonObject.cs : duplicate object key "SHOULD" not be used, but
+ they are not rejected. So, make it a bit sloppy.
+
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * JsonReader.cs : oops, added previous change to wrong position.
+
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * JsonReader.cs : It seems it can either return int, long or decimal
+ depending on the value. Users cannot really predict what type of
+ the primitive value can be returned and casts to specific types
+ very likely fail. doh.
+
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * JsonReader.cs : use decimal instead of int to parse decimal part
+ of numeric value. It can parse bigger value than int now (like
+ tweet id).
+
2009-10-05 Atsushi Enomoto <atsushi@ximian.com>
* JsonReader.cs : \uXXXX parser was totally wrong, giving wrong #.
if (value == null)
throw new ArgumentNullException ("value");
PopulateMap ();
- map.Add (key, value);
+ map [key] = value;
}
public void Add (JsonPair pair)
public JsonValue Read ()
{
JsonValue v = ReadCore ();
+ SkipSpaces ();
if (r.Read () >= 0)
throw JsonError (String.Format ("extra characters in JSON input"));
return v;
}
}
+ // It could return either int, long or decimal, depending on the parsed value.
JsonPrimitive ReadNumericLiteral ()
{
bool negative = false;
}
int c;
- int val = 0;
+ decimal val = 0;
int x = 0;
bool zeroStart = PeekChar () == '0';
for (; ; x++) {
c = PeekChar ();
if (c != 'e' && c != 'E') {
- if (!hasFrac)
- return new JsonPrimitive (negative ? -val : val);
+ if (!hasFrac) {
+ if (negative && int.MinValue <= -val ||
+ !negative && val <= int.MaxValue)
+ return new JsonPrimitive ((int) (negative ? -val : val));
+ if (negative && long.MinValue <= -val ||
+ !negative && val <= long.MaxValue)
+ return new JsonPrimitive ((long) (negative ? -val : val));
+ }
var v = val + frac;
return new JsonPrimitive (negative ? -v : v);
}
if (src [i] == '"' || src [i] == '\\') {
var sb = new StringBuilder ();
if (i > 0)
- sb.Append (src, 0, i - 1);
+ sb.Append (src, 0, i);
return DoEscapeString (sb, src, i);
- }
+ }
return src;
}
string DoEscapeString (StringBuilder sb, string src, int cur)
{
+ int start = cur;
for (int i = cur; i < src.Length; i++)
if (src [i] == '"' || src [i] == '\\') {
+ sb.Append (src, start, i - start);
sb.Append ('\\');
sb.Append (src [i++]);
- return DoEscapeString (sb, src, i);
+ start = i;
}
- sb.Append (src, cur, src.Length - cur);
+ sb.Append (src, start, src.Length - start);
return sb.ToString ();
}
../../build/common/MonoTODOAttribute.cs
System.Messaging/PeekCompletedEventArgs.cs
System.Messaging/PeekCompletedEventHandler.cs
+System.Messaging/QueueAccessMode.cs
System.Messaging/ReceiveCompletedEventArgs.cs
System.Messaging/ReceiveCompletedEventHandler.cs
System.Messaging/StandardAccessRights.cs
+2010-02-09 Chris Toshok <toshok@ximian.com>
+
+ * MessageQueue.cs: stub out the ctor that takes a QueueAccessMode.
+
+ * QueueAccessMode.cs: new enum.
+
2009-07-11 Michael Barker <mike@middlesoft.co.uk>
* MessageQueueException.cs: Removed MonoTODO.
{
}
+ public MessageQueue (string path, QueueAccessMode accessMode) :
+ this (GetMessageQueue (path))
+ {
+ }
+
internal MessageQueue (IMessageQueue delegateQueue)
{
this.delegateQueue = delegateQueue;
--- /dev/null
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Messaging
+{
+ public enum QueueAccessMode
+ {
+ Receive = 1,
+ Send = 2,
+ SendAndReceive = 3,
+
+ Peek = 32,
+
+ PeekAndAdmin = Peek + 128,
+ ReceiveAndAdmin = Receive + 128
+ }
+}
+2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
+
+ * System.Net.dll.sources: Add UdpAnySourceMulticastClient and
+ UdpSingleSourceMulticastClient stubs (with some validations)
+ for SL4 (required to compile tests)
+
2010-01-11 Sebastien Pouliot <sebastien@ximian.com>
* System.Net.dll.sources: Add InternalWebRequestStreamWrapper.cs
--- /dev/null
+//
+// UdpAnySourceMulticastClient (Moonlight 4.0)
+//
+// Author:
+// Sebastien Pouliot <sebastien@ximian.com>
+//
+// Copyright (C) 2010 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_1
+
+namespace System.Net.Sockets {
+
+ [MonoTODO ("stub (with some validations) to allow SL4 tests compilation")]
+ public class UdpAnySourceMulticastClient : IDisposable {
+
+ const string ObjectDisposed = "UdpAnySourceMulticastClient instance was disposed.";
+ bool disposed;
+
+ public UdpAnySourceMulticastClient (IPAddress groupAddress, int localPort)
+ {
+ if (groupAddress == null)
+ throw new ArgumentNullException ("groupAddress");
+ if ((localPort < 0) || (localPort > 65535))
+ throw new ArgumentOutOfRangeException ("localPort");
+ if (localPort < 1024)
+ throw new SocketException ();
+
+ throw new NotImplementedException ();
+ }
+
+ public bool MulticastLoopback { get; set; }
+ public int ReceiveBufferSize { get; set; }
+ public int SendBufferSize { get; set; }
+
+ public IAsyncResult BeginJoinGroup (AsyncCallback callback, object state)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+
+ // check policy
+ //throw new SocketException ((int) SocketError.AccessDenied);
+ throw new NotImplementedException ();
+ // callback called if join operation is completed
+ }
+
+ public void EndJoinGroup (IAsyncResult result)
+ {
+ if (result == null)
+ throw new ArgumentNullException ("result");
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+
+ throw new NotImplementedException ();
+ }
+
+ public IAsyncResult BeginReceiveFromGroup (byte [] buffer, int offset, int count, AsyncCallback callback, object state)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+ if (buffer == null)
+ throw new ArgumentNullException ("buffer");
+ if ((offset < 0) || (offset > buffer.Length))
+ throw new ArgumentOutOfRangeException ("offset");
+ if ((count < 0) || (count > buffer.Length - offset))
+ throw new ArgumentOutOfRangeException ("count");
+
+ throw new NotImplementedException ();
+ }
+
+ public int EndReceiveFromGroup (IAsyncResult result, out IPEndPoint source)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+
+ throw new NotImplementedException ();
+ }
+
+ public IAsyncResult BeginSendTo (byte [] buffer, int offset, int count, IPEndPoint remoteEndPoint, AsyncCallback callback, object state)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+ if (buffer == null)
+ throw new ArgumentNullException ("buffer");
+ if ((offset < 0) || (offset > buffer.Length))
+ throw new ArgumentOutOfRangeException ("offset");
+ if ((count < 0) || (count > buffer.Length - offset))
+ throw new ArgumentOutOfRangeException ("count");
+
+ throw new NotImplementedException ();
+ }
+
+ public void EndSendTo (IAsyncResult result)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+ if (result == null)
+ throw new ArgumentNullException ("result");
+
+ throw new NotImplementedException ();
+ }
+
+ public IAsyncResult BeginSendToGroup (byte [] buffer, int offset, int count, AsyncCallback callback, object state)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+ if (buffer == null)
+ throw new ArgumentNullException ("buffer");
+ if ((offset < 0) || (offset > buffer.Length))
+ throw new ArgumentOutOfRangeException ("offset");
+ if ((count < 0) || (count > buffer.Length - offset))
+ throw new ArgumentOutOfRangeException ("count");
+
+ throw new NotImplementedException ();
+ }
+
+ public void EndSendToGroup (IAsyncResult result)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+ if (result == null)
+ throw new ArgumentNullException ("result");
+
+ throw new NotImplementedException ();
+ }
+
+ public void BlockSource (IPAddress sourceAddress)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+
+ throw new NotImplementedException ();
+ }
+
+ public void UnblockSource (IPAddress sourceAddress)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+
+ throw new NotImplementedException ();
+ }
+
+ public void Dispose ()
+ {
+ disposed = true;
+ }
+ }
+}
+
+#endif
+
--- /dev/null
+//
+// UdpSingleSourceMulticastClient (Moonlight 4.0)
+//
+// Author:
+// Sebastien Pouliot <sebastien@ximian.com>
+//
+// Copyright (C) 2010 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_1
+
+namespace System.Net.Sockets {
+
+ [MonoTODO ("stub (with some validations) to allow SL4 tests compilation")]
+ public class UdpSingleSourceMulticastClient : IDisposable {
+
+ const string ObjectDisposed = "UdpSingleSourceMulticastClient instance was disposed.";
+ bool disposed;
+
+ public UdpSingleSourceMulticastClient (IPAddress sourceAddress, IPAddress groupAddress, int localPort)
+ {
+ if (sourceAddress == null)
+ throw new ArgumentNullException ("sourceAddress");
+ if (groupAddress == null)
+ throw new ArgumentNullException ("groupAddress");
+ if ((localPort < 0) || (localPort > 65535))
+ throw new ArgumentOutOfRangeException ("localPort");
+ if (localPort < 1024)
+ throw new SocketException ();
+
+ throw new NotImplementedException ();
+ }
+
+ public int ReceiveBufferSize { get; set; }
+ public int SendBufferSize { get; set; }
+
+ public IAsyncResult BeginJoinGroup (AsyncCallback callback, object state)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+
+ throw new NotImplementedException ();
+ }
+
+ public void EndJoinGroup (IAsyncResult result)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+
+ throw new NotImplementedException ();
+ }
+
+ public IAsyncResult BeginReceiveFromSource (byte [] buffer, int offset, int count, AsyncCallback callback, object state)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+ if (buffer == null)
+ throw new ArgumentNullException ("buffer");
+ if ((offset < 0) || (offset > buffer.Length))
+ throw new ArgumentOutOfRangeException ("offset");
+ if ((count < 0) || (count > buffer.Length - offset))
+ throw new ArgumentOutOfRangeException ("count");
+
+ throw new NotImplementedException ();
+ }
+
+ public int EndReceiveFromSource (IAsyncResult result, out int sourcePort)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+ if (result == null)
+ throw new ArgumentNullException ("result");
+
+ throw new NotImplementedException ();
+ }
+
+ public IAsyncResult BeginSendToSource (byte [] buffer, int offset, int count, int remotePort, AsyncCallback callback, object state)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+ if (buffer == null)
+ throw new ArgumentNullException ("buffer");
+ if ((offset < 0) || (offset > buffer.Length))
+ throw new ArgumentOutOfRangeException ("offset");
+ if ((count < 0) || (count > buffer.Length - offset))
+ throw new ArgumentOutOfRangeException ("count");
+
+ throw new NotImplementedException ();
+ }
+
+ public void EndSendToSource (IAsyncResult result)
+ {
+ if (disposed)
+ throw new ObjectDisposedException (ObjectDisposed);
+ if (result == null)
+ throw new ArgumentNullException ("result");
+
+ throw new NotImplementedException ();
+ }
+
+ public void Dispose ()
+ {
+ disposed = true;
+ }
+ }
+}
+
+#endif
+
+2010-02-23 Sebastien Pouliot <sebastien@ximian.com>
+
+ * HttpWebRequest_2_1.cs: Accept and ContentType properties do not
+ behave like Silverlight 2.0 (not related to browser/client stacks)
+ * WebHeaderCollection_2_1.cs: Range is now accepted in SL3 (not
+ related to browser/client stacks)
+ * WebRequest_2_1.cs: Fix registration to work on domains (new)
+ and scheme (more correctly wrt new unit tests).
+
+2010-02-16 Sebastien Pouliot <sebastien@ximian.com>
+
+ * WebClient_2_1.cs: Keep a copy of 'userToken' since we need to
+ supply it when calling OnDownloadProgressChanged
+ * WebRequest_2_1.cs (SetupProgressDelegate): Simplify signature
+
+2010-01-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * WebClient_2_1.cs: Ensure the WriteStreamClosed event is emitted on
+ the correct thread (by using the stored SynchronizationContext).
+
+ * InternalWebRequestStreamWrapper.cs: Add a WebClientData field which
+ is passed to the WriteStreamClosedCallback.
+
+2010-01-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * WebClient_2_1.cs: The async events must be invoked on a threadpool
+ thread if the async method wasn't executed on the main thread, so save
+ the synchronization context when the async method is called, and post
+ the event to that synchronization context when done. This is also
+ required when the async methods are executed on the main thread, since
+ HttpWebRequest callbacks are now always executed on a threadpool thread.
+
+2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
+
+ * UdpAnySourceMulticastClient.cs: New. Stub for SL4
+ * UdpSingleSourceMulticastClient.cs: New. Stub for SL4
+
2010-01-13 Sebastien Pouliot <sebastien@ximian.com>
* HttpWebRequest_2_1.cs: Throw for CookieContainer. It is
// Atsushi Enomoto <atsushi@ximian.com>
// Jb Evain <jbevain@novell.com>
//
-// Copyright (C) 2007, 2009 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2007, 2009-2010 Novell, Inc (http://www.novell.com)
//
//
// note: the NotImplementedException are needed to match MS implementation
// note: MS documents a lot of thing for this type but, in truth, all happens
- // in a type that derive from HttpWebRequest. In Moonlight case this is
- // BrowserHttpWebRequest and is located in System.Windows.Browser.dll
+ // in a type that derive from HttpWebRequest. In Moonlight case this is either
+ // * BrowserHttpWebRequest (browser stack) located in System.Windows.Browser.dll; or
+ // * System.Net.Browser.ClientHttpWebRequest (client stack) located in System.Windows.dll
public abstract class HttpWebRequest : WebRequest {
public string Accept {
get { return Headers [HttpRequestHeader.Accept]; }
// this header cannot be set directly inside the collection (hence the helper)
- set { Headers.SetHeader ("accept", value); }
+ set {
+ if (value == null)
+ throw new ArgumentNullException ("Accept");
+ if (value.Length == 0)
+ throw new ArgumentException ("Accept");
+ Headers.SetHeader ("accept", value);
+ }
}
public virtual bool AllowReadStreamBuffering {
public override string ContentType {
get { return Headers [HttpRequestHeader.ContentType]; }
// this header cannot be set directly inside the collection (hence the helper)
- set { Headers.SetHeader ("content-type", value); }
+ set {
+ if (value == null)
+ throw new ArgumentNullException ("ContentType");
+ if (value.Length == 0)
+ throw new ArgumentException ("ContentType");
+ Headers.SetHeader ("content-type", value);
+ }
}
public virtual bool HaveResponse {
finally {
// if used from WebClient then notify that the stream was closed
if (WebClient != null)
- WebClient.WriteStreamClosedCallback ();
+ WebClient.WriteStreamClosedCallback (WebClientData);
}
}
internal WebClient WebClient {
get; set;
}
+
+ internal object WebClientData {
+ get; set;
+ }
}
}
using System.IO;
using System.Text;
+using System.Threading;
namespace System.Net {
bool allow_read_buffering = true;
WebRequest request;
object locker;
+ object user_token;
public WebClient ()
{
public event UploadStringCompletedEventHandler UploadStringCompleted;
public event WriteStreamClosedEventHandler WriteStreamClosed;
- WebRequest SetupRequest (Uri uri, string method)
+ WebRequest SetupRequest (Uri uri, string method, object userToken)
{
+ user_token = userToken;
WebRequest request = GetWebRequest (uri);
request.Method = DetermineMethod (uri, method);
foreach (string header in Headers.AllKeys)
is_busy = false;
}
+ class CallbackData {
+ public object user_token;
+ public SynchronizationContext sync_context;
+ public byte [] data;
+ public CallbackData (object user_token, byte [] data)
+ {
+ this.user_token = user_token;
+ this.data = data;
+ this.sync_context = SynchronizationContext.Current ?? new SynchronizationContext ();
+ }
+ public CallbackData (object user_token) : this (user_token, null)
+ {
+ }
+ }
+
// DownloadStringAsync
public void DownloadStringAsync (Uri address)
SetBusy ();
try {
- request = SetupRequest (address, "GET");
- request.BeginGetResponse (new AsyncCallback (DownloadStringAsyncCallback), userToken);
+ request = SetupRequest (address, "GET", userToken);
+ request.BeginGetResponse (new AsyncCallback (DownloadStringAsyncCallback), new CallbackData (userToken));
}
catch (Exception e) {
WebException wex = new WebException ("Could not start operation.", e);
private void DownloadStringAsyncCallback (IAsyncResult result)
{
+ CallbackData callback_data = (CallbackData) result.AsyncState;
string data = null;
Exception ex = null;
bool cancel = false;
ex = e;
}
finally {
- OnDownloadStringCompleted (
- new DownloadStringCompletedEventArgs (data, ex, cancel, result.AsyncState));
+ callback_data.sync_context.Post (delegate (object sender) {
+ OnDownloadStringCompleted (new DownloadStringCompletedEventArgs (data, ex, cancel, callback_data.user_token));
+ }, null);
}
}
SetBusy ();
try {
- request = SetupRequest (address, "GET");
- request.BeginGetResponse (new AsyncCallback (OpenReadAsyncCallback), userToken);
+ request = SetupRequest (address, "GET", userToken);
+ request.BeginGetResponse (new AsyncCallback (OpenReadAsyncCallback), new CallbackData (userToken));
}
catch (Exception e) {
WebException wex = new WebException ("Could not start operation.", e);
private void OpenReadAsyncCallback (IAsyncResult result)
{
+ CallbackData callback_data = (CallbackData) result.AsyncState;
Stream stream = null;
Exception ex = null;
bool cancel = false;
ex = e;
}
finally {
- OnOpenReadCompleted (
- new OpenReadCompletedEventArgs (stream, ex, cancel, result.AsyncState));
+ callback_data.sync_context.Post (delegate (object sender) {
+ OnOpenReadCompleted (new OpenReadCompletedEventArgs (stream, ex, cancel, callback_data.user_token));
+ }, null);
}
}
SetBusy ();
try {
- request = SetupRequest (address, method);
- request.BeginGetRequestStream (new AsyncCallback (OpenWriteAsyncCallback), userToken);
+ request = SetupRequest (address, method, userToken);
+ request.BeginGetRequestStream (new AsyncCallback (OpenWriteAsyncCallback), new CallbackData (userToken));
}
catch (Exception e) {
WebException wex = new WebException ("Could not start operation.", e);
private void OpenWriteAsyncCallback (IAsyncResult result)
{
+ CallbackData callback_data = (CallbackData) result.AsyncState;
Stream stream = null;
Exception ex = null;
bool cancel = false;
+ InternalWebRequestStreamWrapper internal_stream;
+
try {
stream = request.EndGetRequestStream (result);
- (stream as InternalWebRequestStreamWrapper).WebClient = this;
+ internal_stream = (InternalWebRequestStreamWrapper) stream;
+ internal_stream.WebClient = this;
+ internal_stream.WebClientData = callback_data;
}
catch (WebException web) {
cancel = (web.Status == WebExceptionStatus.RequestCanceled);
ex = e;
}
finally {
- OnOpenWriteCompleted (
- new OpenWriteCompletedEventArgs (stream, ex, cancel, result.AsyncState));
+ callback_data.sync_context.Post (delegate (object sender) {
+ OnOpenWriteCompleted (new OpenWriteCompletedEventArgs (stream, ex, cancel, callback_data.user_token));
+ }, null);
}
}
- internal void WriteStreamClosedCallback ()
+ internal void WriteStreamClosedCallback (object WebClientData)
{
try {
- request.BeginGetResponse (OpenWriteAsyncResponseCallback, null);
+ request.BeginGetResponse (OpenWriteAsyncResponseCallback, WebClientData);
}
catch (Exception e) {
- OnWriteStreamClosed (new WriteStreamClosedEventArgs (e));
+ ((CallbackData) WebClientData).sync_context.Post (delegate (object sender) {
+ OnWriteStreamClosed (new WriteStreamClosedEventArgs (e));
+ }, null);
}
}
ProcessResponse (response);
}
catch (Exception e) {
- OnWriteStreamClosed (new WriteStreamClosedEventArgs (e));
+ ((CallbackData) result.AsyncState).sync_context.Post (delegate (object sender) {
+ OnWriteStreamClosed (new WriteStreamClosedEventArgs (e));
+ }, null);
}
}
SetBusy ();
try {
- request = SetupRequest (address, method);
- object[] bag = new object [] { encoding.GetBytes (data), userToken };
-
- request.BeginGetRequestStream (new AsyncCallback (UploadStringRequestAsyncCallback), bag);
+ request = SetupRequest (address, method, userToken);
+ request.BeginGetRequestStream (new AsyncCallback (UploadStringRequestAsyncCallback), new CallbackData (userToken, encoding.GetBytes (data)));
}
catch (Exception e) {
WebException wex = new WebException ("Could not start operation.", e);
private void UploadStringRequestAsyncCallback (IAsyncResult result)
{
try {
- object[] bag = (result.AsyncState as object[]);
- byte[] data = (bag [0] as byte[]);
+ CallbackData callback_data = (CallbackData) result.AsyncState;
Stream stream = request.EndGetRequestStream (result);
- stream.Write (data, 0, data.Length);
- request.BeginGetResponse (new AsyncCallback (UploadStringResponseAsyncCallback), bag [1]);
+ stream.Write (callback_data.data, 0, callback_data.data.Length);
+ request.BeginGetResponse (new AsyncCallback (UploadStringResponseAsyncCallback), callback_data);
}
catch {
request.Abort ();
private void UploadStringResponseAsyncCallback (IAsyncResult result)
{
+ CallbackData callback_data = (CallbackData) result.AsyncState;
string data = null;
Exception ex = null;
bool cancel = false;
ex = e;
}
finally {
- OnUploadStringCompleted (
- new UploadStringCompletedEventArgs (data, ex, cancel, result.AsyncState));
+ callback_data.sync_context.Post (delegate (object sender) {
+ OnUploadStringCompleted (new UploadStringCompletedEventArgs (data, ex, cancel, callback_data.user_token));
+ }, null);
}
}
WebRequest request = WebRequest.Create (uri);
- request.SetupProgressDelegate (delegate (long read, long length, object state) {
- OnDownloadProgressChanged (new DownloadProgressChangedEventArgs (read, length, state));
+ request.SetupProgressDelegate (delegate (long read, long length) {
+ OnDownloadProgressChanged (new DownloadProgressChangedEventArgs (read, length, user_token));
});
return request;
}
case "max-forwards":
case "proxy-authorization":
case "referer":
- case "range":
case "te":
case "user-agent":
// extra (not HttpRequestHeader defined) headers that are not accepted by SL2
throw new InvalidOperationException ("Uri is not absolute.");
IWebRequestCreate creator = null;
- if (!registred_prefixes.TryGetValue (uri.Scheme, out creator)) {
- switch (uri.Scheme) {
- case "http":
- case "https":
- creator = default_creator;
- break;
+
+ // first we look if a domain is registred
+ string scheme = uri.Scheme + Uri.SchemeDelimiter;
+ string domain = scheme + uri.DnsSafeHost;
+ if (!registred_prefixes.TryGetValue (domain, out creator)) {
+ // next we look if the protocol is registred (the delimiter '://' is important)
+ if (!registred_prefixes.TryGetValue (scheme, out creator)) {
+ scheme = uri.Scheme; // without the delimiter
+ // then we default to SL
+ switch (scheme) {
+ case "http":
+ case "https":
+ creator = default_creator;
+ break;
+ default:
+ registred_prefixes.TryGetValue (scheme, out creator);
+ break;
+ }
}
}
if (creator == null)
- throw new NotSupportedException (string.Format ("Scheme {0} not supported", uri.Scheme));
+ throw new NotSupportedException (string.Format ("Scheme {0} not supported", scheme));
return creator.Create (uri);
}
if (creator == null)
throw new ArgumentNullException ("creator");
+ Uri uri;
+ if (Uri.TryCreate (prefix, UriKind.Absolute, out uri)) {
+ // if a valid URI is supplied then only register the scheme + domain
+ prefix = uri.Scheme + Uri.SchemeDelimiter + uri.DnsSafeHost;
+ }
+
if (registred_prefixes.ContainsKey (prefix))
return false;
return true;
}
- internal void SetupProgressDelegate (Action<long,long,object> progress)
+ internal void SetupProgressDelegate (Action<long,long> progress)
{
FieldInfo fi = GetType ().GetField ("progress", BindingFlags.Instance | BindingFlags.NonPublic);
if (fi != null)
System.Net.Sockets/ProtocolType_2_1.cs
System.Net.Sockets/SocketAsyncOperation_2_1.cs
System.Net.Sockets/SocketType_2_1.cs
+System.Net.Sockets/UdpAnySourceMulticastClient.cs
+System.Net.Sockets/UdpSingleSourceMulticastClient.cs
System.Net.NetworkInformation/NetworkChange_2_1.cs
System.Net.NetworkInformation/NetworkInterface_2_1.cs
../System/System.Net/Cookie.cs
}
[Test]
+ [Category ("NotWorking")]
public void TestCreateHttpWkoSingleCall ()
{
WkObjectSinglecall2 ca = new WkObjectSinglecall2 ();
}
[Test]
+ [Category ("NotWorking")]
public void TestCreateHttpWkoSingleton ()
{
WkObjectSingleton2 ca = new WkObjectSingleton2 ();
-//
-// MonoTests.Remoting.BaseCalls.cs
-//
-// Author: Lluis Sanchez Gual (lluis@ximian.com)
-//
-// 2003 (C) Copyright, Ximian, Inc.
-//
-
-using System;
-using System.IO;
-using System.Net;
-using System.Text;
-using System.Threading;
-using System.Collections;
-using System.Globalization;
-using System.Runtime.Remoting;
-using System.Runtime.Remoting.Channels;
-using System.Runtime.Remoting.Messaging;
-using System.Runtime.Remoting.Lifetime;
-using System.Runtime.Remoting.Channels.Tcp;
-using System.Runtime.Remoting.Activation;
-using System.Runtime.Remoting.Contexts;
-using System.Runtime.InteropServices;
-using NUnit.Framework;
-
-namespace MonoTests.Remoting
-{
- public abstract class BaseCallTest
- {
- IChannelSender chs;
- string[] remoteUris;
- CallsDomainServer server;
- int remoteDomId;
-
- [TestFixtureSetUp]
- public void Run()
- {
- remoteDomId = CreateServer ();
- }
-
- [TestFixtureTearDown]
- public void End ()
- {
- ShutdownServer ();
- }
-
- public static AppDomain CreateDomain (string friendlyName)
- {
- // return AppDomain.CreateDomain (friendlyName);
- return AppDomain.CreateDomain (friendlyName, null, Directory.GetCurrentDirectory (), ".", false);
- }
-
- protected virtual int CreateServer ()
- {
- ChannelManager cm = CreateChannelManager ();
- chs = cm.CreateClientChannel ();
- ChannelServices.RegisterChannel (chs);
-
- AppDomain domain = BaseCallTest.CreateDomain ("testdomain");
- server = (CallsDomainServer) domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName,"MonoTests.Remoting.CallsDomainServer");
- remoteUris = server.Start (cm);
- return server.GetDomId ();
- }
-
- protected virtual void ShutdownServer ()
- {
- if (server != null) {
- server.Stop ();
- if (chs != null)
- ChannelServices.UnregisterChannel (chs);
- }
- }
-
- protected virtual RemoteObject CreateRemoteInstance ()
- {
- return (RemoteObject) Activator.GetObject (typeof(RemoteObject), remoteUris[0]);
- }
-
- protected virtual AbstractRemoteObject CreateRemoteAbstract ()
- {
- return (AbstractRemoteObject) Activator.GetObject (typeof(AbstractRemoteObject), remoteUris[1]);
- }
-
- protected virtual IRemoteObject CreateRemoteInterface ()
- {
- return (IRemoteObject) Activator.GetObject (typeof(IRemoteObject), remoteUris[2]);
- }
-
- public InstanceSurrogate InternalGetInstanceSurrogate ()
- {
- InstanceSurrogate s = GetInstanceSurrogate ();
- s.RemoteObject = CreateRemoteInstance ();
- return s;
- }
-
- public AbstractSurrogate InternalGetAbstractSurrogate ()
- {
- AbstractSurrogate s = GetAbstractSurrogate ();
- s.RemoteObject = CreateRemoteAbstract ();
- return s;
- }
-
- public InterfaceSurrogate InternalGetInterfaceSurrogate ()
- {
- InterfaceSurrogate s = GetInterfaceSurrogate ();
- s.RemoteObject = CreateRemoteInterface ();
- return s;
- }
-
- public abstract InstanceSurrogate GetInstanceSurrogate ();
- public abstract AbstractSurrogate GetAbstractSurrogate ();
- public abstract InterfaceSurrogate GetInterfaceSurrogate ();
-
- public virtual ChannelManager CreateChannelManager ()
- {
- return null;
- }
-
- //
- // The tests
- //
-
- [Test]
- public void TestInstanceSimple ()
- {
- RunTestSimple (InternalGetInstanceSurrogate());
- }
-
- [Test]
- public void TestAbstractSimple ()
- {
- RunTestSimple (InternalGetAbstractSurrogate());
- }
-
- [Test]
- public void TestInterfaceSimple ()
- {
- RunTestSimple (InternalGetInterfaceSurrogate());
- }
-
- [Test]
- public void TestInstancePrimitiveParams ()
- {
- RunTestPrimitiveParams (InternalGetInstanceSurrogate());
- }
-
- [Test]
- public void TestAbstractPrimitiveParams ()
- {
- RunTestPrimitiveParams (InternalGetAbstractSurrogate());
- }
-
- [Test]
- public void TestInterfacePrimitiveParams ()
- {
- RunTestPrimitiveParams (InternalGetInterfaceSurrogate());
- }
-
- [Test]
- public void TestInstancePrimitiveParamsInOut ()
- {
- RunTestPrimitiveParamsInOut (InternalGetInstanceSurrogate());
- }
-
- [Test]
- public void TestAbstractPrimitiveParamsInOut ()
- {
- RunTestPrimitiveParamsInOut (InternalGetAbstractSurrogate());
- }
-
- [Test]
- public void TestInterfacePrimitiveParamsInOut ()
- {
- RunTestPrimitiveParamsInOut (InternalGetInterfaceSurrogate());
- }
-
- [Test]
- public void TestInstanceComplexParams ()
- {
- RunTestComplexParams (InternalGetInstanceSurrogate());
- }
-
- [Test]
- public void TestAbstractComplexParams ()
- {
- RunTestComplexParams (InternalGetAbstractSurrogate());
- }
-
- [Test]
- public void TestInterfaceComplexParams ()
- {
- RunTestComplexParams (InternalGetInterfaceSurrogate());
- }
-
- [Test]
- [Ignore ("Fails on MS")]
- public void TestInstanceComplexParamsInOut ()
- {
- RunTestComplexParamsInOut (InternalGetInstanceSurrogate());
- }
-
- [Test]
- [Ignore ("Fails on MS")]
- public void TestAbstractComplexParamsInOut ()
- {
- RunTestComplexParamsInOut (InternalGetAbstractSurrogate());
- }
-
- [Test]
- [Ignore ("Fails on MS")]
- public void TestInterfaceComplexParamsInOut ()
- {
- RunTestComplexParamsInOut (InternalGetInterfaceSurrogate());
- }
-
- [Test]
- public void TestInstanceProcessContextData ()
- {
- RunTestProcessContextData (InternalGetInstanceSurrogate());
- }
-
- [Test]
- public void TestAbstractProcessContextData ()
- {
- RunTestProcessContextData (InternalGetAbstractSurrogate());
- }
-
- [Test]
- public void TestInterfaceProcessContextData ()
- {
- RunTestProcessContextData (InternalGetInterfaceSurrogate());
- }
-
- //
- // The tests runners
- //
-
- public void RunTestSimple (IRemoteObject testerSurrogate)
- {
- Assert.AreEqual (130772 + remoteDomId, testerSurrogate.Simple (), "ReturnValue");
- }
-
- public void RunTestPrimitiveParams (IRemoteObject testerSurrogate)
- {
- Assert.AreEqual ("11-22-L-SG@"+remoteDomId, testerSurrogate.PrimitiveParams (11, 22, 'L', "SG"), "ReturnValue");
- }
-
- public void RunTestPrimitiveParamsInOut (IRemoteObject testerSurrogate)
- {
- int a2, a1 = 9876543;
- float b2, b1 = 82437.83f;
- char c2, c1 = 's';
- string d2, d1 = "asdASDzxcZXC";
-
- string res = testerSurrogate.PrimitiveParamsInOut (ref a1, out a2, ref b1, out b2, 9821, ref c1, out c2, ref d1, out d2);
-
- Assert.AreEqual ("9876543-82437.83-s-asdASDzxcZXC@" + remoteDomId, res, "ReturnValue");
-
- Assert.AreEqual (12345678, a2, "a2");
- Assert.AreEqual (53455.345f, b2, "b2");
- Assert.AreEqual ('g', c2, "c2");
- Assert.AreEqual ("sfARREG$5345DGDfgY7656gDFG>><<dasdasd", d2, "d2");
-
- Assert.AreEqual (65748392, a1, "a1");
- Assert.AreEqual (98395.654f, b1, "b1");
- Assert.AreEqual ('l', c1, "c1");
- Assert.AreEqual ("aasbasbdyhasbduybo234243", d1, "d1");
- }
-
- public void RunTestComplexParams (IRemoteObject testerSurrogate)
- {
- ArrayList list = new ArrayList ();
- list.Add (new Complex (11,"first"));
- Complex c = new Complex (22,"second");
-
- Complex r = testerSurrogate.ComplexParams (list, c, "third");
-
- Assert.IsNotNull (r, "ReturnValue is null");
- Assert.IsNotNull (r.Child, "ReturnValue.Child is null");
- Assert.IsNotNull (r.Child.Child, "ReturnValue.Child.Child is null");
-
- Assert.AreEqual (33, r.Id, "ReturnValue.Id");
- Assert.AreEqual ("third@"+remoteDomId, r.Name, "ReturnValue.Name");
- Assert.AreEqual (22, r.Child.Id, "ReturnValue.Child.Id");
- Assert.AreEqual ("second", r.Child.Name, "ReturnValue.Child.Name");
- Assert.AreEqual (11, r.Child.Child.Id, "ReturnValue.Child.Child.Id");
- Assert.AreEqual ("first", r.Child.Child.Name, "ReturnValue.Child.Child.Name");
- }
-
- public void RunTestComplexParamsInOut (IRemoteObject testerSurrogate)
- {
- ArrayList list = new ArrayList ();
- list.Add (new Complex (11,"first"));
- list.Add (new Complex (22,"second"));
-
- byte[] bytes = new byte [100];
- for (byte n=0; n<100; n++) bytes[n] = n;
- StringBuilder sb = new StringBuilder ("hello from client");
-
- Complex c;
- Complex r = testerSurrogate.ComplexParamsInOut (ref list, out c, bytes, sb, "third");
-
- Assert.IsNotNull (r, "ReturnValue is null");
- Assert.IsNotNull (c, "c is null");
- Assert.IsNotNull (list, "list is null");
- Assert.IsTrue (list.Count == 3, "Invalid list count");
- Assert.IsNotNull (list[0], "list[0] is null");
- Assert.IsNotNull (list[1], "list[1] is null");
- Assert.IsNotNull (list[2], "list[2] is null");
- Assert.IsNotNull (bytes, "bytes is null");
- Assert.IsNotNull (sb, "sb is null");
-
- Assert.AreEqual (33, r.Id, "ReturnValue.Id");
- Assert.AreEqual ("third@"+remoteDomId, r.Name, "ReturnValue.Name");
- Assert.AreEqual (33, c.Id, "c.Id");
- Assert.AreEqual ("third@"+remoteDomId, c.Name, "c.Name");
-
- Assert.AreEqual (33, ((Complex)list[2]).Id, "list[2].Id");
- Assert.AreEqual ("third@"+remoteDomId, ((Complex)list[2]).Name, "list[2].Name");
- Assert.AreEqual (22, ((Complex)list[1]).Id, "list[1].Id");
- Assert.AreEqual ("second", ((Complex)list[1]).Name, "list[1].Name");
- Assert.AreEqual (11, ((Complex)list[0]).Id, "list[0].Id");
- Assert.AreEqual ("first", ((Complex)list[0]).Name, "list[0].Name");
-
- Assert.AreEqual ("hello from client", sb.ToString (), "sb");
- for (int n=0; n<100; n++)
- Assert.AreEqual (n+1, bytes[n], "bytes["+n+"]");
- }
-
- public void RunTestProcessContextData (IRemoteObject testerSurrogate)
- {
- CallContext.FreeNamedDataSlot ("clientData");
- CallContext.FreeNamedDataSlot ("serverData");
- CallContext.FreeNamedDataSlot ("mustNotPass");
-
- // First step
-
- ContextData cdata = new ContextData ();
- cdata.data = "hi from client";
- cdata.id = 1123;
- cdata.testStep = 1;
- CallContext.SetData ("clientData", cdata);
- CallContext.SetData ("mustNotPass", "more data");
-
- testerSurrogate.ProcessContextData ();
-
- cdata = CallContext.GetData ("clientData") as ContextData;
- Assert.IsNotNull (cdata, "clientData is null");
- Assert.AreEqual ("hi from client", cdata.data, "clientData.data");
- Assert.AreEqual (1123, cdata.id, "clientData.id");
-
- cdata = CallContext.GetData ("serverData") as ContextData;
- Assert.IsNotNull (cdata, "serverData is null");
- Assert.AreEqual ("hi from server", cdata.data, "serverData.data");
- Assert.AreEqual (3211, cdata.id, "serverData.id");
-
- string mdata = CallContext.GetData ("mustNotPass") as string;
- Assert.IsNotNull (mdata, "mustNotPass is null");
- Assert.AreEqual ("more data", mdata, "mustNotPass");
-
- // Second step. Test that exceptions return the call context.
-
- CallContext.FreeNamedDataSlot ("clientData");
- CallContext.FreeNamedDataSlot ("serverData");
-
- cdata = new ContextData ();
- cdata.data = "hi from client";
- cdata.id = 1123;
- cdata.testStep = 2;
- CallContext.SetData ("clientData", cdata);
-
- try {
- testerSurrogate.ProcessContextData ();
- Assert.IsTrue (false, "Exception not thrown");
- } catch (Exception ex) {
- if (ex.InnerException != null)
- ex = ex.InnerException;
- if (ex.Message != "exception from server")
- throw;
- }
-
- cdata = CallContext.GetData ("clientData") as ContextData;
- Assert.IsNotNull (cdata, "clientData is null (2)");
- Assert.AreEqual ("hi from client", cdata.data, "clientData.data (2)");
- Assert.AreEqual (1123, cdata.id, "clientData.id (2)");
-
- mdata = CallContext.GetData ("mustNotPass") as string;
- Assert.IsNotNull (mdata, "mustNotPass is null");
- Assert.AreEqual ("more data", mdata, "mustNotPass");
- }
- }
-
- //
- // The server running in the remote domain
- //
-
- class CallsDomainServer: MarshalByRefObject
- {
- IChannelReceiver ch;
-
- public string[] Start(ChannelManager cm)
- {
- try
- {
- ch = cm.CreateServerChannel ();
- ChannelServices.RegisterChannel ((IChannel)ch);
- RemotingConfiguration.RegisterWellKnownServiceType (typeof (RemoteObject), "test1", WellKnownObjectMode.SingleCall);
- RemotingConfiguration.RegisterWellKnownServiceType (typeof (RemoteObject), "test2", WellKnownObjectMode.SingleCall);
- RemotingConfiguration.RegisterWellKnownServiceType (typeof (RemoteObject), "test3", WellKnownObjectMode.SingleCall);
- string[] uris = new string[3];
- uris[0] = ch.GetUrlsForUri ("test1")[0];
- uris[1] = ch.GetUrlsForUri ("test2")[0];
- uris[2] = ch.GetUrlsForUri ("test3")[0];
- return uris;
- }
- catch (Exception ex)
- {
- Console.WriteLine (ex.ToString());
- throw;
- }
- }
-
- public void Stop ()
- {
- if (ch != null)
- ChannelServices.UnregisterChannel (ch);
- }
-
- public int GetDomId ()
- {
- return Thread.GetDomainID();
- }
- }
-
- [Serializable]
- public class ContextData : ILogicalThreadAffinative
- {
- public string data;
- public int id;
- public int testStep;
- }
-
- [Serializable]
- public abstract class ChannelManager
- {
- public abstract IChannelSender CreateClientChannel ();
- public abstract IChannelReceiver CreateServerChannel ();
- }
-
-
- //
- // Test interface
- //
- public interface IRemoteObject
- {
- int Simple ();
- string PrimitiveParams (int a, uint b, char c, string d);
- string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2);
- Complex ComplexParams (ArrayList a, Complex b, string c);
- Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c);
- void ProcessContextData ();
- }
-
- // Base classes for tester surrogates
-
- public abstract class InstanceSurrogate : IRemoteObject
- {
- public RemoteObject RemoteObject;
- public abstract int Simple ();
- public abstract string PrimitiveParams (int a, uint b, char c, string d);
- public abstract string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2);
- public abstract Complex ComplexParams (ArrayList a, Complex b, string c);
- public abstract Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c);
- public abstract void ProcessContextData ();
- }
-
- public abstract class AbstractSurrogate : IRemoteObject
- {
- public AbstractRemoteObject RemoteObject;
- public abstract int Simple ();
- public abstract string PrimitiveParams (int a, uint b, char c, string d);
- public abstract string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2);
- public abstract Complex ComplexParams (ArrayList a, Complex b, string c);
- public abstract Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c);
- public abstract void ProcessContextData ();
- }
-
- public abstract class InterfaceSurrogate : IRemoteObject
- {
- public IRemoteObject RemoteObject;
- public abstract int Simple ();
- public abstract string PrimitiveParams (int a, uint b, char c, string d);
- public abstract string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2);
- public abstract Complex ComplexParams (ArrayList a, Complex b, string c);
- public abstract Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c);
- public abstract void ProcessContextData ();
- }
-
-
- //
- // Test abstract base class
- //
-
- public abstract class AbstractRemoteObject : MarshalByRefObject
- {
- public abstract int Simple ();
- public abstract string PrimitiveParams (int a, uint b, char c, string d);
- public abstract string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2);
- public abstract Complex ComplexParams (ArrayList a, Complex b, string c);
- public abstract Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c);
- public abstract void ProcessContextData ();
- }
-
- //
- // Test class
- //
-
- public class RemoteObject : AbstractRemoteObject, IRemoteObject
- {
- int inc = 0;
-
- public override int Simple ()
- {
- return 130772 + Thread.GetDomainID();
- }
-
- public int ReturnOne ()
- {
- return 1;
- }
-
- public int Increment ()
- {
- return inc++;
- }
-
- public override string PrimitiveParams (int a, uint b, char c, string d)
- {
- return "" + a + "-" + b + "-" + c + "-" + d + "@" + Thread.GetDomainID();
- }
-
- // declare an overload for bug #77191
- public void PrimitiveParams ()
- {
- }
-
- public override string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2)
- {
- string res = "" + a1 + "-" + b1.ToString(CultureInfo.InvariantCulture) + "-" + c1 + "-" + d1 + "@" + Thread.GetDomainID();
- a2 = 12345678;
- b2 = 53455.345f;
- c2 = 'g';
- d2 = "sfARREG$5345DGDfgY7656gDFG>><<dasdasd";
- a1 = 65748392;
- b1 = 98395.654f;
- c1 = 'l';
- d1 = "aasbasbdyhasbduybo234243";
- return res;
- }
-
- public override Complex ComplexParams (ArrayList a, Complex b, string c)
- {
- Complex cp = new Complex (33,c+ "@" + Thread.GetDomainID());
- cp.Child = b;
- cp.Child.Child = (Complex)a[0];
- return cp;
- }
-
- public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)
- {
- b = new Complex (33,c+ "@" + Thread.GetDomainID());
- a.Add (b);
- for (byte n=0; n<100; n++) bytes[n] = (byte)(bytes[n] + 1);
- sb.Append (" and from server");
- return b;
- }
-
- public override void ProcessContextData ()
- {
- string mdata = CallContext.GetData ("mustNotPass") as string;
- if (mdata != null)
- throw new Exception ("mustNotPass is not null");
-
- ContextData cdata = CallContext.GetData ("clientData") as ContextData;
- if (cdata == null)
- throw new Exception ("server: clientData is null");
- if (cdata.data != "hi from client" || cdata.id != 1123)
- throw new Exception ("server: clientData is not valid");
-
- if (cdata.testStep == 2)
- throw new Exception ("exception from server");
-
- if (cdata.testStep != 1)
- throw new Exception ("invalid test step");
-
- cdata = new ContextData ();
- cdata.data = "hi from server";
- cdata.id = 3211;
- CallContext.SetData ("serverData", cdata);
- }
- }
-
- [Serializable]
- public class Complex
- {
- public Complex (int id, string name)
- {
- Id = id;
- Name = name;
- }
-
- public string Name;
- public int Id;
- public Complex Child;
- }
-}
+//\r
+// MonoTests.Remoting.BaseCalls.cs\r
+//\r
+// Author: Lluis Sanchez Gual (lluis@ximian.com)\r
+//\r
+// 2003 (C) Copyright, Ximian, Inc.\r
+//\r
+\r
+using System;\r
+using System.IO;\r
+using System.Net;\r
+using System.Text;\r
+using System.Threading;\r
+using System.Collections;\r
+using System.Globalization;\r
+using System.Runtime.Remoting;\r
+using System.Runtime.Remoting.Channels;\r
+using System.Runtime.Remoting.Messaging;\r
+using System.Runtime.Remoting.Lifetime;\r
+using System.Runtime.Remoting.Channels.Tcp;\r
+using System.Runtime.Remoting.Activation;\r
+using System.Runtime.Remoting.Contexts;\r
+using System.Runtime.InteropServices;\r
+using NUnit.Framework;\r
+\r
+namespace MonoTests.Remoting\r
+{\r
+ public abstract class BaseCallTest\r
+ {\r
+ IChannelSender chs;\r
+ string[] remoteUris;\r
+ CallsDomainServer server;\r
+ int remoteDomId;\r
+\r
+ [TestFixtureSetUp]\r
+ public void Run()\r
+ {\r
+ remoteDomId = CreateServer ();\r
+ }\r
+\r
+ [TestFixtureTearDown]\r
+ public void End ()\r
+ {\r
+ ShutdownServer ();\r
+ }\r
+\r
+ public static AppDomain CreateDomain (string friendlyName)\r
+ {\r
+ // return AppDomain.CreateDomain (friendlyName);\r
+ return AppDomain.CreateDomain (friendlyName, null, Directory.GetCurrentDirectory (), ".", false);\r
+ }\r
+\r
+ protected virtual int CreateServer ()\r
+ {\r
+ ChannelManager cm = CreateChannelManager ();\r
+ chs = cm.CreateClientChannel ();\r
+ ChannelServices.RegisterChannel (chs);\r
+\r
+ AppDomain domain = BaseCallTest.CreateDomain ("testdomain");\r
+ server = (CallsDomainServer) domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName,"MonoTests.Remoting.CallsDomainServer");\r
+ remoteUris = server.Start (cm);\r
+ return server.GetDomId ();\r
+ }\r
+ \r
+ protected virtual void ShutdownServer ()\r
+ {\r
+ if (server != null) {\r
+ server.Stop ();\r
+ if (chs != null)\r
+ ChannelServices.UnregisterChannel (chs);\r
+ }\r
+ }\r
+\r
+ protected virtual RemoteObject CreateRemoteInstance ()\r
+ {\r
+ return (RemoteObject) Activator.GetObject (typeof(RemoteObject), remoteUris[0]);\r
+ }\r
+\r
+ protected virtual AbstractRemoteObject CreateRemoteAbstract ()\r
+ {\r
+ return (AbstractRemoteObject) Activator.GetObject (typeof(AbstractRemoteObject), remoteUris[1]);\r
+ }\r
+\r
+ protected virtual IRemoteObject CreateRemoteInterface ()\r
+ {\r
+ return (IRemoteObject) Activator.GetObject (typeof(IRemoteObject), remoteUris[2]);\r
+ }\r
+\r
+ public InstanceSurrogate InternalGetInstanceSurrogate ()\r
+ {\r
+ InstanceSurrogate s = GetInstanceSurrogate ();\r
+ s.RemoteObject = CreateRemoteInstance ();\r
+ return s;\r
+ }\r
+ \r
+ public AbstractSurrogate InternalGetAbstractSurrogate ()\r
+ {\r
+ AbstractSurrogate s = GetAbstractSurrogate ();\r
+ s.RemoteObject = CreateRemoteAbstract ();\r
+ return s;\r
+ }\r
+ \r
+ public InterfaceSurrogate InternalGetInterfaceSurrogate ()\r
+ {\r
+ InterfaceSurrogate s = GetInterfaceSurrogate ();\r
+ s.RemoteObject = CreateRemoteInterface ();\r
+ return s;\r
+ }\r
+\r
+ public abstract InstanceSurrogate GetInstanceSurrogate ();\r
+ public abstract AbstractSurrogate GetAbstractSurrogate ();\r
+ public abstract InterfaceSurrogate GetInterfaceSurrogate ();\r
+ \r
+ public virtual ChannelManager CreateChannelManager ()\r
+ {\r
+ return null;\r
+ }\r
+\r
+ //\r
+ // The tests\r
+ //\r
+\r
+ [Test]\r
+ public void TestInstanceSimple ()\r
+ {\r
+ RunTestSimple (InternalGetInstanceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestAbstractSimple ()\r
+ {\r
+ RunTestSimple (InternalGetAbstractSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestInterfaceSimple ()\r
+ {\r
+ RunTestSimple (InternalGetInterfaceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestInstancePrimitiveParams ()\r
+ {\r
+ RunTestPrimitiveParams (InternalGetInstanceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestAbstractPrimitiveParams ()\r
+ {\r
+ RunTestPrimitiveParams (InternalGetAbstractSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestInterfacePrimitiveParams ()\r
+ {\r
+ RunTestPrimitiveParams (InternalGetInterfaceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ [Category ("NotWorking")]\r
+ public void TestInstancePrimitiveParamsInOut ()\r
+ {\r
+ RunTestPrimitiveParamsInOut (InternalGetInstanceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ [Category ("NotWorking")]\r
+ public void TestAbstractPrimitiveParamsInOut ()\r
+ {\r
+ RunTestPrimitiveParamsInOut (InternalGetAbstractSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ [Category ("NotWorking")]\r
+ public void TestInterfacePrimitiveParamsInOut ()\r
+ {\r
+ RunTestPrimitiveParamsInOut (InternalGetInterfaceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestInstanceComplexParams ()\r
+ {\r
+ RunTestComplexParams (InternalGetInstanceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestAbstractComplexParams ()\r
+ {\r
+ RunTestComplexParams (InternalGetAbstractSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestInterfaceComplexParams ()\r
+ {\r
+ RunTestComplexParams (InternalGetInterfaceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ [Ignore ("Fails on MS")]\r
+ public void TestInstanceComplexParamsInOut ()\r
+ {\r
+ RunTestComplexParamsInOut (InternalGetInstanceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ [Ignore ("Fails on MS")]\r
+ public void TestAbstractComplexParamsInOut ()\r
+ {\r
+ RunTestComplexParamsInOut (InternalGetAbstractSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ [Ignore ("Fails on MS")]\r
+ public void TestInterfaceComplexParamsInOut ()\r
+ {\r
+ RunTestComplexParamsInOut (InternalGetInterfaceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestInstanceProcessContextData ()\r
+ {\r
+ RunTestProcessContextData (InternalGetInstanceSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestAbstractProcessContextData ()\r
+ {\r
+ RunTestProcessContextData (InternalGetAbstractSurrogate());\r
+ }\r
+\r
+ [Test]\r
+ public void TestInterfaceProcessContextData ()\r
+ {\r
+ RunTestProcessContextData (InternalGetInterfaceSurrogate());\r
+ }\r
+\r
+ //\r
+ // The tests runners\r
+ //\r
+\r
+ public void RunTestSimple (IRemoteObject testerSurrogate)\r
+ {\r
+ Assert.AreEqual (130772 + remoteDomId, testerSurrogate.Simple (), "ReturnValue");\r
+ }\r
+\r
+ public void RunTestPrimitiveParams (IRemoteObject testerSurrogate)\r
+ {\r
+ Assert.AreEqual ("11-22-L-SG@"+remoteDomId, testerSurrogate.PrimitiveParams (11, 22, 'L', "SG"), "ReturnValue");\r
+ }\r
+\r
+ public void RunTestPrimitiveParamsInOut (IRemoteObject testerSurrogate)\r
+ {\r
+ int a2, a1 = 9876543;\r
+ float b2, b1 = 82437.83f;\r
+ char c2, c1 = 's';\r
+ string d2, d1 = "asdASDzxcZXC";\r
+\r
+ string res = testerSurrogate.PrimitiveParamsInOut (ref a1, out a2, ref b1, out b2, 9821, ref c1, out c2, ref d1, out d2);\r
+\r
+ Assert.AreEqual ("9876543-82437.83-s-asdASDzxcZXC@" + remoteDomId, res, "ReturnValue");\r
+\r
+ Assert.AreEqual (12345678, a2, "a2");\r
+ Assert.AreEqual (53455.345f, b2, "b2");\r
+ Assert.AreEqual ('g', c2, "c2");\r
+ Assert.AreEqual ("sfARREG$5345DGDfgY7656gDFG>><<dasdasd", d2, "d2");\r
+\r
+ Assert.AreEqual (65748392, a1, "a1");\r
+ Assert.AreEqual (98395.654f, b1, "b1");\r
+ Assert.AreEqual ('l', c1, "c1");\r
+ Assert.AreEqual ("aasbasbdyhasbduybo234243", d1, "d1");\r
+ }\r
+\r
+ public void RunTestComplexParams (IRemoteObject testerSurrogate)\r
+ {\r
+ ArrayList list = new ArrayList ();\r
+ list.Add (new Complex (11,"first"));\r
+ Complex c = new Complex (22,"second");\r
+\r
+ Complex r = testerSurrogate.ComplexParams (list, c, "third");\r
+\r
+ Assert.IsNotNull (r, "ReturnValue is null");\r
+ Assert.IsNotNull (r.Child, "ReturnValue.Child is null");\r
+ Assert.IsNotNull (r.Child.Child, "ReturnValue.Child.Child is null");\r
+ \r
+ Assert.AreEqual (33, r.Id, "ReturnValue.Id");\r
+ Assert.AreEqual ("third@"+remoteDomId, r.Name, "ReturnValue.Name");\r
+ Assert.AreEqual (22, r.Child.Id, "ReturnValue.Child.Id");\r
+ Assert.AreEqual ("second", r.Child.Name, "ReturnValue.Child.Name");\r
+ Assert.AreEqual (11, r.Child.Child.Id, "ReturnValue.Child.Child.Id");\r
+ Assert.AreEqual ("first", r.Child.Child.Name, "ReturnValue.Child.Child.Name");\r
+ }\r
+\r
+ public void RunTestComplexParamsInOut (IRemoteObject testerSurrogate)\r
+ {\r
+ ArrayList list = new ArrayList ();\r
+ list.Add (new Complex (11,"first"));\r
+ list.Add (new Complex (22,"second"));\r
+ \r
+ byte[] bytes = new byte [100];\r
+ for (byte n=0; n<100; n++) bytes[n] = n;\r
+ StringBuilder sb = new StringBuilder ("hello from client");\r
+\r
+ Complex c;\r
+ Complex r = testerSurrogate.ComplexParamsInOut (ref list, out c, bytes, sb, "third");\r
+\r
+ Assert.IsNotNull (r, "ReturnValue is null");\r
+ Assert.IsNotNull (c, "c is null");\r
+ Assert.IsNotNull (list, "list is null");\r
+ Assert.IsTrue (list.Count == 3, "Invalid list count");\r
+ Assert.IsNotNull (list[0], "list[0] is null");\r
+ Assert.IsNotNull (list[1], "list[1] is null");\r
+ Assert.IsNotNull (list[2], "list[2] is null");\r
+ Assert.IsNotNull (bytes, "bytes is null");\r
+ Assert.IsNotNull (sb, "sb is null");\r
+ \r
+ Assert.AreEqual (33, r.Id, "ReturnValue.Id");\r
+ Assert.AreEqual ("third@"+remoteDomId, r.Name, "ReturnValue.Name");\r
+ Assert.AreEqual (33, c.Id, "c.Id");\r
+ Assert.AreEqual ("third@"+remoteDomId, c.Name, "c.Name");\r
+\r
+ Assert.AreEqual (33, ((Complex)list[2]).Id, "list[2].Id");\r
+ Assert.AreEqual ("third@"+remoteDomId, ((Complex)list[2]).Name, "list[2].Name");\r
+ Assert.AreEqual (22, ((Complex)list[1]).Id, "list[1].Id");\r
+ Assert.AreEqual ("second", ((Complex)list[1]).Name, "list[1].Name");\r
+ Assert.AreEqual (11, ((Complex)list[0]).Id, "list[0].Id");\r
+ Assert.AreEqual ("first", ((Complex)list[0]).Name, "list[0].Name");\r
+ \r
+ Assert.AreEqual ("hello from client", sb.ToString (), "sb");\r
+ for (int n=0; n<100; n++) \r
+ Assert.AreEqual (n+1, bytes[n], "bytes["+n+"]");\r
+ }\r
+ \r
+ public void RunTestProcessContextData (IRemoteObject testerSurrogate)\r
+ {\r
+ CallContext.FreeNamedDataSlot ("clientData");\r
+ CallContext.FreeNamedDataSlot ("serverData");\r
+ CallContext.FreeNamedDataSlot ("mustNotPass");\r
+ \r
+ // First step\r
+\r
+ ContextData cdata = new ContextData ();\r
+ cdata.data = "hi from client";\r
+ cdata.id = 1123;\r
+ cdata.testStep = 1;\r
+ CallContext.SetData ("clientData", cdata);\r
+ CallContext.SetData ("mustNotPass", "more data");\r
+ \r
+ testerSurrogate.ProcessContextData ();\r
+ \r
+ cdata = CallContext.GetData ("clientData") as ContextData;\r
+ Assert.IsNotNull (cdata, "clientData is null");\r
+ Assert.AreEqual ("hi from client", cdata.data, "clientData.data");\r
+ Assert.AreEqual (1123, cdata.id, "clientData.id");\r
+ \r
+ cdata = CallContext.GetData ("serverData") as ContextData;\r
+ Assert.IsNotNull (cdata, "serverData is null");\r
+ Assert.AreEqual ("hi from server", cdata.data, "serverData.data");\r
+ Assert.AreEqual (3211, cdata.id, "serverData.id");\r
+ \r
+ string mdata = CallContext.GetData ("mustNotPass") as string;\r
+ Assert.IsNotNull (mdata, "mustNotPass is null");\r
+ Assert.AreEqual ("more data", mdata, "mustNotPass");\r
+ \r
+ // Second step. Test that exceptions return the call context.\r
+ \r
+ CallContext.FreeNamedDataSlot ("clientData");\r
+ CallContext.FreeNamedDataSlot ("serverData");\r
+ \r
+ cdata = new ContextData ();\r
+ cdata.data = "hi from client";\r
+ cdata.id = 1123;\r
+ cdata.testStep = 2;\r
+ CallContext.SetData ("clientData", cdata);\r
+ \r
+ try {\r
+ testerSurrogate.ProcessContextData ();\r
+ Assert.IsTrue (false, "Exception not thrown");\r
+ } catch (Exception ex) {\r
+ if (ex.InnerException != null)\r
+ ex = ex.InnerException;\r
+ if (ex.Message != "exception from server")\r
+ throw;\r
+ }\r
+ \r
+ cdata = CallContext.GetData ("clientData") as ContextData;\r
+ Assert.IsNotNull (cdata, "clientData is null (2)");\r
+ Assert.AreEqual ("hi from client", cdata.data, "clientData.data (2)");\r
+ Assert.AreEqual (1123, cdata.id, "clientData.id (2)");\r
+ \r
+ mdata = CallContext.GetData ("mustNotPass") as string;\r
+ Assert.IsNotNull (mdata, "mustNotPass is null");\r
+ Assert.AreEqual ("more data", mdata, "mustNotPass");\r
+ }\r
+ }\r
+\r
+ //\r
+ // The server running in the remote domain\r
+ //\r
+\r
+ class CallsDomainServer: MarshalByRefObject\r
+ {\r
+ IChannelReceiver ch;\r
+\r
+ public string[] Start(ChannelManager cm)\r
+ {\r
+ try\r
+ {\r
+ ch = cm.CreateServerChannel ();\r
+ ChannelServices.RegisterChannel ((IChannel)ch);\r
+ RemotingConfiguration.RegisterWellKnownServiceType (typeof (RemoteObject), "test1", WellKnownObjectMode.SingleCall);\r
+ RemotingConfiguration.RegisterWellKnownServiceType (typeof (RemoteObject), "test2", WellKnownObjectMode.SingleCall);\r
+ RemotingConfiguration.RegisterWellKnownServiceType (typeof (RemoteObject), "test3", WellKnownObjectMode.SingleCall);\r
+ string[] uris = new string[3];\r
+ uris[0] = ch.GetUrlsForUri ("test1")[0];\r
+ uris[1] = ch.GetUrlsForUri ("test2")[0];\r
+ uris[2] = ch.GetUrlsForUri ("test3")[0];\r
+ return uris;\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ Console.WriteLine (ex.ToString());\r
+ throw;\r
+ }\r
+ }\r
+\r
+ public void Stop ()\r
+ {\r
+ if (ch != null)\r
+ ChannelServices.UnregisterChannel (ch);\r
+ }\r
+\r
+ public int GetDomId ()\r
+ {\r
+ return Thread.GetDomainID();\r
+ }\r
+ }\r
+ \r
+ [Serializable]\r
+ public class ContextData : ILogicalThreadAffinative\r
+ {\r
+ public string data;\r
+ public int id;\r
+ public int testStep;\r
+ }\r
+\r
+ [Serializable]\r
+ public abstract class ChannelManager\r
+ {\r
+ public abstract IChannelSender CreateClientChannel ();\r
+ public abstract IChannelReceiver CreateServerChannel ();\r
+ }\r
+\r
+\r
+ //\r
+ // Test interface\r
+ //\r
+ public interface IRemoteObject\r
+ {\r
+ int Simple ();\r
+ string PrimitiveParams (int a, uint b, char c, string d);\r
+ string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2);\r
+ Complex ComplexParams (ArrayList a, Complex b, string c);\r
+ Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c);\r
+ void ProcessContextData ();\r
+ }\r
+\r
+ // Base classes for tester surrogates\r
+ \r
+ public abstract class InstanceSurrogate : IRemoteObject\r
+ {\r
+ public RemoteObject RemoteObject;\r
+ public abstract int Simple ();\r
+ public abstract string PrimitiveParams (int a, uint b, char c, string d);\r
+ public abstract string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2);\r
+ public abstract Complex ComplexParams (ArrayList a, Complex b, string c);\r
+ public abstract Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c);\r
+ public abstract void ProcessContextData ();\r
+ }\r
+ \r
+ public abstract class AbstractSurrogate : IRemoteObject\r
+ {\r
+ public AbstractRemoteObject RemoteObject;\r
+ public abstract int Simple ();\r
+ public abstract string PrimitiveParams (int a, uint b, char c, string d);\r
+ public abstract string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2);\r
+ public abstract Complex ComplexParams (ArrayList a, Complex b, string c);\r
+ public abstract Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c);\r
+ public abstract void ProcessContextData ();\r
+ }\r
+\r
+ public abstract class InterfaceSurrogate : IRemoteObject\r
+ {\r
+ public IRemoteObject RemoteObject;\r
+ public abstract int Simple ();\r
+ public abstract string PrimitiveParams (int a, uint b, char c, string d);\r
+ public abstract string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2);\r
+ public abstract Complex ComplexParams (ArrayList a, Complex b, string c);\r
+ public abstract Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c);\r
+ public abstract void ProcessContextData ();\r
+ }\r
+\r
+ \r
+ //\r
+ // Test abstract base class\r
+ //\r
+\r
+ public abstract class AbstractRemoteObject : MarshalByRefObject\r
+ {\r
+ public abstract int Simple ();\r
+ public abstract string PrimitiveParams (int a, uint b, char c, string d);\r
+ public abstract string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2);\r
+ public abstract Complex ComplexParams (ArrayList a, Complex b, string c);\r
+ public abstract Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c);\r
+ public abstract void ProcessContextData ();\r
+ }\r
+\r
+ //\r
+ // Test class\r
+ //\r
+ \r
+ public class RemoteObject : AbstractRemoteObject, IRemoteObject\r
+ {\r
+ int inc = 0;\r
+ \r
+ public override int Simple ()\r
+ {\r
+ return 130772 + Thread.GetDomainID();\r
+ }\r
+ \r
+ public int ReturnOne ()\r
+ {\r
+ return 1;\r
+ }\r
+ \r
+ public int Increment ()\r
+ {\r
+ return inc++;\r
+ }\r
+ \r
+ public override string PrimitiveParams (int a, uint b, char c, string d)\r
+ {\r
+ return "" + a + "-" + b + "-" + c + "-" + d + "@" + Thread.GetDomainID();\r
+ }\r
+\r
+ // declare an overload for bug #77191\r
+ public void PrimitiveParams ()\r
+ {\r
+ }\r
+\r
+ public override string PrimitiveParamsInOut (ref int a1, out int a2, ref float b1, out float b2, int filler, ref char c1, out char c2, ref string d1, out string d2)\r
+ {\r
+ string res = "" + a1 + "-" + b1.ToString(CultureInfo.InvariantCulture) + "-" + c1 + "-" + d1 + "@" + Thread.GetDomainID();\r
+ a2 = 12345678;\r
+ b2 = 53455.345f;\r
+ c2 = 'g';\r
+ d2 = "sfARREG$5345DGDfgY7656gDFG>><<dasdasd";\r
+ a1 = 65748392;\r
+ b1 = 98395.654f;\r
+ c1 = 'l';\r
+ d1 = "aasbasbdyhasbduybo234243";\r
+ return res;\r
+ }\r
+\r
+ public override Complex ComplexParams (ArrayList a, Complex b, string c)\r
+ {\r
+ Complex cp = new Complex (33,c+ "@" + Thread.GetDomainID());\r
+ cp.Child = b;\r
+ cp.Child.Child = (Complex)a[0];\r
+ return cp;\r
+ }\r
+\r
+ public override Complex ComplexParamsInOut (ref ArrayList a, out Complex b, [In,Out] byte[] bytes, [In,Out] StringBuilder sb, string c)\r
+ {\r
+ b = new Complex (33,c+ "@" + Thread.GetDomainID());\r
+ a.Add (b);\r
+ for (byte n=0; n<100; n++) bytes[n] = (byte)(bytes[n] + 1);\r
+ sb.Append (" and from server");\r
+ return b;\r
+ }\r
+\r
+ public override void ProcessContextData ()\r
+ {\r
+ string mdata = CallContext.GetData ("mustNotPass") as string;\r
+ if (mdata != null)\r
+ throw new Exception ("mustNotPass is not null");\r
+ \r
+ ContextData cdata = CallContext.GetData ("clientData") as ContextData;\r
+ if (cdata == null) \r
+ throw new Exception ("server: clientData is null");\r
+ if (cdata.data != "hi from client" || cdata.id != 1123)\r
+ throw new Exception ("server: clientData is not valid");\r
+ \r
+ if (cdata.testStep == 2)\r
+ throw new Exception ("exception from server");\r
+\r
+ if (cdata.testStep != 1)\r
+ throw new Exception ("invalid test step");\r
+ \r
+ cdata = new ContextData ();\r
+ cdata.data = "hi from server";\r
+ cdata.id = 3211;\r
+ CallContext.SetData ("serverData", cdata);\r
+ }\r
+ }\r
+\r
+ [Serializable]\r
+ public class Complex\r
+ {\r
+ public Complex (int id, string name)\r
+ {\r
+ Id = id;\r
+ Name = name;\r
+ }\r
+\r
+ public string Name;\r
+ public int Id;\r
+ public Complex Child;\r
+ }\r
+}\r
+2010-02-11 Jonathan Pobst <monkey@jpobst.com>
+
+ * ActivationTests.cs: Disable TestCreateHttpWkoSingleCall and
+ TestCreateHttpWkoSingleton due to sporadic failures.
+ Filed as bug #579277.
+
+2010-02-03 Jonathan Pobst <monkey@jpobst.com>
+
+ * HttpCalls.cs: Disable all tests here due to excessive
+ sporadic failures. Filed as bug #576724.
+
+2010-02-03 Jonathan Pobst <monkey@jpobst.com>
+
+ * BaseCalls.cs: Mark tests as NotWorking. Reported as bug #576618.
+
2009-09-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
* HttpServerChannelTests.cs:
-//
-// MonoTests.Remoting.HttpCalls.cs
-//
-// Author: Lluis Sanchez Gual (lluis@ximian.com)
-//
-// 2003 (C) Copyright, Ximian, Inc.
-//
-
-using System;
-using System.Collections;
-using System.Runtime.Remoting;
-using System.Runtime.Remoting.Channels;
-using System.Runtime.Remoting.Channels.Http;
-using NUnit.Framework;
-
-namespace MonoTests.Remoting
-{
- [TestFixture]
- public class HttpSyncCallTest : SyncCallTest
- {
- public override ChannelManager CreateChannelManager ()
- {
- return new HttpChannelManager ();
- }
- }
-
- [TestFixture]
- public class HttpAsyncCallTest : AsyncCallTest
- {
- public override ChannelManager CreateChannelManager ()
- {
- return new HttpChannelManager ();
- }
- }
-
- [TestFixture]
- public class HttpReflectionCallTest : ReflectionCallTest
- {
- public override ChannelManager CreateChannelManager ()
- {
- return new HttpChannelManager ();
- }
- }
-
- [TestFixture]
- public class HttpDelegateCallTest : DelegateCallTest
- {
- public override ChannelManager CreateChannelManager ()
- {
- return new HttpChannelManager ();
- }
- }
-
- [TestFixture]
- public class HttpBinarySyncCallTest : SyncCallTest
- {
- public override ChannelManager CreateChannelManager ()
- {
- return new HttpChannelManager ();
- }
- }
-
- [Serializable]
- public class HttpChannelManager : ChannelManager
- {
- public override IChannelSender CreateClientChannel ()
- {
- Hashtable options = new Hashtable ();
- options ["timeout"] = 10000; // 10s
- return new HttpClientChannel (options, null);
- }
-
- public override IChannelReceiver CreateServerChannel ()
- {
- return new HttpChannel (0);
- }
- }
-
- [Serializable]
- public class HttpBinaryChannelManager : ChannelManager
- {
- public override IChannelSender CreateClientChannel ()
- {
- Hashtable options = new Hashtable ();
- options ["timeout"] = 10000; // 10s
- options ["name"] = "binary http channel";
- return new HttpClientChannel (options, new BinaryClientFormatterSinkProvider ());
- }
-
- public override IChannelReceiver CreateServerChannel ()
- {
- return new HttpChannel (0);
- }
- }
-}
-
+//\r
+// MonoTests.Remoting.HttpCalls.cs\r
+//\r
+// Author: Lluis Sanchez Gual (lluis@ximian.com)\r
+//\r
+// 2003 (C) Copyright, Ximian, Inc.\r
+//\r
+\r
+using System;\r
+using System.Collections;\r
+using System.Runtime.Remoting;\r
+using System.Runtime.Remoting.Channels;\r
+using System.Runtime.Remoting.Channels.Http;\r
+using NUnit.Framework;\r
+\r
+namespace MonoTests.Remoting\r
+{\r
+ //[TestFixture]\r
+ public class HttpSyncCallTest : SyncCallTest\r
+ {\r
+ public override ChannelManager CreateChannelManager ()\r
+ {\r
+ return new HttpChannelManager ();\r
+ }\r
+ }\r
+\r
+ //[TestFixture]\r
+ public class HttpAsyncCallTest : AsyncCallTest\r
+ {\r
+ public override ChannelManager CreateChannelManager ()\r
+ {\r
+ return new HttpChannelManager ();\r
+ }\r
+ }\r
+\r
+ //[TestFixture]\r
+ public class HttpReflectionCallTest : ReflectionCallTest\r
+ {\r
+ public override ChannelManager CreateChannelManager ()\r
+ {\r
+ return new HttpChannelManager ();\r
+ }\r
+ }\r
+\r
+ //[TestFixture]\r
+ public class HttpDelegateCallTest : DelegateCallTest\r
+ {\r
+ public override ChannelManager CreateChannelManager ()\r
+ {\r
+ return new HttpChannelManager ();\r
+ }\r
+ }\r
+ \r
+ //[TestFixture]\r
+ public class HttpBinarySyncCallTest : SyncCallTest\r
+ {\r
+ public override ChannelManager CreateChannelManager ()\r
+ {\r
+ return new HttpChannelManager ();\r
+ }\r
+ }\r
+\r
+ [Serializable]\r
+ public class HttpChannelManager : ChannelManager\r
+ {\r
+ public override IChannelSender CreateClientChannel ()\r
+ {\r
+ Hashtable options = new Hashtable ();\r
+ options ["timeout"] = 10000; // 10s\r
+ return new HttpClientChannel (options, null);\r
+ }\r
+\r
+ public override IChannelReceiver CreateServerChannel ()\r
+ {\r
+ return new HttpChannel (0);\r
+ }\r
+ }\r
+ \r
+ [Serializable]\r
+ public class HttpBinaryChannelManager : ChannelManager\r
+ {\r
+ public override IChannelSender CreateClientChannel ()\r
+ {\r
+ Hashtable options = new Hashtable ();\r
+ options ["timeout"] = 10000; // 10s\r
+ options ["name"] = "binary http channel";\r
+ return new HttpClientChannel (options, new BinaryClientFormatterSinkProvider ());\r
+ }\r
+\r
+ public override IChannelReceiver CreateServerChannel ()\r
+ {\r
+ return new HttpChannel (0);\r
+ }\r
+ }\r
+}\r
+\r
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Makefile: add Test/Resources/Schemas/* to extra dist.
+
2009-11-12 Atsushi Enomoto <atsushi@ximian.com>
* net_4_0_System.Runtime.Serialization.dll : 4.0 dll contains
EXTRA_DISTFILES = $(RESOURCE_FILES) \
Test/Resources/FrameworkTypes/* \
+ Test/Resources/Schemas/*.xsd \
Test/System.Runtime.Serialization/one.xml
VALID_PROFILE := $(filter 2.0 2.1 4.0, $(FRAMEWORK_VERSION))
+2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporter.cs : fix extension type name (and comment).
+
+2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporter.cs : added dictionary support.
+
+2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporter-new.cs, XsdDataContractImporter.cs :
+ replaced implementation.
+ * ImportOptions.cs : add correct MonoTODOs.
+
+2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporter-new.cs : output [KnownType] to expose
+ base/derived type relationship.
+
+2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporter-new.cs : fix GenerateInternal.
+
+2010-02-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporter-new.cs : refresh implementation that is
+ not based on xml serialization. Not enabled yet.
+ * KnownTypeCollection.cs : add cosmetic comment.
+
+2010-02-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporter.cs : add appropriate code namespaces
+ imported from xsd namespace.
+
+2010-02-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporter.cs : do not add primitive ArrayOfxxx types.
+
+2010-02-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporter.cs : some generated attributes are put
+ on enums too.
+
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SerializationMap.cs : allow readonly field as data member.
+ Fixed bug #560155.
+
2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
* SerializationMap.cs, KnownTypeCollection.cs : differentiate
set { code_provider = value; }
}
+ [MonoTODO]
public IDataContractSurrogate DataContractSurrogate {
get { return surrogate; }
set { surrogate = value; }
}
+ [MonoTODO]
public bool EnableDataBinding {
get { return enable_data_binding; }
set { enable_data_binding = value; }
set { generate_serializable = value; }
}
+ [MonoTODO]
public bool ImportXmlType {
get { return import_xml_type; }
set { import_xml_type = value; }
get { return namespaces; }
}
+ [MonoTODO]
public ICollection<Type> ReferencedCollectionTypes {
get { return referenced_collection_types; }
}
+ [MonoTODO]
public ICollection<Type> ReferencedTypes {
get { return referenced_types; }
}
}
}
+ // FIXME: xsd types and ms serialization types should be differentiated.
internal static Type GetPrimitiveTypeFromName (string name)
{
switch (name) {
GetDataMemberAttribute (fi);
if (dma == null)
continue;
- if (fi.IsInitOnly)
- throw new InvalidDataContractException (String.Format (
- "DataMember field {0} must not be read-only.", fi));
data_members.Add (CreateDataMemberInfo (dma, fi, fi.FieldType));
}
// Author:
// Atsushi Enomoto <atsushi@ximian.com>
//
-// Copyright (C) 2005 Novell, Inc. http://www.novell.com
+// Copyright (C) 2010 Novell, Inc. http://www.novell.com
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
+
using System;
using System.CodeDom;
+using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.IO;
+using System.Linq;
+using System.Reflection;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
-using QName = System.Xml.XmlQualifiedName;
-
namespace System.Runtime.Serialization
{
+ [MonoTODO ("Support ImportXmlType option; support arrays; CanImport is not up to date with Import")]
public class XsdDataContractImporter
{
- ImportOptions options;
- CodeCompileUnit ccu;
- Dictionary<QName, QName> imported_names = new Dictionary<QName, QName> ();
+ static readonly XmlQualifiedName qname_anytype = new XmlQualifiedName ("anyType", XmlSchema.Namespace);
public XsdDataContractImporter ()
: this (null)
{
}
- public XsdDataContractImporter (CodeCompileUnit ccu)
+ public XsdDataContractImporter (CodeCompileUnit codeCompileUnit)
{
- this.ccu = ccu;
- this.imported_names = new Dictionary<QName, QName> ();
- }
+ // null argument is ok.
+ CodeCompileUnit = codeCompileUnit ?? new CodeCompileUnit ();
- public CodeCompileUnit CodeCompileUnit {
- get {
- if (ccu == null)
- ccu = new CodeCompileUnit ();
-
- return ccu;
- }
+ // Options is null by default
}
- public ImportOptions Options {
- get { return options; }
- set { options = value; }
- }
+ public CodeCompileUnit CodeCompileUnit { get; private set; }
- [MonoTODO]
- public ICollection<CodeTypeReference> GetKnownTypeReferences (QName typeName)
- {
- throw new NotImplementedException ();
- }
+ CodeDomProvider code_provider = CodeDomProvider.CreateProvider ("csharp");
+ ImportOptions import_options;
- [MonoTODO]
- public CodeTypeReference GetCodeTypeReference (QName typeName)
- {
- throw new NotImplementedException ();
+ public ImportOptions Options {
+ get { return import_options; }
+ set {
+ import_options = value;
+ code_provider = value.CodeProvider ?? code_provider;
+ }
}
- [MonoTODO]
- public CodeTypeReference GetCodeTypeReference (QName typeName,
- XmlSchemaElement element)
- {
- throw new NotImplementedException ();
- }
+ // CanImport
public bool CanImport (XmlSchemaSet schemas)
{
- foreach (XmlSchemaElement e in schemas.GlobalElements)
- if (!CanImport (schemas, e))
+ if (schemas == null)
+ throw new ArgumentNullException ("schemas");
+
+ if (!schemas.IsCompiled)
+ schemas.Compile ();
+
+ foreach (XmlSchemaElement xe in schemas.GlobalElements.Values)
+ if (!CanImport (schemas, xe))
return false;
return true;
}
- public bool CanImport (XmlSchemaSet schemas,
- ICollection<QName> typeNames)
+ public bool CanImport (XmlSchemaSet schemas, ICollection<XmlQualifiedName> typeNames)
{
- foreach (QName name in typeNames)
+ if (schemas == null)
+ throw new ArgumentNullException ("schemas");
+ if (typeNames == null)
+ throw new ArgumentNullException ("typeNames");
+
+ if (!schemas.IsCompiled)
+ schemas.Compile ();
+
+ foreach (var name in typeNames)
if (!CanImport (schemas, name))
return false;
return true;
}
- public bool CanImport (XmlSchemaSet schemas, QName name)
+ public bool CanImport (XmlSchemaSet schemas, XmlQualifiedName typeName)
{
- return CanImport (schemas,
- (XmlSchemaElement) schemas.GlobalElements [name]);
+ if (schemas == null)
+ throw new ArgumentNullException ("schemas");
+ if (typeName == null)
+ throw new ArgumentNullException ("typeName");
+
+ if (!schemas.IsCompiled)
+ schemas.Compile ();
+
+ if (!schemas.GlobalTypes.Contains (typeName))
+ throw new InvalidDataContractException (String.Format ("Type {0} is not found in the schemas", typeName));
+
+ return CanImport (schemas, schemas.GlobalTypes [typeName] as XmlSchemaComplexType);
}
- [MonoTODO]
public bool CanImport (XmlSchemaSet schemas, XmlSchemaElement element)
{
- throw new NotImplementedException ();
+ if (schemas == null)
+ throw new ArgumentNullException ("schemas");
+
+ if (!schemas.IsCompiled)
+ schemas.Compile ();
+
+ return CanImport (schemas, element.ElementSchemaType as XmlSchemaComplexType);
}
- [MonoTODO]
+ bool CanImport (XmlSchemaSet schemas, XmlSchemaComplexType type)
+ {
+ if (type == null || type.QualifiedName.Namespace == XmlSchema.Namespace) // xs:anyType -> not supported.
+ return false;
+
+ if (type.ContentModel is XmlSchemaSimpleContent) // simple content derivation is not supported.
+ return false;
+ if (type.ContentModel != null && type.ContentModel.Content != null) {
+ var xscce = type.ContentModel.Content as XmlSchemaComplexContentExtension;
+ if (xscce == null) // complex DBR is not supported.
+ return false;
+ // check base type
+ if (xscce.BaseTypeName != qname_anytype && !CanImport (schemas, xscce.BaseTypeName))
+ return false;
+ }
+
+ return true;
+ }
+
+ // Import
+
public void Import (XmlSchemaSet schemas)
{
if (schemas == null)
throw new ArgumentNullException ("schemas");
- schemas.Compile ();
- foreach (XmlSchemaElement e in schemas.GlobalElements.Values)
- ImportInternal (schemas, e.QualifiedName);
+ if (!schemas.IsCompiled)
+ schemas.Compile ();
+
+ foreach (XmlSchemaElement xe in schemas.GlobalElements.Values)
+ Import (schemas, xe);
}
- public void Import (XmlSchemaSet schemas,
- ICollection<QName> typeNames)
+ public void Import (XmlSchemaSet schemas, ICollection<XmlQualifiedName> typeNames)
{
if (schemas == null)
throw new ArgumentNullException ("schemas");
if (typeNames == null)
throw new ArgumentNullException ("typeNames");
-
- schemas.Compile ();
- foreach (QName name in typeNames)
- ImportInternal (schemas, name);
+ foreach (var name in typeNames)
+ Import (schemas, name);
}
- public void Import (XmlSchemaSet schemas, QName name)
+ // This checks type existence and raises an error if it is missing.
+ public void Import (XmlSchemaSet schemas, XmlQualifiedName typeName)
{
if (schemas == null)
throw new ArgumentNullException ("schemas");
- if (name == null)
- throw new ArgumentNullException ("name");
+ if (typeName == null)
+ throw new ArgumentNullException ("typeName");
- schemas.Compile ();
-
- if (schemas.GlobalTypes [name] == null)
- throw new InvalidDataContractException (String.Format (
- "Type with name '{0}' not found in schema with namespace '{1}'",
- name.Name, name.Namespace));
+ if (IsPredefinedType (typeName))
+ return;
- ImportInternal (schemas, name);
+ if (!schemas.GlobalTypes.Contains (typeName))
+ throw new InvalidDataContractException (String.Format ("Type {0} is not found in the schemas", typeName));
+
+ Import (schemas, schemas.GlobalTypes [typeName] as XmlSchemaType, typeName);
}
- [MonoTODO]
- public QName Import (XmlSchemaSet schemas, XmlSchemaElement element)
+ public XmlQualifiedName Import (XmlSchemaSet schemas, XmlSchemaElement element)
{
if (schemas == null)
throw new ArgumentNullException ("schemas");
if (element == null)
throw new ArgumentNullException ("element");
- schemas.Compile ();
- QName ret = ImportInternal (schemas, element.QualifiedName);
+ var elname = element.QualifiedName;
- foreach (QName qname in schemas.GlobalTypes.Names)
- ImportInternal (schemas, qname);
+ switch (elname.Namespace) {
+ case KnownTypeCollection.MSSimpleNamespace:
+ switch (elname.Name) {
+ case "char":
+ case "duration":
+ case "guid":
+ return elname;
+ }
+ break;
+ }
- return ret;
+ // FIXME: use element to fill nillable and arrays.
+ var qname = element.SchemaType != null ? element.QualifiedName : element.ElementSchemaType.QualifiedName;
+ Import (schemas, element.ElementSchemaType, qname);
+ return qname;
}
- private QName ImportInternal (XmlSchemaSet schemas, QName qname)
+ void Import (XmlSchemaSet schemas, XmlSchemaType type)
{
- if (qname.Namespace == KnownTypeCollection.MSSimpleNamespace)
- //Primitive type
- return qname;
+ Import (schemas, type, type.QualifiedName);
+ }
- if (imported_names.ContainsKey (qname))
- return imported_names [qname];
+ void Import (XmlSchemaSet schemas, XmlSchemaType type, XmlQualifiedName qname)
+ {
+ var existing = imported_types.FirstOrDefault (it => it.XsdType == type);
+ if (existing != null)
+ return;// existing.XsdTypeName;
- XmlSchemas xss = new XmlSchemas ();
- foreach (XmlSchema schema in schemas.Schemas ())
- xss.Add (schema);
-
- XmlSchemaImporter xsi = new XmlSchemaImporter (xss);
- XmlTypeMapping xtm = xsi.ImportTypeMapping (qname);
+ if (IsPredefinedType (type.QualifiedName))
+ return;
- ImportFromTypeMapping (xtm);
- return qname;
+ DoImport (schemas, type, qname);
}
- //Duplicate code from ServiceContractGenerator.ExportDataContract
- private void ImportFromTypeMapping (XmlTypeMapping mapping)
+ void DoImport (XmlSchemaSet schemas, XmlSchemaType type, XmlQualifiedName qname)
{
- if (mapping == null)
- return;
+ CodeNamespace cns = null;
+ CodeTypeReference clrRef;
+ cns = GetCodeNamespace (qname);
+ clrRef = new CodeTypeReference (cns.Name.Length > 0 ? cns.Name + "." + qname.Name : qname.Name);
+
+ var td = new CodeTypeDeclaration () {
+ Name = CodeIdentifier.MakeValid (qname.Name),
+ TypeAttributes = GenerateInternal ? TypeAttributes.NotPublic : TypeAttributes.Public };
+ cns.Types.Add (td);
+
+ var info = new TypeImportInfo () { ClrType = clrRef, XsdType = type, XsdTypeName = qname };
+ imported_types.Add (info);
+
+ var st = type as XmlSchemaSimpleType;
+ if (st != null) {
+ ImportSimpleType (td, schemas, st, qname);
+ } else {
+ var ct = (XmlSchemaComplexType) type;
+ var sc = ct.ContentModel as XmlSchemaSimpleContent;
+ if (sc != null) {
+ if (sc.Content is XmlSchemaSimpleContentExtension)
+ throw new InvalidDataContractException (String.Format ("complex type '{0}' with simple content extension is not supported", type.QualifiedName));
+ }
+ if (!ImportComplexType (td, schemas, ct, qname)) {
+ cns.Types.Remove (td);
+ if (cns.Types.Count == 0)
+ CodeCompileUnit.Namespaces.Remove (cns);
+ }
+ }
+
+ foreach (var impinfo in imported_types)
+ for (; impinfo.KnownTypeOutputIndex < impinfo.KnownClrTypes.Count; impinfo.KnownTypeOutputIndex++)
+ td.CustomAttributes.Add (new CodeAttributeDeclaration (
+ new CodeTypeReference (typeof (KnownTypeAttribute)),
+ new CodeAttributeArgument (new CodeTypeOfExpression (impinfo.KnownClrTypes [impinfo.KnownTypeOutputIndex]))));
+ }
+
+ static readonly string ass_name = typeof (DataContractAttribute).Assembly.GetName ().Name;
+ static readonly string ass_version = typeof (DataContractAttribute).Assembly.GetName ().Version.ToString ();
+ static readonly CodeTypeReference typeref_data_contract = new CodeTypeReference (typeof (DataContractAttribute));
+ static readonly CodeTypeReference typeref_coll_contract = new CodeTypeReference (typeof (CollectionDataContractAttribute));
+
+ void AddTypeAttributes (CodeTypeDeclaration td, XmlSchemaType type, params XmlSchemaElement [] collectionArgs)
+ {
+ var name = type.QualifiedName;
+ // [GeneratedCode (assembly_name, assembly_version)]
+ td.CustomAttributes.Add (new CodeAttributeDeclaration (
+ new CodeTypeReference (typeof (GeneratedCodeAttribute)),
+ new CodeAttributeArgument (new CodePrimitiveExpression (ass_name)),
+ new CodeAttributeArgument (new CodePrimitiveExpression (ass_version))));
+
+ var ct = type as XmlSchemaComplexType;
+
+ // [DataContract(Name="foobar",Namespace="urn:foobar")] (optionally IsReference=true),
+ // or [CollectionDataContract(ditto, ItemType/KeyType/ValueType)]
+ var dca = new CodeAttributeDeclaration (
+ collectionArgs != null && collectionArgs.Length > 0 ? typeref_coll_contract : typeref_data_contract,
+ new CodeAttributeArgument ("Name", new CodePrimitiveExpression (name.Name)),
+ new CodeAttributeArgument ("Namespace", new CodePrimitiveExpression (name.Namespace)));
+ if (collectionArgs != null) {
+ if (collectionArgs.Length > 0)
+ dca.Arguments.Add (new CodeAttributeArgument ("ItemName", new CodePrimitiveExpression (CodeIdentifier.MakeValid (collectionArgs [0].QualifiedName.Name))));
+ if (collectionArgs.Length > 2) {
+ dca.Arguments.Add (new CodeAttributeArgument ("KeyName", new CodePrimitiveExpression (CodeIdentifier.MakeValid (collectionArgs [1].QualifiedName.Name))));
+ dca.Arguments.Add (new CodeAttributeArgument ("ValueName", new CodePrimitiveExpression (CodeIdentifier.MakeValid (collectionArgs [2].QualifiedName.Name))));
+ }
+ }
+ if (ct != null && ct.AttributeUses [new XmlQualifiedName ("Ref", KnownTypeCollection.MSSimpleNamespace)] != null)
+ dca.Arguments.Add (new CodeAttributeArgument ("IsReference", new CodePrimitiveExpression (true)));
+ td.CustomAttributes.Add (dca);
+
+ // optional [Serializable]
+ if (Options != null && Options.GenerateSerializable)
+ td.CustomAttributes.Add (new CodeAttributeDeclaration ("System.SerializableAttribute"));
+ }
+
+ static readonly CodeTypeReference typeref_ext_iface = new CodeTypeReference ("System.Runtime.Serialization.IExtensibleDataObject");
+ static readonly CodeTypeReference typeref_ext_class = new CodeTypeReference ("System.Runtime.Serialization.ExtensionDataObject");
+
+ void AddExtensionData (CodeTypeDeclaration td)
+ {
+ td.BaseTypes.Add (typeref_ext_iface);
+
+ var field = new CodeMemberField (typeref_ext_class, "extensionDataField");
+ td.Members.Add (field);
+
+ var prop = new CodeMemberProperty () { Type = field.Type, Name = "ExtensionData", Attributes = (GenerateInternal ? MemberAttributes.Assembly : MemberAttributes.Public) | MemberAttributes.Final };
+ prop.GetStatements.Add (new CodeMethodReturnStatement (
+ new CodeFieldReferenceExpression (
+ new CodeThisReferenceExpression (),
+ "extensionDataField")));
+ prop.SetStatements.Add (new CodeAssignStatement (
+ new CodeFieldReferenceExpression (
+ new CodeThisReferenceExpression (),
+ "extensionDataField"),
+ new CodePropertySetValueReferenceExpression ()));
+
+ td.Members.Add (prop);
+ }
- QName qname = new QName (mapping.TypeName, mapping.Namespace);
- if (imported_names.ContainsKey (qname))
+ void ImportSimpleType (CodeTypeDeclaration td, XmlSchemaSet schemas, XmlSchemaSimpleType type, XmlQualifiedName qname)
+ {
+ var scl = type.Content as XmlSchemaSimpleTypeList;
+ if (scl != null) {
+ if (scl.ItemType == null)
+ throw new InvalidDataContractException (String.Format ("simple type list is allowed only with an anonymous simple type with enumeration restriction content as its item type definition (type is {0})", type.QualifiedName));
+ var itemType = scl.ItemType as XmlSchemaSimpleType;
+ var ir = itemType.Content as XmlSchemaSimpleTypeRestriction;
+ if (ir == null)
+ throw new InvalidDataContractException (String.Format ("simple type list is allowed only with an anonymous simple type with enumeration restriction content as its item type definition (type is {0})", type.QualifiedName));
+ ImportEnum (td, schemas, ir, type, qname, true);
+ return;
+ }
+ var scr = type.Content as XmlSchemaSimpleTypeRestriction;
+ if (scr != null) {
+ ImportEnum (td, schemas, scr, type, qname, false);
return;
+ }
- CodeNamespace cns = new CodeNamespace ();
-
- XmlCodeExporter xce = new XmlCodeExporter (cns);
- xce.ExportTypeMapping (mapping);
-
- List <CodeTypeDeclaration> to_remove = new List <CodeTypeDeclaration> ();
-
- //Process the types just generated
- //FIXME: Iterate and assign the types to correct namespaces
- //At the end, add all those namespaces to the ccu
- foreach (CodeTypeDeclaration type in cns.Types) {
- string ns = GetNamespace (type);
- if (ns == null)
- //FIXME: do what here?
- continue;
-
- QName type_name = new QName (type.Name, ns);
- if (imported_names.ContainsKey (type_name)) {
- //Type got reemitted, so remove it!
- to_remove.Add (type);
- continue;
+ throw new InvalidDataContractException (String.Format ("simple type is supported only if it has enumeration or list of an anonymous simple type with enumeration restriction content as its item type definition (type is {0})", qname));
+ }
+
+ static readonly CodeTypeReference enum_member_att_ref = new CodeTypeReference (typeof (EnumMemberAttribute));
+
+ void ImportEnum (CodeTypeDeclaration td, XmlSchemaSet schemas, XmlSchemaSimpleTypeRestriction r, XmlSchemaType type, XmlQualifiedName qname, bool isFlag)
+ {
+ if (isFlag && !r.BaseTypeName.Equals (new XmlQualifiedName ("string", XmlSchema.Namespace)))
+ throw new InvalidDataContractException (String.Format ("For flags enumeration '{0}', the base type for the simple type restriction must be XML schema string", qname));
+
+ td.IsEnum = true;
+ AddTypeAttributes (td, type);
+ if (isFlag)
+ td.CustomAttributes.Add (new CodeAttributeDeclaration (new CodeTypeReference (typeof (FlagsAttribute))));
+
+ foreach (var facet in r.Facets) {
+ var e = facet as XmlSchemaEnumerationFacet;
+ if (e == null)
+ throw new InvalidDataContractException (String.Format ("Invalid simple type restriction (type {0}). Only enumeration is allowed.", qname));
+ var em = new CodeMemberField () { Name = CodeIdentifier.MakeValid (e.Value) };
+ var ea = new CodeAttributeDeclaration (enum_member_att_ref);
+ if (e.Value != em.Name)
+ ea.Arguments.Add (new CodeAttributeArgument ("Value", new CodePrimitiveExpression (e.Value)));
+ em.CustomAttributes.Add (ea);
+ td.Members.Add (em);
+ }
+ }
+
+ // Returns false if it should remove the imported type.
+ // FIXME: also support ImportXmlType
+ bool ImportComplexType (CodeTypeDeclaration td, XmlSchemaSet schemas, XmlSchemaComplexType type, XmlQualifiedName qname)
+ {
+ foreach (XmlSchemaAttribute att in type.AttributeUses.Values)
+ if (att.Use != XmlSchemaUse.Optional || att.QualifiedName.Namespace != KnownTypeCollection.MSSimpleNamespace)
+ throw new InvalidDataContractException (String.Format ("attribute in DataContract complex type '{0}' is limited to those in {1} namespace, and optional.", qname, KnownTypeCollection.MSSimpleNamespace));
+
+ CodeTypeReference baseClrType = null;
+ var particle = type.Particle;
+ if (type.ContentModel != null) {
+ var xsscr = type.ContentModel.Content as XmlSchemaSimpleContentRestriction;
+ if (xsscr != null) {
+ if (xsscr.BaseType != null)
+ Import (schemas, xsscr.BaseType);
+ else
+ Import (schemas, xsscr.BaseTypeName);
+ // The above will result in an error, but make sure to show we don't support it.
+ throw new InvalidDataContractException (String.Format ("complex type simple content restriction is not supported in DataContract (type '{0}')", qname));
+ }
+ var xscce = type.ContentModel.Content as XmlSchemaComplexContentExtension;
+ if (xscce != null) {
+ Import (schemas, xscce.BaseTypeName);
+ baseClrType = GetCodeTypeReferenceInternal (xscce.BaseTypeName, false);
+ if (baseClrType != null)
+ td.BaseTypes.Add (baseClrType);
+
+ var baseInfo = GetTypeInfo (xscce.BaseTypeName, false);
+ if (baseInfo != null)
+ baseInfo.KnownClrTypes.Add (imported_types.First (it => it.XsdType == type).ClrType);
+ particle = xscce.Particle;
}
+ var xsccr = type.ContentModel.Content as XmlSchemaComplexContentRestriction;
+ if (xsccr != null)
+ throw new InvalidDataContractException (String.Format ("complex content type (for type '{0}') has a restriction content model, which is not supported in DataContract.", qname));
+ }
+
+ var seq = particle as XmlSchemaSequence;
+ if (seq == null && particle != null)
+ throw new InvalidDataContractException (String.Format ("Not supported particle {1}. In DataContract, only sequence particle is allowed as the top-level content of a complex type (type '{0}')", qname, particle));
+
+ if (seq != null) {
+
+ foreach (var child in seq.Items)
+ if (!(child is XmlSchemaElement))
+ throw new InvalidDataContractException (String.Format ("Only local element is allowed as the content of the sequence of the top-level content of a complex type '{0}'. Other particles (sequence, choice, all, any, group ref) are not supported.", qname));
+
+ bool isDictionary = false;
+ if (type.Annotation != null) {
+ foreach (var ann in type.Annotation.Items) {
+ var ai = ann as XmlSchemaAppInfo;
+ if (ai != null && ai.Markup != null &&
+ ai.Markup.Length > 0 &&
+ ai.Markup [0].NodeType == XmlNodeType.Element &&
+ ai.Markup [0].LocalName == "IsDictionary" &&
+ ai.Markup [0].NamespaceURI == KnownTypeCollection.MSSimpleNamespace)
+ isDictionary = true;
+ }
+ }
- imported_names [type_name] = type_name;
-
- type.Comments.Clear ();
- //Custom Attributes
- type.CustomAttributes.Clear ();
-
- if (type.IsEnum)
- //FIXME: Add test case for this
- continue;
-
- type.CustomAttributes.Add (
- new CodeAttributeDeclaration (
- new CodeTypeReference ("System.CodeDom.Compiler.GeneratedCodeAttribute"),
- new CodeAttributeArgument (new CodePrimitiveExpression ("System.Runtime.Serialization")),
- new CodeAttributeArgument (new CodePrimitiveExpression ("3.0.0.0"))));
-
- type.CustomAttributes.Add (
- new CodeAttributeDeclaration (
- new CodeTypeReference ("System.Runtime.Serialization.DataContractAttribute")));
-
- //BaseType and interface
- type.BaseTypes.Add (new CodeTypeReference (typeof (object)));
- type.BaseTypes.Add (new CodeTypeReference ("System.Runtime.Serialization.IExtensibleDataObject"));
-
- foreach (CodeTypeMember mbr in type.Members) {
- CodeMemberProperty p = mbr as CodeMemberProperty;
- if (p == null)
- continue;
-
- if ((p.Attributes & MemberAttributes.Public) == MemberAttributes.Public) {
- //FIXME: Clear all attributes or only XmlElementAttribute?
- p.CustomAttributes.Clear ();
- p.CustomAttributes.Add (new CodeAttributeDeclaration (
- new CodeTypeReference ("System.Runtime.Serialization.DataMemberAttribute")));
-
- p.Comments.Clear ();
+ if (seq.Items.Count == 1) {
+ var xe = (XmlSchemaElement) seq.Items [0];
+ if (xe.MaxOccursString == "unbounded") {
+ // import as a collection contract.
+ if (isDictionary) {
+ var kvt = xe.ElementSchemaType as XmlSchemaComplexType;
+ var seq2 = kvt != null ? kvt.Particle as XmlSchemaSequence : null;
+ var k = seq2 != null && seq2.Items.Count == 2 ? seq2.Items [0] as XmlSchemaElement : null;
+ var v = seq2 != null && seq2.Items.Count == 2 ? seq2.Items [1] as XmlSchemaElement : null;
+ if (k == null || v == null)
+ throw new InvalidDataContractException (String.Format ("Invalid Dictionary contract type '{0}'. A Dictionary schema type must have a sequence particle which contains exactly two schema elements for key and value.", type.QualifiedName));
+ Import (schemas, k.ElementSchemaType);
+ Import (schemas, v.ElementSchemaType);
+ td.BaseTypes.Add (new CodeTypeReference ("System.Collections.Generic.Dictionary", GetCodeTypeReference (k.ElementSchemaType.QualifiedName), GetCodeTypeReference (v.ElementSchemaType.QualifiedName)));
+ AddTypeAttributes (td, type, xe, k, v);
+ return true;
+ } else if (type.QualifiedName.Namespace == KnownTypeCollection.MSArraysNamespace &&
+ IsPredefinedType (xe.ElementSchemaType.QualifiedName)) {
+ // then this CodeTypeDeclaration is to be removed, and CodeTypeReference to this type should be an array instead.
+ var cti = imported_types.First (i => i.XsdType == type);
+ cti.ClrType = new CodeTypeReference (GetCodeTypeReference (xe.ElementSchemaType.QualifiedName), 1);
+
+ return false;
}
+ else
+ Import (schemas, xe.ElementSchemaType);
+ td.BaseTypes.Add (new CodeTypeReference ("System.Collections.Generic.List", GetCodeTypeReference (xe.ElementSchemaType.QualifiedName)));
+ AddTypeAttributes (td, type, xe);
+ return true;
+ }
+ }
+ if (isDictionary)
+ throw new InvalidDataContractException (String.Format ("complex type '{0}' is an invalid Dictionary type definition. A Dictionary must have a sequence particle with exactly two child elements", qname));
+
+ // import as a (normal) contract.
+ var elems = new List<XmlSchemaElement> ();
+ foreach (XmlSchemaElement xe in seq.Items) {
+ if (xe.MaxOccurs != 1)
+ throw new InvalidDataContractException (String.Format ("schema complex type '{0}' has a content sequence containing an element '{1}' with 'maxOccurs' value as more than 1, which is not supported in DataContract.", qname, xe.QualifiedName));
+
+ if (elems.Any (e => e.QualifiedName.Name == xe.QualifiedName.Name))
+ throw new InvalidDataContractException (String.Format ("In schema type '{0}', there already is an element whose name is {1}, where duplicate of element names are not supported.", qname, xe.QualifiedName.Name));
+
+ elems.Add (xe);
+ }
+ foreach (var xe in elems) {
+ // import property type in prior.
+ Import (schemas, xe.ElementSchemaType.QualifiedName);
+ AddProperty (td, xe);
+ }
+
+ } // if (seq != 0)
+
+ AddTypeAttributes (td, type);
+ AddExtensionData (td);
+
+ return true;
+ }
+
+ static readonly CodeExpression this_expr = new CodeThisReferenceExpression ();
+ static readonly CodeExpression arg_value_expr = new CodePropertySetValueReferenceExpression ();
+
+ bool GenerateInternal {
+ get { return Options != null && Options.GenerateInternal; }
+ }
+
+ void AddProperty (CodeTypeDeclaration td, XmlSchemaElement xe)
+ {
+ var att = GenerateInternal ? MemberAttributes.Assembly : MemberAttributes.Public;
+ var fi = new CodeMemberField () { Name = CodeIdentifier.MakeValid (xe.QualifiedName.Name + "Field"), Type = GetCodeTypeReference (xe.ElementSchemaType.QualifiedName, xe) };
+ td.Members.Add (fi);
+ var pi = new CodeMemberProperty () { Name = xe.QualifiedName.Name, Attributes = att, HasGet = true, HasSet = true, Type = fi.Type };
+ // [DataMember(Name=foobar, IsRequired=!nillable)]
+ var dma = new CodeAttributeDeclaration (
+ new CodeTypeReference (typeof (DataMemberAttribute)));
+ if (fi.Name != xe.QualifiedName.Name)
+ new CodeAttributeArgument ("Name", new CodePrimitiveExpression (xe.QualifiedName.Name));
+ if (!xe.IsNillable)
+ new CodeAttributeArgument ("IsRequired", new CodePrimitiveExpression (true));
+ pi.CustomAttributes.Add (dma);
+
+ pi.GetStatements.Add (new CodeMethodReturnStatement () { Expression = new CodeFieldReferenceExpression (this_expr, fi.Name) });
+ pi.SetStatements.Add (new CodeAssignStatement (new CodeFieldReferenceExpression (this_expr, fi.Name), arg_value_expr));
+
+
+ td.Members.Add (pi);
+ }
+
+ bool IsPredefinedType (XmlQualifiedName qname)
+ {
+ // FIXME: support char, guid and duration (MSSimpleNamespace); fix GetPrimitiveTypeFromName() first and then this at a time.
+ switch (qname.Namespace) {
+ case KnownTypeCollection.MSSimpleNamespace:
+ switch (qname.Name) {
+ case "char":
+ case "guid":
+ case "duration":
+ return true;
}
+ return false;
+ case XmlSchema.Namespace:
+ return KnownTypeCollection.GetPrimitiveTypeFromName (qname.Name) != null;
+ }
+ return false;
+ }
+
+ CodeNamespace GetCodeNamespace (XmlQualifiedName name)
+ {
+ string ns = null;
+ if (Options == null || !Options.Namespaces.TryGetValue (name.Namespace, out ns))
+ ns = GetCodeNamespaceFromXmlns (name.Namespace);
+
+ foreach (CodeNamespace cns in CodeCompileUnit.Namespaces)
+ if (cns.Name == ns)
+ return cns;
+ var newCns = new CodeNamespace () { Name = ns };
+ CodeCompileUnit.Namespaces.Add (newCns);
+ return newCns;
+ }
+
+ const string default_ns_prefix = "http://schemas.datacontract.org/2004/07/";
- //Fields
- CodeMemberField field = new CodeMemberField (
- new CodeTypeReference ("System.Runtime.Serialization.ExtensionDataObject"),
- "extensionDataField");
- field.Attributes = MemberAttributes.Private | MemberAttributes.Final;
- type.Members.Add (field);
-
- //Property
- CodeMemberProperty prop = new CodeMemberProperty ();
- prop.Type = new CodeTypeReference ("System.Runtime.Serialization.ExtensionDataObject");
- prop.Name = "ExtensionData";
- prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-
- //Get
- prop.GetStatements.Add (new CodeMethodReturnStatement (
- new CodeFieldReferenceExpression (
- new CodeThisReferenceExpression (),
- "extensionDataField")));
-
- //Set
- prop.SetStatements.Add (new CodeAssignStatement (
- new CodeFieldReferenceExpression (
- new CodeThisReferenceExpression (),
- "extensionDataField"),
- new CodePropertySetValueReferenceExpression ()));
-
- type.Members.Add (prop);
+ string GetCodeNamespaceFromXmlns (string xns)
+ {
+ if (xns.StartsWith (default_ns_prefix, StringComparison.Ordinal))
+ xns = xns.Substring (default_ns_prefix.Length);
+ else {
+ Uri u;
+ string tmp;
+ if (Uri.TryCreate (xns, UriKind.Absolute, out u) && (tmp = MakeStringNamespaceComponentsValid (u.GetComponents (UriComponents.Host | UriComponents.Path, UriFormat.Unescaped))).Length > 0)
+ xns = tmp;
}
+ return MakeStringNamespaceComponentsValid (xns);
+ }
- foreach (CodeTypeDeclaration type in to_remove)
- cns.Types.Remove (type);
+ static readonly char [] split_tokens = new char [] {'/', '.'};
- CodeCompileUnit.Namespaces.Add (cns);
+ string MakeStringNamespaceComponentsValid (string ns)
+ {
+ var arr = ns.Split (split_tokens, StringSplitOptions.RemoveEmptyEntries);
+ for (int i = 0; i < arr.Length; i++)
+ arr [i] = CodeIdentifier.MakeValid (arr [i]);
+ return String.Join (".", arr);
}
- private string GetNamespace (CodeTypeDeclaration type)
+ // Post-compilation information retrieval
+
+ TypeImportInfo GetTypeInfo (XmlQualifiedName typeName, bool throwError)
{
- foreach (CodeAttributeDeclaration attr in type.CustomAttributes) {
- if (attr.Name == "System.Xml.Serialization.XmlTypeAttribute" ||
- attr.Name == "System.Xml.Serialization.XmlRootAttribute") {
+ var info = imported_types.FirstOrDefault (i => i.XsdTypeName.Equals (typeName));
+ if (info == null) {
+ if (throwError)
+ throw new InvalidOperationException (String.Format ("schema type '{0}' has not been imported yet. Import it first.", typeName));
+ return null;
+ }
+ return info;
+ }
- foreach (CodeAttributeArgument arg in attr.Arguments)
- if (arg.Name == "Namespace")
- return ((CodePrimitiveExpression)arg.Value).Value as string;
+ public CodeTypeReference GetCodeTypeReference (XmlQualifiedName typeName)
+ {
+ return GetCodeTypeReferenceInternal (typeName, true);
+ }
- //Could not find Namespace arg!
- return null;
+ CodeTypeReference GetCodeTypeReferenceInternal (XmlQualifiedName typeName, bool throwError)
+ {
+ if (typeName == null)
+ throw new ArgumentNullException ("typeName");
+
+ switch (typeName.Namespace) {
+ case XmlSchema.Namespace:
+ return new CodeTypeReference (KnownTypeCollection.GetPrimitiveTypeFromName (typeName.Name));
+ case KnownTypeCollection.MSSimpleNamespace:
+ switch (typeName.Name) {
+ case "guid":
+ return new CodeTypeReference (typeof (Guid));
+ case "duration":
+ return new CodeTypeReference (typeof (TimeSpan));
}
+ break;
}
-
- return null;
+
+ var info = GetTypeInfo (typeName, throwError);
+ return info != null ? info.ClrType : null;
}
+ [MonoTODO ("use element argument and fill Nullable etc.")]
+ public CodeTypeReference GetCodeTypeReference (XmlQualifiedName typeName, XmlSchemaElement element)
+ {
+ if (typeName == null)
+ throw new ArgumentNullException ("typeName");
+ if (element == null)
+ throw new ArgumentNullException ("element");
+
+ return GetCodeTypeReference (typeName);
+ }
+
+ public ICollection<CodeTypeReference> GetKnownTypeReferences (XmlQualifiedName typeName)
+ {
+ if (typeName == null)
+ throw new ArgumentNullException ("typeName");
+
+ return GetTypeInfo (typeName, true).KnownClrTypes;
+ }
+
+ List<TypeImportInfo> imported_types = new List<TypeImportInfo> ();
+
+ class TypeImportInfo
+ {
+ public TypeImportInfo ()
+ {
+ KnownClrTypes = new List<CodeTypeReference> ();
+ }
+
+ public CodeTypeReference ClrType { get; set; }
+ public XmlQualifiedName XsdTypeName { get; set; }
+ public XmlSchemaType XsdType { get; set; }
+ public List<CodeTypeReference> KnownClrTypes { get; private set; }
+ public int KnownTypeOutputIndex { get; set; } // updated while importing.
+ }
}
}
-#endif
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlDictionaryWriter.cs : try to lookup dictionary string in
+ WriteNode(). This is part of #577139 fix (probably).
+
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlBinaryDictionaryWriter.cs : for text '0' and '1', write 0x80 and
+ 0x82 instead of 0x99 [0x30|0x31]. This cosmetic fix gives identical
+ writer output for #577139 (and yet it still doesn't work).
+
2009-12-22 Atsushi Enomoto <atsushi@ximian.com>
* XmlBinaryDictionaryReader.cs : slightly more descriptive errmsg.
if (blen == 0)
writer.Write (BF.EmptyText);
+ else if (count == 1 && buffer [0] == '0')
+ writer.Write (BF.Zero);
+ else if (count == 1 && buffer [0] == '1')
+ writer.Write (BF.One);
else if (blen < 0x100) {
writer.Write (BF.Chars8);
writer.Write ((byte) blen);
WriteEndElement ();
}
- [MonoTODO ("make use of dictionary reader optimization")]
public virtual void WriteNode (XmlDictionaryReader reader,
bool defattr)
{
case XmlNodeType.Element:
// gratuitously copied from System.XML/System.Xml/XmlWriter.cs:WriteNode(XmlReader,bool)
// as there doesn't seem to be a way to hook into attribute writing w/o handling Element.
- WriteStartElement (reader.Prefix, reader.LocalName, reader.NamespaceURI);
+ XmlDictionaryString ename, ens;
+ if (reader.TryGetLocalNameAsDictionaryString (out ename) && reader.TryGetLocalNameAsDictionaryString (out ens))
+ WriteStartElement (reader.Prefix, ename, ens);
+ else
+ WriteStartElement (reader.Prefix, reader.LocalName, reader.NamespaceURI);
// Well, I found that MS.NET took this way, since
// there was a error-prone SgmlReader that fails
// MoveToNextAttribute().
if (!defattr && reader.IsDefault)
return;
- WriteStartAttribute (reader.Prefix, reader.LocalName, reader.NamespaceURI);
+ XmlDictionaryString name, ns;
+ if (reader.TryGetLocalNameAsDictionaryString (out name) && reader.TryGetLocalNameAsDictionaryString (out ns))
+ WriteStartAttribute (reader.Prefix, name, ns);
+ else
+ WriteStartAttribute (reader.Prefix, reader.LocalName, reader.NamespaceURI);
#if NET_2_1
// no ReadAttributeValue() in 2.1 profile.
WriteTextNode (reader, true);
--- /dev/null
+2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ns28.xsd ... ns31.xsd : new test files.
+ * ns-readme.txt : added above.
+
+2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ns-readme.txt : another line of note.
+
+2010-02-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ns0,xsd ... ns27.xsd : new test files.
+ * ns-readme.txt : description.
+
+2010-02-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * schema3.xsd : new test file.
+
+2010-02-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * schema1.xsd, schema2.xsd : new test files.
--- /dev/null
+ns0.xsd : MS default serialization namespace.
+ns1.xsd : imports ns2.xsd, has duplicate name to ns2. Also check [KnownType].
+ns2.xsd : used with ns1.xsd, not much special.
+ns3.xsd : has simple content extension, seems like not supported in WCF.
+ns4.xsd : has required attributes, not supported in WCF.
+ns5.xsd : has optional attributes but not in MS serialization namespace,
+ not supported in WCF either.
+ns6.xsd : derivation by extension example. Must be used with ns0.xsd.
+ns7.xsd : derivation by restriction example. Must be used with ns0,xsd, but
+ not supported in WCF.
+ns8.xsd : attempt to examine if complex type simple content restriction is
+ supported. There is no way to define it without simple DBE (and
+ simple DBE is not supported in WCF).
+ns9.xsd : contains elements with an identical name, not supported in WCF.
+ns10.xsd : contains element with substitutionGroup. E2 is resolved to be
+ mapped to T1. To verify it, Import() only E2 element.
+ns11.xsd : contains xs:choice as the particle, not supported in WCF(!)
+ns12.xsd : contains xs:all as the particle, not supported in WCF(!)
+ns13.xsd : contains xs:any as the content of xs:sequence, not supported in WCF.
+ns14.xsd : contains simple content restriction by enum. Mapped to CLI enum.
+ns15.xsd : contains simple list by string, not supported in WCF.
+ns16.xsd : contains simple list by embedded enumeration string type.
+ns17.xsd : contains simple list by external enumeration string type, not
+ supported in WCF.
+ns18.xsd : variation of ns14, replaced xs:string with xs:int. No output.
+ns19.xsd : variation of ns16, replaced xs:string with xs:int. Error.
+ns20.xsd : variation of ns16, added maxLength facet. Error.
+ns21.xsd : array of int, gives no output.
+ns22.xsd : use of Id/Ref attributes, makes DataContract(IsReference=true).
+ns23.xsd : collection contract, to prove that xmlns does not matter (rrays
+ instead of Arrays).
+ cf. it matters when it comes to primitive type, see ns27.
+ns24.xsd : ArrayOfint type contains two elements, not supported in WCF.
+ns25.xsd : uses ArrayOfint as a member type. Gives int[] instead of ArrayOfint.
+ns26.xsd : variation of ns25, uses custom simpleType. Gives ArrayOfint.
+ns27.xsd : variation of ns25, uses non-Arrays xmlns. Gives ArrayOfint.
+ns28.xsd : dictionary collection type.
+ns29.xsd : variation of ns28, removed Value. Error.
+ns30.xsd : variation of ns28, customized name. Shown in [DataMember].
+ns31.xsd : variation of ns28, removed IsDictionary appInfo. Becomes List<T>.
--- /dev/null
+<?xml version="1.0" encoding="shift_jis"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="anyType" nillable="true" type="xs:anyType" />
+ <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
+ <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
+ <xs:element name="boolean" nillable="true" type="xs:boolean" />
+ <xs:element name="byte" nillable="true" type="xs:byte" />
+ <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
+ <xs:element name="decimal" nillable="true" type="xs:decimal" />
+ <xs:element name="double" nillable="true" type="xs:double" />
+ <xs:element name="float" nillable="true" type="xs:float" />
+ <xs:element name="int" nillable="true" type="xs:int" />
+ <xs:element name="long" nillable="true" type="xs:long" />
+ <xs:element name="QName" nillable="true" type="xs:QName" />
+ <xs:element name="short" nillable="true" type="xs:short" />
+ <xs:element name="string" nillable="true" type="xs:string" />
+ <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
+ <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
+ <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
+ <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
+ <xs:element name="char" nillable="true" type="tns:char" />
+ <xs:simpleType name="char">
+ <xs:restriction base="xs:int" />
+ </xs:simpleType>
+ <xs:element name="duration" nillable="true" type="tns:duration" />
+ <xs:simpleType name="duration">
+ <xs:restriction base="xs:duration">
+ <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
+ <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
+ <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="guid" nillable="true" type="tns:guid" />
+ <xs:simpleType name="guid">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attribute name="FactoryType" type="xs:QName" />
+ <xs:attribute name="Id" type="xs:ID" />
+ <xs:attribute name="Ref" type="xs:IDREF" />
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:foo"
+ xmlns="urn:foo" xmlns:x="urn:bar"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:import namespace="urn:bar" schemaLocation="ns2.xsd" />
+
+ <xs:element name="E1" type="T1" />
+ <xs:complexType name="T1"><xs:complexContent>
+ <xs:extension base="x:T1">
+ <xs:sequence>
+ <xs:element name="T2" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent></xs:complexType>
+ <xs:element name="T2" type="xs:string" />
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" />
+ <xs:complexType name="T1">
+ <xs:sequence>
+ <xs:element name="c1" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="E2" substitutionGroup="E1" />
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" />
+ <xs:complexType name="T1">
+ <xs:choice>
+ <xs:element name="c1" type="xs:string" />
+ <xs:element name="c2" type="xs:string" />
+ <xs:element name="c3" type="xs:string" />
+ </xs:choice>
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" />
+ <xs:complexType name="T1">
+ <xs:all>
+ <xs:element name="c1" type="xs:string" />
+ <xs:element name="c2" type="xs:string" />
+ <xs:element name="c3" type="xs:string" />
+ </xs:all>
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" />
+ <xs:complexType name="T1">
+ <xs:sequence>
+ <xs:any />
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ xmlns:m="http://schemas.microsoft.com/2003/10/Serialization/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" nillable="true" />
+ <xs:simpleType name="T1">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="x" />
+ <xs:enumeration value="y" />
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ xmlns:m="http://schemas.microsoft.com/2003/10/Serialization/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" nillable="true" />
+ <xs:simpleType name="T1">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="x" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="E2" type="T2" nillable="true" />
+ <xs:simpleType name="T2">
+ <xs:list itemType="xs:string"/>
+ </xs:simpleType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ xmlns:m="http://schemas.microsoft.com/2003/10/Serialization/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" nillable="true" />
+ <xs:simpleType name="T1">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="x" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="E2" type="T2" nillable="true" />
+ <xs:simpleType name="T2">
+ <xs:list>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="x" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:list>
+ </xs:simpleType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ xmlns:m="http://schemas.microsoft.com/2003/10/Serialization/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" nillable="true" />
+ <xs:simpleType name="T1">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="x" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="E2" type="T2" nillable="true" />
+ <xs:simpleType name="T2">
+ <xs:list itemType="T3" />
+ </xs:simpleType>
+ <xs:simpleType name="T3">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="x" />
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ xmlns:m="http://schemas.microsoft.com/2003/10/Serialization/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" nillable="true" />
+ <xs:simpleType name="T1">
+ <xs:restriction base="xs:int">
+ <xs:enumeration value="0" />
+ <xs:enumeration value="1" />
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ xmlns:m="http://schemas.microsoft.com/2003/10/Serialization/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" nillable="true" />
+ <xs:simpleType name="T1">
+ <xs:restriction base="xs:int">
+ <xs:enumeration value="0" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="E2" type="T2" nillable="true" />
+ <xs:simpleType name="T2">
+ <xs:list>
+ <xs:simpleType>
+ <xs:restriction base="xs:int">
+ <xs:enumeration value="1" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:list>
+ </xs:simpleType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="E1" type="T1" />
+ <xs:complexType name="T1">
+ <xs:sequence>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="E2" type="xs:string" />
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ xmlns:m="http://schemas.microsoft.com/2003/10/Serialization/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" nillable="true" />
+ <xs:simpleType name="T1">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="x" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="E2" type="T2" nillable="true" />
+ <xs:simpleType name="T2">
+ <xs:list>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="x" />
+ <xs:maxLength value="10" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:list>
+ </xs:simpleType>
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+ <xs:complexType name="ArrayOfint">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="int" type="xs:int" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ArrayOfint" nillable="true" type="tns:ArrayOfint" />
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ xmlns:m="http://schemas.microsoft.com/2003/10/Serialization/"
+ elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+ <xs:element name="E2" type="x:T2" nillable="true" />
+ <xs:complexType name="T2">
+ <xs:complexContent>
+ <xs:extension base="T1">
+ <xs:attribute ref="m:Ref" use="optional" />
+ <xs:attribute ref="m:Id" use="optional" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="T1">
+ <xs:sequence />
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+ <xs:complexType name="ArrayOfX">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="guid" type="tns:X" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ArrayOfint" nillable="true" type="tns:ArrayOfX" />
+ <xs:complexType name="X">
+ <xs:sequence><xs:element name="y" type="xs:string" /></xs:sequence>
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+ <xs:complexType name="ArrayOfint">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="int" type="xs:int" />
+ <xs:element minOccurs="0" name="ext" type="xs:int" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ArrayOfint" nillable="true" type="tns:ArrayOfint" />
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+ <xs:complexType name="ArrayOfint">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="int" type="xs:int" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ArrayOfint" nillable="true" type="tns:ArrayOfint" />
+ <xs:complexType name="T1">
+ <xs:sequence>
+ <xs:element name="arr" type="tns:ArrayOfint" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="E1" type="tns:T1" />
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+ <xs:simpleType name="X">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="s1" />
+ <xs:enumeration value="s2" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ArrayOfint">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="int" type="tns:X" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="T1">
+ <xs:sequence>
+ <xs:element name="arr" type="tns:ArrayOfint" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="E1" type="tns:T1" />
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema elementFormDefault="qualified" targetNamespace="urn:foo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:foo">
+ <xs:complexType name="ArrayOfint">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="int" type="xs:int" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="T1">
+ <xs:sequence>
+ <xs:element name="arr" type="tns:ArrayOfint" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="E1" type="tns:T1" />
+</xs:schema>
--- /dev/null
+<xs:schema
+ xmlns:tns="http://schemas.datacontract.org/2004/07/baz"
+ xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/"
+ elementFormDefault="qualified"
+ targetNamespace="http://schemas.datacontract.org/2004/07/baz"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+ <xs:complexType name="T3">
+ <xs:annotation>
+ <xs:appinfo>
+ <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfstringduration">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Key" nillable="true" type="xs:string" />
+ <xs:element name="Value" type="ser:duration" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="T3" nillable="true" type="tns:T3" />
+</xs:schema>
+
--- /dev/null
+<xs:schema
+ xmlns:tns="http://schemas.datacontract.org/2004/07/baz"
+ xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/"
+ elementFormDefault="qualified"
+ targetNamespace="http://schemas.datacontract.org/2004/07/baz"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+ <xs:complexType name="T3">
+ <xs:annotation>
+ <xs:appinfo>
+ <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfstringduration">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Key" nillable="true" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="T3" nillable="true" type="tns:T3" />
+</xs:schema>
+
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="E2" type="T2" />
+ <xs:complexType name="T2">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="a1" type="xs:string" />
+ <xs:attribute name="a2" type="xs:int" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<xs:schema
+ xmlns:tns="http://schemas.datacontract.org/2004/07/baz"
+ xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/"
+ elementFormDefault="qualified"
+ targetNamespace="http://schemas.datacontract.org/2004/07/baz"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+ <xs:complexType name="T3">
+ <xs:annotation>
+ <xs:appinfo>
+ <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfstringduration">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MyKey" nillable="true" type="xs:string" />
+ <xs:element name="MyValue" nillable="true" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="T3" nillable="true" type="tns:T3" />
+</xs:schema>
+
--- /dev/null
+<xs:schema
+ xmlns:tns="http://schemas.datacontract.org/2004/07/baz"
+ xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/"
+ elementFormDefault="qualified"
+ targetNamespace="http://schemas.datacontract.org/2004/07/baz"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+ <xs:complexType name="T3">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfstringduration">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Key" nillable="true" type="xs:string" />
+ <xs:element name="Value" type="ser:duration" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="T3" nillable="true" type="tns:T3" />
+</xs:schema>
+
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="E2" type="T2" />
+ <xs:complexType name="T2">
+ <xs:attribute name="a1" type="xs:string" />
+ <xs:attribute name="a2" type="xs:int" />
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="E2" type="x:T2" nillable="true" />
+ <xs:complexType name="T2">
+ <xs:complexContent>
+ <xs:extension base="xs:anyType">
+ <xs:attribute name="a1" type="xs:string" use="optional" />
+ <xs:attribute name="a2" type="xs:int" use="optional" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ xmlns:m="http://schemas.microsoft.com/2003/10/Serialization/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+ <xs:element name="E2" type="T2" nillable="true" />
+ <xs:complexType name="T1">
+ <xs:sequence>
+ <xs:element name="c1" type="xs:string" nillable="true" />
+ <xs:element name="c2" type="xs:int" nillable="true" />
+ <xs:element name="c3" type="xs:duration" nillable="true" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="T2">
+ <xs:complexContent>
+ <xs:extension base="T1">
+ <xs:sequence>
+ <xs:element name="c1" type="xs:string" nillable="true" />
+ <xs:element name="c2" type="xs:int" nillable="true" />
+ <xs:element name="c3" type="xs:duration" nillable="true" />
+ <xs:element name="c4" type="m:guid" nillable="true" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="E3" type="xs:anyType"/>
+ <xs:simpleType name="T3">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="x" />
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar" xmlns:x="urn:bar"
+ xmlns:m="http://schemas.microsoft.com/2003/10/Serialization/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+ <xs:element name="E2" type="T2" nillable="true" />
+ <xs:complexType name="T1">
+ <xs:sequence>
+ <xs:element name="c1" type="xs:string" nillable="true" />
+ <xs:element name="c2" type="xs:int" nillable="true" />
+ <xs:element name="c3" type="xs:duration" nillable="true" />
+ <xs:element name="c4" type="m:guid" nillable="true" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="T2">
+ <xs:complexContent>
+ <xs:restriction base="T1">
+ <xs:sequence>
+ <xs:element name="c1" type="xs:string" nillable="true" />
+ <xs:element name="c2" type="xs:int" nillable="true" />
+ <xs:element name="c3" type="xs:duration" nillable="true" />
+ <xs:element name="c4" type="m:guid" nillable="false" />
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar"
+ elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:element name="E2" type="T2" />
+ <xs:complexType name="T2">
+ <xs:simpleContent>
+ <xs:restriction base="T1">
+ <xs:enumeration value="v1" />
+ <xs:enumeration value="v2" />
+ <xs:enumeration value="v3" />
+ </xs:restriction>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="T1">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<xs:schema targetNamespace="urn:bar" xmlns="urn:bar"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="E1" type="T1" />
+ <xs:complexType name="T1">
+ <xs:sequence>
+ <xs:element name="c1" type="xs:string" />
+ <xs:element name="c1" type="xs:string" />
+ <xs:element name="c1" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://tempuri.org/">
+ <xs:import schemaLocation="hoge3.xsd" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+ <xs:element name="GetSearchDataResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="GetSearchDataResult" nillable="true" type="q3:ArrayOfint" xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+ <xs:complexType name="ArrayOfint">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="int" type="xs:int" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ArrayOfint" nillable="true" type="tns:ArrayOfint" />
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/ext" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://tempuri.org/ext">
+ <xs:import schemaLocation="hoge3.xsd" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+ <xs:element name="Get-Search-Data-Response">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="GetSearchDataResult" nillable="true" type="q3:ArrayOfint" xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
+
+2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporterTest.cs : added Dictionary export tests.
+
+2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporterTest.cs : enabled new tests.
+
+2010-02-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporterTest.cs : added a bunch of tests for new
+ implementation. Disable yet.
+
+2010-02-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporterTest.cs : add test that it gives
+ appropriate code namespaces.
+
+2010-02-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XsdDataContractImporterTest.cs : add test that ArrayOfxxx type
+ is not added.
+
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlObjectSerializerTest.cs : added test for bug #560155.
+
2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
- * XmlObjectSrializerTest.cs : added test for bug #568763.
+ * XmlObjectSerializerTest.cs : added test for bug #568763.
2009-09-28 Atsushi Enomoto <atsushi@ximian.com>
{
new DataContractSerializer (typeof (NestedContractType));
}
-
+
+ [Test]
+ public void Bug560155 ()
+ {
+ var g = Guid.NewGuid ();
+ Person p1 = new Person ("UserName", g);
+ Assert.AreEqual ("name=UserName,id=" + g, p1.ToString (), "#1");
+ MemoryStream memStream = new MemoryStream ();
+ DataContractSerializer ser = new DataContractSerializer (typeof (Person));
+
+ ser.WriteObject (memStream, p1);
+ memStream.Seek (0, SeekOrigin.Begin);
+ Person p2 = (Person) ser.ReadObject (memStream);
+ Assert.AreEqual ("name=UserName,id=" + g, p2.ToString (), "#1");
+ }
+
private T Deserialize<T> (string xml)
{
return Deserialize<T> (xml, typeof (T));
[DataMember]
public string AdvertPrompt { get; set; }
}
+
+// bug #560155
+
+[DataContract]
+public class Person
+{
+ [DataMember]
+ readonly public string name;
+ [DataMember]
+ readonly public Guid Id = Guid.Empty;
+
+ public Person (string nameIn, Guid idIn)
+ {
+ name = nameIn;
+ Id = idIn;
+ }
+
+ public override string ToString()
+ {
+ return string.Format ("name={0},id={1}", name, Id);
+ }
+}
//
using System;
+using System.CodeDom;
+using System.CodeDom.Compiler;
using System.Collections.Generic;
-
+using System.IO;
+using System.Runtime.Serialization;
+using System.ServiceModel.Description;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
-
-using System.CodeDom;
-using System.CodeDom.Compiler;
-using System.Runtime.Serialization;
-
+using Microsoft.CSharp;
using NUnit.Framework;
-using System.ServiceModel.Description;
namespace MonoTests.System.Runtime.Serialization
{
Assert.AreEqual (0, ccu.Namespaces.Count, "#i49");
}
+ [Test]
+ public void ImportSkipArrayOfPrimitives ()
+ {
+ var ccu = new CodeCompileUnit ();
+ var xdi = new XsdDataContractImporter (ccu);
+ var xss = new XmlSchemaSet ();
+ xss.Add (null, "Test/Resources/Schemas/schema1.xsd");
+ xss.Add (null, "Test/Resources/Schemas/schema2.xsd");
+ xdi.Import (xss);
+ var sw = new StringWriter ();
+ new CSharpCodeProvider ().GenerateCodeFromCompileUnit (ccu, sw, null);
+ Assert.IsTrue (sw.ToString ().IndexOf ("ArrayOfint") < 0, "#1");
+ }
+
+ [Test]
+ public void ImportGivesAppropriateNamespaces ()
+ {
+ var ccu = new CodeCompileUnit ();
+ var xdi = new XsdDataContractImporter (ccu);
+ var xss = new XmlSchemaSet ();
+ xss.Add (null, "Test/Resources/Schemas/schema1.xsd");
+ xss.Add (null, "Test/Resources/Schemas/schema2.xsd");
+ xss.Add (null, "Test/Resources/Schemas/schema3.xsd");
+ xdi.Import (xss);
+ var sw = new StringWriter ();
+ bool t = false, te = false;
+ foreach (CodeNamespace cns in ccu.Namespaces) {
+ if (cns.Name == "tempuri.org")
+ t = true;
+ else if (cns.Name == "tempuri.org.ext")
+ te = true;
+ Assert.AreEqual ("GetSearchDataResponse", cns.Types [0].Name, "#1." + cns.Name);
+ }
+ Assert.IsTrue (t, "t");
+ Assert.IsTrue (t, "te");
+ }
+
+ CodeCompileUnit DoImport (params string [] schemaFiles)
+ {
+ var ccu = new CodeCompileUnit ();
+ var xdi = new XsdDataContractImporter (ccu);
+ var xss = new XmlSchemaSet ();
+ foreach (var schemaFile in schemaFiles)
+ xss.Add (null, schemaFile);
+ xdi.Import (xss);
+
+ return ccu;
+ }
+
+ // FIXME: this set of tests need further assertion in each test case. Right now it just checks if things import or fail just fine.
+
+ [Test]
+ public void ImportTestX0 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns0.xsd");
+ }
+
+ [Test]
+ public void ImportTestX1 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns1.xsd");
+ }
+
+ [Test]
+ public void ImportTestX2 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns2.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX3 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns3.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX4 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns4.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX5 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns5.xsd");
+ }
+
+ [Test]
+ public void ImportTestX6 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns6.xsd",
+ "Test/Resources/Schemas/ns0.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX7 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns7.xsd",
+ "Test/Resources/Schemas/ns0.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX8 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns8.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX9 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns9.xsd");
+ }
+
+ [Test]
+ public void ImportTestX10 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns10.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX11 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns11.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX12 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns12.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX13 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns13.xsd");
+ }
+
+ [Test]
+ public void ImportTestX14 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns14.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX15 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns15.xsd");
+ }
+
+ [Test]
+ public void ImportTestX16 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns16.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX17 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns17.xsd");
+ }
+
+ [Test]
+ public void ImportTestX18 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns18.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX19 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns19.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX20 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns20.xsd");
+ }
+
+ [Test]
+ public void ImportTestX21 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns21.xsd");
+ }
+
+ [Test]
+ public void ImportTestX22 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns22.xsd");
+ }
+
+ [Test]
+ public void ImportTestX23 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns23.xsd");
+ }
+
+ [ExpectedException (typeof (InvalidDataContractException))]
+ [Test]
+ public void ImportTestX24 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns24.xsd");
+ }
+
+ [Test]
+ public void ImportTestX25 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns25.xsd");
+ }
+
+ [Test]
+ public void ImportTestX26 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns26.xsd");
+ }
+
+ [Test]
+ public void ImportTestX27 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns27.xsd");
+ }
+
+ [Test]
+ public void ImportTestX28 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns28.xsd");
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidDataContractException))]
+ public void ImportTestX29 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns29.xsd");
+ }
+
+ [Test]
+ public void ImportTestX30 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns30.xsd");
+ }
+
+ [Test]
+ public void ImportTestX31 ()
+ {
+ DoImport ("Test/Resources/Schemas/ns31.xsd");
+ }
+
/* Helper methods */
private void CheckDC (CodeTypeDeclaration type, string name, Dictionary<string, string> members, string msg)
{
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about the System.ServiceModel assembly
+// General Information about the System.ServiceModel.Web assembly
[assembly: AssemblyVersion (Consts.FxVersion)]
+[assembly: AssemblyFileVersion (Consts.FxFileVersion)]
[assembly: SatelliteContractVersion (Consts.FxVersion)]
[assembly: AssemblyTitle ("System.ServiceModel.Web.dll")]
[assembly: AssemblyDescription ("System.ServiceModel.Web.dll")]
-[assembly: AssemblyConfiguration ("Development version")]
[assembly: AssemblyCompany ("MONO development team")]
[assembly: AssemblyProduct ("MONO CLI")]
[assembly: AssemblyCopyright ("(c) 2003 Various Authors")]
-[assembly: AssemblyTrademark ("")]
[assembly: CLSCompliant (true)]
[assembly: AssemblyDefaultAlias ("System.ServiceModel.Web.dll")]
-[assembly: AssemblyInformationalVersion ("3.5.594.0")]
[assembly: NeutralResourcesLanguage ("en-US")]
[assembly: ComVisible (false)]
[assembly: AssemblyDelaySign (true)]
#if NET_2_1
+[assembly: AssemblyInformationalVersion (Consts.FxFileVersion)]
[assembly: AssemblyKeyFile ("../silverlight.pub")]
#else
+[assembly: AssemblyInformationalVersion ("3.5.594.0")]
[assembly: AssemblyKeyFile("../winfx.pub")]
#endif
+2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
+
+ * AssemblyInfo.cs: Fix attributes for Moonlight
+
2009-01-14 Jb Evain <jbevain@novell.com>
* AssemblyInfo.cs: fix the public key for the NET_2_1 case.
+2010-01-26 Sebastien Pouliot <sebastien@ximian.com>
+
+ * monotouch_System.ServiceModel.Web.dll.sources: Don't inherit from
+ net_2_1_raw*.sources when you require a superset of moonlight API
+
+2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
+
+ * net_2_1_raw_System.ServiceModel.Web.dll.sources: Use custom
+ version of DataContractJsonSerializer for Moonlight
+
2009-11-12 Atsushi Enomoto <atsushi@ximian.com>
* common_System.ServiceModel.Web.dll.sources,
+2010-02-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * JsonWriter.cs : write NaN, INF, -INF as JSON string, not JSON number.
+ Fixed bug #573691.
+
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataContractJsonSerializer.cs : KnownTypes does not include root
+ type. Fixed bug #573689.
+
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * JsonSerializationReader.cs : oops, wrong fix, should consume the
+ reader.
+
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * JsonSerializationReader.cs : "null" for string should be read as
+ null, not String.Empty. Fixed bug #573690.
+
+2010-01-26 Sebastien Pouliot <sebastien@ximian.com>
+
+ * DataContractJsonSerializer_2_1.cs: Don't hide [Field|Method]
+ AccessException inside a SerializationException but in a
+ SecurityException.
+
+2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
+
+ * DataContractJsonSerializer_2_1.cs: New. Simpler version for
+ Moonlight since it does not inherit from the same base type nor
+ does it overrides any base methods.
+
2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
* TypeMap.cs : forward port r145077 (see change line for 2009-10-29).
using System.Collections.ObjectModel;
using System.Globalization;
using System.IO;
+using System.Linq;
using System.Reflection;
using System.Text;
using System.Xml;
{
}
- DataContractJsonSerializer(Type type, string rootName, IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool alwaysEmitTypeInformation)
- {
- if (type == null)
+ DataContractJsonSerializer(Type type, string rootName, IEnumerable<Type> knownTypes, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, bool alwaysEmitTypeInformation)
+ {
+ if (type == null)
throw new ArgumentNullException ("type");
if (rootName == null)
throw new ArgumentNullException ("rootName");
if (maxItemsInObjectGraph < 0)
throw new ArgumentOutOfRangeException ("maxItemsInObjectGraph");
- List<Type> types = new List<Type> ();
- types.Add (type);
- if (knownTypes != null)
- types.AddRange (knownTypes);
-
this.type = type;
- known_types = new ReadOnlyCollection<Type> (types);
+ known_types = new ReadOnlyCollection<Type> (knownTypes != null ? knownTypes.ToArray () : Type.EmptyTypes);
root = rootName;
max_items = maxItemsInObjectGraph;
ignore_extension = ignoreExtensionDataObject;
--- /dev/null
+//
+// DataContractJsonSerializer.cs (for Moonlight profile)
+//
+// Authors:
+// Atsushi Enomoto <atsushi@ximian.com>
+// Sebastien Pouliot <sebastien@ximian.com>
+//
+// Copyright (C) 2007-2008, 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Security;
+using System.Xml;
+
+namespace System.Runtime.Serialization.Json {
+
+ public sealed class DataContractJsonSerializer {
+
+ private Type type;
+ private ReadOnlyCollection<Type> known_types;
+
+ public DataContractJsonSerializer (Type type) :
+ this (type, null)
+ {
+ }
+
+ [MonoTODO ("The 'knownTypes' parameter is unused (except as a property)")]
+ public DataContractJsonSerializer (Type type, IEnumerable<Type> knownTypes)
+ {
+ if (type == null)
+ throw new ArgumentNullException ("type");
+
+ this.type = type;
+ List<Type> types = new List<Type> ();
+ if (knownTypes != null)
+ types.AddRange (knownTypes);
+ known_types = new ReadOnlyCollection<Type> (types);
+ }
+
+ public ReadOnlyCollection<Type> KnownTypes {
+ get { return known_types; }
+ }
+
+ // used by JsonSerializationReader.cs
+ internal int MaxItemsInObjectGraph {
+ get { return Int32.MaxValue; }
+ }
+
+ public object ReadObject (Stream stream)
+ {
+ var r = (JsonReader) JsonReaderWriterFactory.CreateJsonReader (stream, XmlDictionaryReaderQuotas.Max);
+ r.LameSilverlightLiteralParser = true;
+
+ try {
+ r.MoveToContent ();
+ if (!r.IsStartElement ("root", String.Empty)) {
+ throw new SerializationException (
+ String.Format ("Expected element was '{0}', but the actual input element was '{1}' in namespace '{2}'",
+ "root", r.LocalName, r.NamespaceURI));
+ }
+ return new JsonSerializationReader (this, r, type, true).ReadRoot ();
+ } catch (FieldAccessException fae) {
+ throw new SecurityException ("Deserialization has failed", fae);
+ } catch (MethodAccessException mae) {
+ throw new SecurityException ("Deserialization has failed", mae);
+ } catch (SerializationException) {
+ throw;
+ } catch (Exception ex) {
+ throw new SerializationException ("Deserialization has failed", ex);
+ }
+ }
+
+ public void WriteObject (Stream stream, object graph)
+ {
+ using (var writer = JsonReaderWriterFactory.CreateJsonWriter (stream)) {
+ try {
+ writer.WriteStartElement ("root");
+ new JsonSerializationWriter (this, writer, type, false).WriteObjectContent (graph, true, false);
+ writer.WriteEndElement ();
+ } catch (FieldAccessException fae) {
+ throw new SecurityException ("Serialization has failed", fae);
+ } catch (MethodAccessException mae) {
+ throw new SecurityException ("Serialization has failed", mae);
+ } catch (NotImplementedException) {
+ throw;
+ } catch (InvalidDataContractException) {
+ throw;
+ } catch (Exception ex) {
+ throw new SerializationException (String.Format ("There was an error during serialization for object of type {0}", graph != null ? graph.GetType () : null), ex);
+ }
+ }
+ }
+ }
+}
+
if (serialized_object_count ++ == serializer.MaxItemsInObjectGraph)
throw SerializationError (String.Format ("The object graph exceeded the maximum object count '{0}' specified in the serializer", serializer.MaxItemsInObjectGraph));
+ bool isNull = reader.GetAttribute ("type") == "null";
+
switch (Type.GetTypeCode (type)) {
case TypeCode.DBNull:
string dbn = reader.ReadElementContentAsString ();
throw new SerializationException (String.Format ("The only expected DBNull value string is '{{}}'. Tha actual input was '{0}'.", dbn));
return DBNull.Value;
case TypeCode.String:
- return reader.ReadElementContentAsString ();
+ if (isNull) {
+ reader.ReadElementContentAsString ();
+ return null;
+ }
+ else
+ return reader.ReadElementContentAsString ();
case TypeCode.Single:
return reader.ReadElementContentAsFloat ();
case TypeCode.Double:
if (type == typeof (Guid)) {
return new Guid (reader.ReadElementContentAsString ());
} else if (type == typeof (Uri)) {
- return new Uri (reader.ReadElementContentAsString ());
+ if (isNull) {
+ reader.ReadElementContentAsString ();
+ return null;
+ }
+ else
+ return new Uri (reader.ReadElementContentAsString ());
} else if (type == typeof (XmlQualifiedName)) {
string s = reader.ReadElementContentAsString ();
int idx = s.IndexOf (':');
}
break;
case ElementType.Number:
+ // .NET is buggy here, it just outputs raw string, which results in invalid JSON format.
+ bool isString = false;
+ switch (text) {
+ case "INF":
+ case "-INF":
+ case "NaN":
+ isString = true;
+ break;
+ }
+ if (isString) {
+ element_kinds.Pop ();
+ element_kinds.Push (ElementType.String);
+ goto case ElementType.String;
+ }
+ break;
case ElementType.Boolean:
break;
default:
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataContractJsonSerializerTest.cs :
+ enable TypeIsNotPartsOfKnownTypes(), and add more related tests.
+
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataContractJsonSerializerTest.cs : make some tests narrow down
+ possible cause of errors to detect expected errors more precisely.
+
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataContractJsonSerializerTest.cs : null-string case is working.
+
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataContractJsonSerializerTest.cs : invalidate previous non-working
+ tests.
+
+2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
+
+ * DataContractJsonSerializerTest.cs: Add non-working test cases
+ for null-string, known types and handling floating point special
+ values
+
2009-12-11 Chris Toshok <toshok@ximian.com>
* DataContractJsonSerializerTest.cs: add a test case for
[Test]
public void ConstructorMisc ()
{
- new DataContractJsonSerializer (typeof (GlobalSample1));
+ new DataContractJsonSerializer (typeof (GlobalSample1)).WriteObject (new MemoryStream (), new GlobalSample1 ());
}
[Test]
string s2 = @"{FooMember:"" \""{dummy:string}\""""}";
ds.ReadObject (new MemoryStream (Encoding.UTF8.GetBytes (s2)));
}
+
+ [Test]
+ [Category ("NotWorking")]
+ public void TypeIsNotPartsOfKnownTypes ()
+ {
+ var dcs = new DataContractSerializer (typeof (string));
+ Assert.AreEqual (0, dcs.KnownTypes.Count, "KnownTypes #1");
+ var dcjs = new DataContractJsonSerializer (typeof (string));
+ Assert.AreEqual (0, dcjs.KnownTypes.Count, "KnownTypes #2");
+ }
+
+ [Test]
+ public void ReadWriteNullObject ()
+ {
+ DataContractJsonSerializer dcjs = new DataContractJsonSerializer (typeof (string));
+ using (MemoryStream ms = new MemoryStream ()) {
+ dcjs.WriteObject (ms, null);
+ ms.Position = 0;
+ using (StreamReader sr = new StreamReader (ms)) {
+ string data = sr.ReadToEnd ();
+ Assert.AreEqual ("null", data, "WriteObject(stream,null)");
+
+ ms.Position = 0;
+ Assert.IsNull (dcjs.ReadObject (ms), "ReadObject(stream)");
+ }
+ };
+ }
+
+ object ReadWriteObject (Type type, object obj, string expected)
+ {
+ using (MemoryStream ms = new MemoryStream ()) {
+ DataContractJsonSerializer dcjs = new DataContractJsonSerializer (type);
+ dcjs.WriteObject (ms, obj);
+ ms.Position = 0;
+ using (StreamReader sr = new StreamReader (ms)) {
+ Assert.AreEqual (expected, sr.ReadToEnd (), "WriteObject");
+
+ ms.Position = 0;
+ return dcjs.ReadObject (ms);
+ }
+ }
+ }
+
+ [Test]
+ [Ignore ("Wrong test case. See bug #573691")]
+ public void ReadWriteObject_Single_SpecialCases ()
+ {
+ Assert.IsTrue (Single.IsNaN ((float) ReadWriteObject (typeof (float), Single.NaN, "NaN")));
+ Assert.IsTrue (Single.IsNegativeInfinity ((float) ReadWriteObject (typeof (float), Single.NegativeInfinity, "-INF")));
+ Assert.IsTrue (Single.IsPositiveInfinity ((float) ReadWriteObject (typeof (float), Single.PositiveInfinity, "INF")));
+ }
+
+ [Test]
+ [Ignore ("Wrong test case. See bug #573691")]
+ public void ReadWriteObject_Double_SpecialCases ()
+ {
+ Assert.IsTrue (Double.IsNaN ((double) ReadWriteObject (typeof (double), Double.NaN, "NaN")));
+ Assert.IsTrue (Double.IsNegativeInfinity ((double) ReadWriteObject (typeof (double), Double.NegativeInfinity, "-INF")));
+ Assert.IsTrue (Double.IsPositiveInfinity ((double) ReadWriteObject (typeof (double), Double.PositiveInfinity, "INF")));
+ }
}
public class TestData
[DataContract (Name = "")]
public class DCWithEmptyName
{
+ [DataMember]
+ public string Foo;
}
[DataContract (Name = null)]
public class DCWithNullName
{
+ [DataMember]
+ public string Foo;
}
[DataContract (Namespace = "")]
public class DCWithEmptyNamespace
{
+ [DataMember]
+ public string Foo;
}
[Serializable]
-#include net_2_1_raw_System.ServiceModel.Web.dll.sources
+Assembly/AssemblyInfo.cs
+System.Runtime.Serialization.Json/DataContractJsonSerializer.cs
+System.Runtime.Serialization.Json/IXmlJsonReaderInitializer.cs
+System.Runtime.Serialization.Json/IXmlJsonWriterInitializer.cs
+System.Runtime.Serialization.Json/JsonReader.cs
+System.Runtime.Serialization.Json/JsonReaderWriterFactory.cs
+System.Runtime.Serialization.Json/JsonSerializationReader.cs
+System.Runtime.Serialization.Json/JsonSerializationWriter.cs
+System.Runtime.Serialization.Json/JsonWriter.cs
+System.Runtime.Serialization.Json/TypeMap.cs
System.ServiceModel.Channels/WebBodyFormatMessageProperty.cs
System.ServiceModel.Channels/WebContentFormat.cs
System.ServiceModel.Channels/WebContentTypeMapper.cs
Assembly/AssemblyInfo.cs
-System.Runtime.Serialization.Json/DataContractJsonSerializer.cs
+System.Runtime.Serialization.Json/DataContractJsonSerializer_2_1.cs
System.Runtime.Serialization.Json/IXmlJsonReaderInitializer.cs
System.Runtime.Serialization.Json/IXmlJsonWriterInitializer.cs
System.Runtime.Serialization.Json/JsonReader.cs
+2010-02-19 Astushi Enomoto <atsushi@ximian.com>
+
+ * Makefile: enable USE_DATA_CONTRACT_IMPORTER as
+ memorabilia.hardrock now works. (Will be removed when I remove
+ relevant code.)
+
+2010-02-10 Astushi Enomoto <atsushi@ximian.com>
+
+ * Makefile: sigh, just disable it. make dist is somehow broken.
+
+2010-02-10 Astushi Enomoto <atsushi@ximian.com>
+
+ * Makefile: does extra dist fail to accept *.xml ?
+
+2010-02-10 Astushi Enomoto <atsushi@ximian.com>
+
+ * Makefile: add test xml files to extra dist.
+
+2010-02-08 Astushi Enomoto <atsushi@ximian.com>
+
+ * System.ServiceModel.dll.sources:
+ renamed MetadataBundle.cs to MetadataSet.cs.
+
+2010-02-05 Astushi Enomoto <atsushi@ximian.com>
+
+ * Dummy_2_1.cs : remove AuthenticationSchemes. It blocks MT support.
+
+2010-02-04 Astushi Enomoto <atsushi@ximian.com>
+
+ * Dummy.cs, net_2_1_raw_System.ServiceModel.dll.sources : add some
+ classes out of dummy, for monotouch (hidden in 2.1 profile).
+
+2010-02-04 Astushi Enomoto <atsushi@ximian.com>
+
+ * HTTP_listener_notes.txt: Fixed some wrong description, simplified
+ some, and updated some.
+
+2010-02-04 Astushi Enomoto <atsushi@ximian.com>
+
+ * HTTP_listener_notes.txt: some notes updated.
+
+2010-02-03 Astushi Enomoto <atsushi@ximian.com>
+
+ * HTTP_listener_notes.txt: I couldn't help but write about it to
+ not keep myself confused by this complicated stuff.
+
2010-01-20 Astushi Enomoto <atsushi@ximian.com>
* System.ServiceModel_test.dll.sources: move back some FeatureBased
public interface IPolicyImportExtension {}
public interface IWsdlExportExtension {}
public interface IWsdlImportExtension {}
- public interface IEndpointBehavior {}
- public interface IOperationBehavior {}
public interface IContractBehavior {}
}
namespace System.ServiceModel.Dispatcher
{
class Dummy {}
}
-namespace System.Net
-{
- public enum AuthenticationSchemes {Anonymous}
-}
namespace System.Net.Security
{
public enum ProtectionLevel {None}
--- /dev/null
+* ASP.NET integration and HTTP standalone service process flow
+
+This mostly explains what our WCF does, and does not explain what I think it really should do (though I write about them as long as I know).
+
+
+** Basic process flow
+
+- ServiceHost opens a set of ChannelDispatchers for each ServiceEndpoint.
+- ChannelDispatcher builds an IChannelListener (such as HttpSimpleChannelListener`1 or AspNetChannelListener`1) based on the corresponding ServiceEndpoint which contains a Binding that is used to build channel listeners).
+- IChannelListener itself does not provide any service loop. Instead, the ChannelDispatcher starts a service loop.
+-- IChannelListener only has methods for receiving requests that must be explicitly invoked for each request (i.e. to repeatedly process requests it must invoke receiver methods every time, unlike ServiceHost.Open() method).
+- Inside the service loop, IChannelListener invokes [Begin]AcceptChannel() to get a channel such as HttpSimpleReplyChannel`1 or AspNetReplyChannel`1. Channels can be created as much as the service throttle limitation (ServiceThrottle) allows.
+- Then the loop manager invokes the channel's [Begin]TryReceiveRequest().
+- When WSDLs are enabled, ServiceMetadataExtension populates another ChannelDispatcher that serves HTTP requests to WSDLs.
+-- It is important to understand that during this process it populates HTTP channel listener onto the same port and even possibly onto the same target URL, differentiating only by the request parameter (e.g. "?wsdl"). This causes a lot of confusion on both IHttpHandler (for ASP.NET) and HttpListener (for non-ASP.NET).
+- Inside (abstract) HttpChannelListener`1, it internally has (abstract) HttpListenerManager which manages the actual HTTP listeners.
+-- This intermediate stuff is required to manage HTTP listeners across the actual HttpChannelListeners because more than one channel listeners might use the identical HTTP listener; only one HttpListener can listen to a specific URI prefix, while (as explained above) WSDL support dispatcher may listen to the same URI only differentiating the query parameter.
+
+
+** non-ASP.NET-specific process flow
+
+- HttpSimpleChannelListener`1 implements IChannelListener`1, HttpSimpleReplyChannel implements IReplyChannel`1, and HttpSimpleRequestContext extends RequestContext.
+- HttpSimpleChannelListener`1 internally creates HttpSimpleListenerManager that manages HttpListeners. The management here includes sharing HttpListeners between the channel listeners that have the identical Uri (see WSDL section above).
+- When HttpSimpleChannelListener`1.[Begin]TryReceiveRequest() is invoked, then it subsequently calls HttpListener.BeginGetContext() to retrieve the context.
+
+
+** ASP.NET-specific process flow
+
+- An IHttpHandler manages one ServiceHost. IChannelListener is bound to a ChannelDispatcher. Hence, IChannelListener has a ServiceHost to which it is bound.
+- HttpListener is designed to explicitly call [Begin]GetContext() method for each request processing. i.e. it is pull-based process.
+- ASP.NET processing (IHttpHandler.ProcessRequest() method) is designed to be invoked by the ASP.NET runtime i.e. it is push-based process.
+-- while WCF channels must be created by ChannelDispatcher, the ASP.NET channels must not be instantiated and returned immediately by IHttpHandler.ProcessRequest(), but have to wait for calls to IChannelListener.[Begin]AcceptChannel() at first.
+-- Then, AspNetChannelListener`1 retrieves HttpContext. It has to wait for one if there is no HttpContext in the IHttpHandler)
+-- Due to the process flow explained above, the IHttpHandler cannot handle the request when it receives a request. Instead, it has to store the HttpContext for IChannelListers' use.
+-- Note that when there is WSDL extension, there is *another* IChannelListener that could be mapped to the identical URL i.e. which could be mapped to the identical IHttpHandler instance.
+
+
+** Call process flow and locking
+
+- IHttpHandler.ProcessRequest()
+ - optionally create ServiceHost and
+ - calls ServiceHost.Open()
+ - ChannelDispatcher.StartLoop()
+ - AspNetChannelListener.[Begin]AcceptChannel() when throttling allows.
+ - AspNetReplyChannel.[Begin]TryReceiveRequest()
+
+locking: TBD
+
+
+** Bugs
+
+There is not a few bugs on service implementations and there often are reasons:
+
+-- TCP duplex channels used to fail to serve requests when the throttle is 1. It was due to failure in managing closed channels (while it is duplex and hence it has to maintain channels until it is explicitly closed, clients often, or mostly, disconnects without any notice. So it had to be changed to explicitly check if the connection is available at any beginning of the request processing).
+-- When there is more than one endpoint definition in web.config, it somehow fails to build appropriate HttpHandler chain (bug #573795).
+- ASP.NET listener ends up to dump ThreadAbort during its shutdown. It's mostly harmless though.
LIBRARY = System.ServiceModel.dll
LIB_MCS_FLAGS = \
+ /d:USE_DATA_CONTRACT_IMPORTER \
/nowarn:414,169,67,3005,436,219,618 \
/unsafe \
/r:System.dll \
//
// System.ServiceModel.AddressHeader.cs
//
-// Author: Duncan Mak (duncan@novell.com)
+// Authors:
+// Duncan Mak (duncan@novell.com)
+// Atsushi Enomoto (atsushi@ximian.com)
//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005,2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
//
using System;
+using System.IO;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Xml;
+using System.Xml.Schema;
namespace System.ServiceModel.Channels
{
return o.Name == this.Name && o.Namespace == this.Namespace;
}
- [MonoTODO]
public virtual XmlDictionaryReader GetAddressHeaderReader ()
{
- throw new NotImplementedException ();
+ var sw = new StringWriter ();
+ var s = new XmlWriterSettings () { OmitXmlDeclaration = true };
+ var xw = XmlDictionaryWriter.CreateDictionaryWriter (XmlWriter.Create (sw, s));
+ WriteAddressHeader (xw);
+ xw.Close ();
+ return XmlDictionaryReader.CreateDictionaryReader (XmlReader.Create (new StringReader (sw.ToString ())));
}
public override int GetHashCode ()
public T GetValue<T> (XmlObjectSerializer formatter)
{
- throw new NotImplementedException ();
+ return (T) formatter.ReadObject (GetAddressHeaderReader ());
}
protected abstract void OnWriteAddressHeaderContents (XmlDictionaryWriter writer);
internal DefaultAddressHeader (string name, string ns, object value, XmlObjectSerializer formatter)
{
- if (formatter == null) {
- if (value == null)
- formatter = new NetDataContractSerializer ();
- else
- formatter = new DataContractSerializer (value.GetType ());
- }
+ if (formatter == null)
+ formatter = value != null ? new DataContractSerializer (value.GetType ()) : null;
this.name = name;
this.ns = ns;
this.formatter = formatter;
protected override void OnWriteAddressHeaderContents (XmlDictionaryWriter writer)
{
- this.formatter.WriteObject (writer, value);
+ if (value == null)
+ writer.WriteAttributeString ("i", "nil", "http://www.w3.org/2001/XMLSchema-instance", "true");
+ else
+ this.formatter.WriteObject (writer, value);
}
}
public override bool WaitForRequest (TimeSpan timeout)
{
-Console.WriteLine ("Enter AspNetReplyChannel.WaitForRequest");
if (wait != null)
throw new InvalidOperationException ("Another wait operation is in progress");
try {
listener.ListenerManager.GetHttpContextAsync (timeout, HttpContextAcquired);
if (wait != null) // in case callback is done before WaitOne() here.
return wait.WaitOne (timeout, false);
-Console.WriteLine ("Exit AspNetReplyChannel.WaitForRequest");
return waiting.Count > 0;
} finally {
wait = null;
void HttpContextAcquired (HttpContextInfo ctx)
{
-Console.WriteLine ("Enter HttpContextAcquired: {0}", ctx != null ? ctx.RequestUrl : null);
if (wait == null)
throw new InvalidOperationException ("WaitForRequest operation has not started");
var sctx = (AspNetHttpContextInfo) ctx;
var wait_ = wait;
wait = null;
wait_.Set ();
-Console.WriteLine ("Exit HttpContextAcquired: {0}", ctx != null ? ctx.RequestUrl : null);
}
}
}
{
internal class BinaryMessageEncoder : MessageEncoder
{
- static XmlDictionary soap_dictionary;
-
- // See [MC-NBFS] in Microsoft OSP. The strings are copied from the PDF, so the actual values might be wrong.
- static readonly string [] dict_strings = {
- "mustUnderstand", "Envelope",
- "http://www.w3.org/2003/05/soap-envelope",
- "http://www.w3.org/2005/08/addressing", "Header", "Action", "To", "Body", "Algorithm", "RelatesTo",
- "http://www.w3.org/2005/08/addressing/anonymous", "URI", "Reference", "MessageID", "Id", "Identifier",
- "http://schemas.xmlsoap.org/ws/2005/02/rm", "Transforms", "Transform", "DigestMethod", "DigestValue", "Address", "ReplyTo", "SequenceAcknowledgement", "AcknowledgementRange", "Upper", "Lower", "BufferRemaining",
- "http://schemas.microsoft.com/ws/2006/05/rm",
- "http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement", "SecurityTokenReference", "Sequence", "MessageNumber",
- "http://www.w3.org/2000/09/xmldsig#",
- "http://www.w3.org/2000/09/xmldsig#enveloped-signature", "KeyInfo",
- "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
- "http://www.w3.org/2001/04/xmlenc#",
- "http://schemas.xmlsoap.org/ws/2005/02/sc", "DerivedKeyToken", "Nonce", "Signature", "SignedInfo", "CanonicalizationMethod", "SignatureMethod", "SignatureValue", "DataReference", "EncryptedData", "EncryptionMethod", "CipherData", "CipherValue",
- "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd", "Security", "Timestamp", "Created", "Expires", "Length", "ReferenceList", "ValueType", "Type", "EncryptedHeader",
- "http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd", "RequestSecurityTokenResponseCollection",
- "http://schemas.xmlsoap.org/ws/2005/02/trust",
- "http://schemas.xmlsoap.org/ws/2005/02/trust#BinarySecret",
- "http://schemas.microsoft.com/ws/2006/02/transactions", "s", "Fault", "MustUnderstand", "role", "relay", "Code", "Reason", "Text", "Node", "Role", "Detail", "Value", "Subcode", "NotUnderstood", "qname", "", "From", "FaultTo", "EndpointReference", "PortType", "ServiceName", "PortName", "ReferenceProperties", "RelationshipType", "Reply", "a",
- "http://schemas.xmlsoap.org/ws/2006/02/addressingidentity", "Identity", "Spn", "Upn", "Rsa", "Dns", "X509v3Certificate",
- "http://www.w3.org/2005/08/addressing/fault", "ReferenceParameters", "IsReferenceParameter",
- "http://www.w3.org/2005/08/addressing/reply",
- "http://www.w3.org/2005/08/addressing/none", "Metadata",
- "http://schemas.xmlsoap.org/ws/2004/08/addressing",
- "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous",
- "http://schemas.xmlsoap.org/ws/2004/08/addressing/fault",
- "http://schemas.xmlsoap.org/ws/2004/06/addressingex", "RedirectTo", "Via",
- "http://www.w3.org/2001/10/xml-exc-c14n#", "PrefixList", "InclusiveNamespaces", "ec", "SecurityContextToken", "Generation", "Label", "Offset", "Properties", "Cookie", "wsc",
- "http://schemas.xmlsoap.org/ws/2004/04/sc",
- "http://schemas.xmlsoap.org/ws/2004/04/security/sc/dk",
- "http://schemas.xmlsoap.org/ws/2004/04/security/sc/sct",
- "http://schemas.xmlsoap.org/ws/2004/04/security/trust/RST/SCT",
- "http://schemas.xmlsoap.org/ws/2004/04/security/trust/RSTR/SCT", "RenewNeeded", "BadContextToken", "c",
- "http://schemas.xmlsoap.org/ws/2005/02/sc/dk",
- "http://schemas.xmlsoap.org/ws/2005/02/sc/sct",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT/Renew",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT/Renew",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT/Cancel",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT/Cancel",
- "http://www.w3.org/2001/04/xmlenc#aes128-cbc",
- "http://www.w3.org/2001/04/xmlenc#kw-aes128",
- "http://www.w3.org/2001/04/xmlenc#aes192-cbc",
- "http://www.w3.org/2001/04/xmlenc#kw-aes192",
- "http://www.w3.org/2001/04/xmlenc#aes256-cbc",
- "http://www.w3.org/2001/04/xmlenc#kw-aes256",
- "http://www.w3.org/2001/04/xmlenc#des-cbc",
- "http://www.w3.org/2000/09/xmldsig#dsa-sha1",
- "http://www.w3.org/2001/10/xml-exc-c14n#WithComments",
- "http://www.w3.org/2000/09/xmldsig#hmac-sha1",
- "http://www.w3.org/2001/04/xmldsig-more#hmac-sha256",
- "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1",
- "http://www.w3.org/2001/04/xmlenc#ripemd160",
- "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p",
- "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
- "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",
- "http://www.w3.org/2001/04/xmlenc#rsa-1_5",
- "http://www.w3.org/2000/09/xmldsig#sha1",
- "http://www.w3.org/2001/04/xmlenc#sha256",
- "http://www.w3.org/2001/04/xmlenc#sha512",
- "http://www.w3.org/2001/04/xmlenc#tripledes-cbc",
- "http://www.w3.org/2001/04/xmlenc#kw-tripledes",
- "http://schemas.xmlsoap.org/2005/02/trust/tlsnego#TLS_Wrap",
- "http://schemas.xmlsoap.org/2005/02/trust/spnego#GSS_Wrap",
- "http://schemas.microsoft.com/ws/2006/05/security", "dnse", "o", "Password", "PasswordText", "Username", "UsernameToken", "BinarySecurityToken", "EncodingType", "KeyIdentifier",
- "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary",
- "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#HexBinary",
- "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Text",
- "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier",
- "http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#GSS_Kerberosv5_AP_REQ",
- "http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#GSS_Kerberosv5_AP_REQ1510",
- "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID", "Assertion", "urn:oasis:names:tc:SAML:1.0:assertion",
- "http://docs.oasis-open.org/wss/oasis-wss-rel-token-profile-1.0.pdf#license", "FailedAuthentication", "InvalidSecurityToken", "InvalidSecurity", "k", "SignatureConfirmation", "TokenType",
- "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1",
- "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey",
- "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKeySHA1",
- "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1",
- "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0",
- "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLID", "AUTH-HASH", "RequestSecurityTokenResponse", "KeySize", "RequestedTokenReference", "AppliesTo", "Authenticator", "CombinedHash", "BinaryExchange", "Lifetime", "RequestedSecurityToken", "Entropy", "RequestedProofToken", "ComputedKey", "RequestSecurityToken", "RequestType", "Context", "BinarySecret",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/spnego",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/tlsnego", "wst",
- "http://schemas.xmlsoap.org/ws/2004/04/trust",
- "http://schemas.xmlsoap.org/ws/2004/04/security/trust/RST/Issue",
- "http://schemas.xmlsoap.org/ws/2004/04/security/trust/RSTR/Issue",
- "http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue",
- "http://schemas.xmlsoap.org/ws/2004/04/security/trust/CK/PSHA1",
- "http://schemas.xmlsoap.org/ws/2004/04/security/trust/SymmetricKey",
- "http://schemas.xmlsoap.org/ws/2004/04/security/trust/Nonce", "KeyType",
- "http://schemas.xmlsoap.org/ws/2004/04/trust/SymmetricKey",
- "http://schemas.xmlsoap.org/ws/2004/04/trust/PublicKey", "Claims", "InvalidRequest", "RequestFailed", "SignWith", "EncryptWith", "EncryptionAlgorithm", "CanonicalizationAlgorithm", "ComputedKeyAlgorithm", "UseKey",
- "http://schemas.microsoft.com/net/2004/07/secext/WS-SPNego",
- "http://schemas.microsoft.com/net/2004/07/secext/TLSNego", "t",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/Issue",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/Issue",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/CK/PSHA1",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/Nonce", "RenewTarget", "CancelTarget", "RequestedTokenCancelled", "RequestedAttachedReference", "RequestedUnattachedReference", "IssuedTokens",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/Renew",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/Cancel",
- "http://schemas.xmlsoap.org/ws/2005/02/trust/PublicKey", "Access", "AccessDecision", "Advice", "AssertionID", "AssertionIDReference", "Attribute", "AttributeName", "AttributeNamespace", "AttributeStatement", "AttributeValue", "Audience", "AudienceRestrictionCondition", "AuthenticationInstant", "AuthenticationMethod", "AuthenticationStatement", "AuthorityBinding", "AuthorityKind", "AuthorizationDecisionStatement", "Binding", "Condition", "Conditions", "Decision", "DoNotCacheCondition", "Evidence", "IssueInstant", "Issuer", "Location", "MajorVersion", "MinorVersion", "NameIdentifier", "Format", "NameQualifier", "Namespace", "NotBefore", "NotOnOrAfter", "saml", "Statement", "Subject", "SubjectConfirmation", "SubjectConfirmationData", "ConfirmationMethod", "urn:oasis:names:tc:SAML:1.0:cm:holder-of-key", "urn:oasis:names:tc:SAML:1.0:cm:sender-vouches", "SubjectLocality", "DNSAddress", "IPAddress", "SubjectStatement", "urn:oasis:names:tc:SAML:1.0:am:unspecified", "xmlns", "Resource", "UserName", "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName", "EmailName", "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "u", "ChannelInstance",
- "http://schemas.microsoft.com/ws/2005/02/duplex", "Encoding", "MimeType", "CarriedKeyName", "Recipient", "EncryptedKey", "KeyReference", "e",
- "http://www.w3.org/2001/04/xmlenc#Element",
- "http://www.w3.org/2001/04/xmlenc#Content", "KeyName", "MgmtData", "KeyValue", "RSAKeyValue", "Modulus", "Exponent", "X509Data", "X509IssuerSerial", "X509IssuerName", "X509SerialNumber", "X509Certificate", "AckRequested",
- "http://schemas.xmlsoap.org/ws/2005/02/rm/AckRequested", "AcksTo", "Accept", "CreateSequence",
- "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence", "CreateSequenceRefused", "CreateSequenceResponse",
- "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse", "FaultCode", "InvalidAcknowledgement", "LastMessage",
- "http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage", "LastMessageNumberExceeded", "MessageNumberRollover", "Nack", "netrm", "Offer", "r", "SequenceFault", "SequenceTerminated", "TerminateSequence",
- "http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence", "UnknownSequence",
- "http://schemas.microsoft.com/ws/2006/02/tx/oletx", "oletx", "OleTxTransaction", "PropagationToken",
- "http://schemas.xmlsoap.org/ws/2004/10/wscoor", "wscoor", "CreateCoordinationContext", "CreateCoordinationContextResponse", "CoordinationContext", "CurrentContext", "CoordinationType", "RegistrationService", "Register", "RegisterResponse", "ProtocolIdentifier", "CoordinatorProtocolService", "ParticipantProtocolService",
- "http://schemas.xmlsoap.org/ws/2004/10/wscoor/CreateCoordinationContext",
- "http://schemas.xmlsoap.org/ws/2004/10/wscoor/CreateCoordinationContextResponse",
- "http://schemas.xmlsoap.org/ws/2004/10/wscoor/Register",
- "http://schemas.xmlsoap.org/ws/2004/10/wscoor/RegisterResponse",
- "http://schemas.xmlsoap.org/ws/2004/10/wscoor/fault", "ActivationCoordinatorPortType", "RegistrationCoordinatorPortType", "InvalidState", "InvalidProtocol", "InvalidParameters", "NoActivity", "ContextRefused", "AlreadyRegistered",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat", "wsat",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/Completion",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/Durable2PC",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/Volatile2PC", "Prepare", "Prepared", "ReadOnly", "Commit", "Rollback", "Committed", "Aborted", "Replay",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/Commit",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/Rollback",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/Committed",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/Aborted",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/Prepare",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/Prepared",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/ReadOnly",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/Replay",
- "http://schemas.xmlsoap.org/ws/2004/10/wsat/fault", "CompletionCoordinatorPortType", "CompletionParticipantPortType", "CoordinatorPortType", "ParticipantPortType", "InconsistentInternalState", "mstx", "Enlistment", "protocol", "LocalTransactionId", "IsolationLevel", "IsolationFlags", "Description", "Loopback", "RegisterInfo", "ContextId", "TokenId", "AccessDenied", "InvalidPolicy", "CoordinatorRegistrationFailed", "TooManyEnlistments", "Disabled", "ActivityId",
- "http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics",
- "http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#Kerberosv5APREQSHA1",
- "http://schemas.xmlsoap.org/ws/2002/12/policy", "FloodMessage", "LinkUtility", "Hops",
- "http://schemas.microsoft.com/net/2006/05/peer/HopCount", "PeerVia",
- "http://schemas.microsoft.com/net/2006/05/peer", "PeerFlooder", "PeerTo",
- "http://schemas.microsoft.com/ws/2005/05/routing", "PacketRoutable",
- "http://schemas.microsoft.com/ws/2005/05/addressing/none",
- "http://schemas.microsoft.com/ws/2005/05/envelope/none",
- "http://www.w3.org/2001/XMLSchema-instance",
- "http://www.w3.org/2001/XMLSchema", "nil", "type", "char", "boolean", "byte", "unsignedByte", "short", "unsignedShort", "int", "unsignedInt", "long", "unsignedLong", "float", "double", "decimal", "dateTime", "string", "base64Binary", "anyType", "duration", "guid", "anyURI", "QName", "time", "date", "hexBinary", "gYearMonth", "gYear", "gMonthDay", "gDay", "gMonth", "integer", "positiveInteger", "negativeInteger", "nonPositiveInteger", "nonNegativeInteger", "normalizedString", "ConnectionLimitReached",
- "http://schemas.xmlsoap.org/soap/envelope/", "Actor", "Faultcode", "Faultstring", "Faultactor", "Detail"
- };
-
- static BinaryMessageEncoder ()
- {
- var d = new XmlDictionary ();
- soap_dictionary = d;
- foreach (var s in dict_strings)
- d.Add (s);
- }
-
public BinaryMessageEncoder ()
{
}
}
return Message.CreateMessage (
- XmlDictionaryReader.CreateBinaryReader (stream, soap_dictionary, owner != null ? owner.Owner.ReaderQuotas : new XmlDictionaryReaderQuotas (), session ? CurrentReaderSession : null),
+ XmlDictionaryReader.CreateBinaryReader (stream, Constants.SoapDictionary, owner != null ? owner.Owner.ReaderQuotas : new XmlDictionaryReaderQuotas (), session ? CurrentReaderSession : null),
maxSizeOfHeaders, MessageVersion);
}
{
VerifyMessageVersion (message);
- using (var xw = XmlDictionaryWriter.CreateBinaryWriter (stream, soap_dictionary, session ? CurrentWriterSession : null))
+ using (var xw = XmlDictionaryWriter.CreateBinaryWriter (stream, Constants.SoapDictionary, session ? CurrentWriterSession : null))
message.WriteMessage (xw);
}
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MessageHeaders.cs : add !NET_2_1.
+
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MessageHeader.cs, MessageHeaders.cs : add nasty workaround for
+ typed UniqueId output.
+
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MessageHeader.cs : no need to treat EndpointAddress as a special
+ case here too.
+
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MessageHeaders.cs : remove duplicate constant.
+
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MessageHeader.cs, MessageHeaders.cs: MessageHeader does not treat
+ EndpointAddress as a special case. Instead, each MessageHeaders
+ property should convert it to appropriate serializable objects.
+
+ (Our DataContractSerializer fails to reject EndpointAddress as
+ serializable type, so it's rather a preparation step.)
+
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MessageHeader.cs, Message.cs : use dictionary string whenever
+ applicable. The binary output on #577139 is getting closer (no
+ idea if it is really about binary output though).
+
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * BinaryMessageEncoder.cs : moved soap_dictionary to Constants.
+
+2010-02-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * HttpTransportBindingElement.cs : ... and add MONOTOUCH on #ifs.
+
+2010-02-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * HttpRequestChannel.cs, HttpTransportBindingElement.cs :
+ enable authentication schemes on monotouch.
+
+2010-02-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SvcHttpHandler.cs : a wait handle could be used for more than one
+ requests and hence it sometimes blocked one reply channel. Now
+ it creates a wait handle for each ASP.NET request so that such
+ multiple use should not occur. This should fix blocking on
+ concurrent requests (it indeed fixes as long as I can see).
+
+2010-02-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * AspNetReplyChannel.cs : remove garbage output.
+
+2010-02-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SvcHttpHandler.cs : Use lock when it tries to create the service
+ host.
+
+2010-02-02 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SvcHttpHandlerFactory.cs : lock when it tries to acquire
+ HttpHandler.
+
+2010-02-02 Atsushi Enomoto <atsushi@ximian.com>
+
+ * HttpListenerManager.cs : add another workaround for blocking
+ concurrent calls.
+
+2010-02-02 Atsushi Enomoto <atsushi@ximian.com>
+
+ * HttpListenerManager.cs : small refactoring.
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * TcpDuplexSessionChannel.cs : added a workaround receiver delay
+ that somehow makes callback client to not cause infinite loop.
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * TcpDuplexSessionChannel.cs, PeerDuplexChannel.cs,
+ DuplexChannelBase.cs : Receive() should rather use TryReceive().
+ It should not be in reverse order.
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * HttpReplyChannel.cs, HttpListenerManager.cs :
+ Implement async cancellation in the expected manner (though with
+ some hack). This mostly removed nunit blockers.
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * CommunicationObject.cs : fix wrong status changes.
+
+2010-01-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * AddressHeader.cs : XmlSchema.InstanceNamespace didn't exist in 2.1 :(
+
+2010-01-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * AddressHeader.cs : implement remaining bits.
+ Eliminate dependency on NetDataContractSerializer.
+
2010-01-20 Atsushi Enomoto <atsushi@ximian.com>
* CommunicationObject.cs : in Fault(), do similar work as previous
throw new CommunicationObjectFaultedException ();
OnClosing ();
if (state != CommunicationState.Closing) {
- throw new InvalidOperationException (String.Format ("Communication object {0} has an overriden OnClosing method that does not call base OnClosing method (declared in {1} type).", this.GetType (), GetType ().GetMethod ("OnClosing", BindingFlags.NonPublic | BindingFlags.Instance).DeclaringType));
state = CommunicationState.Faulted;
+ throw new InvalidOperationException (String.Format ("Communication object {0} has an overriden OnClosing method that does not call base OnClosing method (declared in {1} type).", this.GetType (), GetType ().GetMethod ("OnClosing", BindingFlags.NonPublic | BindingFlags.Instance).DeclaringType));
}
}
}
lock (ThisLock) {
OnClosed ();
if (state != CommunicationState.Closed) {
- throw new InvalidOperationException (String.Format ("Communication object {0} has an overriden OnClosed method that does not call base OnClosed method (declared in {1} type).", this.GetType (), GetType ().GetMethod ("OnClosed", BindingFlags.NonPublic | BindingFlags.Instance).DeclaringType));
state = CommunicationState.Faulted;
+ throw new InvalidOperationException (String.Format ("Communication object {0} has an overriden OnClosed method that does not call base OnClosed method (declared in {1} type).", this.GetType (), GetType ().GetMethod ("OnClosed", BindingFlags.NonPublic | BindingFlags.Instance).DeclaringType));
}
}
}
throw new CommunicationObjectFaultedException ();
OnFaulted ();
if (state != CommunicationState.Faulted) {
- throw new InvalidOperationException (String.Format ("Communication object {0} has an overriden OnFaulted method that does not call base OnFaulted method (declared in {1} type).", this.GetType (), GetType ().GetMethod ("OnFaulted", BindingFlags.NonPublic | BindingFlags.Instance).DeclaringType));
state = CommunicationState.Faulted; // FIXME: am not sure if this makes sense ...
+ throw new InvalidOperationException (String.Format ("Communication object {0} has an overriden OnFaulted method that does not call base OnFaulted method (declared in {1} type).", this.GetType (), GetType ().GetMethod ("OnFaulted", BindingFlags.NonPublic | BindingFlags.Instance).DeclaringType));
}
}
}
lock (ThisLock) {
OnOpened ();
if (state != CommunicationState.Opened) {
- throw new InvalidOperationException (String.Format ("Communication object {0} has an overriden OnOpened method that does not call base OnOpened method (declared in {1} type).", this.GetType (), GetType ().GetMethod ("OnOpened", BindingFlags.NonPublic | BindingFlags.Instance).DeclaringType));
state = CommunicationState.Faulted;
+ throw new InvalidOperationException (String.Format ("Communication object {0} has an overriden OnOpened method that does not call base OnOpened method (declared in {1} type).", this.GetType (), GetType ().GetMethod ("OnOpened", BindingFlags.NonPublic | BindingFlags.Instance).DeclaringType));
}
}
}
ThrowIfDisposedOrImmutable ();
OnOpening ();
if (state != CommunicationState.Opening) {
- throw new InvalidOperationException (String.Format ("Communication object {0} has an overriden OnOpening method that does not call base OnOpening method (declared in {1} type).", this.GetType (), GetType ().GetMethod ("OnOpening", BindingFlags.NonPublic | BindingFlags.Instance).DeclaringType));
state = CommunicationState.Faulted;
+ throw new InvalidOperationException (String.Format ("Communication object {0} has an overriden OnOpening method that does not call base OnOpening method (declared in {1} type).", this.GetType (), GetType ().GetMethod ("OnOpening", BindingFlags.NonPublic | BindingFlags.Instance).DeclaringType));
}
}
}
return Receive (this.DefaultReceiveTimeout);
}
- public abstract Message Receive (TimeSpan timeout);
+ public virtual Message Receive (TimeSpan timeout)
+ {
+ Message msg;
+ if (!TryReceive (timeout, out msg))
+ throw new TimeoutException ();
+ return msg;
+ }
// TryReceive
return try_receive_handler.EndInvoke (out message, result);
}
- public virtual bool TryReceive (TimeSpan timeout, out Message message)
- {
- try {
- message = Receive (timeout);
- return true;
- } catch (TimeoutException) {
- message = null;
- return false;
- }
- }
+ public abstract bool TryReceive (TimeSpan timeout, out Message message);
// WaitForMessage
http_listener = null;
}
- public override void KickContextReceiver (IChannelListener listener, Action<HttpContextInfo> contextReceivedCallback)
+ protected override void KickContextReceiver (IChannelListener listener, Action<HttpContextInfo> contextReceivedCallback)
{
http_listener.BeginGetContext (delegate (IAsyncResult result) {
var hctx = http_listener.EndGetContext (result);
Func<IChannelListener,HttpContext> wait_delegate;
- public override void KickContextReceiver (IChannelListener listener, Action<HttpContextInfo> contextReceivedCallback)
+ protected override void KickContextReceiver (IChannelListener listener, Action<HttpContextInfo> contextReceivedCallback)
{
if (wait_delegate == null)
wait_delegate = new Func<IChannelListener,HttpContext> (http_handler.WaitForRequest);
protected abstract void OnRegister (IChannelListener listener, TimeSpan timeout);
protected abstract void OnUnregister (IChannelListener listener, bool abort);
+ public void CancelGetHttpContextAsync ()
+ {
+ wait_http_ctx.Set ();
+ }
+
// Do not directly handle retrieved HttpListenerContexts when
// the listener received ones.
// Instead, iterate every listeners to find the most-likely-
}
}
- public abstract void KickContextReceiver (IChannelListener listener, Action<HttpContextInfo> contextReceiverCallback);
+ protected abstract void KickContextReceiver (IChannelListener listener, Action<HttpContextInfo> contextReceiverCallback);
void DispatchHttpListenerContext (HttpContextInfo ctx)
{
if (wsdl_instance == null) {
- pending.Add (ctx);
- wait_http_ctx.Set ();
+ AddListenerContext (this, ctx);
return;
}
foreach (var l in registered_channels [channel_listener.Uri]) {
var lm = l.GetProperty<HttpListenerManager> ();
if (lm.FilterHttpContext (ctx)) {
- lm.pending.Add (ctx);
- lm.wait_http_ctx.Set ();
+ AddListenerContext (lm, ctx);
return;
}
}
- pending.Add (ctx);
- wait_http_ctx.Set ();
+ AddListenerContext (this, ctx);
+ }
+
+ static void AddListenerContext (HttpListenerManager lm, HttpContextInfo ctx)
+ {
+ lock (registered_channels) {
+ lm.pending.Add (ctx);
+ // FIXME: this should not be required, but it somehow saves some failures wrt concurrent calls.
+ Thread.Sleep (100);
+ lm.wait_http_ctx.Set ();
+ }
}
const UriComponents cmpflag = UriComponents.HttpRequestUrl ^ UriComponents.Query;
protected override void OnAbort ()
{
+ AbortConnections (TimeSpan.Zero);
+ base.OnAbort (); // FIXME: remove it. The base is wrong. But it is somehow required to not block some tests.
+ }
+
+ public override bool CancelAsync (TimeSpan timeout)
+ {
+ AbortConnections (timeout);
+ // FIXME: this wait is sort of hack (because it should not be required), but without it some tests are blocked.
+ // This hack even had better be moved to base.CancelAsync().
+ if (CurrentAsyncResult != null)
+ CurrentAsyncResult.AsyncWaitHandle.WaitOne (TimeSpan.FromMilliseconds (300));
+ return base.CancelAsync (timeout);
+ }
+
+ void SignalAsyncWait ()
+ {
+ if (wait == null)
+ return;
+ var wait_ = wait;
+ wait = null;
+ wait_.Set ();
+ }
+
+ void AbortConnections (TimeSpan timeout)
+ {
+ // FIXME: use timeout
lock (waiting)
- foreach (HttpListenerContext ctx in waiting)
- ctx.Response.Abort ();
- base.OnAbort (); // FIXME: remove it. The base is wrong.
+ foreach (var ctx in waiting)
+ ctx.Response.Close ();
+ if (wait != null)
+ source.ListenerManager.CancelGetHttpContextAsync ();
}
protected override void OnClose (TimeSpan timeout)
reqctx.Close (timeout);
// FIXME: consider timeout
- lock (waiting)
- foreach (HttpListenerContext ctx in waiting)
- ctx.Response.Close ();
+ AbortConnections (timeout - (DateTime.Now - start));
base.OnClose (timeout - (DateTime.Now - start));
}
var sctx = (HttpListenerContextInfo) ctx;
if (State == CommunicationState.Opened && ctx != null)
waiting.Add (sctx.Source);
- var wait_ = wait;
- wait = null;
- wait_.Set ();
+ SignalAsyncWait ();
}
}
((HttpWebRequest) web_request).CookieContainer = cmgr.CookieContainer;
#endif
-#if !NET_2_1 // until we support NetworkCredential like SL4 will do.
+#if !NET_2_1 || MONOTOUCH // until we support NetworkCredential like SL4 will do.
// client authentication (while SL3 has NetworkCredential class, it is not implemented yet. So, it is non-SL only.)
var httpbe = (HttpTransportBindingElement) source.Transport;
string authType = null;
unsafe_ntlm_auth;
bool use_default_proxy = true, keep_alive_enabled = true;
int max_buffer_size = 0x10000;
- AuthenticationSchemes auth_scheme =
- AuthenticationSchemes.Anonymous;
- AuthenticationSchemes proxy_auth_scheme =
- AuthenticationSchemes.Anonymous;
HostNameComparisonMode host_cmp_mode;
Uri proxy_address;
string realm = String.Empty;
TransferMode transfer_mode;
IDefaultCommunicationTimeouts timeouts;
+#if !NET_2_1 || MONOTOUCH
+ AuthenticationSchemes auth_scheme =
+ AuthenticationSchemes.Anonymous;
+ AuthenticationSchemes proxy_auth_scheme =
+ AuthenticationSchemes.Anonymous;
+#endif
// If you add fields, do not forget them in copy constructor.
public HttpTransportBindingElement ()
use_default_proxy = other.use_default_proxy;
keep_alive_enabled = other.keep_alive_enabled;
max_buffer_size = other.max_buffer_size;
- auth_scheme = other.auth_scheme;
- proxy_auth_scheme = other.proxy_auth_scheme;
host_cmp_mode = other.host_cmp_mode;
proxy_address = other.proxy_address;
realm = other.realm;
transfer_mode = other.transfer_mode;
// FIXME: it does not look safe
timeouts = other.timeouts;
+#if !NET_2_1 || MONOTOUCH
+ auth_scheme = other.auth_scheme;
+ proxy_auth_scheme = other.proxy_auth_scheme;
+#endif
}
- public bool AllowCookies {
- get { return allow_cookies; }
- set { allow_cookies = value; }
- }
-
+#if !NET_2_1 || MONOTOUCH
public AuthenticationSchemes AuthenticationScheme {
get { return auth_scheme; }
set { auth_scheme = value; }
}
+ public AuthenticationSchemes ProxyAuthenticationScheme {
+ get { return proxy_auth_scheme; }
+ set { proxy_auth_scheme = value; }
+ }
+#endif
+
+ public bool AllowCookies {
+ get { return allow_cookies; }
+ set { allow_cookies = value; }
+ }
+
public bool BypassProxyOnLocal {
get { return bypass_proxy_on_local; }
set { bypass_proxy_on_local = value; }
set { proxy_address = value; }
}
- public AuthenticationSchemes ProxyAuthenticationScheme {
- get { return proxy_auth_scheme; }
- set { proxy_auth_scheme = value; }
- }
-
public string Realm {
get { return realm; }
set { realm = value; }
void WriteXsiNil (XmlDictionaryWriter writer)
{
- writer.WriteStartElement ("z", "anyType", Constants.MSSerialization);
- writer.WriteAttributeString ("i", "nil", "http://www.w3.org/2001/XMLSchema-instance", "true");
+ var dic = Constants.SoapDictionary;
+ writer.WriteStartElement ("z", dic.Add ("anyType"), dic.Add (Constants.MSSerialization));
+ writer.WriteAttributeString ("i", dic.Add ("nil"), dic.Add ("http://www.w3.org/2001/XMLSchema-instance"), "true");
writer.WriteEndElement ();
}
protected virtual void OnWriteStartBody (
XmlDictionaryWriter writer)
{
- writer.WriteStartElement ("s", "Body", Version.Envelope.Namespace);
+ var dic = Constants.SoapDictionary;
+ writer.WriteStartElement ("s", dic.Add ("Body"), dic.Add (Version.Envelope.Namespace));
if (BodyId != null)
- writer.WriteAttributeString ("u", "Id", Constants.WsuNamespace, BodyId);
+ writer.WriteAttributeString ("u", dic.Add ("Id"), dic.Add (Constants.WsuNamespace), BodyId);
}
protected virtual void OnWriteStartEnvelope (
XmlDictionaryWriter writer)
{
- writer.WriteStartElement ("s", "Envelope", Version.Envelope.Namespace);
+ var dic = Constants.SoapDictionary;
+ writer.WriteStartElement ("s", dic.Add ("Envelope"), dic.Add (Version.Envelope.Namespace));
if (Headers.Action != null && Version.Addressing.Namespace != MessageVersion.None.Addressing.Namespace)
- writer.WriteXmlnsAttribute ("a", Version.Addressing.Namespace);
+ writer.WriteXmlnsAttribute ("a", dic.Add (Version.Addressing.Namespace));
foreach (MessageHeaderInfo h in Headers)
if (h.Id != null) {
- writer.WriteXmlnsAttribute ("u", Constants.WsuNamespace);
+ writer.WriteXmlnsAttribute ("u", dic.Add (Constants.WsuNamespace));
break;
}
}
protected virtual void OnWriteStartHeaders (
XmlDictionaryWriter writer)
{
- writer.WriteStartElement ("s", "Header", Version.Envelope.Namespace);
+ var dic = Constants.SoapDictionary;
+ writer.WriteStartElement ("s", dic.Add ("Header"), dic.Add (Version.Envelope.Namespace));
}
#region factory methods
static bool default_is_ref = false;
static bool default_must_understand = false;
static bool default_relay = false;
- static Type [] knownTypes = new Type [1] {typeof (EndpointAddress10)};
public static MessageHeader CreateHeader (string name, string ns, object value)
{
public static MessageHeader CreateHeader (string name, string ns, object value,
bool must_understand, string actor, bool relay)
{
- return CreateHeader (name, ns, value, new DataContractSerializer (value.GetType (), knownTypes),
+ return CreateHeader (name, ns, value, new DataContractSerializer (value.GetType ()),
must_understand, actor, relay);
}
protected virtual void OnWriteStartHeader (XmlDictionaryWriter writer, MessageVersion version)
{
- writer.WriteStartElement (this.Name, this.Namespace);
+ var dic = Constants.SoapDictionary;
+ XmlDictionaryString name, ns;
+ var prefix = writer.LookupPrefix (Namespace);
+ if (dic.TryLookup (Name, out name) && dic.TryLookup (Namespace, out ns))
+ writer.WriteStartElement (prefix, name, ns);
+ else
+ writer.WriteStartElement (prefix, this.Name, this.Namespace);
WriteHeaderAttributes (writer, version);
}
protected void WriteHeaderAttributes (XmlDictionaryWriter writer, MessageVersion version)
{
+ var dic = Constants.SoapDictionary;
if (Id != null)
- writer.WriteAttributeString ("u", "Id", Constants.WsuNamespace, Id);
+ writer.WriteAttributeString ("u", dic.Add ("Id"), dic.Add (Constants.WsuNamespace), Id);
if (Actor != String.Empty) {
if (version.Envelope == EnvelopeVersion.Soap11)
- writer.WriteAttributeString ("s", "actor", version.Envelope.Namespace, Actor);
+ writer.WriteAttributeString ("s", dic.Add ("actor"), dic.Add (version.Envelope.Namespace), Actor);
if (version.Envelope == EnvelopeVersion.Soap12)
- writer.WriteAttributeString ("s", "role", version.Envelope.Namespace, Actor);
+ writer.WriteAttributeString ("s", dic.Add ("role"), dic.Add (version.Envelope.Namespace), Actor);
}
// mustUnderstand is the same across SOAP 1.1 and 1.2
if (MustUnderstand == true)
- writer.WriteAttributeString ("s", "mustUnderstand", version.Envelope.Namespace, "1");
+ writer.WriteAttributeString ("s", dic.Add ("mustUnderstand"), dic.Add (version.Envelope.Namespace), "1");
// relay is only available on SOAP 1.2
if (Relay == true && version.Envelope == EnvelopeVersion.Soap12)
- writer.WriteAttributeString ("s", "relay", version.Envelope.Namespace, "true");
+ writer.WriteAttributeString ("s", dic.Add ("relay"), dic.Add (version.Envelope.Namespace), "true");
}
public void WriteHeaderContents (XmlDictionaryWriter writer, MessageVersion version)
protected override void OnWriteHeaderContents (XmlDictionaryWriter writer,
MessageVersion version)
{
- if (value is EndpointAddress)
- ((EndpointAddress) value).WriteTo (version.Addressing, writer, name, ns);
+ // FIXME: it's a nasty workaround just to avoid UniqueId output as a string, for bug #577139.
+ if (Value is UniqueId)
+ writer.WriteValue ((UniqueId) Value);
else
this.formatter.WriteObjectContent (writer, value);
}
get { return l.Count; }
}
+ void AddEndpointAddressHeader (string name, string ns, EndpointAddress address)
+ {
+ RemoveAll ("FaultTo", Constants.WsaNamespace);
+ if (address == null)
+ return;
+ if (MessageVersion.Addressing.Equals (AddressingVersion.WSAddressing10))
+ Add (MessageHeader.CreateHeader (name, ns, EndpointAddress10.FromEndpointAddress (address)));
+#if !NET_2_1
+ else if (MessageVersion.Addressing.Equals (AddressingVersion.WSAddressingAugust2004))
+ Add (MessageHeader.CreateHeader (name, ns, EndpointAddressAugust2004.FromEndpointAddress (address)));
+#endif
+ else
+ throw new InvalidOperationException ("WS-Addressing header is not allowed for AddressingVersion.None");
+ }
+
public EndpointAddress FaultTo {
get {
- int idx = FindHeader ("FaultTo", Constants.WSA1);
+ int idx = FindHeader ("FaultTo", Constants.WsaNamespace);
return idx < 0 ? null : GetHeader<EndpointAddress> (idx);
}
- set {
- if (version.Addressing == AddressingVersion.None && value != null)
- throw new InvalidOperationException ("WS-Addressing header is not allowed for AddressingVersion.None");
-
- RemoveAll ("FaultTo", Constants.WSA1);
- if (value != null)
- Add (MessageHeader.CreateHeader ("FaultTo", Constants.WSA1, EndpointAddress10.FromEndpointAddress (value)));
- }
+ set { AddEndpointAddressHeader ("FaultTo", Constants.WsaNamespace, value); }
}
public EndpointAddress From {
int idx = FindHeader ("From", version.Addressing.Namespace);
return idx < 0 ? null : GetHeader<EndpointAddress> (idx);
}
- set {
- if (version.Addressing == AddressingVersion.None && value != null)
- throw new InvalidOperationException ("WS-Addressing header is not allowed for AddressingVersion.None");
-
- RemoveAll ("From", Constants.WSA1);
- if (value != null)
- Add (MessageHeader.CreateHeader ("From", Constants.WSA1, EndpointAddress10.FromEndpointAddress (value)));
- }
+ set { AddEndpointAddressHeader ("From", Constants.WsaNamespace, value); }
}
public MessageHeaderInfo this [int index] {
public UniqueId MessageId {
get {
- int idx = FindHeader ("MessageID", Constants.WSA1);
+ int idx = FindHeader ("MessageID", Constants.WsaNamespace);
return idx < 0 ? null : new UniqueId (GetHeader<string> (idx));
}
set {
if (version.Addressing == AddressingVersion.None && value != null)
throw new InvalidOperationException ("WS-Addressing header is not allowed for AddressingVersion.None");
- RemoveAll ("MessageID", Constants.WSA1);
+ RemoveAll ("MessageID", Constants.WsaNamespace);
if (value != null)
- Add (MessageHeader.CreateHeader ("MessageID", Constants.WSA1, value.ToString ()));
+ Add (MessageHeader.CreateHeader ("MessageID", Constants.WsaNamespace, value));
}
}
public UniqueId RelatesTo {
get {
- int idx = FindHeader ("RelatesTo", Constants.WSA1);
+ int idx = FindHeader ("RelatesTo", Constants.WsaNamespace);
return idx < 0 ? null : new UniqueId (GetHeader<string> (idx));
}
set {
if (version.Addressing == AddressingVersion.None && value != null)
throw new InvalidOperationException ("WS-Addressing header is not allowed for AddressingVersion.None");
- RemoveAll ("MessageID", Constants.WSA1);
+ RemoveAll ("MessageID", Constants.WsaNamespace);
if (value != null)
- Add (MessageHeader.CreateHeader ("RelatesTo", Constants.WSA1, value.ToString ()));
+ Add (MessageHeader.CreateHeader ("RelatesTo", Constants.WsaNamespace, value));
}
}
public EndpointAddress ReplyTo {
get {
- int idx = FindHeader ("ReplyTo", Constants.WSA1);
+ int idx = FindHeader ("ReplyTo", Constants.WsaNamespace);
return idx < 0 ? null : GetHeader<EndpointAddress> (idx);
}
- set {
- if (version.Addressing == AddressingVersion.None && value != null)
- throw new InvalidOperationException ("WS-Addressing header is not allowed for AddressingVersion.None");
-
- RemoveAll ("ReplyTo", Constants.WSA1);
- if (value != null)
- Add (MessageHeader.CreateHeader ("ReplyTo", Constants.WSA1, EndpointAddress10.FromEndpointAddress (value)));
- }
+ set { AddEndpointAddressHeader ("ReplyTo", Constants.WsaNamespace, value); }
}
public Uri To {
Queue<Message> queue = new Queue<Message> ();
AutoResetEvent receive_handle = new AutoResetEvent (false);
- public override Message Receive (TimeSpan timeout)
+ public override bool TryReceive (TimeSpan timeout, out Message message)
{
ThrowIfDisposedOrNotOpen ();
DateTime start = DateTime.Now;
- if (queue.Count > 0)
- return queue.Dequeue ();
- receive_handle.WaitOne ();
- return queue.Dequeue ();
+ if (queue.Count > 0 || receive_handle.WaitOne (timeout)) {
+ message = queue.Dequeue ();
+ return message == null;
+ } else {
+ message = null;
+ return false;
+ }
}
public override bool WaitForMessage (TimeSpan timeout)
public WcfListenerInfo ()
{
Pending = new List<HttpContext> ();
+ ProcessRequestHandles = new List<ManualResetEvent> ();
}
public IChannelListener Listener { get; set; }
- public AutoResetEvent ProcessRequestHandle { get; set; }
+ public List<ManualResetEvent> ProcessRequestHandles { get; private set; }
public List<HttpContext> Pending { get; private set; }
}
internal class SvcHttpHandler : IHttpHandler
{
+ static object type_lock = new object ();
+
Type type;
Type factory_type;
string path;
ServiceHostBase host;
WcfListenerInfoCollection listeners = new WcfListenerInfoCollection ();
Dictionary<HttpContext,AutoResetEvent> wcf_wait_handles = new Dictionary<HttpContext,AutoResetEvent> ();
+ AutoResetEvent wait_for_request_handle = new AutoResetEvent (false);
int close_state;
public SvcHttpHandler (Type type, Type factoryType, string path)
if (close_state > 0)
return null;
- if (listeners [listener].Pending.Count == 0)
- listeners [listener].ProcessRequestHandle.WaitOne ();
+ var wait = new ManualResetEvent (false);
+ var info = listeners [listener];
+ if (info.Pending.Count == 0) {
+ info.ProcessRequestHandles.Add (wait);
+ wait_for_request_handle.Set ();
+ wait.WaitOne ();
+ info.ProcessRequestHandles.Remove (wait);
+ }
var ctx = listeners [listener].Pending [0];
listeners [listener].Pending.RemoveAt (0);
lock (i) {
i.Pending.Add (context);
wcf_wait_handles [context] = wait;
- i.ProcessRequestHandle.Set ();
+ if (i.ProcessRequestHandles.Count > 0)
+ i.ProcessRequestHandles [0].Set ();
}
wait.WaitOne ();
public void RegisterListener (IChannelListener listener)
{
- listeners.Add (new WcfListenerInfo () {
- Listener = listener,
- ProcessRequestHandle = new AutoResetEvent (false) });
+ lock (type_lock)
+ listeners.Add (new WcfListenerInfo () {Listener = listener});
}
public void UnregisterListener (IChannelListener listener)
void EnsureServiceHost ()
{
+ lock (type_lock) {
+
if (host != null)
return;
// Not precise, but it needs some wait time to have all channels start requesting. And it is somehow required.
Thread.Sleep (500);
+
+ }
}
}
}
public IHttpHandler GetHandler (HttpContext context, string requestType, string url, string pathTranslated)
{
+ lock (handlers) {
+
if (handlers.ContainsKey (url))
return handlers [url];
handlers [url] = handler;
return handler;
+
+ }
}
public void ReleaseHandler (IHttpHandler handler)
frame.WriteSizedMessage (message);
}
- public override Message Receive ()
- {
- return Receive (DefaultReceiveTimeout);
- }
-
- public override Message Receive (TimeSpan timeout)
+ public override bool TryReceive (TimeSpan timeout, out Message message)
{
ThrowIfDisposedOrNotOpen ();
+ // FIXME: there seems to be some pipeline or channel-
+ // recycling issues, which could be mostly workarounded
+ // by delaying input receiver.
+ // This place is not ideal, but it covers both loops in
+ // ChannelDispatcher and DuplexClientRuntimeChannel.
+ Thread.Sleep (50);
+
if (timeout <= TimeSpan.Zero)
throw new ArgumentException (String.Format ("Timeout value must be positive value. It was {0}", timeout));
client.ReceiveTimeout = (int) timeout.TotalMilliseconds;
- var ret = frame.ReadSizedMessage ();
+ message = frame.ReadSizedMessage ();
// FIXME: this may not be precise, but connection might be reused for some weird socket state transition (that's what happens). So as a workaround, avoid closing the session by sending EndRecord from this channel at OnClose().
- if (ret == null)
+ if (message == null) {
session = null;
- return ret;
- }
-
- public override bool TryReceive (TimeSpan timeout, out Message message)
- {
- try {
- DateTime start = DateTime.Now;
- message = Receive (timeout);
- if (message != null)
- return true;
- return false;
- } catch (TimeoutException) {
- message = null;
return false;
}
+ return true;
}
public override bool WaitForMessage (TimeSpan timeout)
+2010-02-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MetadataResolver.cs : fix BeginResolve() overloads and use
+ arguments as expected in Resolve().
+
+2010-02-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MetadataExchangeClient.cs : add missing members and implement some.
+
+2010-02-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * WsdlImporter.cs : handle soapAction in operation binding too.
+ Now it successfully generates proxy generation for Twitterlight:
+ http://twitterlight.claritycon.com/TwitterWebService.asmx?WSDL
+
+2010-02-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataContractSerializerMessageContractImporter.cs :
+ consider schemas in wsdl documents.
+
+2010-02-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MetadataExchangeClient.cs, MetadataExchangeBindings.cs:
+ support https.
+
+2010-02-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceContractGenerator.cs : fix duplicate output.
+
+2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataContractSerializerMessageContractImporter.cs :
+ Pick correct elements to import. Not wrapper elements but each
+ parameter and return value elements.
+
+2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataContractSerializerMessageContractImporter.cs :
+ remove extra parameter passing.
+
+2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceContractGenerator.cs : add missing #ifs.
+
+2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceContractGenerator.cs, MessagePartDescription.cs,
+ DataContractSerializerMessageContractImporter.cs :
+ add alternative implementation to use XsdDataContractImporter
+ instead of XmlSchemaImporter hack.
+
+ It requires -d:USE_DATA_CONTRACT_IMPORTER and not enabled yet, as
+ it breaks some WSDL imports (such as memorabilia.hardrock.com).
+
+2010-02-11 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataContractSerializerMessageContractImporter.cs : handle duration
+ and guid which s.w.svc does not handle. Fix part of bug #579011.
+
+2010-02-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DataContractSerializerMessageContractImporter.cs,
+ ServiceContractGenerator.cs: ArrayOfXxx does not exist in the type
+ definition code. Use Xxx[] directly instead.
+
+2010-02-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * MetadataBundle.cs, MetadataSet.cs : rename former to latter.
+
+2010-02-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientCredentials.cs, ContractDescription.cs,
+ IEndpointBehavior.cs, IOperationBehavior.cs : add monotouch support
+ for client behavior.
+
+2010-01-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceContractGenerator.cs : when Options.AsynchronousMethods is
+ specified, generate async methods *as well as* sync methods (i.e.
+ not exclusively).
+
+ In moonlight proxy generator (svcutil -moonlight) mode, sync
+ methods will be removed at svcutil itself.
+ This fix brings sync proxy methods back to monotouch.
+
2010-01-19 Atsushi Enomoto <atsushi@ximian.com>
* ServiceAuthorizationBehavior.cs : implement (it does almost
throw new NotImplementedException ();
}
- void IEndpointBehavior.AddBindingParameters (ServiceEndpoint endpoint,
- BindingParameterCollection parameters)
- {
- parameters.Add (this);
- }
-
void IEndpointBehavior.ApplyDispatchBehavior (ServiceEndpoint endpoint,
EndpointDispatcher dispatcher)
{
// documented as to have no effect.
}
+#endif
+
+#if !NET_2_1 || MONOTOUCH
+ void IEndpointBehavior.AddBindingParameters (ServiceEndpoint endpoint,
+ BindingParameterCollection parameters)
+ {
+ parameters.Add (this);
+ }
[MonoTODO]
public virtual void ApplyClientBehavior (
foreach (OperationDescription od in Operations) {
if (!proxy.Operations.Contains (od.Name))
PopulateClientOperation (proxy, od);
-#if !NET_2_1
+#if !NET_2_1 || MONOTOUCH
foreach (IOperationBehavior ob in od.Behaviors)
ob.ApplyClientBehavior (od, proxy.Operations [od.Name]);
#endif
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
+using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Web.Services.Description;
if (this.importer != null || this.context != null)
throw new SystemException ("INTERNAL ERROR: unexpected recursion of ImportContract method call");
+#if USE_DATA_CONTRACT_IMPORTER
+ dc_importer = new XsdDataContractImporter ();
+ schema_set_in_use = new XmlSchemaSet ();
+ schema_set_in_use.Add (importer.XmlSchemas);
+ foreach (WSDL wsdl in importer.WsdlDocuments)
+ foreach (XmlSchema xs in wsdl.Types.Schemas)
+ schema_set_in_use.Add (xs);
+ dc_importer.Import (schema_set_in_use);
+#endif
+
this.importer = importer;
this.context = context;
try {
WsdlImporter importer;
WsdlContractConversionContext context;
+
+ XsdDataContractImporter dc_importer;
+
+#if USE_DATA_CONTRACT_IMPORTER
+ XmlSchemaSet schema_set_in_use;
+#else
XmlSchemaImporter schema_importer_;
XmlSchemaImporter schema_importer {
get {
return xml_schemas_;
}
}
+#endif
void DoImportContract ()
{
}
}
+#if USE_DATA_CONTRACT_IMPORTER
void resolveElement (QName qname, List<MessagePartDescription> parts, string ns)
{
- XmlSchemaElement element = (XmlSchemaElement) xml_schemas.Find (qname, typeof (XmlSchemaElement));
+ XmlSchemaElement element = (XmlSchemaElement) schema_set_in_use.GlobalElements [qname];
if (element == null)
//FIXME: What to do here?
throw new Exception ("Could not resolve : " + qname.ToString ());
- resolveParticle (schema_importer, element, parts, ns, 2);
+ resolveParticle (element, parts, ns, 2);
}
+#else
+ void resolveElement (QName qname, List<MessagePartDescription> parts, string ns)
+ {
+ XmlSchemaElement element = (XmlSchemaElement) xml_schemas.Find (qname, typeof (XmlSchemaElement));
+ if (element == null)
+ //FIXME: What to do here?
+ throw new Exception ("Could not resolve : " + qname.ToString ());
+ resolveParticle (element, parts, ns, 2);
+ }
+#endif
void resolveType (QName qname, List<MessagePartDescription> parts, string ns)
{
throw new NotImplementedException ();
}
- string GetCLRTypeName (QName qname)
+ internal static string GetCLRTypeName (QName qname)
{
- if (qname.Namespace != "http://www.w3.org/2001/XMLSchema")
- return null;
+ switch (qname.Namespace) {
+ case "http://schemas.microsoft.com/2003/10/Serialization/":
+ if (qname.Name == "duration")
+ return "System.TimeSpan";
+ if (qname.Name == "guid")
+ return "System.Guid";
+ break;
+ case "http://www.w3.org/2001/XMLSchema":
+ return GetCLRTypeName (qname.Name);
+ }
+ return null;
+ }
- switch (qname.Name) {
+ internal static string GetCLRTypeName (string xsdName)
+ {
+ switch (xsdName) {
case "anyURI":
return "System.String";
case "boolean":
return "System.Boolean";
- /*FIXME: case "base64Binary":
+ //FIXME: case "base64Binary":
case "dateTime":
- case "duration":*/
+ return "System.DateTime";
case "QName":
return "System.String";
case "decimal":
return null;
}
- void resolveParticle (XmlSchemaImporter schema_importer,
- XmlSchemaParticle particle,
+ void resolveParticle (XmlSchemaParticle particle,
List<MessagePartDescription> parts,
string ns,
int depth)
XmlSchemaGroupBase groupBase = particle as XmlSchemaGroupBase;
foreach (XmlSchemaParticle item in groupBase.Items)
- resolveParticle (schema_importer, item, parts, ns, depth - 1);
+ resolveParticle (item, parts, ns, depth - 1);
return;
}
if (ct == null) {
//Not a complex type
XmlSchemaSimpleType simple = elem.ElementSchemaType as XmlSchemaSimpleType;
+#if USE_DATA_CONTRACT_IMPORTER
+ msg_part = new MessagePartDescription (elem.QualifiedName.Name, elem.QualifiedName.Namespace);
+ msg_part.Importer = dc_importer;
+ msg_part.CodeTypeReference = dc_importer.GetCodeTypeReference (dc_importer.Import (schema_set_in_use, elem));
+ parts.Add (msg_part);
+#else
msg_part = new MessagePartDescription (
elem.Name, ns);
if (elem.SchemaType != null)
msg_part.XmlTypeMapping = schema_importer.ImportSchemaType (elem.SchemaTypeName);
msg_part.TypeName = new QName (GetCLRTypeName (elem.SchemaTypeName), "");
parts.Add (msg_part);
+#endif
return;
}
if (depth > 0) {
- resolveParticle (schema_importer, ct.ContentTypeParticle, parts, ns, depth - 1);
+ resolveParticle (ct.ContentTypeParticle, parts, ns, depth - 1);
return;
}
//depth <= 0
+#if USE_DATA_CONTRACT_IMPORTER
+ msg_part = new MessagePartDescription (elem.QualifiedName.Name, elem.QualifiedName.Namespace);
+ msg_part.Importer = dc_importer;
+ msg_part.CodeTypeReference = dc_importer.GetCodeTypeReference (dc_importer.Import (schema_set_in_use, elem));
+ parts.Add (msg_part);
+#else
msg_part = new MessagePartDescription (elem.Name, ns);
if (elem.SchemaType != null)
msg_part.XmlTypeMapping = schema_importer.ImportTypeMapping (elem.QualifiedName);
msg_part.TypeName = elem.SchemaTypeName;
parts.Add (msg_part);
+#endif
}
void IWsdlImportExtension.ImportEndpoint (WsdlImporter importer,
{
public interface IEndpointBehavior
{
+#if !NET_2_1 || MONOTOUCH
void AddBindingParameters (ServiceEndpoint endpoint,
BindingParameterCollection parameters);
+#if !NET_2_1
void ApplyDispatchBehavior (ServiceEndpoint serviceEndpoint,
EndpointDispatcher dispatcher);
+#endif
void ApplyClientBehavior (ServiceEndpoint serviceEndpoint,
ClientRuntime behavior);
void Validate (ServiceEndpoint serviceEndpoint);
+#endif
}
}
OperationDescription description,
BindingParameterCollection parameters);
+#if !NET_2_1
void ApplyDispatchBehavior (
OperationDescription description,
DispatchOperation dispatch);
+#endif
void ApplyClientBehavior (
OperationDescription description,
set { type = value; }
}
+#if !NET_2_1
+#if USE_DATA_CONTRACT_IMPORTER
+ internal XsdDataContractImporter Importer { get; set; }
+ internal System.CodeDom.CodeTypeReference CodeTypeReference { get; set; }
+#else
internal XmlQualifiedName TypeName {
get { return xml_schema_type_name; }
set { xml_schema_type_name = value; }
get { return xml_type_mapping; }
set { xml_type_mapping = value; }
}
-
+#endif
+#endif
}
}
+++ /dev/null
-//
-// MetadataSet.cs
-//
-// Author:
-// Atsushi Enomoto <atsushi@ximian.com>
-// Ankit Jain <jankit@novell.com>
-//
-// Copyright (C) 2005 Novell, Inc. http://www.novell.com
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Xml;
-using System.Xml.Schema;
-using System.Xml.Serialization;
-
-namespace System.ServiceModel.Description
-{
- [MonoTODO]
- [XmlRoot ("Metadata", Namespace = "http://schemas.xmlsoap.org/ws/2004/09/mex")]
- public class MetadataSet : IXmlSerializable
- {
- Collection<MetadataSection> sections
- = new Collection<MetadataSection> ();
- Collection<XmlAttribute> attributes
- = new Collection<XmlAttribute> ();
-
- public MetadataSet ()
- {
- }
-
- public MetadataSet (IEnumerable<MetadataSection> sections)
- {
- foreach (MetadataSection s in sections)
- this.sections.Add (s);
- }
-
- [XmlElement ("MetadataSection", Namespace = "http://schemas.xmlsoap.org/ws/2004/09/mex")]
- public Collection<MetadataSection> MetadataSections {
- get { return sections; }
- }
-
- [XmlAnyAttribute]
- public Collection<XmlAttribute> Attributes {
- get { return attributes; }
- }
-
- XmlSchema IXmlSerializable.GetSchema ()
- {
- return null;
- }
-
- void IXmlSerializable.ReadXml (XmlReader reader)
- {
- if (reader.NodeType != XmlNodeType.Element || reader.LocalName != "Metadata" ||
- reader.NamespaceURI != "http://schemas.xmlsoap.org/ws/2004/09/mex")
- throw new InvalidOperationException (String.Format ("Unexpected : <{0} ..", reader.LocalName));
-
- /* Move to MetadataSections */
- reader.Read ();
-
- MetadataSectionSerializer xs = new MetadataSectionSerializer ();
- while (reader.NodeType == XmlNodeType.Element && reader.LocalName == "MetadataSection" &&
- reader.NamespaceURI == "http://schemas.xmlsoap.org/ws/2004/09/mex") {
- MetadataSection ms = (MetadataSection) xs.Deserialize (reader);
- MetadataSections.Add (ms);
- }
- }
-
- void IXmlSerializable.WriteXml (XmlWriter writer)
- {
- throw new NotImplementedException ();
- }
-
- public static MetadataSet ReadFrom (XmlReader reader)
- {
- XmlSerializer xs = new XmlSerializer (typeof (MetadataSet));
- MetadataSet ms = (MetadataSet) xs.Deserialize (reader);
-
- return ms;
- }
-
- public void WriteTo (XmlWriter writer)
- {
- writer.WriteStartElement ("Metadata", "http://schemas.xmlsoap.org/ws/2004/09/mex");
-
- writer.WriteAttributeString ("xmlns", "xsd", "http://www.w3.org/2000/xmlns/", XmlSchema.Namespace);
- writer.WriteAttributeString ("xmlns", "wsx", "http://www.w3.org/2000/xmlns/", MetadataSection.MetadataExchangeDialect);
- writer.WriteAttributeString ("xmlns", "xsi", "http://www.w3.org/2000/xmlns/", XmlSchema.InstanceNamespace);
-
- XmlSerializer serializer = MetadataSection.Serializer;
- foreach (MetadataSection section in MetadataSections)
- serializer.Serialize (writer, section);
-
- writer.WriteEndElement ();
- }
- }
-}
namespace System.ServiceModel.Description
{
- [MonoTODO]
public static class MetadataExchangeBindings
{
public static Binding CreateMexHttpBinding ()
public static Binding CreateMexHttpsBinding ()
{
- throw new NotImplementedException ();
+ //FIXME: .net uses WSHttpBinding..
+ return new CustomBinding (
+ "MetadataExchangeHttpsBinding",
+ "http://schemas.microsoft.com/ws/2005/02/mex/bindings",
+ new TextMessageEncodingBindingElement (
+ MessageVersion.Soap12WSAddressing10,
+ Encoding.UTF8),
+ new HttpsTransportBindingElement ());
}
public static Binding CreateMexNamedPipeBinding ()
{
- throw new NotImplementedException ();
+ return new CustomBinding (
+ "MetadataExchangeNamedPipeBinding",
+ "http://schemas.microsoft.com/ws/2005/02/mex/bindings",
+ new NamedPipeTransportBindingElement ());
}
public static Binding CreateMexTcpBinding ()
{
- throw new NotImplementedException ();
+ return new CustomBinding (
+ "MetadataExchangeTcpBinding",
+ "http://schemas.microsoft.com/ws/2005/02/mex/bindings",
+ new TcpTransportBindingElement ());
}
}
}
namespace System.ServiceModel.Description
{
- [MonoTODO ("MetadataExchangeClientMode is not considered")]
public class MetadataExchangeClient
{
string scheme;
throw new NotImplementedException ();
}
+ [MonoTODO ("MetadataExchangeClientMode is not considered")]
public MetadataExchangeClient (Uri address, MetadataExchangeClientMode mode)
{
this.address = new EndpointAddress (address.AbsoluteUri);
this.mode = mode;
}
+ [MonoTODO]
+ public ICredentials HttpCredentials { get; set; }
+ [MonoTODO]
+ public int MaximumResolvedReferences { get; set; }
+
+ public TimeSpan OperationTimeout { get; set; }
+
+ [MonoTODO]
+ public bool ResolveMetadataReferences { get; set; }
+
+ public ClientCredentials SoapCredentials { get; set; }
+
+ [MonoTODO ("use dialect and identifier (but how?)")]
+ protected internal virtual ChannelFactory<IMetadataExchange> GetChannelFactory (EndpointAddress metadataAddress, string dialect, string identifier)
+ {
+ var se = new ServiceEndpoint (ContractDescription.GetContract (typeof (IMetadataExchange)), CreateBinding (metadataAddress), metadataAddress);
+ if (SoapCredentials != null) {
+ se.Behaviors.RemoveAll<ClientCredentials> ();
+ se.Behaviors.Add (SoapCredentials);
+ }
+ return new ChannelFactory<IMetadataExchange> (se);
+ }
+
+ [MonoTODO]
+ protected internal virtual HttpWebRequest GetWebRequest (Uri location, string dialect, string identifier)
+ {
+ throw new NotImplementedException ();
+ }
+
+ SMBinding CreateBinding (EndpointAddress address)
+ {
+ return address.Uri.Scheme == Uri.UriSchemeHttps ?
+ MetadataExchangeBindings.CreateMexHttpsBinding () :
+ MetadataExchangeBindings.CreateMexHttpBinding ();
+ }
+
// sync methods
public MetadataSet GetMetadata ()
internal MetadataSet GetMetadataInternal (EndpointAddress address, MetadataExchangeClientMode mode)
{
- if (binding == null)
- binding = MetadataExchangeBindings.CreateMexHttpBinding ();
-
- MetadataProxy proxy = new MetadataProxy (binding, address);
- proxy.Open ();
+ // FIXME: give dialect and identifier
+ var cf = GetChannelFactory (address, null, null);
+ cf.Open ();
+ var proxy = cf.CreateChannel ();
+ var asClientChannel = proxy as IClientChannel;
+ if (asClientChannel == null)
+ throw new InvalidOperationException ("The channel factory must return an IClientChannel implementation");
+ asClientChannel.OperationTimeout = OperationTimeout;
+ asClientChannel.Open ();
SMMessage msg = SMMessage.CreateMessage (
MessageVersion.Soap12WSAddressing10,
return getter.BeginInvoke (() => GetMetadata (address, mode), callback, asyncState);
}
}
-
- internal class MetadataProxy : ClientBase<IMetadataExchange>, IMetadataExchange
- {
- public MetadataProxy (SMBinding binding, EndpointAddress address)
- : base (binding, address)
- {
- }
-
- public SMMessage Get (SMMessage msg)
- {
- return Channel.Get (msg);
- }
- public IAsyncResult BeginGet (SMMessage request, AsyncCallback callback , object state)
- {
- throw new NotImplementedException ();
- }
-
- public SMMessage EndGet (IAsyncResult result)
- {
- throw new NotImplementedException ();
- }
+ interface IMetadataExchangeClient : IMetadataExchange, IClientChannel
+ {
}
-
}
yield return ContractDescription.GetContract (contract);
}
- public static IAsyncResult BeginResolve (Type contract, EndpointAddress address, AsyncCallback callback, object asyncState)
+ // 1
+ public static IAsyncResult BeginResolve (IEnumerable<ContractDescription> contracts, EndpointAddress address, AsyncCallback callback, object asyncState)
{
- return BeginResolve (ToContracts (contract), address, callback, asyncState);
+ // -> 3.
+ return BeginResolve (contracts, address, new MetadataExchangeClient (), callback, asyncState);
}
- public static IAsyncResult BeginResolve (IEnumerable<ContractDescription> contracts, EndpointAddress address, AsyncCallback callback, object asyncState)
+ // 2
+ public static IAsyncResult BeginResolve (Type contract, EndpointAddress address, AsyncCallback callback, object asyncState)
{
- return BeginResolve (contracts, address, MetadataExchangeClientMode.MetadataExchange, callback, asyncState);
+ // -> 1
+ return BeginResolve (ToContracts (contract), address, callback, asyncState);
}
- public static IAsyncResult BeginResolve (Type contract, Uri address, MetadataExchangeClientMode mode, AsyncCallback callback, object asyncState)
+ // 3
+ public static IAsyncResult BeginResolve (IEnumerable<ContractDescription> contracts, EndpointAddress address, MetadataExchangeClient client, AsyncCallback callback, object asyncState)
{
- return BeginResolve (ToContracts (contract), new EndpointAddress (address), mode, callback, asyncState);
+ return resolver.BeginInvoke (contracts, () => client.GetMetadata (address), callback, asyncState);
}
- public static IAsyncResult BeginResolve (IEnumerable<ContractDescription> contracts, EndpointAddress address, MetadataExchangeClientMode mode, AsyncCallback callback, object asyncState)
+ // 4
+ public static IAsyncResult BeginResolve (IEnumerable<ContractDescription> contracts, Uri address, MetadataExchangeClientMode mode, AsyncCallback callback, object asyncState)
{
+ // -> 6
return BeginResolve (contracts, address, mode, new MetadataExchangeClient (), callback, asyncState);
}
- public static IAsyncResult BeginResolve (Type contract, EndpointAddress address, MetadataExchangeClient client, AsyncCallback callback, object asyncState)
+ // 5
+ public static IAsyncResult BeginResolve (Type contract, Uri address, MetadataExchangeClientMode mode, AsyncCallback callback, object asyncState)
{
- return resolver.BeginInvoke (ToContracts (contract), () => client.GetMetadata (address), callback, asyncState);
+ // -> 4
+ return BeginResolve (ToContracts (contract), address, mode, callback, asyncState);
}
- public static IAsyncResult BeginResolve (IEnumerable<ContractDescription> contracts, EndpointAddress address, MetadataExchangeClientMode mode, MetadataExchangeClient client, AsyncCallback callback, object asyncState)
+ // 6
+ public static IAsyncResult BeginResolve (IEnumerable<ContractDescription> contracts, Uri address, MetadataExchangeClientMode mode, MetadataExchangeClient client, AsyncCallback callback, object asyncState)
{
- return resolver.BeginInvoke (contracts, () => client.GetMetadataInternal (address, mode), callback, asyncState);
+ return resolver.BeginInvoke (contracts, () => client.GetMetadata (address, mode), callback, asyncState);
}
delegate ServiceEndpointCollection Resolver (IEnumerable<ContractDescription> contracts, Func<MetadataSet> metadataGetter);
return resolver.EndInvoke (result);
}
+ // 1.
public static ServiceEndpointCollection Resolve (
Type contract,
EndpointAddress address)
{
+ // -> 3.
return Resolve (ToContracts (contract), address);
}
+ // 2.
public static ServiceEndpointCollection Resolve (
Type contract,
Uri address,
MetadataExchangeClientMode mode)
{
+ // -> 4
return Resolve (ToContracts (contract), address, mode);
}
+ // 3.
public static ServiceEndpointCollection Resolve (
IEnumerable<ContractDescription> contracts,
EndpointAddress address)
{
+ // -> 5
return Resolve (contracts, address, new MetadataExchangeClient ());
}
+ // 4.
public static ServiceEndpointCollection Resolve (
IEnumerable<ContractDescription> contracts,
Uri address,
return Resolve (contracts, new EndpointAddress (address), new MetadataExchangeClient (address, mode));
}
+ // 5.
public static ServiceEndpointCollection Resolve (
IEnumerable<ContractDescription> contracts,
EndpointAddress address,
return ResolveContracts (contracts, () => client.GetMetadata (address));
}
- /* FIXME: What is the mode/client used for here?
- * According to the tests, address is used */
+ // 6.
public static ServiceEndpointCollection Resolve (
IEnumerable<ContractDescription> contracts,
Uri address,
if (client == null)
throw new ArgumentNullException ("client");
- return ResolveContracts (contracts, () => new MetadataExchangeClient ().GetMetadata (address, mode));
+ return ResolveContracts (contracts, () => client.GetMetadata (address, mode));
}
private static ServiceEndpointCollection ResolveContracts (
--- /dev/null
+//
+// MetadataSet.cs
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+// Ankit Jain <jankit@novell.com>
+//
+// Copyright (C) 2005 Novell, Inc. http://www.novell.com
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Xml;
+using System.Xml.Schema;
+using System.Xml.Serialization;
+
+namespace System.ServiceModel.Description
+{
+ [MonoTODO]
+ [XmlRoot ("Metadata", Namespace = "http://schemas.xmlsoap.org/ws/2004/09/mex")]
+ public class MetadataSet : IXmlSerializable
+ {
+ Collection<MetadataSection> sections
+ = new Collection<MetadataSection> ();
+ Collection<XmlAttribute> attributes
+ = new Collection<XmlAttribute> ();
+
+ public MetadataSet ()
+ {
+ }
+
+ public MetadataSet (IEnumerable<MetadataSection> sections)
+ {
+ foreach (MetadataSection s in sections)
+ this.sections.Add (s);
+ }
+
+ [XmlElement ("MetadataSection", Namespace = "http://schemas.xmlsoap.org/ws/2004/09/mex")]
+ public Collection<MetadataSection> MetadataSections {
+ get { return sections; }
+ }
+
+ [XmlAnyAttribute]
+ public Collection<XmlAttribute> Attributes {
+ get { return attributes; }
+ }
+
+ XmlSchema IXmlSerializable.GetSchema ()
+ {
+ return null;
+ }
+
+ void IXmlSerializable.ReadXml (XmlReader reader)
+ {
+ if (reader.NodeType != XmlNodeType.Element || reader.LocalName != "Metadata" ||
+ reader.NamespaceURI != "http://schemas.xmlsoap.org/ws/2004/09/mex")
+ throw new InvalidOperationException (String.Format ("Unexpected : <{0} ..", reader.LocalName));
+
+ /* Move to MetadataSections */
+ reader.Read ();
+
+ MetadataSectionSerializer xs = new MetadataSectionSerializer ();
+ while (reader.NodeType == XmlNodeType.Element && reader.LocalName == "MetadataSection" &&
+ reader.NamespaceURI == "http://schemas.xmlsoap.org/ws/2004/09/mex") {
+ MetadataSection ms = (MetadataSection) xs.Deserialize (reader);
+ MetadataSections.Add (ms);
+ }
+ }
+
+ void IXmlSerializable.WriteXml (XmlWriter writer)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public static MetadataSet ReadFrom (XmlReader reader)
+ {
+ XmlSerializer xs = new XmlSerializer (typeof (MetadataSet));
+ MetadataSet ms = (MetadataSet) xs.Deserialize (reader);
+
+ return ms;
+ }
+
+ public void WriteTo (XmlWriter writer)
+ {
+ writer.WriteStartElement ("Metadata", "http://schemas.xmlsoap.org/ws/2004/09/mex");
+
+ writer.WriteAttributeString ("xmlns", "xsd", "http://www.w3.org/2000/xmlns/", XmlSchema.Namespace);
+ writer.WriteAttributeString ("xmlns", "wsx", "http://www.w3.org/2000/xmlns/", MetadataSection.MetadataExchangeDialect);
+ writer.WriteAttributeString ("xmlns", "xsi", "http://www.w3.org/2000/xmlns/", XmlSchema.InstanceNamespace);
+
+ XmlSerializer serializer = MetadataSection.Serializer;
+ foreach (MetadataSection section in MetadataSections)
+ serializer.Serialize (writer, section);
+
+ writer.WriteEndElement ();
+ }
+ }
+}
ServiceContractGenerationContext contract_context;
List<OPair> operation_contexts = new List<OPair> ();
+#if USE_DATA_CONTRACT_IMPORTER
+ XsdDataContractImporter xsd_data_importer;
+#endif
+
public ServiceContractGenerator ()
: this (null, null)
{
if ((Options & ServiceContractGenerationOptions.ClientClass) != 0)
GenerateProxyClass (contractDescription, cns);
+#if USE_DATA_CONTRACT_IMPORTER
+ if (xsd_data_importer != null)
+ MergeCompileUnit (xsd_data_importer.CodeCompileUnit, ccu);
+#endif
+
// Process extensions. Class first, then methods.
// (built-in ones must present before processing class extensions).
foreach (var cb in contractDescription.Behaviors) {
foreach (OperationDescription od in cd.Operations) {
CodeMemberMethod syncMethod = null, beginMethod = null, endMethod = null;
- CodeMemberMethod cm = new CodeMemberMethod ();
- type.Members.Add (cm);
- if (GenerateAsync) {
- cm.Name = "Begin" + od.Name;
- beginMethod = cm;
- } else {
- cm.Name = od.Name;
- syncMethod = cm;
- }
CodeTypeReference returnTypeFromMessageContract = null;
+ syncMethod = GenerateOperationMethod (type, cd, od, false, out returnTypeFromMessageContract);
+ type.Members.Add (syncMethod);
- if (od.SyncMethod != null) {
- ExportParameters (cm, od.SyncMethod.GetParameters ());
- if (GenerateAsync) {
- AddBeginAsyncArgs (cm);
- cm.ReturnType = new CodeTypeReference (typeof (IAsyncResult));
- }
- else
- cm.ReturnType = new CodeTypeReference (od.SyncMethod.ReturnType);
- } else {
- ExportMessages (od.Messages, cm, false);
- returnTypeFromMessageContract = cm.ReturnType;
- if (GenerateAsync) {
- AddBeginAsyncArgs (cm);
- cm.ReturnType = new CodeTypeReference (typeof (IAsyncResult));
- }
- }
-
- // [OperationContract (Action = "...", ReplyAction = "..")]
- CodeAttributeDeclaration ad =
- new CodeAttributeDeclaration (
- new CodeTypeReference (
- typeof (OperationContractAttribute)));
- foreach (MessageDescription md in od.Messages) {
- if (md.Direction == MessageDirection.Input)
- ad.Arguments.Add (new CodeAttributeArgument ("Action", new CodePrimitiveExpression (md.Action)));
- else
- ad.Arguments.Add (new CodeAttributeArgument ("ReplyAction", new CodePrimitiveExpression (md.Action)));
- }
- if (GenerateAsync)
- ad.Arguments.Add (new CodeAttributeArgument ("AsyncPattern", new CodePrimitiveExpression (true)));
- cm.CustomAttributes.Add (ad);
-
- // For async mode, add EndXxx() too.
if (GenerateAsync) {
+ beginMethod = GenerateOperationMethod (type, cd, od, true, out returnTypeFromMessageContract);
+ type.Members.Add (beginMethod);
- cm = new CodeMemberMethod ();
+ var cm = new CodeMemberMethod ();
type.Members.Add (cm);
cm.Name = "End" + od.Name;
endMethod = cm;
}
}
+ CodeMemberMethod GenerateOperationMethod (CodeTypeDeclaration type, ContractDescription cd, OperationDescription od, bool async, out CodeTypeReference returnType)
+ {
+ CodeMemberMethod cm = new CodeMemberMethod ();
+
+ if (async)
+ cm.Name = "Begin" + od.Name;
+ else
+ cm.Name = od.Name;
+
+ if (od.SyncMethod != null) {
+ ExportParameters (cm, od.SyncMethod.GetParameters ());
+ if (async) {
+ AddBeginAsyncArgs (cm);
+ cm.ReturnType = new CodeTypeReference (typeof (IAsyncResult));
+ }
+ else
+ cm.ReturnType = new CodeTypeReference (od.SyncMethod.ReturnType);
+ returnType = new CodeTypeReference (od.SyncMethod.ReturnType);
+ } else {
+ ExportMessages (od.Messages, cm, false);
+ returnType = cm.ReturnType;
+ if (async) {
+ AddBeginAsyncArgs (cm);
+ cm.ReturnType = new CodeTypeReference (typeof (IAsyncResult));
+ }
+ }
+
+ // [OperationContract (Action = "...", ReplyAction = "..")]
+ var ad = new CodeAttributeDeclaration (new CodeTypeReference (typeof (OperationContractAttribute)));
+ foreach (MessageDescription md in od.Messages) {
+ if (md.Direction == MessageDirection.Input)
+ ad.Arguments.Add (new CodeAttributeArgument ("Action", new CodePrimitiveExpression (md.Action)));
+ else
+ ad.Arguments.Add (new CodeAttributeArgument ("ReplyAction", new CodePrimitiveExpression (md.Action)));
+ }
+ if (async)
+ ad.Arguments.Add (new CodeAttributeArgument ("AsyncPattern", new CodePrimitiveExpression (true)));
+ cm.CustomAttributes.Add (ad);
+
+ return cm;
+ }
+
void ExportParameters (CodeMemberMethod method, ParameterInfo [] parameters)
{
foreach (ParameterInfo pi in parameters)
void AddImplementationClientMethods (CodeTypeDeclaration type, ContractDescription cd)
{
foreach (OperationDescription od in cd.Operations) {
- CodeMemberMethod cm = new CodeMemberMethod ();
- type.Members.Add (cm);
- if (GenerateAsync)
- cm.Name = "Begin" + od.Name;
- else
- cm.Name = od.Name;
- cm.Attributes = MemberAttributes.Public
- | MemberAttributes.Final;
+ CodeMemberMethod cm;
CodeTypeReference returnTypeFromMessageContract = null;
+ cm = GenerateImplementationClientMethod (type, cd, od, false, out returnTypeFromMessageContract);
+ type.Members.Add (cm);
- List<CodeExpression> args = new List<CodeExpression> ();
- if (od.SyncMethod != null) {
- ParameterInfo [] pars = od.SyncMethod.GetParameters ();
- ExportParameters (cm, pars);
- cm.ReturnType = new CodeTypeReference (od.SyncMethod.ReturnType);
- int i = 0;
- foreach (ParameterInfo pi in pars)
- args.Add (new CodeArgumentReferenceExpression (pi.Name));
- } else {
- args.AddRange (ExportMessages (od.Messages, cm, true));
- returnTypeFromMessageContract = cm.ReturnType;
- if (GenerateAsync) {
- AddBeginAsyncArgs (cm);
- cm.ReturnType = new CodeTypeReference (typeof (IAsyncResult));
- }
- }
- if (GenerateAsync) {
- args.Add (new CodeArgumentReferenceExpression ("asyncCallback"));
- args.Add (new CodeArgumentReferenceExpression ("userState"));
- }
-
- CodeExpression call = new CodeMethodInvokeExpression (
- new CodePropertyReferenceExpression (
- new CodeBaseReferenceExpression (),
- "Channel"),
- cm.Name,
- args.ToArray ());
-
- if (cm.ReturnType.BaseType == "System.Void")
- cm.Statements.Add (new CodeExpressionStatement (call));
- else
- cm.Statements.Add (new CodeMethodReturnStatement (call));
-
- // For async mode, add EndXxx() too.
if (!GenerateAsync)
continue;
+ cm = GenerateImplementationClientMethod (type, cd, od, true, out returnTypeFromMessageContract);
+ type.Members.Add (cm);
+
// EndXxx() implementation
cm = new CodeMemberMethod ();
if (od.EndMethod != null)
resultArgName = od.EndMethod.GetParameters () [0].Name;
- call = new CodeMethodInvokeExpression (
+ var call = new CodeMethodInvokeExpression (
new CodePropertyReferenceExpression (
new CodeBaseReferenceExpression (),
"Channel"),
}
}
+ CodeMemberMethod GenerateImplementationClientMethod (CodeTypeDeclaration type, ContractDescription cd, OperationDescription od, bool async, out CodeTypeReference returnTypeFromMessageContract)
+ {
+ CodeMemberMethod cm = new CodeMemberMethod ();
+ if (async)
+ cm.Name = "Begin" + od.Name;
+ else
+ cm.Name = od.Name;
+ cm.Attributes = MemberAttributes.Public | MemberAttributes.Final;
+ returnTypeFromMessageContract = null;
+
+ List<CodeExpression> args = new List<CodeExpression> ();
+ if (od.SyncMethod != null) {
+ ParameterInfo [] pars = od.SyncMethod.GetParameters ();
+ ExportParameters (cm, pars);
+ cm.ReturnType = new CodeTypeReference (od.SyncMethod.ReturnType);
+ int i = 0;
+ foreach (ParameterInfo pi in pars)
+ args.Add (new CodeArgumentReferenceExpression (pi.Name));
+ } else {
+ args.AddRange (ExportMessages (od.Messages, cm, true));
+ returnTypeFromMessageContract = cm.ReturnType;
+ if (async) {
+ AddBeginAsyncArgs (cm);
+ cm.ReturnType = new CodeTypeReference (typeof (IAsyncResult));
+ }
+ }
+ if (async) {
+ args.Add (new CodeArgumentReferenceExpression ("asyncCallback"));
+ args.Add (new CodeArgumentReferenceExpression ("userState"));
+ }
+
+ CodeExpression call = new CodeMethodInvokeExpression (
+ new CodePropertyReferenceExpression (
+ new CodeBaseReferenceExpression (),
+ "Channel"),
+ cm.Name,
+ args.ToArray ());
+
+ if (cm.ReturnType.BaseType == "System.Void")
+ cm.Statements.Add (new CodeExpressionStatement (call));
+ else
+ cm.Statements.Add (new CodeMethodReturnStatement (call));
+ return cm;
+ }
+
CodeMemberMethod FindByName (CodeTypeDeclaration type, string name)
{
foreach (var m in type.Members) {
cm.Parameters.Add (new CodeParameterDeclarationExpression (new CodeTypeReference (type), name));
}
+ const string ms_arrays_ns = "http://schemas.microsoft.com/2003/10/Serialization/Arrays";
+
+ string GetCodeTypeName (QName mappedTypeName)
+ {
+ if (mappedTypeName.Namespace == ms_arrays_ns)
+ return DataContractSerializerMessageContractImporter.GetCLRTypeName (mappedTypeName.Name.Substring ("ArrayOf".Length)) + "[]";
+ return mappedTypeName.Name;
+ }
+
private CodeExpression[] ExportMessages (MessageDescriptionCollection messages, CodeMemberMethod method, bool return_args)
{
CodeExpression [] args = null;
foreach (MessageDescription md in messages) {
if (md.Direction == MessageDirection.Output) {
if (md.Body.ReturnValue != null) {
- ExportDataContract (md.Body.ReturnValue.XmlTypeMapping);
- method.ReturnType = new CodeTypeReference (md.Body.ReturnValue.TypeName.Name);
+ ExportDataContract (md.Body.ReturnValue);
+#if USE_DATA_CONTRACT_IMPORTER
+ method.ReturnType = md.Body.ReturnValue.CodeTypeReference;
+#else
+ method.ReturnType = new CodeTypeReference (GetCodeTypeName (md.Body.ReturnValue.TypeName));
+#endif
}
continue;
}
MessagePartDescriptionCollection parts = md.Body.Parts;
for (int i = 0; i < parts.Count; i++) {
- ExportDataContract (parts [i].XmlTypeMapping);
+ ExportDataContract (parts [i]);
method.Parameters.Add (
new CodeParameterDeclarationExpression (
- new CodeTypeReference (parts [i].TypeName.Name),
+#if USE_DATA_CONTRACT_IMPORTER
+ parts [i].CodeTypeReference,
+#else
+ new CodeTypeReference (GetCodeTypeName (parts [i].TypeName)),
+#endif
parts [i].Name));
if (return_args)
throw new NotImplementedException ();
}
- private void ExportDataContract (XmlTypeMapping mapping)
+#if USE_DATA_CONTRACT_IMPORTER
+ void MergeCompileUnit (CodeCompileUnit from, CodeCompileUnit to)
{
+ if (from == to)
+ return;
+ foreach (CodeNamespace fns in from.Namespaces) {
+ bool merged = false;
+ foreach (CodeNamespace tns in to.Namespaces)
+ if (fns.Name == tns.Name) {
+ // namespaces are merged.
+ MergeNamespace (fns, tns);
+ merged = true;
+ break;
+ }
+ if (!merged)
+ to.Namespaces.Add (fns);
+ }
+ }
+
+ // existing type is skipped.
+ void MergeNamespace (CodeNamespace from, CodeNamespace to)
+ {
+ foreach (CodeTypeDeclaration ftd in from.Types) {
+ bool skip = false;
+ foreach (CodeTypeDeclaration ttd in to.Types)
+ if (ftd.Name == ttd.Name) {
+ skip = true;
+ break;
+ }
+ if (!skip)
+ to.Types.Add (ftd);
+ }
+ }
+#endif
+
+ private void ExportDataContract (MessagePartDescription md)
+ {
+#if USE_DATA_CONTRACT_IMPORTER
+ if (xsd_data_importer == null)
+ xsd_data_importer = md.Importer;
+#else
+ var mapping = md.XmlTypeMapping;
+
if (mapping == null)
return;
to_remove.Add (type);
continue;
}
+ if (ns == ms_arrays_ns) {
+ //Do not emit arrays as an independent type.
+ to_remove.Add (type);
+ continue;
+ }
imported_names [type_name] = type_name;
cns.Types.Remove (type);
ccu.Namespaces.Add (cns);
+#endif
}
private string GetXmlNamespace (CodeTypeDeclaration type)
}
}
+ // fill Action from operation binding if required.
+ if (action == "") {
+ if (dir != MessageDirection.Input)
+ action = GetActionFromOperationBinding (wsdlPortType, op.Name);
+ else
+ action = "*";
+ }
+
msg_descr = new MessageDescription (action, dir);
/* FIXME: Headers ? */
return cd;
}
+ string GetActionFromOperationBinding (PortType pt, string opName)
+ {
+ foreach (WSBinding binding in pt.ServiceDescription.Bindings) {
+ foreach (OperationBinding ob in binding.Operations) {
+ if (ob.Name != opName)
+ continue;
+ foreach (var ext in ob.Extensions) {
+ var sob = ext as SoapOperationBinding;
+ if (sob == null)
+ continue;
+ return sob.SoapAction;
+ }
+ return String.Empty;
+ }
+ }
+ return String.Empty;
+ }
+
public ServiceEndpoint ImportEndpoint (Port wsdlPort)
{
foreach (IWsdlImportExtension extension in wsdl_extensions) {
+2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelDispatcher.cs : revert previous change - it could result
+ in blocking some threads and block nunit completion.
+
+2010-02-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelDispatcher.cs : now I can enable service throttling to
+ handle more than one concurrent channels as ASP.NET reply channel
+ got fixed.
+
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelDispatcher.cs : actually instance context provider could be
+ null through the entire service run.
+
+ Fixed all current nunit failures!
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelDispatcher.cs : do not try to iterate channel acceptor when
+ it is being closed.
+
2010-01-19 Atsushi Enomoto <atsushi@ximian.com>
* ChannelDispatcher.cs : another error audit.
public void Start ()
{
- foreach (var ed in owner.Endpoints)
- if (ed.DispatchRuntime.InstanceContextProvider == null)
- ed.DispatchRuntime.InstanceContextProvider = new DefaultInstanceContextProvider ();
-
if (loop_thread == null)
loop_thread = new Thread (new ThreadStart (Loop));
loop_thread.Start ();
if (rc != null)
rc.Close ();
// unless it is closed by session/call manager, move it back to the loop to receive the next message.
- if (reply.State != CommunicationState.Closed)
+ if (loop && reply.State != CommunicationState.Closed)
ProcessRequestOrInput (reply);
}
}
Console.WriteLine (ex);
} finally {
// unless it is closed by session/call manager, move it back to the loop to receive the next message.
- if (input.State != CommunicationState.Closed)
+ if (loop && input.State != CommunicationState.Closed)
ProcessRequestOrInput (input);
}
}
System.ServiceModel.Description/MessagePartDescriptionCollection.cs
System.ServiceModel.Description/MessagePropertyDescription.cs
System.ServiceModel.Description/MessagePropertyDescriptionCollection.cs
-System.ServiceModel.Description/MetadataBundle.cs
System.ServiceModel.Description/MetadataConversionError.cs
System.ServiceModel.Description/MetadataExchangeBindings.cs
System.ServiceModel.Description/MetadataExchangeClient.cs
System.ServiceModel.Description/MetadataResolver.cs
System.ServiceModel.Description/MetadataSection.cs
System.ServiceModel.Description/MetadataSectionSerializerBase.cs
+System.ServiceModel.Description/MetadataSet.cs
System.ServiceModel.Description/MustUnderstandBehavior.cs
System.ServiceModel.Description/OperationContractGenerationContext.cs
System.ServiceModel.Description/OperationDescription.cs
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : and "To" header is also automatically
+ added if AddressingVersion is WSA1. This likely fixes bug #577139.
+
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Constants.cs, EndpointAddress10.cs :
+ Remove duplicate constant (WSA1).
+
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Constants.cs : moved SoapDictionary from BinaryMessageEncoder.
+
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : cosmetic attribute reordering.
+
+2010-02-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : when WSAddressing10 is used, set ReplyTo
+ and MessageID. (found while fixing #577139).
+
+2010-02-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SilverlightClientConfigLoader.cs : public->internal.
+
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelFactory_1.cs, ChannelFactory.cs : fix default constructor
+ handling and ensure service endpoint at opening the factory.
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : fix complicated IMetadataExchange handling to
+ pass nunit tests (treat mex binding as special case).
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DuplexClientRuntimeChannel.cs : do not try to iterate channel
+ acceptor when it is being closed.
+
2010-01-20 Atsushi Enomoto <atsushi@ximian.com>
* ServiceHostBase.cs : a stability workaround to make nunit test
protected void EnsureOpened ()
{
+ if (Endpoint == null)
+ throw new InvalidOperationException ("A service endpoint must be configured for this channel factory");
+ if (Endpoint.Address == null)
+ throw new InvalidOperationException ("An EndpointAddress must be configured for this channel factory");
+ if (Endpoint.Contract == null)
+ throw new InvalidOperationException ("A service Contract must be configured for this channel factory");
+ if (Endpoint.Binding == null)
+ throw new InvalidOperationException ("A Binding must be configured for this channel factory");
+
if (State != CommunicationState.Opened)
Open ();
}
: ChannelFactory, IChannelFactory<TChannel>
{
public ChannelFactory ()
- : this ("*")
{
}
public TChannel CreateChannel ()
{
+ EnsureOpened ();
+
return CreateChannel (Endpoint.Address);
}
#if MONOTOUCH
throw new InvalidOperationException ("MonoTouch does not support dynamic proxy code generation. Override this method or its caller to return specific client proxy instance");
#else
+ var existing = Endpoint.Address;
+ try {
+
+ Endpoint.Address = address;
EnsureOpened ();
Endpoint.Validate ();
Type type = ClientProxyGenerator.CreateProxyType (typeof (TChannel), Endpoint.Contract, false);
// that should work either.
object proxy = Activator.CreateInstance (type, new object [] {Endpoint, this, address ?? Endpoint.Address, via});
return (TChannel) proxy;
+
+ } finally {
+ Endpoint.Address = existing;
+ }
#endif
}
msg.Headers.MessageId = new UniqueId (OutputSession.Id);
msg.Properties.AllowOutputBatching = AllowOutputBatching;
+ if (msg.Version.Addressing.Equals (AddressingVersion.WSAddressing10)) {
+ if (msg.Headers.MessageId == null)
+ msg.Headers.MessageId = new UniqueId ();
+ if (msg.Headers.ReplyTo == null)
+ msg.Headers.ReplyTo = new EndpointAddress (Constants.WsaAnonymousUri);
+ if (msg.Headers.To == null)
+ msg.Headers.To = RemoteAddress.Uri;
+ }
+
return msg;
}
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
+using System.Xml;
namespace System.ServiceModel
{
internal class Constants
{
- public const string WSA1 = "http://www.w3.org/2005/08/addressing";
-
public const string WSBasicSecurityProfileCore1 = "http://ws-i.org/profiles/basic-security/core/1.0";
public const string WsaAnonymousUri = "http://www.w3.org/2005/08/addressing/anonymous";
// Peer resolvers
public const string NetPeer = "http://schemas.microsoft.com/net/2006/05/peer";
+
+ // See [MC-NBFS] in Microsoft OSP. The strings are copied from the PDF, so the actual values might be wrong.
+ static readonly string [] dict_strings = {
+ "mustUnderstand", "Envelope",
+ "http://www.w3.org/2003/05/soap-envelope",
+ "http://www.w3.org/2005/08/addressing", "Header", "Action", "To", "Body", "Algorithm", "RelatesTo",
+ "http://www.w3.org/2005/08/addressing/anonymous", "URI", "Reference", "MessageID", "Id", "Identifier",
+ "http://schemas.xmlsoap.org/ws/2005/02/rm", "Transforms", "Transform", "DigestMethod", "DigestValue", "Address", "ReplyTo", "SequenceAcknowledgement", "AcknowledgementRange", "Upper", "Lower", "BufferRemaining",
+ "http://schemas.microsoft.com/ws/2006/05/rm",
+ "http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement", "SecurityTokenReference", "Sequence", "MessageNumber",
+ "http://www.w3.org/2000/09/xmldsig#",
+ "http://www.w3.org/2000/09/xmldsig#enveloped-signature", "KeyInfo",
+ "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
+ "http://www.w3.org/2001/04/xmlenc#",
+ "http://schemas.xmlsoap.org/ws/2005/02/sc", "DerivedKeyToken", "Nonce", "Signature", "SignedInfo", "CanonicalizationMethod", "SignatureMethod", "SignatureValue", "DataReference", "EncryptedData", "EncryptionMethod", "CipherData", "CipherValue",
+ "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd", "Security", "Timestamp", "Created", "Expires", "Length", "ReferenceList", "ValueType", "Type", "EncryptedHeader",
+ "http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd", "RequestSecurityTokenResponseCollection",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust#BinarySecret",
+ "http://schemas.microsoft.com/ws/2006/02/transactions", "s", "Fault", "MustUnderstand", "role", "relay", "Code", "Reason", "Text", "Node", "Role", "Detail", "Value", "Subcode", "NotUnderstood", "qname", "", "From", "FaultTo", "EndpointReference", "PortType", "ServiceName", "PortName", "ReferenceProperties", "RelationshipType", "Reply", "a",
+ "http://schemas.xmlsoap.org/ws/2006/02/addressingidentity", "Identity", "Spn", "Upn", "Rsa", "Dns", "X509v3Certificate",
+ "http://www.w3.org/2005/08/addressing/fault", "ReferenceParameters", "IsReferenceParameter",
+ "http://www.w3.org/2005/08/addressing/reply",
+ "http://www.w3.org/2005/08/addressing/none", "Metadata",
+ "http://schemas.xmlsoap.org/ws/2004/08/addressing",
+ "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous",
+ "http://schemas.xmlsoap.org/ws/2004/08/addressing/fault",
+ "http://schemas.xmlsoap.org/ws/2004/06/addressingex", "RedirectTo", "Via",
+ "http://www.w3.org/2001/10/xml-exc-c14n#", "PrefixList", "InclusiveNamespaces", "ec", "SecurityContextToken", "Generation", "Label", "Offset", "Properties", "Cookie", "wsc",
+ "http://schemas.xmlsoap.org/ws/2004/04/sc",
+ "http://schemas.xmlsoap.org/ws/2004/04/security/sc/dk",
+ "http://schemas.xmlsoap.org/ws/2004/04/security/sc/sct",
+ "http://schemas.xmlsoap.org/ws/2004/04/security/trust/RST/SCT",
+ "http://schemas.xmlsoap.org/ws/2004/04/security/trust/RSTR/SCT", "RenewNeeded", "BadContextToken", "c",
+ "http://schemas.xmlsoap.org/ws/2005/02/sc/dk",
+ "http://schemas.xmlsoap.org/ws/2005/02/sc/sct",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT/Renew",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT/Renew",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT/Cancel",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT/Cancel",
+ "http://www.w3.org/2001/04/xmlenc#aes128-cbc",
+ "http://www.w3.org/2001/04/xmlenc#kw-aes128",
+ "http://www.w3.org/2001/04/xmlenc#aes192-cbc",
+ "http://www.w3.org/2001/04/xmlenc#kw-aes192",
+ "http://www.w3.org/2001/04/xmlenc#aes256-cbc",
+ "http://www.w3.org/2001/04/xmlenc#kw-aes256",
+ "http://www.w3.org/2001/04/xmlenc#des-cbc",
+ "http://www.w3.org/2000/09/xmldsig#dsa-sha1",
+ "http://www.w3.org/2001/10/xml-exc-c14n#WithComments",
+ "http://www.w3.org/2000/09/xmldsig#hmac-sha1",
+ "http://www.w3.org/2001/04/xmldsig-more#hmac-sha256",
+ "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1",
+ "http://www.w3.org/2001/04/xmlenc#ripemd160",
+ "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p",
+ "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
+ "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",
+ "http://www.w3.org/2001/04/xmlenc#rsa-1_5",
+ "http://www.w3.org/2000/09/xmldsig#sha1",
+ "http://www.w3.org/2001/04/xmlenc#sha256",
+ "http://www.w3.org/2001/04/xmlenc#sha512",
+ "http://www.w3.org/2001/04/xmlenc#tripledes-cbc",
+ "http://www.w3.org/2001/04/xmlenc#kw-tripledes",
+ "http://schemas.xmlsoap.org/2005/02/trust/tlsnego#TLS_Wrap",
+ "http://schemas.xmlsoap.org/2005/02/trust/spnego#GSS_Wrap",
+ "http://schemas.microsoft.com/ws/2006/05/security", "dnse", "o", "Password", "PasswordText", "Username", "UsernameToken", "BinarySecurityToken", "EncodingType", "KeyIdentifier",
+ "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary",
+ "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#HexBinary",
+ "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Text",
+ "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier",
+ "http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#GSS_Kerberosv5_AP_REQ",
+ "http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#GSS_Kerberosv5_AP_REQ1510",
+ "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID", "Assertion", "urn:oasis:names:tc:SAML:1.0:assertion",
+ "http://docs.oasis-open.org/wss/oasis-wss-rel-token-profile-1.0.pdf#license", "FailedAuthentication", "InvalidSecurityToken", "InvalidSecurity", "k", "SignatureConfirmation", "TokenType",
+ "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1",
+ "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey",
+ "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKeySHA1",
+ "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1",
+ "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0",
+ "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLID", "AUTH-HASH", "RequestSecurityTokenResponse", "KeySize", "RequestedTokenReference", "AppliesTo", "Authenticator", "CombinedHash", "BinaryExchange", "Lifetime", "RequestedSecurityToken", "Entropy", "RequestedProofToken", "ComputedKey", "RequestSecurityToken", "RequestType", "Context", "BinarySecret",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/spnego",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/tlsnego", "wst",
+ "http://schemas.xmlsoap.org/ws/2004/04/trust",
+ "http://schemas.xmlsoap.org/ws/2004/04/security/trust/RST/Issue",
+ "http://schemas.xmlsoap.org/ws/2004/04/security/trust/RSTR/Issue",
+ "http://schemas.xmlsoap.org/ws/2004/04/security/trust/Issue",
+ "http://schemas.xmlsoap.org/ws/2004/04/security/trust/CK/PSHA1",
+ "http://schemas.xmlsoap.org/ws/2004/04/security/trust/SymmetricKey",
+ "http://schemas.xmlsoap.org/ws/2004/04/security/trust/Nonce", "KeyType",
+ "http://schemas.xmlsoap.org/ws/2004/04/trust/SymmetricKey",
+ "http://schemas.xmlsoap.org/ws/2004/04/trust/PublicKey", "Claims", "InvalidRequest", "RequestFailed", "SignWith", "EncryptWith", "EncryptionAlgorithm", "CanonicalizationAlgorithm", "ComputedKeyAlgorithm", "UseKey",
+ "http://schemas.microsoft.com/net/2004/07/secext/WS-SPNego",
+ "http://schemas.microsoft.com/net/2004/07/secext/TLSNego", "t",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/Issue",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/Issue",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/CK/PSHA1",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/Nonce", "RenewTarget", "CancelTarget", "RequestedTokenCancelled", "RequestedAttachedReference", "RequestedUnattachedReference", "IssuedTokens",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/Renew",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/Cancel",
+ "http://schemas.xmlsoap.org/ws/2005/02/trust/PublicKey", "Access", "AccessDecision", "Advice", "AssertionID", "AssertionIDReference", "Attribute", "AttributeName", "AttributeNamespace", "AttributeStatement", "AttributeValue", "Audience", "AudienceRestrictionCondition", "AuthenticationInstant", "AuthenticationMethod", "AuthenticationStatement", "AuthorityBinding", "AuthorityKind", "AuthorizationDecisionStatement", "Binding", "Condition", "Conditions", "Decision", "DoNotCacheCondition", "Evidence", "IssueInstant", "Issuer", "Location", "MajorVersion", "MinorVersion", "NameIdentifier", "Format", "NameQualifier", "Namespace", "NotBefore", "NotOnOrAfter", "saml", "Statement", "Subject", "SubjectConfirmation", "SubjectConfirmationData", "ConfirmationMethod", "urn:oasis:names:tc:SAML:1.0:cm:holder-of-key", "urn:oasis:names:tc:SAML:1.0:cm:sender-vouches", "SubjectLocality", "DNSAddress", "IPAddress", "SubjectStatement", "urn:oasis:names:tc:SAML:1.0:am:unspecified", "xmlns", "Resource", "UserName", "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName", "EmailName", "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "u", "ChannelInstance",
+ "http://schemas.microsoft.com/ws/2005/02/duplex", "Encoding", "MimeType", "CarriedKeyName", "Recipient", "EncryptedKey", "KeyReference", "e",
+ "http://www.w3.org/2001/04/xmlenc#Element",
+ "http://www.w3.org/2001/04/xmlenc#Content", "KeyName", "MgmtData", "KeyValue", "RSAKeyValue", "Modulus", "Exponent", "X509Data", "X509IssuerSerial", "X509IssuerName", "X509SerialNumber", "X509Certificate", "AckRequested",
+ "http://schemas.xmlsoap.org/ws/2005/02/rm/AckRequested", "AcksTo", "Accept", "CreateSequence",
+ "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence", "CreateSequenceRefused", "CreateSequenceResponse",
+ "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse", "FaultCode", "InvalidAcknowledgement", "LastMessage",
+ "http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage", "LastMessageNumberExceeded", "MessageNumberRollover", "Nack", "netrm", "Offer", "r", "SequenceFault", "SequenceTerminated", "TerminateSequence",
+ "http://schemas.xmlsoap.org/ws/2005/02/rm/TerminateSequence", "UnknownSequence",
+ "http://schemas.microsoft.com/ws/2006/02/tx/oletx", "oletx", "OleTxTransaction", "PropagationToken",
+ "http://schemas.xmlsoap.org/ws/2004/10/wscoor", "wscoor", "CreateCoordinationContext", "CreateCoordinationContextResponse", "CoordinationContext", "CurrentContext", "CoordinationType", "RegistrationService", "Register", "RegisterResponse", "ProtocolIdentifier", "CoordinatorProtocolService", "ParticipantProtocolService",
+ "http://schemas.xmlsoap.org/ws/2004/10/wscoor/CreateCoordinationContext",
+ "http://schemas.xmlsoap.org/ws/2004/10/wscoor/CreateCoordinationContextResponse",
+ "http://schemas.xmlsoap.org/ws/2004/10/wscoor/Register",
+ "http://schemas.xmlsoap.org/ws/2004/10/wscoor/RegisterResponse",
+ "http://schemas.xmlsoap.org/ws/2004/10/wscoor/fault", "ActivationCoordinatorPortType", "RegistrationCoordinatorPortType", "InvalidState", "InvalidProtocol", "InvalidParameters", "NoActivity", "ContextRefused", "AlreadyRegistered",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat", "wsat",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/Completion",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/Durable2PC",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/Volatile2PC", "Prepare", "Prepared", "ReadOnly", "Commit", "Rollback", "Committed", "Aborted", "Replay",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/Commit",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/Rollback",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/Committed",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/Aborted",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/Prepare",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/Prepared",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/ReadOnly",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/Replay",
+ "http://schemas.xmlsoap.org/ws/2004/10/wsat/fault", "CompletionCoordinatorPortType", "CompletionParticipantPortType", "CoordinatorPortType", "ParticipantPortType", "InconsistentInternalState", "mstx", "Enlistment", "protocol", "LocalTransactionId", "IsolationLevel", "IsolationFlags", "Description", "Loopback", "RegisterInfo", "ContextId", "TokenId", "AccessDenied", "InvalidPolicy", "CoordinatorRegistrationFailed", "TooManyEnlistments", "Disabled", "ActivityId",
+ "http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics",
+ "http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#Kerberosv5APREQSHA1",
+ "http://schemas.xmlsoap.org/ws/2002/12/policy", "FloodMessage", "LinkUtility", "Hops",
+ "http://schemas.microsoft.com/net/2006/05/peer/HopCount", "PeerVia",
+ "http://schemas.microsoft.com/net/2006/05/peer", "PeerFlooder", "PeerTo",
+ "http://schemas.microsoft.com/ws/2005/05/routing", "PacketRoutable",
+ "http://schemas.microsoft.com/ws/2005/05/addressing/none",
+ "http://schemas.microsoft.com/ws/2005/05/envelope/none",
+ "http://www.w3.org/2001/XMLSchema-instance",
+ "http://www.w3.org/2001/XMLSchema", "nil", "type", "char", "boolean", "byte", "unsignedByte", "short", "unsignedShort", "int", "unsignedInt", "long", "unsignedLong", "float", "double", "decimal", "dateTime", "string", "base64Binary", "anyType", "duration", "guid", "anyURI", "QName", "time", "date", "hexBinary", "gYearMonth", "gYear", "gMonthDay", "gDay", "gMonth", "integer", "positiveInteger", "negativeInteger", "nonPositiveInteger", "nonNegativeInteger", "normalizedString", "ConnectionLimitReached",
+ "http://schemas.xmlsoap.org/soap/envelope/", "Actor", "Faultcode", "Faultstring", "Faultactor", "Detail"
+ };
+
+ static Constants ()
+ {
+ var d = new XmlDictionary ();
+ SoapDictionary = d;
+ foreach (var s in dict_strings)
+ d.Add (s);
+ }
+
+ public static XmlDictionary SoapDictionary { get; private set; }
}
}
Console.WriteLine (ex);
} finally {
// unless it is closed by session/call manager, move it back to the loop to receive the next message.
- if (input.State != CommunicationState.Closed)
+ if (loop && input.State != CommunicationState.Closed)
ProcessRequestOrInput (input);
}
}
if (xmlSchemaSet == null)
throw new ArgumentNullException ("xmlSchemaSet");
xmlSchemaSet.Add (XmlSchema.Read (typeof (EndpointAddress10).Assembly.GetManifestResourceStream ("ws-addr.xsd"), null));
- return new XmlQualifiedName ("EndpointReferenceType", Constants.WSA1);
+ return new XmlQualifiedName ("EndpointReferenceType", Constants.WsaNamespace);
}
#endif
{
if (writer == null)
throw new ArgumentNullException ("writer");
- writer.WriteStartElement ("Address", Constants.WSA1);
+ writer.WriteStartElement ("Address", Constants.WsaNamespace);
writer.WriteString (address.Uri.AbsoluteUri);
writer.WriteEndElement ();
Uri address, Uri listenUri)
{
EndpointAddress ea = BuildEndpointAddress (address, binding);
- ContractDescription cd = GetContract (implementedContract);
+ ContractDescription cd = GetContract (implementedContract, binding.Name == "MetadataExchangeHttpBinding");
if (cd == null)
throw new InvalidOperationException (String.Format ("Contract '{0}' was not found in the implemented contracts in this service host.", implementedContract));
return AddServiceEndpointCore (cd, binding, ea, listenUri);
ContractDescription mex_contract, help_page_contract;
- ContractDescription GetContract (string name)
+ ContractDescription GetContract (string name, bool mexBinding)
{
// FIXME: not sure if they should really be special cases.
switch (name) {
// if it was added only IMetadataExchange
// endpoint (and you'll see the word
// "infrastructure" in the exception message).
- if (Description.Behaviors.Find<ServiceMetadataBehavior> () == null)
+ if (mexBinding && Description.Behaviors.Find<ServiceMetadataBehavior> () == null)
break;
if (mex_contract == null)
mex_contract = ContractDescription.GetContract (typeof (IMetadataExchange));
return mex_contract;
}
- // FIXME: probably type-to-contract-name mapping is wrong.
- // This "loopup by type name" incorrectly allows
- // "System.ServiceModel.Description.IMetadataExchange",
- // but disabling this results in couple of regressions.
- // So I keep enabling it so far. But it smells wrong.
Type type = PopulateType (name);
+ if (type == null)
+ return null;
foreach (ContractDescription cd in ImplementedContracts.Values) {
- if (type == null) {
- if (cd.Name == name)
- return cd;
- continue;
- }
-
- // FIXME: This check is a negative side effect
- // of the above hack. (but it should not still
- // skip name-based match). Seealso above FIXMEs.
+ // This check is a negative side effect of the above match-by-name design.
if (cd.ContractType == typeof (IMetadataExchange))
continue;
// Since System.Configuration is not supported in SL, this config
// loader has to be created without depending on it.
- public class SilverlightClientConfigLoader
+ internal class SilverlightClientConfigLoader
{
public SilverlightClientConfiguration Load (XmlReader reader)
{
Assert.IsFalse (h.Equals (null), "#1"); // never throw nullref
Assert.IsTrue (h.Equals (h2), "#2");
}
+
+ [Test]
+ public void GetAddressHeaderReader ()
+ {
+ var h = AddressHeader.CreateAddressHeader ("foo", String.Empty, null);
+ var r = h.GetAddressHeaderReader ();
+ r.MoveToContent ();
+ Assert.AreEqual ("foo", r.LocalName, "#1");
+ Assert.AreEqual ("true", r.GetAttribute ("nil", XmlSchema.InstanceNamespace), "#2");
+ }
+
+ [Test]
+ public void WriteAddressHeader ()
+ {
+ var h = AddressHeader.CreateAddressHeader ("foo", "urn:foo", null);
+ var sw = new StringWriter ();
+ var xw = XmlDictionaryWriter.CreateDictionaryWriter (XmlWriter.Create (sw));
+ h.WriteAddressHeader (xw);
+ xw.Close ();
+ Assert.AreEqual ("<?xml version=\"1.0\" encoding=\"utf-16\"?><foo i:nil=\"true\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"urn:foo\" />", sw.ToString (), "#1");
+ }
}
}
+2010-01-21 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SslStreamSecurityBindingElementTest.cs : reduce extra base dep.
+
+2010-01-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * AddressHeaderTest.cs : add reader and writer tests.
+
2010-01-06 Atsushi Enomoto <atsushi@ximian.com>
* BinaryMessageEncodingBindingElementTest.cs : added test for
namespace MonoTests.System.ServiceModel.Channels
{
[TestFixture]
- public class SslStreamSecurityBindingElementTest : BindingElementTest
+ public class SslStreamSecurityBindingElementTest
{
[Test]
[Category ("NotWorking")]
+2010-02-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * WsdlImporterTest.cs : ignore whatever make dist broke.
+
+ Until make dist gets fixed I won't enable any of new external-
+ source-dependent tests.
+
+2010-02-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * WsdlImporterTest.cs : added test for processing ArrayOfXxx types.
+
+2010-01-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceContractGeneratorTest.cs : add test for async method
+ generation option to generate sync methods as well.
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceMetadataBehaviorTest.cs : check name constant (MSDN is
+ wrong here).
+
2010-01-19 Atsushi Enomoto <atsushi@ximian.com>
* ServiceAuthorizationBehaviorTest.cs : it's updated and enabled.
return t;
return default (T);
}
+
+ public static int Count<T> (this CollectionBase coll, Func<T,bool> func)
+ {
+ int c = 0;
+ foreach (T t in coll)
+ if (func (t))
+ c++;
+ return c;
+ }
}
[TestFixture]
var cns = g.TargetCompileUnit.Namespaces [0];
Assert.AreEqual (3, cns.Types.Count, "#1");
var iface = cns.Types.FirstOrDefault<CodeTypeDeclaration> (t => t.Name == "ITestService");
+ Assert.AreEqual (2, iface.Members.Count, "#2-0");
+ Assert.IsNotNull (iface.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "DoWork"), "#2-1");
+ Assert.IsNotNull (iface.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "DoWork2"), "#2-2");
+ var proxy = cns.Types.FirstOrDefault<CodeTypeDeclaration> (t => t.Name == "TestServiceClient");
+ Assert.AreEqual (7, proxy.Members.Count, "#3-0");
+ Assert.AreEqual (5, proxy.Members.Count<CodeTypeMember> (m => m.Name == ".ctor"), "#3-0-2");
+ Assert.IsNotNull (proxy.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "DoWork"), "#3-1");
+ Assert.IsNotNull (proxy.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "DoWork2"), "#3-2");
+ }
+
+ [Test]
+ public void AsynchronousMethods ()
+ {
+ var g = new ServiceContractGenerator ();
+ g.Options |= ServiceContractGenerationOptions.AsynchronousMethods;
+ g.GenerateServiceContractType (ContractDescription.GetContract (typeof (ITestService)));
+ var cns = g.TargetCompileUnit.Namespaces [0];
+ Assert.AreEqual (3, cns.Types.Count, "#1");
+ var iface = cns.Types.FirstOrDefault<CodeTypeDeclaration> (t => t.Name == "ITestService");
+ Assert.AreEqual (6, iface.Members.Count, "#2-0");
Assert.IsNotNull (iface.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "DoWork"), "#2-1");
Assert.IsNotNull (iface.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "DoWork2"), "#2-2");
+ Assert.IsNotNull (iface.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "BeginDoWork"), "#2-3");
+ Assert.IsNotNull (iface.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "BeginDoWork2"), "#2-4");
+ Assert.IsNotNull (iface.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "EndDoWork"), "#2-5");
+ Assert.IsNotNull (iface.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "EndDoWork2"), "#2-6");
var proxy = cns.Types.FirstOrDefault<CodeTypeDeclaration> (t => t.Name == "TestServiceClient");
+ Assert.AreEqual (11, proxy.Members.Count, "#3-0");
+ Assert.AreEqual (5, proxy.Members.Count<CodeTypeMember> (m => m.Name == ".ctor"), "#3-0-2");
Assert.IsNotNull (proxy.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "DoWork"), "#3-1");
Assert.IsNotNull (proxy.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "DoWork2"), "#3-2");
+ Assert.IsNotNull (proxy.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "BeginDoWork"), "#3-3");
+ Assert.IsNotNull (proxy.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "BeginDoWork2"), "#3-4");
+ Assert.IsNotNull (proxy.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "EndDoWork"), "#3-5");
+ Assert.IsNotNull (proxy.Members.FirstOrDefault<CodeTypeMember> (m => m.Name == "EndDoWork2"), "#3-6");
}
[ServiceContract]
Assert.IsNull (behavior.HttpsGetUrl, "HttpsGetUrl");\r
Assert.IsNotNull (behavior.MetadataExporter, "MetadataExporter #1");\r
Assert.AreEqual (typeof (WsdlExporter), behavior.MetadataExporter.GetType (), "MetadataExporter #2");\r
+\r
+ Assert.AreEqual ("IMetadataExchange", ServiceMetadataBehavior.MexContractName, "MexContractName");\r
}\r
}\r
}\r
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
using System.Text;
-using System.ServiceModel.Description;
using System.Web.Services;
-using System.IO;
+using System.Web.Services.Description;
+using System.ServiceModel;
+using System.ServiceModel.Channels;
+using System.ServiceModel.Description;
using System.Xml;
+using System.Xml.Schema;
+using Microsoft.CSharp;
using NUnit.Framework;
-using System.ServiceModel.Channels;
-using System.Collections.ObjectModel;
-using System.ServiceModel;
using WSServiceDescription = System.Web.Services.Description.ServiceDescription;
using SMBinding = System.ServiceModel.Channels.Binding;
-using System.Xml.Schema;
-using System.Web.Services.Description;
namespace MonoTests.System.ServiceModel.Description
{
}
+ MetadataSet GetMetadataSetFromWsdl (string path)
+ {
+ var ms = new MetadataSet ();
+ var sd = WSServiceDescription.Read (XmlReader.Create (path));
+ ms.MetadataSections.Add (MetadataSection.CreateFromServiceDescription (sd));
+ foreach (XmlSchema xs in sd.Types.Schemas)
+ foreach (XmlSchemaImport import in xs.Includes)
+ using (var xr = XmlReader.Create (Path.Combine (Path.GetDirectoryName (path), import.SchemaLocation)))
+ ms.MetadataSections.Add (MetadataSection.CreateFromSchema (XmlSchema.Read (xr, null)));
+ return ms;
+ }
+
+ [Test]
+ [Ignore ("Until make dist gets fixed I won't enable any of new external-source-dependent tests")]
+ public void ImportMethodWithArrayOfint ()
+ {
+ var ms = GetMetadataSetFromWsdl ("Test/Resources/xml/service1.wsdl");
+ var imp = new WsdlImporter (ms);
+ var cg = new ServiceContractGenerator ();
+ var cd = imp.ImportAllContracts () [0];
+ cg.GenerateServiceContractType (cd);
+ var sw = new StringWriter ();
+ new CSharpCodeProvider ().GenerateCodeFromCompileUnit (
+ cg.TargetCompileUnit, sw, null);
+ // sort of hacky test
+ Assert.IsTrue (sw.ToString ().IndexOf ("int[] GetSearchData") > 0, "#1");
+ }
}
}
+2010-02-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBaseTest.cs : on unixy filesystems "/foobar"
+ is parsed as an absolute URI.
+
+2010-02-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * NetTcpBindingTest.cs : port 808 is not generally available
+ for non-privileged users.
+
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelFactory_1Test.cs : added a couple of error check tests for
+ constructors and CreateChannel() overloads.
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostTest.cs : add a few more comments.
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * CallbackBehaviorAttributeTest.cs : enable the test again.
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * NetTcpBindingTest.cs : enabled connection tests again, as they
+ got working again (and more importantly, they don't block).
+ * CallbackBehaviorAttributeTest.cs : on the other hand, disabled
+ a test so far. It is the only active test && the blocker now.
+
2010-01-20 Atsushi Enomoto <atsushi@ximian.com>
* NetTcpBindingTest.cs : disable connection tests, with analyzed
new EndpointAddress ("http://localhost:37564"));
}
+ [Test]
+ public void EndpointAddressAfterCreateChannel ()
+ {
+ var f = new ChannelFactory<ITestService> (new BasicHttpBinding ());
+ f.CreateChannel (new EndpointAddress ("http://localhost:37564"), null);
+ Assert.IsNull (f.Endpoint.Address, "#1");
+ }
+
[Test]
[Ignore ("fails under .NET; I never bothered to fix the test")]
public void CtorNullArgsAllowed ()
[Test]
public void ConfigEmptyCtor ()
{
+ // It has no valid configuration, but goes on.
new ChannelFactory<ICtorUseCase1> ();
}
+ [Test]
+ [ExpectedException (typeof (InvalidOperationException))]
+ public void ConfigEmptyCtor2 ()
+ {
+ var cf = new ChannelFactory<ICtorUseCase1> ();
+ // It cannot go on further.
+ cf.CreateChannel ();
+ }
+
[Test]
[Ignore ("fails under .NET; I never bothered to fix the test")]
public void ConfigCtor ()
Assert.IsNotNull (tx, "#tx1");
}
- // Those connection tests are somehow blocked by some tests
- // I disabled recently (see svn history) but while those broken
- // tests examine almost nothing, these tests below does, so I
- // rather enabled them.
- //
- // Those tests somehow got broken in Nov. 2009 probably because
- // of some underlying net layer and not due to those ignored
- // tests though. But those tests leave channels open, so they
- // are bad enough to be disabled.
-
[Test]
- [Category ("NotWorking")] // this is disabled because right now
- // there is no way for ChannelDispatcher to "close" the accepted
- // channels, which is typically done at the end of request
- // processing. ChannelDispatcher proceeds channel acceptor
- // throttling cycle only when a channel is closed. But since
- // it does not happen on TCP duplex session channels, it will
- // end up to infinite wait by throttling WaitHandle.
public void BufferedConnection ()
{
var host = new ServiceHost (typeof (Foo));
- var bindingsvc = new NetTcpBinding ();
- bindingsvc.Security.Mode = SecurityMode.None;
- host.AddServiceEndpoint (typeof (IFoo), bindingsvc, "net.tcp://localhost/");
+ var bindingsvc = new CustomBinding (new BinaryMessageEncodingBindingElement (), new TcpTransportBindingElement ());
+ host.AddServiceEndpoint (typeof (IFoo), bindingsvc, "net.tcp://localhost:37564/");
host.Open (TimeSpan.FromSeconds (5));
try {
- var bindingcli = new NetTcpBinding ();
+ var bindingcli = new NetTcpBinding () { TransactionFlow = false };
bindingcli.Security.Mode = SecurityMode.None;
- var cli = new ChannelFactory<IFooClient> (bindingcli, new EndpointAddress ("net.tcp://localhost/")).CreateChannel ();
+ var cli = new ChannelFactory<IFooClient> (bindingcli, new EndpointAddress ("net.tcp://localhost:37564/")).CreateChannel ();
Assert.AreEqual (5, cli.Add (1, 4));
Assert.AreEqual ("monkey science", cli.Join ("monkey", "science"));
} finally {
host.Close (TimeSpan.FromSeconds (5));
- var t = new TcpListener (808);
+ var t = new TcpListener (37564);
t.Start ();
t.Stop ();
}
}
[Test]
- [Category ("NotWorking")] // similar to BufferedConnection(),
- // but the reason should be different as it is not duplex.
- // I haven't investigated the reason why it fails only as NUnit
- // test (and blocked only when FaultsTest.cs is included in the
- // test assembly).
public void StreamedConnection ()
{
var host = new ServiceHost (typeof (Foo));
- var bindingsvc = new NetTcpBinding ();
- bindingsvc.TransferMode = TransferMode.Streamed;
- bindingsvc.Security.Mode = SecurityMode.None;
- host.AddServiceEndpoint (typeof (IFoo), bindingsvc, "net.tcp://localhost/");
+ var bindingsvc = new CustomBinding (new BinaryMessageEncodingBindingElement (), new TcpTransportBindingElement () { TransferMode = TransferMode.Streamed });
+ host.AddServiceEndpoint (typeof (IFoo), bindingsvc, "net.tcp://localhost:37564/");
host.Open (TimeSpan.FromSeconds (5));
try {
- var bindingcli = new NetTcpBinding ();
+ var bindingcli = new NetTcpBinding () { TransactionFlow = false };
bindingcli.TransferMode = TransferMode.Streamed;
bindingcli.Security.Mode = SecurityMode.None;
- var cli = new ChannelFactory<IFooClient> (bindingcli, new EndpointAddress ("net.tcp://localhost/")).CreateChannel ();
+ var cli = new ChannelFactory<IFooClient> (bindingcli, new EndpointAddress ("net.tcp://localhost:37564/")).CreateChannel ();
Assert.AreEqual (5, cli.Add (1, 4));
Assert.AreEqual ("monkey science", cli.Join ("monkey", "science"));
} finally {
host.Close (TimeSpan.FromSeconds (5));
- var t = new TcpListener (808);
+ var t = new TcpListener (37564);
t.Start ();
t.Stop ();
}
var host = new ServiceHost (typeof (AllActions),
new Uri ("http://localhost:37564"));
var se = host.AddServiceEndpoint (typeof (AllActions),
- new BasicHttpBinding (), "/foobar");
+ new BasicHttpBinding (), "foobar");
Assert.AreEqual ("http://localhost:37564/foobar", se.Address.Uri.AbsoluteUri, "#1");
Assert.AreEqual ("http://localhost:37564/foobar", se.ListenUri.AbsoluteUri, "#2");
}
public void AddServiceEndpoint5 ()
{
ServiceHost host = new ServiceHost (typeof (Baz), new Uri ("http://localhost/echo"));
- // Full type name is expected here.
+
+ // Full type name is expected here (see AddServiceEndpoint4).
host.AddServiceEndpoint ("IBaz", new BasicHttpBinding (), "rel");
}
public void AddServiceEndpointMetadataExchange ()
{
ServiceHost host = new ServiceHost (typeof (MyMetadataExchange));
+ // strange, but unlike above, it is accepted. The only difference I can see is the binding name.
host.AddServiceEndpoint ("IMetadataExchange",
new BasicHttpBinding (),
"http://localhost:8080");
System.ServiceModel.Description/ContractDescriptionGenerator.cs
System.ServiceModel.Description/FaultDescription.cs
System.ServiceModel.Description/FaultDescriptionCollection.cs
+System.ServiceModel.Description/IEndpointBehavior.cs
+System.ServiceModel.Description/IOperationBehavior.cs
System.ServiceModel.Description/MessageBodyDescription.cs
System.ServiceModel.Description/MessageDescription.cs
System.ServiceModel.Description/MessageDescriptionCollection.cs
using System.Security;
using System.Security.Permissions;
using System.Diagnostics;
+using System.Runtime;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
+using System.Runtime.Versioning;
+using System.Web;
// General Information about the System.Web.Abstractions assembly
// v3.5 Assembly
[assembly: AssemblyKeyFile ("../winfx.pub")]
[assembly: ComVisible (false)]
+#if !NET_4_0
[assembly: ComCompatibleVersion (1, 0, 3300, 0)]
+#endif
[assembly: AllowPartiallyTrustedCallers]
[assembly: CompilationRelaxations (CompilationRelaxations.NoStringInterning)]
// FIXME: We get collisions with this internalsVisibleTo because of Consts.cs and MonoTodo
//[assembly: InternalsVisibleTo ("System.ServiceModel.Web, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
+
+#if NET_4_0
+[assembly: AssemblyTargetedPatchBand ("1.0.21-0")]
+[assembly: Dependency ("System.Web,", LoadHint.Always)]
+[assembly: TargetFramework (".NETFramework,Version=v4.0")]
+[assembly: SecurityRules (SecurityRuleSet.Level2, SkipVerificationInFullTrust = true)]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpStaticObjectsCollectionBase))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpStaticObjectsCollectionWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpContextWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpContextBase))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpFileCollectionBase))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpPostedFileBase))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpFileCollectionWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpCachePolicyWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpApplicationStateWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpApplicationStateBase))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpBrowserCapabilitiesBase))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpCachePolicyBase))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpBrowserCapabilitiesWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpPostedFileWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpSessionStateWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpServerUtilityBase))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpSessionStateBase))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpServerUtilityWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpRequestBase))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpRequestWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpResponseWrapper))]
+[assembly: TypeForwardedTo (typeof (System.Web.HttpResponseBase))]
+#endif
+2010-02-12 Marek Habersack <mhabersack@novell.com>
+
+ * AssemblyInfo.cs: added 4.0 attributes
+
2008-09-09 Atsushi Enomoto <atsushi@ximian.com>
* AssemblyInfo.cs : fixed key file.
+../../System.Web.DynamicData/Test/Common/AssertExtensions.cs
System.Web/HttpApplicationStateBaseTest.cs
+System.Web/HttpFileCollectionWrapperTest.cs
+2010-02-18 Marek Habersack <mhabersack@novell.com>
+
+ * HttpFileCollectionWrapper.cs: Get (string) and this [string]
+ don't throw ArgumentNullException for non-existing entries. Fixes
+ bug #579241. Patch from Peter Johanson <peter@peterjohanson.com>,
+ thanks!
+
+2010-01-20 Marek Habersack <mhabersack@novell.com>
+
+ * HttpContextBase.cs: implemented RemapHandler and
+ SetSessionStateBehavior 4.0 APIs.
+
2009-07-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
* HttpResponseWrapper.cs: removed a few TODO/NotImplemented.
using System.Security.Principal;
using System.Web.Caching;
using System.Web.Profile;
+using System.Web.SessionState;
namespace System.Web
{
NotImplemented ();
return null;
}
-
+#if NET_4_0
+ public virtual void RemapHandler (IHttpHandler handler)
+ {
+ NotImplemented ();
+ }
+#endif
public virtual void RewritePath (string path)
{
NotImplemented ();
{
NotImplemented ();
}
+#if NET_4_0
+ public virtual void SetSessionStateBehavior (SessionStateBehavior sessionStateBehavior)
+ {
+ NotImplemented ();
+ }
+#endif
}
}
public override HttpPostedFileBase Get (int index)
{
- return new HttpPostedFileWrapper (w.Get (index));
+ HttpPostedFile file = w.Get (index);
+ if (file == null)
+ return null;
+
+ return new HttpPostedFileWrapper (file);
}
public override HttpPostedFileBase Get (string name)
{
- return new HttpPostedFileWrapper (w.Get (name));
+ HttpPostedFile file = w.Get (name);
+ if (file == null)
+ return null;
+
+ return new HttpPostedFileWrapper (file);
}
public override IEnumerator GetEnumerator ()
+2010-02-18 Marek Habersack <mhabersack@novell.com>
+
+ * HttpFileCollectionWrapperTest.cs: added
+
2008-09-09 Atsushi Enomoto <atsushi@ximian.com>
* HttpApplicationStateBaseTest.cs : test. Actually I find those
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// Copyright (C) 2010 Novell Inc. http://novell.com
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Web;
+using NUnit.Framework;
+
+using MonoTests.Common;
+
+namespace MonoTests.System.Web
+{
+ [TestFixture]
+ public class HttpFileCollectionWrapperTest
+ {
+ [Test]
+ public void Get_String ()
+ {
+ var req = new HttpRequest ("default.aspx", "http://localhost/default.aspx", String.Empty);
+ var files = req.Files;
+ var wrapper = new HttpFileCollectionWrapper (files);
+
+ Assert.IsNull (wrapper.Get ("DoesNotExist"), "#A1");
+ Assert.IsNull (wrapper.Get (null), "#A2");
+ }
+
+ [Test]
+ public void Get_Int ()
+ {
+ var req = new HttpRequest ("default.aspx", "http://localhost/default.aspx", String.Empty);
+ var files = req.Files;
+ var wrapper = new HttpFileCollectionWrapper (files);
+
+ AssertExtensions.Throws<ArgumentOutOfRangeException> (() => {
+ wrapper.Get (0);
+ }, "#A1");
+ }
+
+ [Test]
+ public void Item_String ()
+ {
+ var req = new HttpRequest ("default.aspx", "http://localhost/default.aspx", String.Empty);
+ var files = req.Files;
+ var wrapper = new HttpFileCollectionWrapper (files);
+
+ Assert.IsNull (wrapper ["DoesNotExist"], "#A1");
+ Assert.IsNull (wrapper [null], "#A2");
+ }
+
+ [Test]
+ public void Item_Int ()
+ {
+ var req = new HttpRequest ("default.aspx", "http://localhost/default.aspx", String.Empty);
+ var files = req.Files;
+ var wrapper = new HttpFileCollectionWrapper (files);
+
+ AssertExtensions.Throws<ArgumentOutOfRangeException> (() => {
+ var f = wrapper [0];
+ }, "#A1");
+ }
+ }
+}
namespace MonoTests.Common
{
- delegate void AssertThrowsDelegate ();
+ delegate void AssertThrowsDelegate();
static class AssertExtensions
{
+ public static void AreEqual (byte[] expected, byte[] data, string message)
+ {
+ if (expected == null) {
+ if (data == null)
+ return;
+ Assert.Fail ("{0}{1}Expected: null{1}Got: byte array with {2} elements and of rank {3}{1}",
+ message, Environment.NewLine, data.Length, data.Rank);
+ }
+
+ if (data == null)
+ Assert.Fail ("{0}{1}Expected: byte array with {2} elements and rank {3}{1}Got: null{1}",
+ message, Environment.NewLine, expected.Length, expected.Rank);
+
+ if (expected.Rank > 1)
+ Assert.Fail ("Only single-dimensional arrays are supported.");
+
+ if (expected.Rank != data.Rank || expected.Length != data.Length)
+ Assert.Fail ("{0}{1}Expected: byte array with {2} elements and rank {3}{1}Got: byte array with {4} elements and rank {5}{1}",
+ message, Environment.NewLine, expected.Length, expected.Rank, data.Length, data.Rank);
+
+ int max = expected.Length;
+ for (int i = 0; i < max; i++) {
+ if (expected[i] != data[i])
+ Assert.Fail ("{0}{1}Arrays differ at index {2}.{1}Expected 0x{3:X} got 0x{4:X}{1}",
+ message, Environment.NewLine, i, expected[i], data[i]);
+ }
+ }
+
public static void Throws<ET> (AssertThrowsDelegate code, string message)
{
- Throws (typeof (ET), code, message);
+ Throws(typeof(ET), code, message);
}
- public static void Throws (Type exceptionType, AssertThrowsDelegate code, string message)
+ public static void Throws(Type exceptionType, AssertThrowsDelegate code, string message)
{
if (code == null)
- Assert.Fail ("No code provided for the test.");
+ Assert.Fail("No code provided for the test.");
Exception exception = null;
- try {
- code ();
- } catch (Exception ex) {
+ try
+ {
+ code();
+ }
+ catch (Exception ex)
+ {
exception = ex;
}
- if (exceptionType == null) {
+ if (exceptionType == null)
+ {
if (exception == null)
- Assert.Fail ("{0}{1}Expected: any exception thrown{1}But was: no exception thrown{1}",
+ Assert.Fail("{0}{1}Expected: any exception thrown{1}But was: no exception thrown{1}",
message, Environment.NewLine);
return;
}
- if (exception == null || exception.GetType () != exceptionType)
- Assert.Fail ("{0}{1}Expected: {2}{1}But was: {3}{1}{4}{1}",
+ if (exception == null || exception.GetType() != exceptionType)
+ Assert.Fail("{0}{1}Expected: {2}{1}But was: {3}{1}{4}{1}",
message,
Environment.NewLine,
exceptionType,
- exception == null ? "no exception" : exception.GetType ().ToString (),
- exception == null ? "no exception" : exception.ToString ());
+ exception == null ? "no exception" : exception.GetType().ToString(),
+ exception == null ? "no exception" : exception.ToString());
}
- public static void Throws (AssertThrowsDelegate code, string message)
+ public static void Throws(AssertThrowsDelegate code, string message)
{
- Throws (null, code, message);
+ Throws(null, code, message);
}
}
}
+2010-01-22 Marek Habersack <mhabersack@novell.com>
+
+ * AssertExtensions.cs: added AreEqual method for comparing byte
+ arrays.
+
2009-09-18 Marek Habersack <mhabersack@novell.com>
* TestsBasePage.cs: added an event ItemDataBinding, invoked
../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjaxTimer.debug.js \
../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjaxTimer.js \
../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjaxWebForms.debug.js\
- ../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjaxWebForms.js
+ ../MicrosoftAjaxLibrary/System.Web.Extensions/1.0.61025.0/MicrosoftAjaxWebForms.js \
+ Resources/MicrosoftAjaxExtension.js \
+ Resources/MicrosoftAjaxWebFormsExtension.js
NUNIT_RESOURCE_FILES= \
Test/resources/Web.mono.config \
+2010-02-02 Marek Habersack <mhabersack@novell.com>
+
+ * ScriptManager.cs: adjusted script rendering to match .NET
+ formatting.
+
+ * ScriptComponentDescriptor.cs: GetScript adds ID value (if
+ present) to the set of properties.
+ GetScript rewritten to use StringBuilder.
+
+ * ScriptBehaviorDescriptor.cs: GetScript adds Name, if present and
+ set by the user, to the descriptor's set of properties. The name
+ must be rendered to the client.
+
2009-09-28 Marek Habersack <mhabersack@novell.com>
* UpdatePanel.cs: RenderChildren stores the alternative writer in
public class ScriptBehaviorDescriptor : ScriptComponentDescriptor
{
string _name;
-
+ bool _nameSet;
+
public ScriptBehaviorDescriptor (string type, string elementID)
: base (type) {
if (String.IsNullOrEmpty (elementID))
}
set {
_name = value;
+ _nameSet = true;
}
}
return Type;
}
- protected internal override string GetScript () {
+ protected internal override string GetScript ()
+ {
+ if (_nameSet && !String.IsNullOrEmpty (_name))
+ AddProperty ("name", _name);
+
return base.GetScript ();
}
}
AddEntry (ref _properties, String.Format ("\"{0}\"", name), script);
}
-
+
void AddEntry (ref IDictionary<string, string> dictionary, string key, string value) {
if (dictionary == null)
dictionary = new SortedDictionary<string, string> ();
dictionary [key] = value;
}
- protected internal override string GetScript () {
- if (String.IsNullOrEmpty (FormID)) {
- if (String.IsNullOrEmpty (ElementIDInternal))
- return String.Format ("$create({0}, {1}, {2}, {3});", Type, GetSerializedProperties (), GetSerializedEvents (), GetSerializedReferences ());
- else
- return String.Format ("$create({0}, {1}, {2}, {3}, $get(\"{4}\"));", Type, GetSerializedProperties (), GetSerializedEvents (), GetSerializedReferences (), ElementIDInternal);
- }
- else {
- if (String.IsNullOrEmpty (ElementIDInternal))
- return String.Format ("$create($get(\"{0}\"), {1}, {2}, {3}, {4});", FormID, Type, GetSerializedProperties (), GetSerializedEvents (), GetSerializedReferences ());
- else
- return String.Format ("$create($get(\"{0}\"), {1}, {2}, {3}, {4}, $get(\"{5}\"));", FormID, Type, GetSerializedProperties (), GetSerializedEvents (), GetSerializedReferences (), ElementIDInternal);
- }
+ protected internal override string GetScript ()
+ {
+ string id = ID;
+ if (id != String.Empty)
+ AddProperty ("id", id);
+
+ bool haveFormID = String.IsNullOrEmpty (FormID) == false;
+ bool haveElementID = String.IsNullOrEmpty (ElementIDInternal) == false;
+ var sb = new StringBuilder ("$create(");
+
+ if (haveFormID)
+ sb.Append ("$get(\"");
+ sb.Append (Type);
+ if (haveFormID)
+ sb.Append ("\")");
+
+ WriteSerializedProperties (sb);
+ WriteSerializedEvents (sb);
+ WriteSerializedReferences (sb);
+
+ if (haveElementID)
+ sb.AppendFormat (", $get(\"{0}\")", ElementIDInternal);
+
+ sb.Append (");");
+
+ return sb.ToString ();
}
- internal static string SerializeDictionary (IDictionary<string, string> dictionary) {
+ internal static string SerializeDictionary (IDictionary<string, string> dictionary)
+ {
if (dictionary == null || dictionary.Count == 0)
return "null";
StringBuilder sb = new StringBuilder ("{");
- foreach (string key in dictionary.Keys) {
+ foreach (string key in dictionary.Keys)
sb.AppendFormat ("{0}:{1},", key, dictionary [key]);
- }
sb.Length--;
sb.Append ("}");
return sb.ToString ();
}
- string GetSerializedProperties () {
- return SerializeDictionary (_properties);
+ void WriteSerializedProperties (StringBuilder sb)
+ {
+ sb.Append (", ");
+ sb.Append (SerializeDictionary (_properties));
}
- string GetSerializedEvents () {
- return SerializeDictionary (_events);
+ void WriteSerializedEvents (StringBuilder sb)
+ {
+ sb.Append (", ");
+ sb.Append (SerializeDictionary (_events));
}
- string GetSerializedReferences () {
- return SerializeDictionary (_references);
+ void WriteSerializedReferences (StringBuilder sb)
+ {
+ sb.Append (", ");
+ sb.Append (SerializeDictionary (_references));
}
}
}
\ No newline at end of file
RegisterScriptDescriptors ((Control) scriptControl, scriptControl.GetScriptDescriptors ());
}
- void RegisterScriptDescriptors (Control control, IEnumerable<ScriptDescriptor> scriptDescriptors) {
+ void RegisterScriptDescriptors (Control control, IEnumerable<ScriptDescriptor> scriptDescriptors)
+ {
if (scriptDescriptors == null)
return;
}
else
sb.AppendLine ("Sys.Application.add_init(function() {");
+ sb.Append ("\t");
sb.AppendLine (scriptDescriptor.GetScript ());
sb.AppendLine ("});");
}
--- /dev/null
+2010-02-02 Marek Habersack <mhabersack@novell.com>
+
+ * ScriptBehaviorDescriptorTest.cs,
+ ScriptComponentDescriptorTest.cs: added tests for rendering of the
+ Name and ID properties.
+
}
[Test]
- public void ScriptBehaviorDescriptor_Defaults () {
+ public void ScriptBehaviorDescriptor_Defaults ()
+ {
PokerScriptBehaviorDescriptor scd = new PokerScriptBehaviorDescriptor ("My.Type", "Element1");
Assert.AreEqual ("My.Type", scd.Type, "Type");
Assert.AreEqual ("Element1", scd.ElementID, "ElementID");
string script = scd.DoGetScript ();
- Assert.AreEqual ("$create(My.Type, null, null, null, $get(\"Element1\"));", script);
+ Assert.AreEqual ("$create(My.Type, null, null, null, $get(\"Element1\"));", script, "#A1");
+
+ scd.ID = "SomeID";
+ script = scd.DoGetScript ();
+ Assert.AreEqual ("$create(My.Type, {\"id\":\"SomeID\"}, null, null, $get(\"Element1\"));", script, "#A2");
+
+ scd.Name = "SomeName";
+ script = scd.DoGetScript ();
+ Assert.AreEqual ("$create(My.Type, {\"id\":\"SomeID\",\"name\":\"SomeName\"}, null, null, $get(\"Element1\"));", script, "#A3");
}
[Test]
}
[Test]
- public void ScriptComponentDescriptor_Defaults () {
+ public void ScriptComponentDescriptor_Defaults ()
+ {
PokerScriptComponentDescriptor scd = new PokerScriptComponentDescriptor ("My.Type");
Assert.AreEqual ("My.Type", scd.Type, "Type");
Assert.AreEqual (String.Empty, scd.ClientID, "ClientID");
string script = scd.DoGetScript ();
- Assert.AreEqual ("$create(My.Type, null, null, null);", script);
+ Assert.AreEqual ("$create(My.Type, null, null, null);", script, "#A1");
+
+ scd.ID = "SomeID";
+ script = scd.DoGetScript ();
+ Assert.AreEqual ("$create(My.Type, {\"id\":\"SomeID\"}, null, null);", script, "#A2");
}
[Test]
+2010-02-17 Marek Habersack <mhabersack@novell.com>
+
+ * Makefile: RESX_RES is no more, it was replaced with
+ RESOURCES. Fixes bug #580594
+
2009-08-13 Marek Habersack <mhabersack@novell.com>
* Makefile: build only in the 2.0 profile, or otherwise we'll end
/r:System.Web.Abstractions.dll \
/r:System.Web.Routing.dll \
/r:System.Web.Extensions.dll \
- $(foreach r, $(RESX_RES), /resource:$(r),System.Web.Mvc.Resources.$(notdir $(r)))
+ $(foreach r, $(RESOURCES), /resource:$(r),System.Web.Mvc.Resources.$(notdir $(r)))
ifeq (2.0, $(FRAMEWORK_VERSION))
# This is a .NET 3.5 only assembly, but built during the 2.0 build
LIB_MCS_FLAGS += -d:NET_3_5 -d:MONO
endif
-EXTRA_DISTFILES = $(RESX_DIST)
+EXTRA_DISTFILES = $(RESX_DIST) license.htm
# This is a .NET 3.5+ assembly - it must be built ONLY in the 2.0 profile
VALID_PROFILE := $(filter net_2_0, $(PROFILE))
include ../../build/library.make
-$(the_lib): $(RESOURCES)
+$(build_lib): $(RESOURCES)
$(RESOURCES): %.resources: %.resx
$(RESGEN) `echo $< | $(PLATFORM_CHANGE_SEPARATOR_CMD)`
using System.Security;
using System.Security.Permissions;
using System.Diagnostics;
+using System.Runtime;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
+using System.Runtime.Versioning;
+using System.Web.Routing;
// General Information about the System.Web.Routing assembly
// v3.5 Assembly
[assembly: AssemblyKeyFile ("../winfx.pub")]
[assembly: ComVisible (false)]
+#if !NET_4_0
[assembly: ComCompatibleVersion (1, 0, 3300, 0)]
+#endif
[assembly: AllowPartiallyTrustedCallers]
[assembly: CompilationRelaxations (CompilationRelaxations.NoStringInterning)]
// FIXME: We get collisions with this internalsVisibleTo because of Consts.cs and MonoTodo
//[assembly: InternalsVisibleTo ("System.ServiceModel.Web, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
+
+#if NET_4_0
+[assembly: AssemblyTargetedPatchBandAttribute ("1.0.21-0")]
+[assembly: Dependency ("System.Web,", LoadHint.Always)]
+[assembly: TargetFramework (".NETFramework,Version=v4.0")]
+[assembly: SecurityRules (SecurityRuleSet.Level2, SkipVerificationInFullTrust = true)]
+[assembly: SecurityTransparent]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.RouteBase))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.RouteCollection))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.RouteData))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.Route))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.IRouteConstraint))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.IRouteHandler))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.RequestContext))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.UrlRoutingModule))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.UrlRoutingHandler))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.HttpMethodConstraint))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.VirtualPathData))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.RouteTable))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.RouteDirection))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.StopRoutingHandler))]
+[assembly: TypeForwardedToAttribute (typeof (System.Web.Routing.RouteValueDictionary))]
+#endif
+2010-02-12 Marek Habersack <mhabersack@novell.com>
+
+ * AssemblyInfo.cs: added 4.0 attributes
+
2008-09-11 Atsushi Enomoto <atsushi@ximian.com>
* AssemblyInfo.cs : fixed pubkey file.
+2010-02-01 Jb Evain <jbevain@novell.com>
+
+ * SoapProtocolImporter.cs: properly generate the SoapHeader
+ attribute on NET_2_0.
+
2009-09-30 Miguel de Icaza <miguel@novell.com>
* ExtensionManager.cs: Initialize the NET_2_0 pieces with
codeProperty.SetStatements.Add (new CodeAssignStatement (ce, new CodePropertySetValueReferenceExpression()));
codeProperty.GetStatements.Add (new CodeMethodReturnStatement (ce));
CodeTypeDeclaration.Members.Add (codeProperty);
+
+ varName = propName;
#else
codeField.Attributes = MemberAttributes.Public;
#endif
+2010-02-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * SoapDocumentationHandler.cs: use IndexOf() instead of LastIndexOf()
+ when removing the querystring from the url.
+
2009-10-16 Miguel de Icaza <miguel@novell.com>
* ServerType.cs: Do not use Activator.CreateInstance, use the call
public SoapDocumentationHandler (Type type, HttpContext context): base (type)
{
_url = context.Request.Url.ToString();
- int i = _url.LastIndexOf ('?');
+ int i = _url.IndexOf ('?');
if (i != -1) _url = _url.Substring (0,i);
_typeStubInfo = (SoapTypeStubInfo) TypeStubManager.GetTypeStub (ServiceType, "Soap");
#endif
[assembly: InternalsVisibleTo ("SystemWebTestShim, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
+[assembly: InternalsVisibleTo ("System.Web_test_net_2_0, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
+[assembly: InternalsVisibleTo ("System.Web_test_net_4_0, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
// Resources
+2010-02-03 Marek Habersack <mhabersack@novell.com>
+
+ * AssemblyInfo.cs: added back InternalsVisibleTo for the test
+ assembly - it's needed to access CacheItemPriorityQueue
+
2009-07-07 Raja R Harinath <harinath@hurrynot.org>
* AssemblyInfo.cs: Don't make internals visible to System.Web_test.
+2010-02-18 Marek Habersack <mhabersack@novell.com>
+
+ * Makefile (TEST_RESOURCE_FILES): added
+ Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_1.aspx,
+ Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_2.aspx and
+ Test/mainsoft/NunitWebResources/CheckBoxList_Bug578770.aspx
+
+2010-02-12 Marek Habersack <mhabersack@novell.com>
+
+ * Makefile (EXTRA_DISTFILES): ignore .svn directories
+
+2010-02-11 Marek Habersack <mhabersack@novell.com>
+
+ * System.Web_test.dll.sources: added
+ mainsoft/NunitWeb/NunitWeb/TestRoleProvider.cs
+
2010-01-19 Marek Habersack <mhabersack@novell.com>
* Makefile (TEST_RESOURCE_FILES): added
Test/mainsoft/NunitWebResources/App_GlobalResources/Common.resx \
Test/mainsoft/NunitWebResources/App_GlobalResources/Common.fr-FR.resx \
Test/mainsoft/NunitWebResources/App_GlobalResources/Resource1.resx \
+ Test/mainsoft/NunitWebResources/App_Code/EnumConverterControl.cs \
Test/mainsoft/NunitWebResources/menuclass.aspx \
Test/mainsoft/NunitWebResources/FormView.aspx \
Test/mainsoft/NunitWebResources/PostBackMenuTest.aspx \
Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx \
Test/mainsoft/NunitWebResources/StateFormatter_CollectionConverter.aspx.cs \
Test/mainsoft/NunitWebResources/ChangePasswordContainer_FindControl.aspx \
- Test/mainsoft/NunitWebResources/TagWithExpressionWithinAttribute.aspx
+ Test/mainsoft/NunitWebResources/TagWithExpressionWithinAttribute.aspx \
+ Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_1.aspx \
+ Test/mainsoft/NunitWebResources/CheckBoxList_Bug377703_2.aspx \
+ Test/mainsoft/NunitWebResources/CheckBoxList_Bug578770.aspx \
+ Test/mainsoft/NunitWebResources/EnumConverter_Bug578586.aspx \
+ Test/mainsoft/NunitWebResources/ButtonColor_Bug325489.aspx \
+ Test/mainsoft/NunitWebResources/SqlDataSource_OnInit_Bug572781.aspx
RESX_DIST = resources/TranslationResources.resx
ifneq (1, $(FRAMEWORK_VERSION_MAJOR))
SQLiteProviders_DatabaseSchema.sql \
$(shell find Test/standalone-runner-support/ -name "*.cs" -type f -printf "'%p' ") \
$(shell find Test/standalone-tests/ -name "*.cs" -type f -printf "'%p' " -o -name "*.cs.in" -type f -printf "'%p' ") \
- $(shell find Test/standalone/ -type f -printf "'%p' ") \
- $(shell find Test/tools/ -type f -printf "'%p' ") \
+ $(shell find Test/standalone/ -not -name .svn -prune -o -printf "'%p' ") \
+ $(shell find Test/tools/ -not -name .svn -prune -o -printf "'%p' ") \
System.Web_standalone_test.dll.sources \
- standalone-runner-support.dll.sources
+ standalone-runner-support.dll.sources \
+ ASPState.sql
BUILT_SOURCES = System.Web/UplevelHelper.cs
CLASSLIB_DIR = $(topdir)/class/lib/$(PROFILE)
-STANDALONE_RUNNER_SUPPORT_MCS_FLAGS = -d:STANDALONE_TEST -debug:full -r:System.Web.dll -r:nunit.framework.dll
+STANDALONE_RUNNER_SUPPORT_MCS_FLAGS = $(LIB_MCS_FLAGS) $(PROFILE_MCS_FLAGS) -d:STANDALONE_TEST -debug:full -r:System.Web.dll -r:nunit.framework.dll
STANDALONE_RUNNER_SUPPORT_ASSEMBLY = $(CLASSLIB_DIR)/standalone-runner-support.dll
STANDALONE_RUNNER_SUPPORT_MAKEFRAG = $(depsdir)/$(PROFILE)_standalone-runner-support.dll.makefrag
-STANDALONE_TEST_MCS_FLAGS = -debug:full -r:$(STANDALONE_RUNNER_SUPPORT_ASSEMBLY) -r:System.Web.dll -r:nunit.framework.dll
+STANDALONE_TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) $(PROFILE_MCS_FLAGS) -debug:full -r:$(STANDALONE_RUNNER_SUPPORT_ASSEMBLY) -r:System.Web.dll -r:nunit.framework.dll
STANDALONE_TEST_ASSEMBLY = System.Web_standalone_test_$(PROFILE).dll
STANDALONE_TEST_MAKEFRAG = $(depsdir)/$(STANDALONE_TEST_ASSEMBLY).makefrag
return sb.ToString ();
}
+ protected override void DependencyDispose ()
+ {
+ // MSDN doesn't document it as being part of the class, but assembly
+ // comparison shows that it does exist in this type, so we're just calling
+ // the base class here
+ base.DependencyDispose ();
+ }
+
internal override void DependencyDisposeInternal ()
{
if (dependencies != null && dependencies.Count > 0)
CacheItem ret = null;
if (!cache.TryGetValue (key, out ret))
return null;
+ if (timedItems != null)
+ timedItems.OnItemDisable (ret);
+
ret.Disabled = true;
cache.Remove (key);
if (it != null)
return it.Value;
- Insert (key, value, dependencies, absoluteExpiration, slidingExpiration, priority, onRemoveCallback, false);
+ Insert (key, value, dependencies, absoluteExpiration, slidingExpiration, priority, onRemoveCallback, null, false);
} finally {
if (locked)
cacheLock.ExitWriteLock ();
if (it.Dependency != null && it.Dependency.HasChanged) {
try {
cacheLock.EnterWriteLock ();
- Remove (it.Key, CacheItemRemovedReason.DependencyChanged, false);
+ if (!NeedsUpdate (it, CacheItemUpdateReason.DependencyChanged, false))
+ Remove (it.Key, CacheItemRemovedReason.DependencyChanged, false, true);
} finally {
cacheLock.ExitWriteLock ();
}
} else if (DateTime.Now >= it.AbsoluteExpiration) {
try {
cacheLock.EnterWriteLock ();
- Remove (key, CacheItemRemovedReason.Expired, false);
+ if (!NeedsUpdate (it, CacheItemUpdateReason.Expired, false))
+ Remove (key, CacheItemRemovedReason.Expired, false, true);
} finally {
cacheLock.ExitWriteLock ();
}
public void Insert (string key, object value)
{
- Insert (key, value, null, NoAbsoluteExpiration, NoSlidingExpiration, CacheItemPriority.Normal, null, true);
+ Insert (key, value, null, NoAbsoluteExpiration, NoSlidingExpiration, CacheItemPriority.Normal, null, null, true);
}
public void Insert (string key, object value, CacheDependency dependencies)
{
- Insert (key, value, dependencies, NoAbsoluteExpiration, NoSlidingExpiration, CacheItemPriority.Normal, null, true);
+ Insert (key, value, dependencies, NoAbsoluteExpiration, NoSlidingExpiration, CacheItemPriority.Normal, null, null, true);
}
public void Insert (string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration)
{
- Insert (key, value, dependencies, absoluteExpiration, slidingExpiration, CacheItemPriority.Normal, null, true);
+ Insert (key, value, dependencies, absoluteExpiration, slidingExpiration, CacheItemPriority.Normal, null, null, true);
+ }
+
+ public void Insert (string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration,
+ CacheItemUpdateCallback onUpdateCallback)
+ {
+ Insert (key, value, dependencies, absoluteExpiration, slidingExpiration, CacheItemPriority.Normal, null, onUpdateCallback, true);
}
public void Insert (string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration,
CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback)
{
- Insert (key, value, dependencies, absoluteExpiration, slidingExpiration, CacheItemPriority.Normal, onRemoveCallback, true);
+ Insert (key, value, dependencies, absoluteExpiration, slidingExpiration, priority, onRemoveCallback, null, true);
}
void Insert (string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration,
- CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback, bool doLock)
+ CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback, CacheItemUpdateCallback onUpdateCallback, bool doLock)
{
if (key == null)
throw new ArgumentNullException ("key");
}
ci.Priority = priority;
- SetItemTimeout (ci, absoluteExpiration, slidingExpiration, onRemoveCallback, key, doLock);
+ SetItemTimeout (ci, absoluteExpiration, slidingExpiration, onRemoveCallback, onUpdateCallback, key, doLock);
}
internal void SetItemTimeout (string key, DateTime absoluteExpiration, TimeSpan slidingExpiration, bool doLock)
ci = GetCacheItem (key);
if (ci != null)
- SetItemTimeout (ci, absoluteExpiration, slidingExpiration, ci.OnRemoveCallback, null, false);
+ SetItemTimeout (ci, absoluteExpiration, slidingExpiration, ci.OnRemoveCallback, null, key, false);
} finally {
if (locked) {
cacheLock.ExitWriteLock ();
}
void SetItemTimeout (CacheItem ci, DateTime absoluteExpiration, TimeSpan slidingExpiration, CacheItemRemovedCallback onRemoveCallback,
- string key, bool doLock)
+ CacheItemUpdateCallback onUpdateCallback, string key, bool doLock)
{
bool disableExpiration = DisableExpiration;
}
ci.OnRemoveCallback = onRemoveCallback;
+ ci.OnUpdateCallback = onUpdateCallback;
bool locked = false;
try {
expirationTimerPeriod = 4294967294;
else
expirationTimerPeriod = remaining;
-
+
if (expirationTimer == null)
expirationTimer = new Timer (new TimerCallback (ExpireItems), null, expirationTimerPeriod, expirationTimerPeriod);
- else if (expirationTimerPeriod > remaining)
+ else
expirationTimer.Change (expirationTimerPeriod, expirationTimerPeriod);
timedItems.Enqueue (item);
public object Remove (string key)
{
- return Remove (key, CacheItemRemovedReason.Removed, true);
+ return Remove (key, CacheItemRemovedReason.Removed, true, true);
}
- object Remove (string key, CacheItemRemovedReason reason, bool doLock)
+ object Remove (string key, CacheItemRemovedReason reason, bool doLock, bool invokeCallback)
{
CacheItem it = null;
bool locked = false;
it.Dependency.DependencyChanged -= new EventHandler (OnDependencyChanged);
it.Dependency.Dispose ();
}
- if (it.OnRemoveCallback != null) {
+ if (invokeCallback && it.OnRemoveCallback != null) {
try {
it.OnRemoveCallback (key, it.Value, reason);
} catch {
it.Key = null;
it.Dependency = null;
it.OnRemoveCallback = null;
+ it.OnUpdateCallback = null;
return ret;
} else
CheckDependencies ();
}
+ bool NeedsUpdate (CacheItem item, CacheItemUpdateReason reason, bool needLock)
+ {
+ bool locked = false;
+
+ try {
+ if (needLock) {
+ cacheLock.EnterWriteLock ();
+ locked = true;
+ }
+
+ if (item == null || item.OnUpdateCallback == null)
+ return false;
+
+ object expensiveObject;
+ CacheDependency dependency;
+ DateTime absoluteExpiration;
+ TimeSpan slidingExpiration;
+ string key = item.Key;
+ CacheItemUpdateCallback updateCB = item.OnUpdateCallback;
+
+ updateCB (key, reason, out expensiveObject, out dependency, out absoluteExpiration, out slidingExpiration);
+ if (expensiveObject == null)
+ return false;
+
+ CacheItemPriority priority = item.Priority;
+ CacheItemRemovedCallback removeCB = item.OnRemoveCallback;
+ CacheItemRemovedReason whyRemoved;
+
+ switch (reason) {
+ case CacheItemUpdateReason.Expired:
+ whyRemoved = CacheItemRemovedReason.Expired;
+ break;
+
+ case CacheItemUpdateReason.DependencyChanged:
+ whyRemoved = CacheItemRemovedReason.DependencyChanged;
+ break;
+
+ default:
+ whyRemoved = CacheItemRemovedReason.Removed;
+ break;
+ }
+
+ Remove (key, whyRemoved, false, false);
+ Insert (key, expensiveObject, dependency, absoluteExpiration, slidingExpiration, priority, removeCB, updateCB, false);
+
+ return true;
+ } catch (Exception) {
+ return false;
+ } finally {
+ if (locked)
+ cacheLock.ExitWriteLock ();
+ }
+ }
+
void ExpireItems (object data)
{
DateTime now = DateTime.Now;
CacheItem item = timedItems.Peek ();
+ bool locked = false;
+
+ try {
+ cacheLock.EnterWriteLock ();
+ locked = true;
+
+ while (item != null) {
+ if (!item.Disabled && item.ExpiresAt > now.Ticks)
+ break;
+ if (item.Disabled) {
+ item = timedItems.Dequeue ();
+ continue;
+ }
- while (item != null) {
- if (!item.Disabled && item.ExpiresAt > now.Ticks)
- break;
- if (item.Disabled) {
item = timedItems.Dequeue ();
- continue;
+ if (!NeedsUpdate (item, CacheItemUpdateReason.Expired, true))
+ Remove (item.Key, CacheItemRemovedReason.Expired, false, true);
+ item = timedItems.Peek ();
}
-
- item = timedItems.Dequeue ();
- Remove (item.Key, CacheItemRemovedReason.Expired, true);
- item = timedItems.Peek ();
+ } finally {
+ if (locked)
+ cacheLock.ExitWriteLock ();
}
if (item != null) {
long remaining = Math.Max (0, (long)(item.AbsoluteExpiration - now).TotalMilliseconds);
- if (expirationTimerPeriod > remaining) {
+ if (expirationTimerPeriod != remaining && remaining > 0) {
expirationTimerPeriod = remaining;
expirationTimer.Change (expirationTimerPeriod, expirationTimerPeriod);
}
return;
}
-
+
expirationTimer.Change (Timeout.Infinite, Timeout.Infinite);
expirationTimerPeriod = 0;
}
- void ItemExpired(object cacheItem) {
- CacheItem ci = (CacheItem)cacheItem;
- ci.Timer.Dispose();
- ci.Timer = null;
-
- Remove (ci.Key, CacheItemRemovedReason.Expired, true);
- }
-
internal void CheckDependencies ()
{
IList list;
list.Add (it);
foreach (CacheItem it in list) {
- if (it.Dependency != null && it.Dependency.HasChanged)
- Remove (it.Key, CacheItemRemovedReason.DependencyChanged, false);
+ if (it.Dependency != null && it.Dependency.HasChanged && !NeedsUpdate (it, CacheItemUpdateReason.DependencyChanged, false))
+ Remove (it.Key, CacheItemRemovedReason.DependencyChanged, false, true);
}
} finally {
if (locked) {
add { events.AddHandler (dependencyChangedEvent, value); }
remove { events.RemoveHandler (dependencyChangedEvent, value); }
}
-
- public CacheDependency (): this (null, null, null, DateTime.Now)
+
+#if NET_4_0
+ protected
+#else
+ public
+#endif
+ CacheDependency (): this (null, null, null, DateTime.Now)
{
}
public CacheDependency (string[] filenames, string[] cachekeys, CacheDependency dependency, DateTime start)
{
- if (filenames != null) {
- watchers = new FileSystemWatcher [filenames.Length];
- for (int n=0; n<filenames.Length; n++) {
+ int flen = filenames != null ? filenames.Length : 0;
+
+ if (flen > 0) {
+ watchers = new FileSystemWatcher [flen];
+ string filename;
+
+ for (int n = 0; n < flen; n++) {
+ filename = filenames [n];
+ if (String.IsNullOrEmpty (filename))
+ continue;
+
FileSystemWatcher watcher = new FileSystemWatcher ();
- if (Directory.Exists (filenames [n])) {
- watcher.Path = filenames [n];
- } else {
- string parentPath = Path.GetDirectoryName (filenames [n]);
+ if (Directory.Exists (filename))
+ watcher.Path = filename;
+ else {
+ string parentPath = Path.GetDirectoryName (filename);
if (parentPath != null && Directory.Exists (parentPath)) {
watcher.Path = parentPath;
- watcher.Filter = Path.GetFileName (filenames [n]);
+ watcher.Filter = Path.GetFileName (filename);
} else
continue;
}
public virtual string GetUniqueID ()
{
- StringBuilder sb = new StringBuilder ();
+ var sb = new StringBuilder ();
+
lock (locker) {
if (watchers != null)
foreach (FileSystemWatcher fsw in watchers)
if (fsw != null && fsw.Path != null && fsw.Path.Length != 0)
- sb.AppendFormat ("_{0}", fsw.Path);
+ sb.Append ("_" + fsw.Path);
}
if (cachekeys != null)
foreach (string key in cachekeys)
- sb.AppendFormat ("_{0}", key);
+ sb.AppendFormat ("_" + key);
return sb.ToString ();
}
bool DoOnChanged ()
{
- if (DateTime.Now < start)
+ DateTime now = DateTime.Now;
+
+ if (now < start)
return false;
hasChanged = true;
- utcLastModified = DateTime.UtcNow;
+ utcLastModified = now.ToUniversalTime ();
DisposeWatchers ();
if (cache != null)
{
OnDependencyChanged (sender, e);
}
-
-
}
}
public TimeSpan SlidingExpiration;
public CacheItemPriority Priority;
public CacheItemRemovedCallback OnRemoveCallback;
+ public CacheItemUpdateCallback OnUpdateCallback;
public DateTime LastChange;
public long ExpiresAt;
public bool Disabled;
-
public Timer Timer;
+ public Guid Guid;
+
+ public CacheItem ()
+ {
+ Guid = Guid.NewGuid ();
+ }
+
+ public override string ToString ()
+ {
+ return String.Format ("CacheItem [{0}]\n[{1}][{2}][{3}]", this.Guid, Key, Disabled, ExpiresAt > 0 ? new DateTime (ExpiresAt).ToString () : "0");
+ }
}
}
//
-// System.Web.Caching.CacheItem
-//
// Author(s):
// Marek Habersack <mhabersack@novell.com>
//
-// (C) 2009 Novell, Inc (http://novell.com)
+// (C) 2009-2010 Novell, Inc (http://novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
+using System.Collections.Generic;
+using System.IO;
using System.Text;
using System.Threading;
+using System.Xml;
namespace System.Web.Caching
{
- sealed class CacheItemPriorityQueue
+ sealed partial class CacheItemPriorityQueue
{
- sealed class Node
- {
- public CacheItem Data;
+ const int INITIAL_HEAP_SIZE = 32;
+ const int HEAP_RESIZE_THRESHOLD = 8192;
- public Node Left;
- public Node Right;
- public Node Parent;
- public Node Next;
- public Node Prev;
+ CacheItem[] heap;
+ int heapSize = 0;
+ int heapCount = 0;
+ ReaderWriterLockSlim queueLock;
- public CacheItem SwapData (CacheItem newData)
- {
- CacheItem ret = Data;
- Data = newData;
-
- return ret;
- }
+ public int Count {
+ get { return heapCount; }
+ }
- public Node (CacheItem data)
- {
- Data = data;
- }
+ public int Size {
+ get { return heapSize; }
}
- Node root;
- Node lastAdded;
- Node firstParent;
- Node lastParent;
-
-#if SYSTEMCORE_DEP
- ReaderWriterLockSlim queueLock;
-#endif
-
public CacheItemPriorityQueue ()
{
-#if SYSTEMCORE_DEP
queueLock = new ReaderWriterLockSlim ();
-#endif
+ InitDebugMode ();
+ }
+
+ CacheItem[] GetHeapWithGrow ()
+ {
+ if (heap == null) {
+ heap = new CacheItem [INITIAL_HEAP_SIZE];
+ heapSize = INITIAL_HEAP_SIZE;
+ heapCount = 0;
+ return heap;
+ }
+
+ if (heapCount >= heapSize) {
+ heapSize <<= 1;
+ Array.Resize <CacheItem> (ref heap, heapSize);
+ }
+
+ return heap;
+ }
+
+ CacheItem[] GetHeapWithShrink ()
+ {
+ if (heap == null)
+ return null;
+
+ if (heapSize > HEAP_RESIZE_THRESHOLD) {
+ int halfTheSize = heapSize >> 1;
+
+ if (heapCount < halfTheSize)
+ Array.Resize <CacheItem> (ref heap, halfTheSize + (heapCount / 3));
+ }
+
+ return heap;
}
public void Enqueue (CacheItem item)
if (item == null)
return;
-#if SYSTEMCORE_DEP
bool locked = false;
+ CacheItem[] heap;
+
try {
queueLock.EnterWriteLock ();
locked = true;
-#endif
- Node node = new Node (item);
- if (root == null) {
- root = lastAdded = lastParent = firstParent = node;
- return;
- }
-
- if (lastParent.Left != null && lastParent.Right != null) {
- lastParent = lastParent.Next;
- if (lastParent == null) {
- lastParent = firstParent = firstParent.Left;
- lastAdded = null;
-
- if (lastParent == null) {
- lastParent = root;
- firstParent = root;
- }
- }
- }
-
- node.Parent = lastParent;
- if (lastParent.Left == null)
- lastParent.Left = node;
- else
- lastParent.Right = node;
-
- if (lastAdded != null) {
- lastAdded.Next = node;
- node.Prev = lastAdded;
- }
-
- lastAdded = node;
- BubbleUp (node);
-#if SYSTEMCORE_DEP
+ heap = GetHeapWithGrow ();
+ heap [heapCount++] = item;
+ BubbleUp (heap);
+
+ AddSequenceEntry (item, EDSequenceEntryType.Enqueue);
} finally {
if (locked)
queueLock.ExitWriteLock ();
}
-#endif
}
public CacheItem Dequeue ()
{
CacheItem ret = null;
-#if SYSTEMCORE_DEP
+ CacheItem[] heap;
bool locked = false;
+ int index;
+
try {
queueLock.EnterWriteLock ();
locked = true;
-#endif
- if (root == null)
+ heap = GetHeapWithShrink ();
+ if (heap == null || heapCount == 0)
return null;
-
- if (root.Left == null && root.Right == null) {
- ret = root.Data;
- root = lastAdded = firstParent = lastParent = null;
- if (ret.Disabled)
- return null;
-
- return ret;
- }
-
- ret = root.Data;
- do {
- Node last = lastAdded;
- if (last == null)
- return null;
+ ret = heap [0];
+ index = --heapCount;
+ heap [0] = heap [index];
+ heap [index] = null;
- if (last.Prev == null) {
- Node parent = last.Parent;
- while (true) {
- if (parent.Next == null)
- break;
- parent = parent.Next;
- }
- lastAdded = parent;
- } else {
- lastAdded = last.Prev;
- lastAdded.Next = null;
- }
+ if (heapCount > 0)
+ BubbleDown (heap);
- if (last.Parent.Left == last)
- last.Parent.Left = null;
- else
- last.Parent.Right = null;
-
- root.Data = last.Data;
- BubbleDown (root);
- } while (ret.Disabled);
-#if SYSTEMCORE_DEP
+ AddSequenceEntry (ret, EDSequenceEntryType.Dequeue);
+ return ret;
} finally {
if (locked)
queueLock.ExitWriteLock ();
}
-#endif
- return ret;
}
public CacheItem Peek ()
{
-#if SYSTEMCORE_DEP
bool locked = false;
+ CacheItem ret;
+
try {
queueLock.EnterReadLock ();
locked = true;
-#endif
- if (root == null)
+ if (heap == null || heapCount == 0)
return null;
-#if SYSTEMCORE_DEP
+
+ ret = heap [0];
+ AddSequenceEntry (ret, EDSequenceEntryType.Peek);
+
+ return ret;
} finally {
if (locked)
queueLock.ExitReadLock ();
}
-#endif
- return root.Data;
}
- void BubbleDown (Node item)
- {
- if (item == null || (item.Left == null && item.Right == null))
- return;
-
- if (item.Left == null)
- SwapBubbleDown (item, item.Right);
- else if (item.Right == null)
- SwapBubbleDown (item, item.Left);
- else {
- if (item.Left.Data.ExpiresAt < item.Right.Data.ExpiresAt)
- SwapBubbleDown (item, item.Left);
- else
- SwapBubbleDown (item, item.Right);
- }
- }
-
- void SwapBubbleDown (Node item, Node otherItem)
+ void BubbleDown (CacheItem[] heap)
{
- if (otherItem.Data.ExpiresAt < item.Data.ExpiresAt) {
- item.Data = otherItem.SwapData (item.Data);
- BubbleDown (otherItem);
+ int index = 0;
+ int left = 1;
+ int right = 2;
+ CacheItem item = heap [0];
+ int selected = (right < heapCount && heap [right].ExpiresAt < heap [left].ExpiresAt) ? 2 : 1;
+
+ while (selected < heapCount && heap [selected].ExpiresAt < item.ExpiresAt) {
+ heap [index] = heap [selected];
+ index = selected;
+ left = (index << 1) + 1;
+ right = left + 1;
+ selected = right < heapCount && heap [right].ExpiresAt < heap [left].ExpiresAt ? right : left;
}
+ heap [index] = item;
}
- void BubbleUp (Node item)
+ void BubbleUp (CacheItem[] heap)
{
- if (item == null || item.Data == null)
- return;
-
- Node parent = item.Parent;
- if (parent == null)
- return;
+ int index, parentIndex;
+ CacheItem parent, item;
- if (item.Data.ExpiresAt > parent.Data.ExpiresAt)
+ if (heapCount <= 1)
return;
-
- item.Data = parent.SwapData (item.Data);
- BubbleUp (parent);
- }
-
- public string GetDotScript ()
- {
- StringBuilder sb = new StringBuilder ();
-
- sb.Append ("graph CacheItemPriorityQueue {\n");
- sb.Append ("\tnode [color=lightblue, style=filled];\n");
- if (root != null) {
- if (root.Left == null && root.Right == null)
- sb.AppendFormat ("\t{0};", root.Data.ExpiresAt);
- else
- TraverseTree (sb, root);
- }
- sb.Append ("}\n");
-
- return sb.ToString ();
- }
-
- void TraverseTree (StringBuilder sb, Node root)
- {
- if (root.Left != null) {
- sb.AppendFormat ("\t{0} -- {1};\n", root.Data.ExpiresAt, root.Left.Data.ExpiresAt);
- TraverseTree (sb, root.Left);
+ index = heapCount - 1;
+ parentIndex = (index - 1) >> 1;
+
+ item = heap [index];
+ while (index > 0) {
+ parent = heap [parentIndex];
+ if (heap [index].ExpiresAt >= parent.ExpiresAt)
+ break;
+
+ heap [index] = parent;
+ index = parentIndex;
+ parentIndex = (index - 1) >> 1;
}
- if (root.Right != null) {
- sb.AppendFormat ("\t{0} -- {1};\n", root.Data.ExpiresAt, root.Right.Data.ExpiresAt);
- TraverseTree (sb, root.Right);
- }
+ heap [index] = item;
}
}
}
--- /dev/null
+//
+// Author(s):
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com)
+//
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Text;
+using System.Threading;
+using System.Xml;
+
+namespace System.Web.Caching
+{
+ enum EDSequenceEntryType
+ {
+ Enqueue,
+ Dequeue,
+ Disable,
+ Peek
+ }
+
+#if DEBUG
+ [Serializable]
+ sealed class EDSequenceEntry
+ {
+ public readonly EDSequenceEntryType Type;
+ public readonly CacheItem Item;
+
+ public EDSequenceEntry ()
+ {}
+
+ public EDSequenceEntry (CacheItem item, EDSequenceEntryType type)
+ {
+ Type = type;
+ Item = item;
+ }
+ }
+#endif
+
+ sealed partial class CacheItemPriorityQueue
+ {
+#if DEBUG
+ Dictionary <Guid, CacheItem> items = new Dictionary <Guid, CacheItem> ();
+ List <EDSequenceEntry> edSequence = new List <EDSequenceEntry> ();
+
+
+ List <EDSequenceEntry> EDSequence {
+ get {
+ if (edSequence == null)
+ edSequence = new List <EDSequenceEntry> ();
+ return edSequence;
+ }
+ }
+#endif
+
+ [Conditional ("DEBUG")]
+ void InitDebugMode ()
+ {
+#if DEBUG
+ AppDomain.CurrentDomain.DomainUnload += new EventHandler (OnDomainUnload);
+#endif
+ }
+
+ [Conditional ("DEBUG")]
+ void AddSequenceEntry (CacheItem item, EDSequenceEntryType type)
+ {
+#if DEBUG
+ EDSequence.Add (new EDSequenceEntry (CopyItem (item), type));
+#endif
+ }
+
+#if DEBUG
+ CacheItem CopyItem (CacheItem item)
+ {
+ CacheItem newItem;
+
+ if (items.TryGetValue (item.Guid, out newItem))
+ return newItem;
+
+ newItem = new CacheItem ();
+ newItem.Key = item.Key;
+ newItem.AbsoluteExpiration = item.AbsoluteExpiration;
+ newItem.SlidingExpiration = item.SlidingExpiration;
+ newItem.Priority = item.Priority;
+ newItem.LastChange = item.LastChange;
+ newItem.ExpiresAt = item.ExpiresAt;
+ newItem.Disabled = item.Disabled;
+ newItem.Guid = item.Guid;
+
+ items.Add (newItem.Guid, newItem);
+
+ return newItem;
+ }
+
+ string CreateNewCacheItemInstanceCode (string indent, CacheItem item)
+ {
+ var sb = new StringBuilder (indent + "new CacheItem {");
+ sb.AppendFormat ("Key = \"{0}\", ", item.Key.Replace ("\n", "\\n").Replace ("\r", "\\r"));
+ sb.AppendFormat ("AbsoluteExpiration = DateTime.Parse (\"{0}\"), ", item.AbsoluteExpiration.ToString ());
+ sb.AppendFormat ("SlidingExpiration = TimeSpan.Parse (\"{0}\"), ", item.SlidingExpiration.ToString ());
+ sb.AppendFormat ("Priority = CacheItemPriority.{0}, ", item.Priority);
+ sb.AppendFormat ("LastChange = DateTime.Parse (\"{0}\"), ", item.LastChange.ToString ());
+ sb.AppendFormat ("ExpiresAt = {0}, ", item.ExpiresAt);
+ sb.AppendFormat ("Disabled = {0}, ", item.Disabled.ToString ().ToLowerInvariant ());
+ sb.AppendFormat ("Guid = new Guid (\"{0}\")}}, \n", item.Guid.ToString ());
+
+ return sb.ToString ();
+ }
+#endif
+
+ [Conditional ("DEBUG")]
+ public void OnItemDisable (CacheItem i)
+ {
+#if DEBUG
+ CacheItem item;
+ if (!items.TryGetValue (i.Guid, out item))
+ return;
+
+ EDSequence.Add (new EDSequenceEntry (CopyItem (i), EDSequenceEntryType.Disable));
+#endif
+ }
+
+#if DEBUG
+ void OnDomainUnload (object sender, EventArgs e)
+ {
+ if (EDSequence.Count == 0) {
+ Console.WriteLine ("No enqueue/dequeue sequence recorded.");
+ return;
+ }
+
+ try {
+ string filePath = Path.Combine (HttpRuntime.AppDomainAppPath, String.Format ("cache_pq_sequence_{0}.seq", DateTime.UtcNow.ToString ("yyyy-MM-dd_hh-mm-ss")));
+ var settings = new XmlWriterSettings ();
+ settings.Indent = true;
+ settings.IndentChars = "\t";
+ settings.NewLineChars = "\n";
+ settings.Encoding = Encoding.UTF8;
+
+ using (XmlWriter writer = XmlWriter.Create (filePath, settings)) {
+ writer.WriteStartDocument (true);
+ writer.WriteStartElement ("sequence");
+ foreach (EDSequenceEntry entry in EDSequence) {
+ writer.WriteStartElement ("entry");
+ writer.WriteAttributeString ("type", entry.Type.ToString ());
+ writer.WriteAttributeString ("key", entry.Item.Key.Replace ("\n", "\\n").Replace ("\r", "\\r"));
+ writer.WriteAttributeString ("absoluteExpiration", entry.Item.AbsoluteExpiration.Ticks.ToString ());
+ writer.WriteAttributeString ("slidingExpiration", entry.Item.SlidingExpiration.Ticks.ToString ());
+ writer.WriteAttributeString ("priority", entry.Item.Priority.ToString ());
+ writer.WriteAttributeString ("lastChange", entry.Item.LastChange.Ticks.ToString ());
+ writer.WriteAttributeString ("expiresAt", entry.Item.ExpiresAt.ToString ());
+ writer.WriteAttributeString ("disabled", entry.Item.Disabled.ToString ());
+ writer.WriteAttributeString ("guid", entry.Item.Guid.ToString ());
+ writer.WriteEndElement ();
+ }
+ writer.WriteEndElement ();
+ writer.Flush ();
+ }
+ } catch (Exception ex) {
+ Console.WriteLine ("Failed to write enqueue/dequeue sequence file. Exception was caught:\n{0}",
+ ex);
+ }
+ }
+#endif
+ }
+}
--- /dev/null
+//
+// Author(s):
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com)
+//
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace System.Web.Caching
+{
+ public delegate void CacheItemUpdateCallback (string key,
+ CacheItemUpdateReason reason,
+ out object expensiveObject,
+ out CacheDependency dependency,
+ out DateTime absoluteExpiration,
+ out TimeSpan slidingExpiration);
+}
--- /dev/null
+//
+// Author(s):
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com)
+//
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace System.Web.Caching
+{
+ public enum CacheItemUpdateReason
+ {
+ Expired = 1,
+ DependencyChanged
+ }
+}
\ No newline at end of file
//
// System.Web.Caching.CachedVaryBy
//
-// Author(s):
+// Authors:
// Jackson Harper (jackson@ximian.com)
+// Marek Habersack <mhabersack@novell.com>
//
-// (C) 2003 Novell, Inc (http://www.novell.com)
+// (C) 2003-2010 Novell, Inc (http://www.novell.com)
//
//
using System.Globalization;
using System.Text;
using System.Collections;
+using System.Collections.Generic;
using System.Web.Util;
-namespace System.Web.Caching {
-
- internal sealed class CachedVaryBy {
-
+namespace System.Web.Caching
+{
+#if NET_4_0
+ [Serializable]
+#endif
+ sealed class CachedVaryBy
+ {
string[] prms;
string[] headers;
string custom;
string key;
- ArrayList item_list;
+ List <string> item_list;
bool wildCardParams;
internal CachedVaryBy (HttpCachePolicy policy, string key)
headers = policy.VaryByHeaders.GetHeaderNames (policy.OmitVaryStar);
custom = policy.GetVaryByCustom ();
this.key = key;
- item_list = new ArrayList ();
+ item_list = new List <string> ();
wildCardParams = policy.VaryByParams ["*"];
}
- internal ArrayList ItemList {
+ internal List <string> ItemList {
get { return item_list; }
}
internal string CreateKey (string file_path, HttpContext context)
{
- StringBuilder builder = new StringBuilder ();
- HttpApplication app = context.ApplicationInstance;
- HttpRequest request = context.Request;
- string newLine = Environment.NewLine;
+ if (String.IsNullOrEmpty (file_path))
+ throw new ArgumentNullException ("file_path");
+
+ StringBuilder builder = new StringBuilder ("vbk"); // VaryBy Key
+ HttpRequest request = context != null ? context.Request : null;
+ string name, value;
- builder.Append ("CachedRawResponse" + newLine);
builder.Append (file_path);
- builder.Append (newLine);
- builder.Append ("METHOD:" + request.HttpMethod);
- builder.Append (newLine);
-
+ if (request == null)
+ return builder.ToString ();
+
+ builder.Append (request.HttpMethod);
+
if (wildCardParams) {
+ builder.Append ("WQ"); // Wildcard, Query
foreach (string p in request.QueryString) {
- // FIXME: QueryString might contain a null key if a page gets called like this: page.aspx?arg (w/out the "=")
- if (p == null) continue;
- builder.Append ("VPQ:");
- builder.Append (p.ToLower (Helpers.InvariantCulture));
- builder.Append ('=');
- builder.Append (request.QueryString [p]);
- builder.Append (newLine);
+ if (p == null)
+ continue;
+
+ builder.Append ('N'); // Name
+ builder.Append (p.ToLowerInvariant ());
+ value = request.QueryString [p];
+ if (String.IsNullOrEmpty (value))
+ continue;
+
+ builder.Append ('V'); // Value
+ builder.Append (value);
}
+
+ builder.Append ('F'); // Form
foreach (string p in request.Form) {
- // FIXME: can this be null, too?
- if (p == null) continue;
- builder.Append ("VPF:");
- builder.Append (p.ToLower (Helpers.InvariantCulture));
- builder.Append ('=');
- builder.Append (request.Form [p]);
- builder.Append (newLine);
+ if (p == null)
+ continue;
+
+ builder.Append ('N'); // Name
+ builder.Append (p.ToLowerInvariant ());
+
+ value = request.Form [p];
+ if (String.IsNullOrEmpty (value))
+ continue;
+
+ builder.Append ('V'); // Value
+ builder.Append (value);
}
} else if (prms != null) {
- for (int i=0; i<prms.Length; i++) {
- if (request.QueryString [prms [i]] != null) {
- builder.Append ("VPQ:");
- builder.Append (prms [i].ToLower (Helpers.InvariantCulture));
- builder.Append ('=');
- builder.Append (request.QueryString [prms [i]]);
- builder.Append (newLine);
+ StringBuilder fprms = null;
+ builder.Append ("SQ"); // Specified, Query
+
+ for (int i = 0; i < prms.Length; i++) {
+ name = prms [i];
+ if (String.IsNullOrEmpty (name))
+ continue;
+
+ value = request.QueryString [name];
+ if (value != null) {
+ builder.Append ('N'); // Name
+ builder.Append (name.ToLowerInvariant ());
+
+ if (value.Length > 0) {
+ builder.Append ('V'); // Value
+ builder.Append (value);
+ }
}
- if (request.Form [prms [i]] != null) {
- builder.Append ("VPF:");
- builder.Append (prms [i].ToLower (Helpers.InvariantCulture));
- builder.Append ('=');
- builder.Append (request.Form [prms [i]]);
- builder.Append (newLine);
+
+ value = request.Form [name];
+ if (value != null) {
+ if (fprms == null)
+ fprms = new StringBuilder ('F'); // Form
+
+ builder.Append ('N'); // Name
+ builder.Append (name.ToLowerInvariant ());
+ if (value.Length > 0) {
+ builder.Append ('V'); // Value
+ builder.Append (value);
+ }
}
}
+ if (fprms != null)
+ builder.Append (fprms.ToString ());
}
if (headers != null) {
- for (int i=0; i<headers.Length; i++) {
- builder.Append ("VH:");
- builder.Append (headers [i].ToLower (Helpers.InvariantCulture));
- builder.Append ('=');
- builder.Append (request.Headers [headers [i]]);
- builder.Append (newLine);
+ builder.Append ('H'); // Headers
+
+ for (int i=0; i < headers.Length; i++) {
+ builder.Append ('N'); // Name
+
+ name = headers [i];
+ builder.Append (name.ToLowerInvariant ());
+
+ value = request.Headers [name];
+ if (String.IsNullOrEmpty (value))
+ continue;
+
+ builder.Append ('V'); // Value
+ builder.Append (value);
}
}
if (custom != null) {
- string s = app.GetVaryByCustomString (context, custom);
- builder.Append ("VC:");
+ builder.Append ('C'); // Custom
+ string s = context.ApplicationInstance.GetVaryByCustomString (context, custom);
+ builder.Append ('N'); // Name
builder.Append (custom);
- builder.Append ('=');
+ builder.Append ('V'); // Value
builder.Append (s != null ? s : "__null__");
- builder.Append (newLine);
}
-
+
return builder.ToString ();
}
}
+2010-02-23 Marek Habersack <mhabersack@novell.com>
+
+ * CachedVaryBy.cs: made serializable for 4.0+ (necessary for
+ extensible output caching)
+
+2010-02-03 Marek Habersack <mhabersack@novell.com>
+
+ * OutputCache.cs: DefaultProviderName checks if there was any
+ provider configured and, if not, returns a built-in provider's
+ name.
+
+ * SqlCacheDependencyAdmin.cs: added
+
+ * OutputCacheProviderCollection.cs: added
+
+ * OutputCacheProvider.cs: added
+
+ * OutputCacheModule.cs: uses the 4.0 extensible output cache
+ provider model now (also internally in the 2.0 profile)
+ OutputCacheProvider is retrieved on every request using
+ HttpApplication.GetOutputCacheProviderName (4.0+). In the 2.0
+ profile an instance of InMemoryOutputCacheProvider is always
+ returned.
+
+ * InMemoryOutputCacheProvider.cs: default output cache provider
+ for ASP.NET 4.0, also used internally in the 2.0 profile.
+
+ * CachedVaryBy.cs: made the generated key shorter
+
+ * CacheItemPriorityQueueDebug.cs: debugging support for
+ CacheItemPriorityQueue. Most of the code is compiled only when the
+ DEBUG macro is defined. Debugging support includes recording of
+ the queue operations sequence which is output to an XML file on
+ appdomain shutdown. The recorded sequence files can be used to
+ generate NUnit test cases for the priority queue (see
+ ../Test/tools/README)
+
+ * CacheItemPriorityQueue.cs: rewritten using an array based heap
+ instead of a binary tree based one - implementation is simpler,
+ faster and more elegant. Heap is initially 32 entries long and
+ its size is doubled every time it fills up. After reaching a
+ threshold (8192 entries currently) it is shrunk to the number of
+ items + 1/3 of item count in order to preserve memory.
+
+ * CacheItem.cs: added a Guid field to easier distinguish items
+ (mostly for debugging purposes)
+
+ * CacheDependency.cs: minor performance improvements
+
+ * Cache.cs: better handling of timer periods
+
+2010-01-25 Marek Habersack <mhabersack@novell.com>
+
+ * SqlCacheDependency.cs: added parameter checks to the
+ constructors.
+ Partially implemented 4.0 method CreateOutputCacheDependency
+
+ * CacheItemUpdateReason.cs, CacheItemUpdateCallback.cs: added
+
+ * CacheItem.cs: added OnUpdateCallback field
+
+ * Cache.cs: implemented support for cache item update callback
+ (3.5+)
+
+ * AggregateCacheDependency.cs: added undocumented
+ DependencyDispose method override
+
+2010-01-22 Marek Habersack <mhabersack@novell.com>
+
+ * SubstitutionResponseElement.cs: implemented correct
+ (de)serialization of the Callback delegate.
+
+ * OutputCache.cs: implemented Serialize, Deserialize,
+ DefaultProviderName and Providers.
+
+2010-01-21 Marek Habersack <mhabersack@novell.com>
+
+ * DatabaseNotEnabledForNotificationException.cs, OutputCache.cs,
+ FileResponseElement.cs, HeaderElement.cs, IOutputCacheEntry.cs,
+ MemoryResponseElement.cs, OutputCacheProvider.cs,
+ ResponseElement.cs, OutputCacheProviderCollection.cs,
+ SubstitutionResponseElement.cs,
+ TableNotEnabledForNotificationException.cs: added
+
+ * CacheDependency.cs: default constructor is protected in 4.0
+
2010-01-06 Marek Habersack <mhabersack@novell.com>
* CacheItemPriorityQueue.cs: make sure lastParent is never null if
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Security.Permissions;
+using System.Web;
+
+namespace System.Web.Caching
+{
+ [Serializable]
+ [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+ public sealed class DatabaseNotEnabledForNotificationException : SystemException
+ {
+ public DatabaseNotEnabledForNotificationException ()
+ {}
+
+ public DatabaseNotEnabledForNotificationException (string message)
+ : base (message)
+ {}
+
+ public DatabaseNotEnabledForNotificationException (string message, Exception innerException)
+ : base (message, innerException)
+ {}
+ }
+}
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Security.Permissions;
+using System.Web;
+
+namespace System.Web.Caching
+{
+ [Serializable]
+ [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Unrestricted)]
+ public class FileResponseElement : ResponseElement
+ {
+ public long Length {
+ get;
+ private set;
+ }
+
+ public long Offset {
+ get;
+ private set;
+ }
+
+ public string Path {
+ get;
+ private set;
+ }
+
+ public FileResponseElement (string path, long offset, long length)
+ {
+ if (path == null)
+ throw new ArgumentNullException ("path");
+ if (offset < 0)
+ throw new ArgumentOutOfRangeException ("offset", "is less than zero.");
+ if (length < 0)
+ throw new ArgumentOutOfRangeException ("length", "is less than zero.");
+
+ this.Length = length;
+ this.Offset = offset;
+ this.Path = path;
+ }
+ }
+}
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace System.Web.Caching
+{
+ [Serializable]
+ public sealed class HeaderElement
+ {
+ public string Name {
+ get;
+ private set;
+ }
+
+ public string Value {
+ get;
+ private set;
+ }
+
+ public HeaderElement (string name, string value)
+ {
+ // LAMESPEC: empty string in name is accepted
+ if (name == null)
+ throw new ArgumentNullException ("name");
+ if (value == null)
+ throw new ArgumentNullException ("value");
+
+ this.Name = name;
+ this.Value = value;
+ }
+ }
+}
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Collections.Generic;
+
+namespace System.Web.Caching
+{
+ public interface IOutputCacheEntry
+ {
+ List<HeaderElement> HeaderElements { get; set; }
+ List<ResponseElement> ResponseElements { get; set; }
+ }
+}
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Collections.Generic;
+using System.Configuration.Provider;
+using System.Web;
+
+namespace System.Web.Caching
+{
+ sealed class InMemoryOutputCacheProvider : OutputCacheProvider
+ {
+ const string CACHE_PREFIX = "@InMemoryOCP_";
+ public InMemoryOutputCacheProvider ()
+ {}
+
+ public override object Add (string key, object entry, DateTime utcExpiry)
+ {
+ return HttpRuntime.InternalCache.Add (CACHE_PREFIX + key, entry, null, utcExpiry.ToLocalTime (), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
+ }
+
+ public override object Get (string key)
+ {
+ return HttpRuntime.InternalCache.Get (CACHE_PREFIX + key);
+ }
+
+ public override void Remove (string key)
+ {
+ HttpRuntime.InternalCache.Remove (CACHE_PREFIX + key);
+ }
+
+ public override void Set (string key, object entry, DateTime utcExpiry)
+ {
+ Cache cache = HttpRuntime.InternalCache;
+ string cacheKey = CACHE_PREFIX + key;
+ object oldObject = cache.Get (cacheKey);
+
+ if (oldObject != null)
+ cache.Remove (cacheKey);
+
+ cache.Add (cacheKey, entry, null, utcExpiry.ToLocalTime (), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
+ }
+ }
+}
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Security.Permissions;
+using System.Web;
+
+namespace System.Web.Caching
+{
+ [Serializable]
+ [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Unrestricted)]
+ public class MemoryResponseElement : ResponseElement
+ {
+ public byte[] Buffer {
+ get;
+ private set;
+ }
+
+ public long Length {
+ get;
+ private set;
+ }
+
+ public MemoryResponseElement (byte[] buffer, long length)
+ {
+ if (buffer == null)
+ throw new ArgumentNullException ("buffer");
+ if (length < 0 || length > buffer.Length)
+ throw new ArgumentOutOfRangeException ("length", "is less than zero or greater than the size of buffer.");
+
+ this.Buffer = buffer;
+ this.Length = length;
+ }
+ }
+}
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Configuration;
+using System.IO;
+using System.Runtime.Serialization.Formatters.Binary;
+using System.Security.Permissions;
+using System.Web;
+using System.Web.Configuration;
+
+namespace System.Web.Caching
+{
+ public static class OutputCache
+ {
+ internal const string DEFAULT_PROVIDER_NAME = "AspNetInternalProvider";
+
+ static readonly object initLock = new object ();
+ static bool initialized;
+ static string defaultProviderName;
+ static OutputCacheProviderCollection providers;
+
+ public static string DefaultProviderName {
+ get {
+ Init ();
+ if (String.IsNullOrEmpty (defaultProviderName))
+ return DEFAULT_PROVIDER_NAME;
+
+ return defaultProviderName;
+ }
+ }
+
+ public static OutputCacheProviderCollection Providers {
+ get {
+ Init ();
+ return providers;
+ }
+ }
+
+ [SecurityPermission (SecurityAction.Assert, Flags = SecurityPermissionFlag.SerializationFormatter)]
+ public static object Deserialize (Stream stream)
+ {
+ if (stream == null)
+ throw new ArgumentNullException ("stream");
+
+ object o = new BinaryFormatter ().Deserialize (stream);
+ if (o == null || IsInvalidType (o))
+ throw new ArgumentException ("The provided parameter is not of a supported type for serialization and/or deserialization.");
+
+ return o;
+ }
+
+ [SecurityPermission (SecurityAction.Assert, Flags = SecurityPermissionFlag.SerializationFormatter)]
+ public static void Serialize (Stream stream, object data)
+ {
+ if (stream == null)
+ throw new ArgumentNullException ("stream");
+
+ // LAMESPEC: data == null doesn't throw ArgumentNullException
+ if (data == null || IsInvalidType (data))
+ throw new ArgumentException ("The provided parameter is not of a supported type for serialization and/or deserialization.");
+
+ new BinaryFormatter ().Serialize (stream, data);
+ }
+
+ static bool IsInvalidType (object data)
+ {
+ return !(data is MemoryResponseElement) &&
+ !(data is FileResponseElement) &&
+ !(data is SubstitutionResponseElement);
+ }
+
+ static void Init ()
+ {
+ if (initialized)
+ return;
+
+ lock (initLock) {
+ if (initialized)
+ return;
+
+ var cfg = WebConfigurationManager.GetWebApplicationSection ("system.web/caching/outputCache") as OutputCacheSection;
+ ProviderSettingsCollection cfgProviders = cfg.Providers;
+
+ defaultProviderName = cfg.DefaultProviderName;
+ if (cfgProviders != null && cfgProviders.Count > 0) {
+ var coll = new OutputCacheProviderCollection ();
+
+ foreach (ProviderSettings ps in cfgProviders)
+ coll.Add (LoadProvider (ps));
+
+ coll.SetReadOnly ();
+ providers = coll;
+ }
+
+ initialized = true;
+ }
+ }
+
+ static OutputCacheProvider LoadProvider (ProviderSettings ps)
+ {
+ Type type = HttpApplication.LoadType (ps.Type, false);
+ if (type == null)
+ throw new ConfigurationErrorsException (String.Format ("Could not load type '{0}'.", ps.Type));
+
+ var ret = Activator.CreateInstance (type) as OutputCacheProvider;
+ ret.Initialize (ps.Name, ps.Parameters);
+
+ return ret;
+ }
+ }
+}
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System;
using System.Collections;
using System.Collections.Generic;
+using System.Configuration.Provider;
using System.IO;
using System.Text;
using System.Web;
+using System.Web.Hosting;
using System.Web.UI;
using System.Web.Util;
using System.Web.Compilation;
{
sealed class OutputCacheModule : IHttpModule
{
+ OutputCacheProvider provider;
CacheItemRemovedCallback response_removed;
static object keysCacheLock = new object ();
Dictionary <string, string> keysCache;
Dictionary <string, string> entriesToInvalidate;
-
+
public OutputCacheModule ()
{
}
+ OutputCacheProvider FindCacheProvider (HttpApplication app)
+ {
+#if NET_4_0
+ HttpContext ctx = HttpContext.Current;
+ if (app == null) {
+ app = ctx != null ? ctx.ApplicationInstance : null;
+
+ if (app == null)
+ throw new InvalidOperationException ("Unable to find output cache provider.");
+ }
+
+ string providerName = app.GetOutputCacheProviderName (ctx);
+ if (String.IsNullOrEmpty (providerName))
+ throw new ProviderException ("Invalid OutputCacheProvider name. Name must not be null or an empty string.");
+
+ if (String.Compare (providerName, OutputCache.DEFAULT_PROVIDER_NAME, StringComparison.Ordinal) == 0) {
+ if (provider == null)
+ provider = new InMemoryOutputCacheProvider ();
+ return provider;
+ }
+
+ OutputCacheProviderCollection providers = OutputCache.Providers;
+ OutputCacheProvider ret = providers != null ? providers [providerName] : null;
+
+ if (ret == null)
+ throw new ProviderException (String.Format ("OutputCacheProvider named '{0}' cannot be found.", providerName));
+
+ return ret;
+#else
+ if (provider == null)
+ provider = new InMemoryOutputCacheProvider ();
+
+ return provider;
+#endif
+ }
+
public void Dispose ()
{
}
string entry = args.EntryName;
HttpContext context = args.Context;
string cacheValue;
-
+
lock (keysCacheLock) {
if (!keysCache.TryGetValue (entry, out cacheValue))
return;
-
+
keysCache.Remove (entry);
if (context == null) {
if (entriesToInvalidate == null) {
}
}
- context.Cache.Remove (entry);
+ OutputCacheProvider provider = FindCacheProvider (context != null ? context.ApplicationInstance : null);
+ provider.Remove (entry);
if (!String.IsNullOrEmpty (cacheValue))
- context.InternalCache.Remove (cacheValue);
+ provider.Remove (cacheValue);
}
void OnResolveRequestCache (object o, EventArgs args)
{
- HttpApplication app = (HttpApplication) o;
- HttpContext context = app.Context;
-
+ HttpApplication app = o as HttpApplication;
+ HttpContext context = app != null ? app.Context : null;
+
+ if (context == null)
+ return;
+
+ OutputCacheProvider provider = FindCacheProvider (app);
string vary_key = context.Request.FilePath;
- CachedVaryBy varyby = context.Cache [vary_key] as CachedVaryBy;
+ CachedVaryBy varyby = provider.Get (vary_key) as CachedVaryBy;
string key;
CachedRawResponse c;
return;
key = varyby.CreateKey (vary_key, context);
- c = context.InternalCache [key] as CachedRawResponse;
+ c = provider.Get (key) as CachedRawResponse;
if (c == null)
return;
lock (keysCacheLock) {
string invValue;
if (entriesToInvalidate != null && entriesToInvalidate.TryGetValue (vary_key, out invValue) && String.Compare (invValue, key, StringComparison.Ordinal) == 0) {
- context.Cache.Remove (vary_key);
- context.InternalCache.Remove (key);
+ provider.Remove (vary_key);
+ provider.Remove (key);
entriesToInvalidate.Remove (vary_key);
return;
}
if (!isValid) {
OnRawResponseRemoved (key, c, CacheItemRemovedReason.Removed);
return;
- } else if (isIgnored) {
+ } else if (isIgnored)
return;
- }
}
HttpResponse response = context.Response;
void OnUpdateRequestCache (object o, EventArgs args)
{
- HttpApplication app = (HttpApplication) o;
- HttpContext context = app.Context;
-
- if (context.Response.IsCached && context.Response.StatusCode == 200 &&
- !context.Trace.IsEnabled)
- DoCacheInsert (context);
+ HttpApplication app = o as HttpApplication;
+ HttpContext context = app != null ? app.Context : null;
+ HttpResponse response = context != null ? context.Response : null;
+
+ if (response != null && response.IsCached && response.StatusCode == 200 && !context.Trace.IsEnabled)
+ DoCacheInsert (context, app, response);
}
- void DoCacheInsert (HttpContext context)
+ void DoCacheInsert (HttpContext context, HttpApplication app, HttpResponse response)
{
string vary_key = context.Request.FilePath;
string key;
- CachedVaryBy varyby = context.Cache [vary_key] as CachedVaryBy;
+ OutputCacheProvider provider = FindCacheProvider (app);
+ CachedVaryBy varyby = provider.Get (vary_key) as CachedVaryBy;
CachedRawResponse prev = null;
bool lookup = true;
string cacheKey = null, cacheValue = null;
+ HttpCachePolicy cachePolicy = response.Cache;
if (varyby == null) {
- string path = context.Request.MapPath (vary_key);
- string [] files = new string [] { path };
- string [] keys = new string [0];
- varyby = new CachedVaryBy (context.Response.Cache, vary_key);
- context.Cache.Insert (vary_key, varyby,
- new CacheDependency (files, keys),
- Cache.NoAbsoluteExpiration,
- Cache.NoSlidingExpiration,
- CacheItemPriority.Normal, null);
+ varyby = new CachedVaryBy (cachePolicy, vary_key);
+ provider.Add (vary_key, varyby, Cache.NoAbsoluteExpiration);
lookup = false;
cacheKey = vary_key;
}
key = varyby.CreateKey (vary_key, context);
if (lookup)
- prev = context.InternalCache [key] as CachedRawResponse;
+ prev = provider.Get (key) as CachedRawResponse;
if (prev == null) {
- CachedRawResponse c = context.Response.GetCachedResponse ();
+ CachedRawResponse c = response.GetCachedResponse ();
if (c != null) {
- string [] files = new string [] { };
string [] keys = new string [] { vary_key };
- bool sliding = context.Response.Cache.Sliding;
-
- context.InternalCache.Insert (key, c, new CacheDependency (files, keys),
- (sliding ? Cache.NoAbsoluteExpiration :
- context.Response.Cache.Expires),
- (sliding ? TimeSpan.FromSeconds (
- context.Response.Cache.Duration) :
- Cache.NoSlidingExpiration),
- CacheItemPriority.Normal, response_removed);
+ DateTime utcExpiry, absoluteExpiration;
+ TimeSpan slidingExpiration;
+
c.VaryBy = varyby;
varyby.ItemList.Add (key);
+
+ if (cachePolicy.Sliding) {
+ slidingExpiration = TimeSpan.FromSeconds (cachePolicy.Duration);
+ absoluteExpiration = Cache.NoAbsoluteExpiration;
+ utcExpiry = DateTime.UtcNow + slidingExpiration;
+ } else {
+ slidingExpiration = Cache.NoSlidingExpiration;
+ absoluteExpiration = cachePolicy.Expires;
+ utcExpiry = absoluteExpiration.ToUniversalTime ();
+ }
+
+ provider.Set (key, c, utcExpiry);
+ HttpRuntime.InternalCache.Insert (key, c, new CacheDependency (null, keys), absoluteExpiration, slidingExpiration,
+ CacheItemPriority.Normal, response_removed);
cacheValue = key;
}
}
}
}
- static void OnRawResponseRemoved (string key, object value, CacheItemRemovedReason reason)
+ void OnRawResponseRemoved (string key, object value, CacheItemRemovedReason reason)
{
- CachedRawResponse c = (CachedRawResponse) value;
+ CachedRawResponse c = value as CachedRawResponse;
+ CachedVaryBy varyby = c != null ? c.VaryBy : null;
+ if (varyby == null)
+ return;
- c.VaryBy.ItemList.Remove (key);
- if (c.VaryBy.ItemList.Count != 0)
+ List <string> itemList = varyby.ItemList;
+ OutputCacheProvider provider = FindCacheProvider (null);
+
+ itemList.Remove (key);
+ provider.Remove (key);
+
+ if (itemList.Count != 0)
return;
- HttpRuntime.Cache.Remove (c.VaryBy.Key);
+ provider.Remove (varyby.Key);
}
}
}
-
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Configuration.Provider;
+
+namespace System.Web.Caching
+{
+#if NET_4_0
+ public
+#endif
+ abstract class OutputCacheProvider : ProviderBase
+ {
+ protected OutputCacheProvider ()
+ {}
+
+ public abstract object Add (string key, object entry, DateTime utcExpiry);
+ public abstract object Get (string key);
+ public abstract void Remove (string key);
+ public abstract void Set (string key, object entry, DateTime utcExpiry);
+ }
+}
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Configuration.Provider;
+
+namespace System.Web.Caching
+{
+ public sealed class OutputCacheProviderCollection : ProviderCollection
+ {
+ public OutputCacheProvider this [string name] {
+ get { return base [name] as OutputCacheProvider; }
+ }
+
+ public OutputCacheProviderCollection ()
+ {}
+
+ public override void Add (ProviderBase provider)
+ {
+ if (provider == null)
+ throw new ArgumentNullException ("provider");
+
+ if (!(provider is OutputCacheProvider))
+ throw new ArgumentException ("is not of type OutputCacheProvider.", "provider");
+
+ base.Add (provider);
+ }
+
+ public void CopyTo (OutputCacheProvider[] array, int index)
+ {
+ base.CopyTo (array, index);
+ }
+ }
+}
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+namespace System.Web.Caching
+{
+ [Serializable]
+ public abstract class ResponseElement
+ {
+ protected ResponseElement ()
+ {
+ }
+ }
+}
//
using System;
-using System.ComponentModel;
+using System.Collections.Generic;
using System.Security.Permissions;
using System.Data.SqlClient;
using System.Web;
[MonoTODO ("What to do with the sqlCmd?")]
public SqlCacheDependency (SqlCommand sqlCmd)
{
+ if (sqlCmd == null)
+ throw new ArgumentNullException ("sqlCmd");
}
[MonoTODO ("What are the params good for?")]
public SqlCacheDependency (string databaseEntryName, string tableName)
{
+ if (databaseEntryName == null)
+ throw new ArgumentNullException ("databaseEntryName");
+
+ if (tableName == null)
+ throw new ArgumentNullException ("tableName");
+ }
+
+#if NET_4_0
+ [MonoTODO ("Needs more testing - especially the return value and database+table lookup.")]
+ public static CacheDependency CreateOutputCacheDependency (string dependency)
+ {
+ if (dependency == null)
+ throw new HttpException (InvalidDependencyFormatMessage (dependency));
+
+ if (dependency.Length == 0)
+ throw new ArgumentException (InvalidDependencyFormatMessage (dependency), "dependency");
+
+ int colon;
+ string[] pairs = dependency.Split (';');
+ var dependencies = new List <SqlCacheDependency> ();
+
+ foreach (string pair in pairs) {
+ colon = pair.IndexOf (':');
+ if (colon == -1)
+ throw new ArgumentException (InvalidDependencyFormatMessage (dependency), "dependency");
+
+ dependencies.Add (new SqlCacheDependency (pair.Substring (0, colon), pair.Substring (colon + 1)));
+ }
+
+ switch (dependencies.Count) {
+ case 0:
+ return null;
+
+ case 1:
+ return dependencies [0];
+
+ default:
+ var acd = new AggregateCacheDependency ();
+ acd.Add (dependencies.ToArray ());
+ return acd;
+ }
+ }
+
+ static string InvalidDependencyFormatMessage (string dependency)
+ {
+ return String.Format (@"The '' SqlDependency attribute for OutputCache directive is invalid.
+
+For SQL Server 7.0 and SQL Server 2000, the valid format is ""database:tablename"", and table name must conform to the format of regular identifiers in SQL. To specify multiple pairs of values, use the ';' separator between pairs. (To specify ':', '\' or ';', prefix it with the '\' escape character.)
+
+For dependencies that use SQL Server 9.0 notifications, specify the value 'CommandNotification'.", dependency);
+ }
+#endif
+
+ protected override void DependencyDispose ()
+ {
+ // MSDN doesn't document it as being part of the class, but assembly
+ // comparison shows that it does exist in this type, so we're just calling
+ // the base class here
+ base.DependencyDispose ();
}
public override string GetUniqueID ()
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Security.Permissions;
+using System.Web;
+
+namespace System.Web.Caching
+{
+ [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.High)]
+ public static class SqlCacheDependencyAdmin
+ {
+ public static string[] GetTablesEnabledForNotifications (string connectionString)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public static void DisableNotifications (string connectionString)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public static void DisableTableForNotifications (string connectionString, string table)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public static void DisableTableForNotifications (string connectionString, string[] tables)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public static void EnableNotifications (string connectionString)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public static void EnableTableForNotifications (string connectionString, string table)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public static void EnableTableForNotifications (string connectionString, string[] tables)
+ {
+ throw new NotImplementedException ();
+ }
+ }
+}
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Reflection;
+using System.Runtime.Serialization;
+using System.Security.Permissions;
+using System.Web;
+
+namespace System.Web.Caching
+{
+ [Serializable]
+ [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Unrestricted)]
+ public class SubstitutionResponseElement : ResponseElement
+ {
+ string typeName;
+ string methodName;
+
+ public HttpResponseSubstitutionCallback Callback {
+ get;
+ private set;
+ }
+
+ public SubstitutionResponseElement (HttpResponseSubstitutionCallback callback)
+ {
+ if (callback == null)
+ throw new ArgumentNullException ("callback");
+
+ this.Callback = callback;
+
+ MethodInfo mi = callback.Method;
+ this.typeName = mi.DeclaringType.AssemblyQualifiedName;
+ this.methodName = mi.Name;
+ }
+
+ [OnDeserialized]
+ void ObjectDeserialized (StreamingContext context)
+ {
+ Type type = Type.GetType (typeName, true);
+ Callback = Delegate.CreateDelegate (typeof (HttpResponseSubstitutionCallback), type, methodName, false, true) as HttpResponseSubstitutionCallback;
+ }
+ }
+}
--- /dev/null
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// (C) 2010 Novell, Inc (http://novell.com/)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Security.Permissions;
+using System.Web;
+
+namespace System.Web.Caching
+{
+ [Serializable]
+ [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+ public sealed class TableNotEnabledForNotificationException : SystemException
+ {
+ public TableNotEnabledForNotificationException ()
+ {}
+
+ public TableNotEnabledForNotificationException (string message)
+ : base (message)
+ {}
+
+ public TableNotEnabledForNotificationException (string message, Exception innerException)
+ : base (message, innerException)
+ {}
+ }
+}
throw new HttpException ("Failed to compile resource file", ex);
} finally {
if (reader != null)
- reader.Close ();
- else if (source != null)
- source.Close ();
+ reader.Dispose ();
+ if (source != null)
+ source.Dispose ();
if (writer != null)
- writer.Close ();
- else if (destination != null)
- destination.Close ();
+ writer.Dispose ();
+ if (destination != null)
+ destination.Dispose ();
}
return resource;
if (reader.Name == "preserve" && reader.HasAttributes) {
reader.MoveToNextAttribute ();
string val = reader.Value;
+ // 1 -> app_code subfolder - add the assembly to CodeAssemblies
// 2 -> ashx
// 3 -> ascx, aspx
- // 6 -> app_code - nothing to do here
+ // 6 -> app_code - add the assembly to CodeAssemblies
// 8 -> global.asax
// 9 -> App_GlobalResources - set the assembly for HttpContext
if (reader.Name == "resultType" && (val == "2" || val == "3" || val == "8"))
LoadPageData (reader, true);
- else if (val == "9") {
+ else if (val == "1" || val == "6") {
+ PreCompilationData pd = LoadPageData (reader, false);
+ CodeAssemblies.Add (Assembly.Load (pd.AssemblyFileName));
+ } else if (val == "9") {
PreCompilationData pd = LoadPageData (reader, false);
HttpContext.AppGlobalResourcesAssembly = Assembly.Load (pd.AssemblyFileName);
}
+2010-02-19 Marek Habersack <mhabersack@novell.com>
+
+ * TemplateControlCompiler.cs: GetConverterForMember now completely
+ relies on TypeDescriptor and description providers to retrieve
+ converter for a property. Fixes bug #578586
+ If UrlPropertyAttribute is found for a member,
+ GetExpressionFromString uses the preconverted value, if any, as
+ parameter to HandleUrlProperty.
+
+2010-02-11 Marek Habersack <mhabersack@novell.com>
+
+ * AppResourcesCompiler.cs: explicitly dispose all the streams and
+ readers+writers in CompileResource.
+
+2010-02-04 Marek Habersack <mhabersack@novell.com>
+
+ * PreservationFile.cs: updated the BuildResulTypeCode enum
+
+ * BuildManager.cs: LoadCompiled now adds all the assemblies built
+ from the App_Code directory to the BuildManager.CodeAssemblies
+ collection. Fixes bug #576810
+
2010-01-19 Marek Habersack <mhabersack@novell.com>
* AspGenerator.cs: modified the runatServer regex to correctly
enum BuildResultTypeCode
{
Unknown = 0,
- AspxPage = 3,
+ AppCodeSubFolder = 1,
+ Handler = 2,
+ PageOrControl = 3,
+ AppCode = 6,
+ Global = 8,
TopLevelAssembly = 9
}
TypeConverter GetConverterForMember (MemberInfo member)
{
- TypeConverterAttribute tca = null;
- object[] attrs;
-
- attrs = member.GetCustomAttributes (typeof (TypeConverterAttribute), true);
- if (attrs.Length > 0)
- tca = attrs [0] as TypeConverterAttribute;
-
- if (tca == TypeConverterAttribute.Default)
- tca = null;
-
- if (tca != null) {
- string typeName = tca.ConverterTypeName;
- if (typeName == null || typeName.Length == 0)
- return null;
-
- Type t = null;
- try {
- t = HttpApplication.LoadType (typeName);
- } catch (Exception) {
- // ignore
- }
-
- if (t == null)
- return null;
-
- return (TypeConverter) Activator.CreateInstance (t);
- }
-
TypeDescriptionProvider prov = TypeDescriptor.GetProvider (member.ReflectedType);
if (prov == null)
return null;
}
if (type == typeof (string)) {
- if (preConverted)
+ object[] urlAttr = member.GetCustomAttributes (typeof (UrlPropertyAttribute), true);
+ if (urlAttr.Length != 0)
+ str = HandleUrlProperty ((preConverted && convertedFromAttr is string) ? (string)convertedFromAttr : str, member);
+ else if (preConverted)
return CreateNullableExpression (originalType,
new CodePrimitiveExpression ((string) convertedFromAttr),
wasNullable);
- object[] urlAttr = member.GetCustomAttributes (typeof (UrlPropertyAttribute), true);
- if (urlAttr.Length != 0)
- str = HandleUrlProperty (str, member);
-
return CreateNullableExpression (originalType, new CodePrimitiveExpression (str), wasNullable);
} else if (type == typeof (bool)) {
if (preConverted)
+2010-02-12 Marek Habersack <mhabersack@novell.com>
+
+ * WebConfigurationHost.cs: implemented {Encrypt,Decrypt}Section
+
+2010-01-20 Marek Habersack <mhabersack@novell.com>
+
+ * OutputCacheSection.cs: implemented the Providers and
+ DefaultProviderName 4.0 properties.
+
2010-01-09 Marek Habersack <mhabersack@novell.com>
* WebConfigurationManager.cs: GetSection properly handles looking
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2005 Novell, Inc (http://www.novell.com)
+// (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
//
using System;
using System.Configuration;
-#if NET_2_0
-
-namespace System.Web.Configuration {
+namespace System.Web.Configuration
+{
public sealed class OutputCacheSection : ConfigurationSection
{
static ConfigurationProperty omitVaryStarProp;
static ConfigurationProperty sendCacheControlHeaderProp;
static ConfigurationProperty enableKernelCacheForVaryByStarProp;
+#if NET_4_0
+ static ConfigurationProperty providersProp;
+ static ConfigurationProperty defaultProviderNameProp;
+#endif
static ConfigurationPropertyCollection properties;
enableOutputCacheProp = new ConfigurationProperty ("enableOutputCache", typeof (bool), true);
omitVaryStarProp = new ConfigurationProperty ("omitVaryStar", typeof (bool), false);
sendCacheControlHeaderProp = new ConfigurationProperty ("sendCacheControlHeader", typeof (bool), true);
- enableKernelCacheForVaryByStarProp = new ConfigurationProperty ("enableKernelCacheForVaryByStar",
- typeof (bool), false);
+ enableKernelCacheForVaryByStarProp = new ConfigurationProperty ("enableKernelCacheForVaryByStar", typeof (bool), false);
+#if NET_4_0
+ providersProp = new ConfigurationProperty ("providers", typeof (ProviderSettingsCollection));
+ defaultProviderNameProp = new ConfigurationProperty ("defaultProvider", typeof (string), "AspNetInternalProvider");
+#endif
properties = new ConfigurationPropertyCollection ();
properties.Add (omitVaryStarProp);
properties.Add (sendCacheControlHeaderProp);
properties.Add (enableKernelCacheForVaryByStarProp);
+#if NET_4_0
+ properties.Add (providersProp);
+ properties.Add (defaultProviderNameProp);
+#endif
}
[ConfigurationProperty ("enableFragmentCache", DefaultValue = "True")]
set { base[sendCacheControlHeaderProp] = value; }
}
+#if NET_4_0
+ [StringValidatorAttribute(MinLength = 1)]
+ [ConfigurationPropertyAttribute("defaultProvider", DefaultValue = "AspNetInternalProvider")]
+ public string DefaultProviderName {
+ get { return base [defaultProviderNameProp] as string; }
+ set { base [defaultProviderNameProp] = value; }
+ }
+
+ [ConfigurationPropertyAttribute("providers")]
+ public ProviderSettingsCollection Providers {
+ get { return base [providersProp] as ProviderSettingsCollection; }
+ }
+#endif
+
protected override ConfigurationPropertyCollection Properties {
get { return properties; }
}
}
-#endif
return new HttpConfigurationContext(configPath);
}
- public virtual string DecryptSection (string encryptedXml, ProtectedConfigurationProvider protectionProvider,
- ProtectedConfigurationSection protectedSection)
+ public virtual string DecryptSection (string encryptedXml, ProtectedConfigurationProvider protectionProvider, ProtectedConfigurationSection protectedSection)
{
- throw new NotImplementedException ();
+ if (protectedSection == null)
+ throw new ArgumentNullException ("protectedSection");
+
+ return protectedSection.EncryptSection (encryptedXml, protectionProvider);
}
public virtual void DeleteStream (string streamName)
File.Delete (streamName);
}
- public virtual string EncryptSection (string encryptedXml, ProtectedConfigurationProvider protectionProvider,
- ProtectedConfigurationSection protectedSection)
+ public virtual string EncryptSection (string clearXml, ProtectedConfigurationProvider protectionProvider, ProtectedConfigurationSection protectedSection)
{
- throw new NotImplementedException ();
+ if (protectedSection == null)
+ throw new ArgumentNullException ("protectedSection");
+
+ return protectedSection.EncryptSection (clearXml, protectionProvider);
}
public virtual string GetConfigPathFromLocationSubPath (string configPath, string locationSubPath)
physicalDir += Path.DirectorySeparatorChar;
appdomain.SetData (".appPath", physicalDir);
appdomain.SetData (".appVPath", virtualDir);
+ appdomain.SetData (".appId", domain_id);
appdomain.SetData (".domainId", domain_id);
appdomain.SetData (".hostingVirtualPath", virtualDir);
appdomain.SetData (".hostingInstallDir", Path.GetDirectoryName (typeof (Object).Assembly.CodeBase));
#if NET_2_0
appdomain.SetData ("DataDirectory", Path.Combine (physicalDir, "App_Data"));
- HostingEnvironment.SetIsHosted (false);
#endif
appdomain.SetData (MonoHostedDataKey, "yes");
current.SetShadowCopyFiles ();
current.SetShadowCopyPath (current.SetupInformation.PrivateBinPath);
}
+
+ HostingEnvironment.IsHosted = true;
+ HostingEnvironment.SiteName = HostingEnvironment.ApplicationID;
}
#endif
}
{
BareApplicationHost host;
host = (BareApplicationHost) ApplicationHost.CreateApplicationHost (typeof (BareApplicationHost), vpath, ppath);
- HostingEnvironment.SetIsHosted (true);
host.Manager = this;
host.AppID = appId;
id_to_host [appId] = host;
+2010-02-18 Marek Habersack <mhabersack@novell.com>
+
+ * HostingEnvironment.cs: removed SetHostingId and added internal
+ setters to the SiteName and IsHosted properties.
+
+ * ApplicationManager.cs: CreateHost doesn't have to call set
+ HostingEnvironment.IsHosted, it is done in
+ ApplicationHost.CreateApplicationHost.
+
+ * ApplicationHost.cs: set the ".appId" item in the new appdomain's
+ data, so that HttpRuntime.AppDomainAppId returns a non-null
+ value.
+ Set HostingEnvironment.{IsHosted, SiteName} in the new appdomain
+ instead of the original one.
+
+ All of the above fix bug #578880
+
2010-01-14 Marek Habersack <mhabersack@novell.com>
* ApplicationManager.cs: implemented a missing CreateObject
public static bool IsHosted {
get { return is_hosted; }
+ internal set { is_hosted = value; }
}
public static ApplicationShutdownReason ShutdownReason {
public static string SiteName {
get { return site_name; }
+ internal set { site_name = value; }
}
public static VirtualPathProvider VirtualPathProvider {
throw new ArgumentNullException ("obj");
Host.UnregisterObject (obj);
}
-
- internal static void SetIsHosted (bool isHosted)
- {
- is_hosted = isHosted;
- }
}
}
+2010-02-11 Marek Habersack <mhabersack@novell.com>
+
+ * Roles.cs: IsUserInRole checks if username is null or empty
+ before attempting to use it. Patch from Tiaan Geldenhuys
+ <tagdev@gmail.com>. thanks!
+
2009-09-22 Sebastien Pouliot <sebastien@ximian.com>
* MembershipProvider.cs: Ensure password decryption is always
public static bool IsUserInRole (string rolename)
{
- return Provider.IsUserInRole (CurrentUser, rolename);
+ return IsUserInRole (CurrentUser, rolename);
}
public static bool IsUserInRole (string username, string rolename)
{
+ if (String.IsNullOrEmpty (username))
+ return false;
return Provider.IsUserInRole (username, rolename);
}
+2010-01-20 Marek Habersack <mhabersack@novell.com>
+
+ * SessionStateBehavior.cs: added (4.0)
+
2009-10-19 Marek Habersack <mhabersack@novell.com>
* SessionStateModule.cs: enabled SQL session state provider.
--- /dev/null
+//
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+
+//
+// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+using System;
+
+namespace System.Web.SessionState
+{
+ public enum SessionStateBehavior
+ {
+ Default,
+ Required,
+ ReadOnly,
+ Disabled
+ }
+}
+2010-02-19 Marek Habersack <mhabersack@novell.com>
+
+ * SqlDataSource.cs: call base.OnInit in OnInit. Fixes bug #572781
+
+2010-02-18 Marek Habersack <mhabersack@novell.com>
+
+ * ListItemCollection.cs: ItemsEnabled and associated code removed
+ - there's no need to alter ListItem's Enabled property when
+ loading view state.
+
+ * ListControl.cs: SaveViewState doesn't set the items collection's
+ ItemsEnabled property as it was removed from ListItemCollection
+
+ * CheckBoxList.cs: LoadPostData never unselects any item. A better
+ fix for bug #377703
+ RenderItem renders items as disabled when Enabled is false, but if
+ Enabled is true, item is rendered according to the value of its
+ own Enabled property. Fixes bug #578770
+
+ * TreeView.cs: RegisterStyle must copy CssClass in addition to
+ other style properties. Fixes bug #580692
+
2010-01-18 Marek Habersack <mhabersack@novell.com>
* Parameter.cs: added missing 3.5 APIs - constructors taking
#if NET_2_0
if (item.Enabled)
#endif
- if (item.Selected != ischecked) {
- item.Selected = ischecked;
+ if (ischecked && !item.Selected) {
+ item.Selected = true;
return true;
}
check_box.AutoPostBack = AutoPostBack;
check_box.Checked = item.Selected;
check_box.TextAlign = TextAlign;
- check_box.Enabled = Enabled;
+ if (!Enabled)
+ check_box.Enabled = false;
+ else
+ check_box.Enabled = item.Enabled;
#if NET_2_0
check_box.ValidationGroup = ValidationGroup;
check_box.CausesValidation = CausesValidation;
baseState = base.SaveViewState ();
IStateManager manager = items as IStateManager;
- if (manager != null) {
- items.ItemsEnabled = Enabled;
+ if (manager != null)
itemsState = manager.SaveViewState ();
- }
if (baseState == null && itemsState == null)
return null;
ArrayList items;
bool tracking;
bool dirty;
- bool itemsEnabled;
int lastDirty = 0;
#endregion // Fields
}
#endregion // Public Constructors
- internal bool ItemsEnabled {
- get { return itemsEnabled; }
- set { itemsEnabled = value; }
- }
-
#region Public Instance Properties
public int Capacity {
get {
}
}
- void IStateManager.LoadViewState (object savedState) {
+ void IStateManager.LoadViewState (object savedState)
+ {
Pair pair = savedState as Pair;
if (pair == null)
return;
bool newCollection = (bool) pair.First;
object [] itemsArray = (object []) pair.Second;
- int count = itemsArray==null ? 0 : itemsArray.Length;
+ int count = itemsArray==null ? 0 : itemsArray.Length;
- if (newCollection)
- if (count > 0)
- items = new ArrayList(count);
- else
- items = new ArrayList();
+ if (newCollection)
+ if (count > 0)
+ items = new ArrayList(count);
+ else
+ items = new ArrayList();
for (int i = 0; i < count; i++) {
ListItem item = new ListItem ();
object [] itemsState = null;
if (count > 0)
itemsState = new object [count];
-#if NET_2_0
- ListItem li;
- bool enabled = ItemsEnabled;
-#endif
+
for (int i = 0; i < count; i++) {
-#if NET_2_0
- li = items [i] as ListItem;
- if (li != null && li.Enabled != enabled)
- li.Enabled = enabled;
-#endif
-
itemsState [i] = ((IStateManager) items [i]).SaveViewState ();
if (itemsState [i] != null)
itemsDirty = true;
protected internal override void OnInit (EventArgs e)
{
+ base.OnInit (e);
Page.LoadComplete += OnPageLoadComplete;
}
{
linkStyle.CopyTextStylesFrom (baseStyle);
linkStyle.BorderStyle = BorderStyle.None;
+ linkStyle.AddCssClass (baseStyle.CssClass);
baseStyle.Font.Reset ();
RegisterStyle (linkStyle);
RegisterStyle (baseStyle);
style.AddCssClass (nodeLinkStyle.CssClass);
style.AddCssClass (nodeLinkStyle.RegisteredCssClass);
}
+
+ if (levelLinkStyles != null && levelLinkStyles.Count > level) {
+ style.AddCssClass (levelLinkStyles [level].CssClass);
+ style.AddCssClass (levelLinkStyles [level].RegisteredCssClass);
+ }
+
if (node.IsLeafNode) {
if (leafNodeStyle != null) {
style.AddCssClass (leafNodeLinkStyle.CssClass);
style.AddCssClass (parentNodeLinkStyle.RegisteredCssClass);
}
}
- if (levelStyles != null && levelStyles.Count > level) {
- style.AddCssClass (levelLinkStyles [level].CssClass);
- style.AddCssClass (levelLinkStyles [level].RegisteredCssClass);
- }
+
if (nodeIsSelected) {
style.AddCssClass (selectedNodeLinkStyle.CssClass);
style.AddCssClass (selectedNodeLinkStyle.RegisteredCssClass);
style.CopyFrom (ControlLinkStyle);
if (nodeStyle != null)
style.CopyFrom (nodeLinkStyle);
+
+ if (levelLinkStyles != null && levelLinkStyles.Count > level)
+ style.CopyFrom (levelLinkStyles [level]);
+
if (node.IsLeafNode) {
if (node.IsLeafNode && leafNodeStyle != null) {
style.CopyFrom (leafNodeLinkStyle);
style.CopyFrom (parentNodeLinkStyle);
}
}
- if (levelStyles != null && levelStyles.Count > level)
- style.CopyFrom (levelLinkStyles [level]);
+
if (nodeIsSelected)
style.CopyFrom (selectedNodeLinkStyle);
style.AlwaysRenderTextDecoration = true;
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2002,2003 Ximian, Inc (http://www.ximian.com)
-// (c) 2004 Novell, Inc. (http://www.novell.com)
+// (c) 2004-2010 Novell, Inc. (http://www.novell.com)
//
//
sealed class ApplicationFileParser : TemplateParser
{
static ArrayList dependencies;
-#if NET_2_0
TextReader reader;
-#endif
public ApplicationFileParser (string fname, HttpContext context)
{
InputFile = fname;
Context = context;
-#if NET_2_0
VirtualPath = new VirtualPath ("/" + Path.GetFileName (fname));
-#endif
LoadConfigDefaults ();
}
-#if NET_2_0
internal ApplicationFileParser (VirtualPath virtualPath, TextReader reader, HttpContext context)
: this (virtualPath, null, reader, context)
{
SetBaseType (null);
LoadConfigDefaults ();
}
-#endif
protected override Type CompileIntoType ()
{
get { return Context.Request.ApplicationPath; }
}
-#if NET_2_0
- internal override TextReader Reader {
+ internal override TextReader Reader {
get { return reader; }
set { reader = value; }
}
-#endif
}
}
// Gonzalo Paniagua (gonzalo@ximian.com)
//
// (C) 2002 Ximian, Inc. (http://www.ximian.com
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
}
}
-#if NET_2_0
internal void CopyFrom (AttributeCollection attributeCollection)
{
if (attributeCollection == null || attributeCollection.Count == 0)
foreach (string key in attributeCollection.bag.Keys)
this.Add (key, attributeCollection [key]);
}
-#endif
}
}
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2002 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
string baseDir;
string baseVDir;
ILocation location;
-#if !NET_2_0
- CompilationConfiguration compilationConfig;
-#endif
internal string MapPath (string path)
{
}
}
-#if NET_2_0
internal TSection GetConfigSection <TSection> (string section) where TSection: global::System.Configuration.ConfigurationSection
{
VirtualPath vpath = VirtualPath;
internal CompilationSection CompilationConfig {
get { return GetConfigSection <CompilationSection> ("system.web/compilation"); }
}
-
-#else
- internal CompilationConfiguration CompilationConfig {
- get {
- if (compilationConfig == null)
- compilationConfig = CompilationConfiguration.GetInstance (context);
-
- return compilationConfig;
- }
- }
-#endif
}
}
bool slidingExpiration;
Control control;
-#if NET_2_0
ControlCachePolicy cachePolicy;
-#endif
protected BasePartialCachingControl()
{
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override void OnInit (EventArgs e)
+ protected internal override void OnInit (EventArgs e)
{
control = CreateControl ();
Controls.Add (control);
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override void Render (HtmlTextWriter output)
+ protected internal override void Render (HtmlTextWriter output)
{
Cache cache = HttpRuntime.InternalCache;
string key = CreateKey ();
CacheItemPriority.Normal, null);
}
-#if NET_2_0
public ControlCachePolicy CachePolicy
{
get {
return cachePolicy;
}
}
-#endif
public CacheDependency Dependency {
get {return dependency;}
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2006-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
namespace System.Web.UI {
}
}
}
-#endif
// Authors:
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
-// Copyright (c) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (c) 2005-2010 Novell, Inc (http://www.novell.com)
//
//
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI
{
public class BoundPropertyEntry : PropertyEntry {
}
}
}
-#endif // NET_2_0
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Web.UI;
namespace System.Web.UI
public abstract class BuilderPropertyEntry : PropertyEntry
{
public ControlBuilder Builder {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
+ get;
+ set;
}
-
}
}
-#endif
+2010-01-20 Marek Habersack <mhabersack@novell.com>
+
+ * ObjectStateFormatter.cs: implemented support for IndexedString
+ on top of the existing StringFormatter.
+
+ * IndexedString.cs: implemented
+
2009-12-22 Marek Habersack <mhabersack@novell.com>
* Page.cs: form javascript declaration block is rendered only if
//
//
-// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2006-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System;
using System.IO;
using System.Collections;
}
}
}
-
-#endif
// Lluis Sanchez (lluis@novell.com)
//
// (C) 2002,2003 Ximian, Inc. (http://www.ximian.com)
-// (c) 2003 Novell, Inc. (http://www.novell.com)
+// (c) 2003-2010 Novell, Inc. (http://www.novell.com)
//
//
using System;
using System.Collections;
-#if NET_2_0
using System.Collections.Generic;
-#endif
using System.Text;
using System.Collections.Specialized;
using System.Web.Util;
namespace System.Web.UI
{
- #if NET_2_0
- public sealed partial
- #else
- internal
- #endif
- class ClientScriptManager
+ public sealed partial class ClientScriptManager
{
internal const string EventStateFieldName = "__EVENTVALIDATION";
internal Hashtable hiddenFields;
ScriptEntry submitStatements;
Page page;
-#if NET_2_0
int [] eventValidationValues;
int eventValidationPos = 0;
Hashtable expandoAttributes;
expandoAttributes != null;
}
}
-#endif
internal ClientScriptManager (Page page)
{
this.page = page;
}
-#if !NET_2_0
- public string GetPostBackClientEvent (Control control, string argument)
- {
- return GetPostBackEventReference (control, argument);
- }
-#endif
-
public string GetPostBackClientHyperlink (Control control, string argument)
{
return "javascript:" + GetPostBackEventReference (control, argument);
}
-#if NET_2_0
public string GetPostBackClientHyperlink (Control control, string argument, bool registerForEventValidation)
{
if (registerForEventValidation)
RegisterForEventValidation (control.UniqueID, argument);
return "javascript:" + GetPostBackEventReference (control, argument);
}
-#endif
-#if !NET_2_0
- internal
-#else
- public
-#endif
- string GetPostBackEventReference (Control control, string argument)
+ public string GetPostBackEventReference (Control control, string argument)
{
if (control == null)
throw new ArgumentNullException ("control");
return "__doPostBack('" + control.UniqueID + "','" + argument + "')";
}
-#if NET_2_0
public string GetPostBackEventReference (Control control, string argument, bool registerForEventValidation)
{
if (control == null)
if(options.TrackFocus)
RegisterHiddenField (Page.LastFocusID, String.Empty);
- string prefix = options.RequiresJavaScriptProtocol ? "javascript:" : "";
+ string prefix = options.RequiresJavaScriptProtocol ? "javascript:" : String.Empty;
if (page.IsMultiForm)
prefix += page.theForm + ".";
(clientErrorCallback ?? "null") + "," +
(useAsync ? "true" : "false") + ")";
}
-#endif
-#if NET_2_0
- public
-#else
- internal
-#endif
- string GetWebResourceUrl(Type type, string resourceName)
+ public string GetWebResourceUrl(Type type, string resourceName)
{
if (type == null)
throw new ArgumentNullException ("type");
RegisterScript (ref clientScriptBlocks, type, "include-" + key, url, ScriptEntryFormat.Include);
}
-#if NET_2_0
public void RegisterClientScriptResource (Type type, string resourceName)
{
RegisterScript (ref clientScriptBlocks, type, "resource-" + resourceName, GetWebResourceUrl (type, resourceName), ScriptEntryFormat.Include);
throw InvalidPostBackException ();
}
-#endif
+
void WriteScripts (HtmlTextWriter writer, ScriptEntry scriptList)
{
if (scriptList == null)
}
}
-#if NET_2_0
internal void RestoreEventValidationState (string fieldValue)
{
if (!page.EnableEventValidation || fieldValue == null || fieldValue.Length == 0)
writer.WriteLine ();
}
-#endif
-
-#if NET_2_0
internal const string SCRIPT_BLOCK_START = "//<![CDATA[";
internal const string SCRIPT_BLOCK_END = "//]]>";
internal const string SCRIPT_ELEMENT_START = @"<script type=""text/javascript"">" + SCRIPT_BLOCK_START;
-#else
- internal const string SCRIPT_BLOCK_START = "<!--";
- internal const string SCRIPT_BLOCK_END ="// -->";
- internal const string SCRIPT_ELEMENT_START = @"<script language=""javascript"" type=""text/javascript"">" + SCRIPT_BLOCK_START;
-#endif
internal const string SCRIPT_ELEMENT_END = SCRIPT_BLOCK_END + "</script>";
internal static void WriteBeginScriptBlock (HtmlTextWriter writer)
if (hiddenFields == null)
return;
-#if NET_2_0
writer.WriteLine ();
writer.RenderBeginTag (HtmlTextWriterTag.Div);
int oldIndent = writer.Indent;
writer.Indent = 0;
bool first = true;
-#endif
+
foreach (string key in hiddenFields.Keys) {
string value = hiddenFields [key] as string;
if (first)
first = false;
else
writer.WriteLine ();
-#if NET_2_0
writer.Write ("<input type=\"hidden\" name=\"{0}\" id=\"{0}\" value=\"{1}\" />", key, HttpUtility.HtmlAttributeEncode (value));
-#else
- writer.Write ("<input type=\"hidden\" name=\"{0}\" value=\"{1}\" />", key, HttpUtility.HtmlAttributeEncode (value));
-#endif
}
-#if NET_2_0
writer.Indent = oldIndent;
writer.RenderEndTag (); // DIV
writer.WriteLine ();
-#endif
hiddenFields = null;
}
}
}
-#if NET_2_0
internal string GetClientValidationEvent (string validationGroup) {
if (page.IsMultiForm)
return "if (typeof(" + page.theForm + ".Page_ClientValidate) == 'function') " + page.theForm + ".Page_ClientValidate('" + validationGroup + "');";
return "if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate('" + validationGroup + "');";
}
-#endif
internal string GetClientValidationEvent ()
{
StringBuilder sb = new StringBuilder ();
ScriptEntry entry = submitStatements;
while (entry != null) {
-#if NET_2_0
sb.Append (EnsureEndsWithSemicolon (entry.Script));
-#else
- sb.Append (entry.Script);
-#endif
entry = entry.Next;
}
-#if NET_2_0
RegisterClientScriptBlock (GetType(), "HtmlForm-OnSubmitStatemen",
@"
" + page.WebFormScriptReference + @".WebForm_OnSubmit = function () {
}
", true);
return "javascript:return " + page.WebFormScriptReference + ".WebForm_OnSubmit();";
-
-#else
- return sb.ToString ();
-#endif
}
internal static string GetScriptLiteral (object ob)
Include,
}
-#if NET_2_0
// helper method
internal static string EnsureEndsWithSemicolon (string value) {
if (value != null && value.Length > 0 && value [value.Length - 1] != ';')
return value += ";";
return value;
}
-#endif
}
}
// Authors:
// Marek Safar (marek.safar@gmail.com)
//
-// Copyright (C) 2009 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2009-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
namespace System.Web.UI
{
public enum CodeConstructType
ScriptTag = 3
}
}
-
-#endif
\ No newline at end of file
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI {
public enum CompilationMode {
Auto = 0,
Always = 2
}
}
-#endif
// Authors:
// Lluis Sanchez Gual (lluis@novell.com)
//
-// (C) 2005 Novell, Inc (http://www.novell.com)
+// (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.Collections.Specialized;
namespace System.Web.UI
}
}
}
-
-#endif
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2002 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// This is used in the generated C# code from MS and xsp does the same.
// It just seems to be a container implementing an ITemplate interface.
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI
{
public class ComplexPropertyEntry : BuilderPropertyEntry
{
+ internal ComplexPropertyEntry (bool isCollectionItem, bool readOnly)
+ {
+ this.IsCollectionItem = isCollectionItem;
+ this.ReadOnly = readOnly;
+ }
+
public bool IsCollectionItem {
- get { throw new NotImplementedException (); }
+ get;
+ private set;
}
public bool ReadOnly {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
+ get;
+ set;
}
}
}
-#endif
+
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI {
public enum ConflictOptions {
OverwriteChanges = 0,
- CompareAllValues = 1
+ CompareAllValues = 1
}
}
-#endif
//
// Authors:
// Bob Smith <bob@thestuff.net>
-// Gonzalo Paniagua Javier (gonzalo@ximian.com
+// Gonzalo Paniagua Javier (gonzalo@ximian.com)
// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
// Sanjay Gupta (gsanjay@novell.com)
+// Marek Habersack <mhabersack@novell.com>
//
// (C) Bob Smith
// (c) 2002,2003 Ximian, Inc. (http://www.ximian.com)
-// (C) 2004 Novell, Inc. (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc. (http://www.novell.com)
//
//
//
using System.Collections;
+using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
+using System.Globalization;
+using System.IO;
using System.Security.Permissions;
using System.Web;
using System.Web.Util;
-using System.Globalization;
-#if NET_2_0
-using System.Collections.Generic;
using System.Web.UI.Adapters;
-using System.IO;
-#endif
namespace System.Web.UI
{
[DefaultProperty ("ID"), DesignerCategory ("Code"), ToolboxItemFilter ("System.Web.UI", ToolboxItemFilterType.Require)]
[ToolboxItem ("System.Web.UI.Design.WebControlToolboxItem, " + Consts.AssemblySystem_Design)]
[Designer ("System.Web.UI.Design.ControlDesigner, " + Consts.AssemblySystem_Design, "System.ComponentModel.Design.IDesigner")]
-#if NET_2_0
[DesignerSerializer ("Microsoft.VisualStudio.Web.WebForms.ControlCodeDomSerializer, " + Consts.AssemblyMicrosoft_VisualStudio_Web,
"System.ComponentModel.Design.Serialization.CodeDomSerializer, " + Consts.AssemblySystem_Design)]
[Bindable (true)]
[Themeable (false)]
-#else
- [DesignerSerializer ("Microsoft.VSDesigner.WebForms.ControlCodeDomSerializer, " + Consts.AssemblyMicrosoft_VSDesigner,
- "System.ComponentModel.Design.Serialization.CodeDomSerializer, " + Consts.AssemblySystem_Design)]
-#endif
- public partial class Control : IComponent, IDisposable, IParserAccessor, IDataBindingsAccessor
-#if NET_2_0
-, IUrlResolutionService, IControlBuilderAccessor, IControlDesignerAccessor, IExpressionsAccessor
-#endif
+ public partial class Control : IComponent, IDisposable, IParserAccessor, IDataBindingsAccessor, IUrlResolutionService, IControlBuilderAccessor, IControlDesignerAccessor, IExpressionsAccessor
{
internal static readonly object DataBindingEvent = new object ();
internal static readonly object DisposedEvent = new object ();
const int unload_mask = 1 << 5;
/* */
-#if NET_2_0
[ThreadStatic]
static Dictionary <Type, bool> loadViewStateByIDCache;
bool? loadViewStateByID;
-#endif
string uniqueID;
string _userId;
ControlCollection _controls;
DataBindingCollection dataBindings;
Hashtable pendingVS; // may hold unused viewstate data from child controls
-
-
-#if NET_2_0
TemplateControl _templateControl;
bool _isChildControlStateCleared;
-#endif
string _templateSourceDirectory;
/*************/
const int VIEWSTATE_LOADED = 1 << 13;
const int LOADED = 1 << 14;
const int PRERENDERED = 1 << 15;
-#if NET_2_0
const int ENABLE_THEMING = 1 << 16;
-#endif
const int AUTOID_SET = 1 << 17;
const int REMOVED = 1 << 18;
/*************/
{
defaultNameArray = new string [100];
for (int i = 0; i < 100; i++)
-#if NET_2_0
defaultNameArray [i] = String.Concat ("ctl", i.ToString ("D2"));
-#else
- defaultNameArray [i] = "_ctl" + i;
-#endif
}
public Control ()
stateMask |= IS_NAMING_CONTAINER;
}
-#if NET_2_0
ControlAdapter adapter;
bool did_adapter_lookup;
protected internal ControlAdapter Adapter {
}
}
-#endif
-
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[EditorBrowsable (EditorBrowsableState.Never), Browsable (false)]
public Control BindingContainer {
string client = UniqueID;
if (client != null)
-#if NET_2_0
client = UniqueID2ClientID (client);
-#else
- client = client.Replace (':', ClientIDSeparator);
-#endif
stateMask |= ID_SET;
return client;
}
}
-#if NET_2_0
internal string UniqueID2ClientID (string uniqueId)
{
return uniqueId.Replace (IdSeparator, ClientIDSeparator);
}
- protected char ClientIDSeparator
-#else
- char ClientIDSeparator
-#endif
- {
+ protected char ClientIDSeparator {
get { return '_'; }
}
}
}
-#if NET_2_0
[MonoTODO ("revisit once we have a real design strategy")]
protected internal bool DesignMode {
get { return false; }
}
-#endif
[DefaultValue (true), WebCategory ("Behavior")]
[WebSysDescription ("An Identification of the control that is rendered.")]
-#if NET_2_0
[Themeable (false)]
-#endif
public virtual bool EnableViewState {
get { return ((stateMask & ENABLE_VIEWSTATE) != 0); }
set { SetMask (ENABLE_VIEWSTATE, value); }
[MergableProperty (false), ParenthesizePropertyName (true)]
[WebSysDescription ("The name of the control that is rendered.")]
-#if NET_2_0
[Filterable (false), Themeable (false)]
-#endif
-
public virtual string ID {
get { return (((stateMask & ID_SET) != 0) ? _userId : null); }
set {
- if (value == "")
+ if (value != null && value.Length == 0)
value = null;
stateMask |= ID_SET;
}
}
-#if NET_2_0
protected internal bool IsChildControlStateCleared {
get { return _isChildControlStateCleared; }
}
return (bool)loadViewStateByID;
}
}
-#endif
-#if NET_2_0
- protected internal
-#endif
- bool IsViewStateEnabled {
+ protected internal bool IsViewStateEnabled {
get {
for (Control control = this; control != null; control = control.Parent)
if (!control.EnableViewState)
}
}
-#if NET_2_0
protected char IdSeparator {
get { return '$'; }
}
-#else
- internal char IdSeparator {
- get { return ':'; }
- }
-#endif
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false)]
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false)]
[WebSysDescription ("The webpage that this control resides on.")]
-#if NET_2_0
[Bindable (false)]
-#endif
public virtual Page Page { //DIT
get {
if (_page == null){
set { _site = value; }
}
-#if NET_2_0
[Browsable (false)]
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
public TemplateControl TemplateControl {
return null;
}
}
-#endif
#if !TARGET_J2EE
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[WebSysDescription ("A virtual directory containing the parent of the control.")]
public virtual string TemplateSourceDirectory {
get {
-#if NET_2_0
if (_templateSourceDirectory == null) {
TemplateControl tc = TemplateControl;
}
return _templateSourceDirectory;
-#else
- if (_templateSourceDirectory == null) {
- HttpContext ctx = HttpContext.Current;
- HttpRequest req = ctx != null ? ctx.Request : null;
-
- _templateSourceDirectory = (_parent == null)
- ? req != null ? VirtualPathUtility.RemoveTrailingSlash (
- VirtualPathUtility.GetDirectory (
- HttpContext.Current.Request.CurrentExecutionFilePath)) : String.Empty
- : _parent.TemplateSourceDirectory;
- }
- return _templateSourceDirectory;
-#endif
}
}
#endif
[Browsable (false)]
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- virtual HttpContext Context { //DIT
+ protected internal virtual HttpContext Context { //DIT
get {
-#if NET_2_0
Page page = Page;
if (page != null)
return page.Context;
-#else
- if (_parent == null)
- return HttpContext.Current;
- HttpContext context = _parent.Context;
- if (context != null)
- return context;
-#endif
return HttpContext.Current;
}
string GetDefaultName ()
{
string defaultName;
- if (defaultNumberID > 99) {
-#if NET_2_0
+ if (defaultNumberID > 99)
defaultName = "ctl" + defaultNumberID++;
-#else
- defaultName = "_ctl" + defaultNumberID++;
-#endif
- } else {
+ else
defaultName = defaultNameArray [defaultNumberID++];
- }
return defaultName;
}
_controls [i].NullifyUniqueID ();
}
-#if NET_2_0
bool IsLoadViewStateByID ()
{
if (loadViewStateByIDCache == null)
loadViewStateByIDCache.Add (myType, ret);
return ret;
}
-#endif
protected internal virtual void AddedControl (Control control, int index)
{
Controls.Add (c);
}
-#if NET_2_0
[EditorBrowsable (EditorBrowsableState.Advanced)]
public virtual void ApplyStyleSheetSkin (Page page)
{
cs.ApplySkin (this);
}
}
-#endif
+ [MonoTODO]
protected void BuildProfileTree (string parentId, bool calcViewState)
{
- //TODO
}
-#if NET_2_0
protected void ClearChildControlState ()
{
_isChildControlStateCleared = true;
ClearChildViewState ();
ClearChildControlState ();
}
-#endif
protected void ClearChildViewState ()
{
pendingVS = null;
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- virtual void CreateChildControls () //DIT
+ protected internal virtual void CreateChildControls () //DIT
{
}
{
if (ChildControlsCreated == false && (stateMask & CREATING_CONTROLS) == 0) {
stateMask |= CREATING_CONTROLS;
-#if NET_2_0
if (Adapter != null)
Adapter.CreateChildControls ();
else
-#endif
CreateChildControls ();
ChildControlsCreated = true;
stateMask &= ~CREATING_CONTROLS;
SetMask (AUTOID_SET, true);
}
-#if NET_2_0
protected void EnsureID ()
{
if (NamingContainer == null)
{
return _events != null;
}
-#endif
void ResetControlsCache ()
{
if ((this.stateMask & IS_NAMING_CONTAINER) != 0 || Parent == null)
//LAMESPEC: MS' docs don't mention it, but FindControl is case insensitive.
-#if NET_2_0
_controlsCache = new Hashtable (StringComparer.OrdinalIgnoreCase);
-#else
- _controlsCache = new Hashtable (CaseInsensitiveHashCodeProvider.Default, CaseInsensitiveComparer.Default);
-#endif
else
_controlsCache = Parent.InitControlsCache ();
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- virtual void OnInit (EventArgs e)
+ protected internal virtual void OnInit (EventArgs e)
{
if ((event_mask & init_mask) != 0) {
EventHandler eh = (EventHandler) (_events [InitEvent]);
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- virtual void OnLoad (EventArgs e)
+ protected internal virtual void OnLoad (EventArgs e)
{
if ((event_mask & load_mask) != 0) {
EventHandler eh = (EventHandler) (_events [LoadEvent]);
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- virtual void OnPreRender (EventArgs e)
+ protected internal virtual void OnPreRender (EventArgs e)
{
if ((event_mask & prerender_mask) != 0) {
EventHandler eh = (EventHandler) (_events [PreRenderEvent]);
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- virtual void OnUnload (EventArgs e)
+ protected internal virtual void OnUnload (EventArgs e)
{
if ((event_mask & unload_mask) != 0) {
EventHandler eh = (EventHandler) (_events [UnloadEvent]);
}
}
-#if NET_2_0
protected internal Stream OpenFile (string path)
{
try {
return page != null ? page.MapPath (path) : Context.Server.MapPath (path);
}
-#endif
protected void RaiseBubbleEvent (object source, EventArgs args)
{
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- virtual void Render (HtmlTextWriter writer) //DIT
+ protected internal virtual void Render (HtmlTextWriter writer) //DIT
{
RenderChildren (writer);
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- virtual void RenderChildren (HtmlTextWriter writer) //DIT
+ protected internal virtual void RenderChildren (HtmlTextWriter writer) //DIT
{
if (_renderMethodDelegate != null) {
_renderMethodDelegate (writer, this);
c = _controls [i];
if (c == null)
continue;
-#if NET_2_0
ControlAdapter tmp = c.Adapter;
if (tmp != null)
c.RenderControl (writer, tmp);
else
-#endif
c.RenderControl (writer);
}
}
}
-#if NET_2_0
protected virtual ControlAdapter ResolveAdapter ()
{
HttpContext context = Context;
a = (ControlAdapter)Activator.CreateInstance (adapterType);
return a;
}
-#endif
protected virtual object SaveViewState ()
{
public virtual void DataBind () //DIT
{
-#if NET_2_0
DataBind (true);
-#else
- OnDataBinding (EventArgs.Empty);
- DataBindChildren();
-#endif
}
-#if NET_2_0
- protected virtual
-#endif
-
- void DataBindChildren ()
+ protected virtual void DataBindChildren ()
{
if (!HasControls ())
return;
return (_controls != null && _controls.Count > 0);
}
-#if NET_2_0
- public virtual
-#else
- public
-#endif
- void RenderControl (HtmlTextWriter writer)
+ public virtual void RenderControl (HtmlTextWriter writer)
{
-#if NET_2_0
if (this.adapter != null) {
RenderControl (writer, this.adapter);
return;
}
-#endif
if ((stateMask & VISIBLE) != 0) {
HttpContext ctx = Context;
}
}
-#if NET_2_0
protected void RenderControl (HtmlTextWriter writer, ControlAdapter adapter)
{
if ((stateMask & VISIBLE) != 0) {
adapter.EndRender (writer);
}
}
-#endif
public string ResolveUrl (string relativeUrl)
{
if (relativeUrl [0] == '#')
return relativeUrl;
-#if NET_2_0
string ts = AppRelativeTemplateSourceDirectory;
-#else
- string ts = TemplateSourceDirectory;
-#endif
-
HttpContext ctx = Context;
HttpResponse resp = ctx != null ? ctx.Response : null;
if (ts == null || ts.Length == 0 || resp == null || relativeUrl.IndexOf (':') >= 0)
}
-#if NET_2_0
- public
-#else
- internal
-#endif
- string ResolveClientUrl (string relativeUrl)
+ public string ResolveClientUrl (string relativeUrl)
{
if (relativeUrl == null)
throw new ArgumentNullException ("relativeUrl");
trace.Write ("control", String.Concat ("LoadRecursive ", _userId, " ", type_name));
}
#endif
-#if NET_2_0
if (Adapter != null)
Adapter.OnLoad (EventArgs.Empty);
else
-#endif
OnLoad (EventArgs.Empty);
if (HasControls ()) {
int len = _controls.Count;
if (trace != null)
trace.Write ("control", String.Concat ("End UnloadRecursive ", _userId, " ", type_name));
#endif
-#if NET_2_0
ControlAdapter tmp = Adapter;
if (tmp != null)
tmp.OnUnload (EventArgs.Empty);
else
-#endif
OnUnload (EventArgs.Empty);
if (dispose)
Dispose ();
{
bool visible;
-#if NET_2_0
- visible = Visible;
-#else
- visible = (stateMask & VISIBLE) != 0;
-#endif
-
+ visible = Visible;
if (visible) {
-#if NET_2_0
SetMask (VISIBLE, true);
-#endif
EnsureChildControls ();
#if MONO_TRACE
TraceContext trace = (Context != null && Context.Trace.IsEnabled) ? Context.Trace : null;
trace.Write ("control", String.Concat ("PreRenderRecursive ", _userId, " ", type_name));
}
#endif
-#if NET_2_0
if (Adapter != null)
Adapter.OnPreRender (EventArgs.Empty);
else
-#endif
OnPreRender (EventArgs.Empty);
if (!HasControls ())
return;
if (trace != null)
trace.Write ("control", String.Concat ("End PreRenderRecursive ", _userId, " ", type_name));
#endif
- }
-#if NET_2_0
- else
+ } else
SetMask (VISIBLE, false);
-#endif
stateMask |= PRERENDERED;
}
if ((stateMask & REMOVED) == 0 && (stateMask & INITED) != INITED) {
stateMask |= INITING;
-#if NET_2_0
ApplyTheme ();
ControlAdapter tmp = Adapter;
if (tmp != null)
tmp.OnInit (EventArgs.Empty);
else
-#endif
OnInit (EventArgs.Empty);
TrackViewState ();
stateMask |= INITED;
}
}
-#if NET_2_0
object thisAdapterViewState = null;
if (Adapter != null)
thisAdapterViewState = Adapter.SaveAdapterViewState ();
-#endif
+
object thisState = null;
if (IsViewStateEnabled)
#endif
trace.SaveViewState (this, thisState);
}
-#if NET_2_0
thisState = new object[] { thisState, thisAdapterViewState };
-#endif
return new Pair (thisState, controlStates);
}
}
#endif
Pair savedInfo = (Pair) savedState;
-#if NET_2_0
object[] controlAndAdapterViewStates = (object [])savedInfo.First;
if (Adapter != null)
Adapter.LoadAdapterViewState (controlAndAdapterViewStates [1]);
LoadViewState (controlAndAdapterViewStates [0]);
-#else
- LoadViewState (savedInfo.First);
-#endif
ArrayList controlStates = savedInfo.Second as ArrayList;
if (controlStates == null)
stateMask |= VIEWSTATE_LOADED;
}
-#if NET_2_0
internal ControlSkin controlSkin;
internal void ApplyTheme ()
trace.Write ("control", String.Concat ("End ApplyThemeRecursive ", _userId, " ", type_name));
#endif
}
-#endif
internal bool AutoID {
get { return (stateMask & AUTOID) != 0; }
ResetControlsCache ();
}
-#if NET_2_0
string skinId = string.Empty;
bool _enableTheming = true;
if (page != null && CheckForValidationSupport ())
page.ClientScript.ValidateEvent (uniqueId, argument);
}
-#endif
+
void IParserAccessor.AddParsedSubObject (object obj)
{
this.AddParsedSubObject (obj);
// Authors:
// Duncan Mak (duncan@ximian.com)
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
+// Marek Habersack <mhabersack@novell.com>
//
// (C) 2002, 2003 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
set { method = value; }
}
-#if NET_2_0
internal CodeMemberMethod DataBindingMethod {
get;
set;
}
-#endif
internal CodeStatementCollection MethodStatements {
get { return methodStatements; }
}
}
-#if NET_2_0
- public virtual
-#else
- internal
-#endif
- Type BindingContainerType {
+ public virtual Type BindingContainerType {
get {
ControlBuilder cb = (this is TemplateBuilder && !(this is RootBuilder)) ? this : MyNamingContainer;
return typeof (Control);
}
-#if NET_2_0
if (cb != this && cb is ContentBuilderInternal && !typeof (INonBindingContainer).IsAssignableFrom (cb.BindingContainerType))
return cb.BindingContainerType;
-#endif
Type ct;
if (cb is TemplateBuilder) {
templateChildren.Add (child);
}
-#if NET_2_0
if (parser == null)
return;
parser.AddImport (component.Namespace);
parser.AddDependency (component.Source);
-#endif
}
public virtual bool AllowWhitespaceLiterals ()
{
}
-#if NET_2_0
static Type MapTagType (Type tagType)
{
if (tagType == null)
return tagType;
}
-#endif
public static ControlBuilder CreateBuilderFromType (TemplateParser parser,
ControlBuilder parentBuilder,
string sourceFileName)
{
- Type tagType;
-#if NET_2_0
- tagType = MapTagType (type);
-#else
- tagType = type;
-#endif
- ControlBuilder builder;
+ Type tagType = MapTagType (type);
+ ControlBuilder builder;
object [] atts = tagType.GetCustomAttributes (typeof (ControlBuilderAttribute), true);
if (atts != null && atts.Length > 0) {
ControlBuilderAttribute att = (ControlBuilderAttribute) atts [0];
}
}
}
-#if NET_2_0
+
[MonoTODO ("unsure, lack documentation")]
public virtual object BuildObject ()
{
}
}
}
-#endif
}
}
// Dick Porter <dick@ximian.com>
// Marek Habersack <mhabersack@novell.com>
//
-// Copyright (C) 2005-2008 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.Web.Caching;
namespace System.Web.UI
}
}
-#endif
// Duncan Mak (duncan@ximian.com)
// Gonzalo Paniagua Javier (gonzalo@novell.com)
//
-// Copyright (c) 2002-2005 Novell, Inc. (http://www.novell.com)
+// Copyright (c) 2002-2010 Novell, Inc. (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
this.owner = owner;
}
- public
-#if NET_2_0
- virtual
-#endif
- int Count {
+ public virtual int Count {
get { return count; }
}
return (controls != null && Array.IndexOf (controls, c) != -1);
}
- public
-#if NET_2_0
- virtual
-#endif
- void CopyTo (Array array, int index)
+ public virtual void CopyTo (Array array, int index)
{
if (controls == null)
return;
array.SetValue (controls [i], i + index);
}
- public
-#if NET_2_0
- virtual
-#endif
- IEnumerator GetEnumerator ()
+ public virtual IEnumerator GetEnumerator ()
{
return new SimpleEnumerator (this);
}
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2006 Novell, Inc (http://www.novell.com)
+// (C) 2006-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.ComponentModel;
namespace System.Web.UI {
}
}
-
-#endif
// Author:
// Sanjay Gupta <gsanjay@novell.com>
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
using System.ComponentModel;
public delegate Control ControlSkinDelegate (Control control);
}
-#endif
-
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc. (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc. (http://www.novell.com)
//
//
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
using System.ComponentModel;
public override int GetHashCode ()
{
return base.GetHashCode();
- }
+ }
}
}
-#endif
// Authors:
// Atsushi Enomoto <atsushi@ximian.com>
//
-// (C) 2008 Novell, Inc. (http://www.novell.com)
+// (C) 2008-2010 Novell, Inc. (http://www.novell.com)
//
//
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
using System.ComponentModel;
using System.Security.Permissions;
}
}
}
-#endif
// Gonzalo Paniagua (gonzalo@ximian.com)
//
// (C) 2002 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
internal CssStyleCollection ()
{
-#if NET_2_0
style = new ListDictionary (StringComparer.OrdinalIgnoreCase);
-#else
- style = new ListDictionary ();
-#endif
}
internal CssStyleCollection (StateBag bag) : this ()
static void AppendStyle (StringBuilder sb, string key, string value)
{
-#if NET_2_0
if (String.Compare (key, "background-image", StringComparison.OrdinalIgnoreCase) == 0 &&
value.Length >= 3 && String.Compare ("url", 0, value, 0, 3, StringComparison.OrdinalIgnoreCase) != 0)
-#else
- if (key == "background-image" && 0 != String.Compare ("url", value.Substring (0, 3), true,
- Helpers.InvariantCulture))
-#endif
sb.AppendFormat ("{0}:url({1});", key, HttpUtility.UrlPathEncode (value));
else
sb.AppendFormat ("{0}:{1};", key, value);
bag [AttributeCollection.StyleAttribute] = _value.ToString ();
}
-#if NET_2_0
- public
-#else
- internal
-#endif
- void Add (HtmlTextWriterStyle key, string value)
+ public void Add (HtmlTextWriterStyle key, string value)
{
Add (HtmlTextWriter.StaticGetStyleName (key), value);
}
else
BagToValue ();
}
-#if NET_2_0
+
public string this [HtmlTextWriterStyle key] {
get { return style [HtmlTextWriter.StaticGetStyleName (key)] as string; }
set { Add (HtmlTextWriter.StaticGetStyleName (key), value); }
Remove (HtmlTextWriter.StaticGetStyleName (key));
}
- public
-#else
- internal
-#endif
- string Value {
+ public string Value {
get { return _value.ToString (); }
set {
SetValueInternal (value);
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2002 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
//
using System.Collections;
+using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
using System.Security.Permissions;
-#if NET_2_0
-using System.Collections.Generic;
-#endif
namespace System.Web.UI {
return FormatResult (result, format);
}
- #if NET_2_0
[ThreadStatic]
static Dictionary<Type, PropertyInfo> dataItemCache;
bool flag;
return GetDataItem (container, out flag);
}
- #endif
}
}
// Duncan Mak (duncan@ximian.com)
//
// (C) Ximian, Inc.
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
ArrayList removed;
EventHandlerList events = new EventHandlerList ();
-#if NET_2_0
- public
-#else
- internal
-#endif
- event EventHandler Changed {
+
+ public event EventHandler Changed {
add { events.AddHandler (changedEvent, value); }
remove { events.RemoveHandler (changedEvent, value); }
}
list.Remove (propertyName);
}
-#if NET_2_0
public bool Contains (string propertyName)
{
return list.Contains (propertyName);
}
-#endif
internal void RaiseChanged ()
{
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2002 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
// attributes
[ToolboxItem(false)]
- public sealed class DataBoundLiteralControl : Control
-#if NET_2_0
- , ITextControl
-#endif
+ public sealed class DataBoundLiteralControl : Control, ITextControl
{
int staticLiteralsCount;
string [] staticLiterals;
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override void Render (HtmlTextWriter output)
+ protected internal override void Render (HtmlTextWriter output)
{
int stLength = staticLiterals == null ? 0 : staticLiterals.Length;
int dbLength = dataBoundLiterals.Length;
staticLiterals [index] = s;
}
-#if NET_2_0
string ITextControl.Text {
get {
return Text;
throw new NotSupportedException ();
}
}
-#endif
}
}
using System.ComponentModel;
using System.Globalization;
-#if NET_2_0
namespace System.Web.UI
{
public class DataSourceCacheDurationConverter : Int32Converter
}
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI {
public enum DataSourceCacheExpiry {
Absolute = 0,
Sliding = 1
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI {
[Flags]
public enum DataSourceCapabilities {
RetrieveTotalRowCount = 4
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
}
}
-#endif
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2006 Novell, Inc (http://www.novell.com)
+// (C) 2006-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
namespace System.Web.UI {
public sealed class DataSourceControlBuilder : ControlBuilder
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI {
public enum DataSourceOperation {
Delete = 0,
SelectCount = 4
}
}
-#endif
// Author:
// Sanjay Gupta <gsanjay@novell.com>
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
namespace System.Web.UI
}
}
}
-#endif
// Sanjay Gupta (gsanjay@novell.com)
//
// (C) 2003 Ben Maurer
-// (C) 2004 Novell, Inc. (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc. (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
using System.Collections.Specialized;
using System.Text;
}
}
-#endif
// Author:
// Sanjay Gupta <gsanjay@novell.com>
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
namespace System.Web.UI
{
public delegate bool DataSourceViewOperationCallback (int recordsAffected, Exception exception);
}
-
-#endif
// Author:
// Sanjay Gupta <gsanjay@novell.com>
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
using System.Collections;
{
public delegate void DataSourceViewSelectCallback (IEnumerable data);
}
-
-#endif
//
//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
string text;
IDesignerHost host;
string durl;
-#if NET_2_0
string filter;
bool theme;
ICollection collection;
-#endif
public DesignTimeParseData (IDesignerHost designerHost, string parseText)
{
host = designerHost;
text = parseText;
}
-#if NET_2_0
+
public DesignTimeParseData (IDesignerHost designerHost, string parseText, string filter)
: this (designerHost, parseText)
{
{
this.collection = collection;
}
-#endif
public EventHandler DataBindingHandler {
get {
return text;
}
}
-#if NET_2_0
+
public string Filter {
get { return filter; }
}
public ICollection UserControlRegisterEntries {
get { return collection; }
}
-#endif
}
}
// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
//
// (C) 2003 Andreas Nahr
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// CAS - no InheritanceDemand here as the class is sealed
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-#if NET_2_0
public static class DesignTimeTemplateParser {
-#else
- public sealed class DesignTimeTemplateParser {
-
- DesignTimeTemplateParser ()
- {
- }
-#endif
[SecurityPermission (SecurityAction.Demand, ControlThread = true, UnmanagedCode = true)]
public static Control ParseControl (DesignTimeParseData data)
{
// Parse data
return NewParser;
}
-#if NET_2_0
+
[MonoTODO("Not implemented")]
[SecurityPermission (SecurityAction.Demand, ControlThread = true, UnmanagedCode = true)]
public static Control[] ParseControls (DesignTimeParseData data)
{
throw new NotImplementedException ();
}
-#endif
}
}
// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
//
// (C) 2003 Andreas Nahr
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
text = (string) savedState;
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override void Render (HtmlTextWriter output)
+ protected internal override void Render (HtmlTextWriter output)
{
output.Write (text);
}
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI
{
public class EventEntry
{
- public EventEntry () { throw new NotImplementedException (); }
+ public EventEntry ()
+ {}
+
public string HandlerMethodName {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
+ get;
+ set;
}
public Type HandlerType {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
+ get;
+ set;
}
public string Name {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
+ get;
+ set;
}
}
}
-#endif
\ No newline at end of file
// Authors:
// Sanjay Gupta gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc. (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc. (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
namespace System.Web.UI {
}
}
}
-#endif
// Authors:
// Sanjay Gupta gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc. (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc. (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
using System.ComponentModel;
using System.Collections;
}
}
-#endif
// Author:
// Sanjay Gupta <gsanjay@novell.com>
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
using System.Collections.Specialized;
public delegate IOrderedDictionary ExtractTemplateValuesMethod (Control control);
}
-#endif
// Marek Habersack (mhabersack@novell.com)
//
// (C) 2007 Mainsoft Co. (http://www.mainsoft.com)
-// (C) 2009 Novell, Inc (http://novell.com/)
+// (C) 2009-2010 Novell, Inc (http://novell.com/)
//
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI
{
[AttributeUsageAttribute (AttributeTargets.Class)]
}
}
}
-#endif
// Marek Habersack <mhabersack@novell.com>
//
// (C) 2007 Mainsoft Co. (http://www.mainsoft.com)
-// (C) 2009 Novell, Inc (http://novell.com/)
+// (C) 2009-2010 Novell, Inc (http://novell.com/)
//
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Web.UI;
using System.Web.UI.WebControls;
}
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Web.UI;
namespace System.Web.UI
}
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc. (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc. (http://www.novell.com)
//
//
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
using System.ComponentModel;
if (attrib is FilterableAttribute)
return true;
}
- return false;
+ return false;
}
public static bool IsTypeFilterable (Type type)
if (attrib is FilterableAttribute)
return true;
}
- return false;
+ return false;
}
}
}
-#endif
// Marek Habersack (grendello@gmail.com)
//
// (C) 2006 Marek Habersack
+// (C) 2007-2010 Novell, Inc (http://novell.com/)
//
//
namespace System.Web.UI
{
-#if NET_2_0
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
- public
-#else
- internal
-#endif
- class HiddenFieldPageStatePersister : PageStatePersister
+ public class HiddenFieldPageStatePersister : PageStatePersister
{
public HiddenFieldPageStatePersister (Page page)
: base(page)
// Lluis Sanchez Gual (lluis@novell.com)
//
// (C) 2003 Ben Maurer
-// (C) 2005 Novell, Inc (http://www.novell.com)
+// (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
using System.Collections.Specialized;
using System.Text;
}
-#endif
// Sanjay Gupta (gsanjay@novell.com)
//
// (C) 2003 Ben Maurer
-// (C) 2004 Novell, Inc. (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc. (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
using System.Collections.Specialized;
using System.Text;
{
}
- public abstract IHierarchicalEnumerable Select();
+ public abstract IHierarchicalEnumerable Select();
}
}
-#endif
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// Copyright (C) Matthijs ter Woord, 2004
-// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
- public class Html32TextWriter : HtmlTextWriter {
-#if NET_2_0
+ public class Html32TextWriter : HtmlTextWriter
+ {
bool div_table_substitution;
bool bold;
bool italic;
-#endif
public Html32TextWriter (TextWriter writer) : base (writer)
{
{
}
-#if NET_2_0
[MonoTODO ("no effect on html generation")]
public bool ShouldPerformDivTableSubstitution {
get { return div_table_substitution; }
get { return italic; }
set { italic = value; }
}
-#endif
public override void RenderBeginTag (HtmlTextWriterTag tagKey)
{
{
if (tagKey == HtmlTextWriterTag.Unknown ||
!Enum.IsDefined (typeof (HtmlTextWriterTag), tagKey))
- return "";
+ return String.Empty;
return tagKey.ToString ().ToLower (Helpers.InvariantCulture);
/* The code below is here just in case we need to split things up
switch (tagkey) {
case HtmlTextWriterTag.Unknown:
- return "";
+ return String.Empty;
case HtmlTextWriterTag.A:
return "a";
case HtmlTextWriterTag.Acronym:
case HtmlTextWriterTag.Xml:
return "xml";
default:
- return "";
+ return String.Empty;
}
*/
}
// Author:
// Ben Maurer <bmaurer@novell.com>
//
-// (c) 2005 Novell
+// (c) 2005-2010 Novell, Inc (http://novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
static HtmlTextWriter ()
{
-#if NET_2_0
_tagTable = new Hashtable (tags.Length, StringComparer.OrdinalIgnoreCase);
_attributeTable = new Hashtable (htmlattrs.Length, StringComparer.OrdinalIgnoreCase);
_styleTable = new Hashtable (htmlstyles.Length, StringComparer.OrdinalIgnoreCase);
-#else
- _tagTable = new Hashtable (tags.Length,
- CaseInsensitiveHashCodeProvider.Default, CaseInsensitiveComparer.Default);
-
- _attributeTable = new Hashtable (htmlattrs.Length,
- CaseInsensitiveHashCodeProvider.Default, CaseInsensitiveComparer.Default);
-
- _styleTable = new Hashtable (htmlstyles.Length,
- CaseInsensitiveHashCodeProvider.Default, CaseInsensitiveComparer.Default);
-#endif
foreach (HtmlTag tag in tags)
_tagTable.Add (tag.name, tag);
styles [styles_pos] = new AddedStyle ();
#endif
styles [styles_pos].name = name;
-#if NET_2_0
value = HttpUtility.HtmlAttributeEncode (value);
-#endif
styles [styles_pos].value = value;
styles [styles_pos].key = key;
}
for (int i = 0; i <= styles_pos; i++) {
AddedStyle a = styles [i];
if (OnStyleAttributeRender (a.name, a.value, a.key)) {
-#if NET_2_0
- if (a.key == HtmlTextWriterStyle.BackgroundImage) {
+ if (a.key == HtmlTextWriterStyle.BackgroundImage)
a.value = String.Concat ("url(", HttpUtility.UrlPathEncode (a.value), ")");
- }
-#endif
WriteStyleAttribute (a.name, a.value, false);
}
}
break;
case TagType.Block:
Indent--;
- WriteLineNoTabs ("");
+ WriteLineNoTabs (String.Empty);
WriteEndTag (TagName);
break;
}
static HtmlTag [] tags = {
- new HtmlTag (HtmlTextWriterTag.Unknown, "", TagType.Block),
+ new HtmlTag (HtmlTextWriterTag.Unknown, String.Empty, TagType.Block),
new HtmlTag (HtmlTextWriterTag.A, "a", TagType.Inline),
new HtmlTag (HtmlTextWriterTag.Acronym, "acronym", TagType.Inline),
new HtmlTag (HtmlTextWriterTag.Address, "address", TagType.Block),
new HtmlAttribute (HtmlTextWriterAttribute.Value, "value"),
new HtmlAttribute (HtmlTextWriterAttribute.Width, "width"),
new HtmlAttribute (HtmlTextWriterAttribute.Wrap, "wrap"),
-#if NET_2_0
new HtmlAttribute (HtmlTextWriterAttribute.Abbr, "abbr"),
new HtmlAttribute (HtmlTextWriterAttribute.AutoComplete, "autocomplete"),
new HtmlAttribute (HtmlTextWriterAttribute.Axis, "axis"),
new HtmlAttribute (HtmlTextWriterAttribute.Shape, "shape"),
new HtmlAttribute (HtmlTextWriterAttribute.Usemap, "usemap"),
new HtmlAttribute (HtmlTextWriterAttribute.VCardName, "vcard_name"),
-#endif
};
static HtmlStyle [] htmlstyles = {
new HtmlStyle (HtmlTextWriterStyle.Height, "height"),
new HtmlStyle (HtmlTextWriterStyle.TextDecoration, "text-decoration"),
new HtmlStyle (HtmlTextWriterStyle.Width, "width"),
-#if NET_2_0
new HtmlStyle (HtmlTextWriterStyle.ListStyleImage, "list-style-image"),
new HtmlStyle (HtmlTextWriterStyle.ListStyleType, "list-style-type"),
new HtmlStyle (HtmlTextWriterStyle.Cursor, "cursor"),
new HtmlStyle (HtmlTextWriterStyle.Visibility, "visibility"),
new HtmlStyle (HtmlTextWriterStyle.WhiteSpace, "white-space"),
new HtmlStyle (HtmlTextWriterStyle.ZIndex, "z-index"),
-#endif
};
-#if NET_2_0
public virtual bool IsValidFormAttribute (string attribute)
{
return true;
public virtual void EndRender ()
{
}
-#endif
}
}
// Author:
// Ben Maurer <bmaurer@novell.com>
//
-// (c) 2005 Novell
+// (c) 2005-2010 Novell
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace System.Web.UI {
-#if !NET_2_0
- [Serializable]
-#endif
+namespace System.Web.UI
+{
public enum HtmlTextWriterAttribute {
Accesskey,
Align,
Value,
Width,
Wrap,
-#if NET_2_0
Abbr,
AutoComplete,
Axis,
Shape,
Usemap,
VCardName
-#endif
}
}
// Author:
// Ben Maurer <bmaurer@novell.com>
//
-// (c) 2005 Novell
+// (c) 2005-2010 Novell, Inc (http://novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace System.Web.UI {
-#if !NET_2_0
- [Serializable]
-#endif
+namespace System.Web.UI
+{
public enum HtmlTextWriterStyle {
BackgroundColor,
BackgroundImage,
Height,
TextDecoration,
Width,
-#if NET_2_0
ListStyleImage,
ListStyleType,
Cursor,
Visibility,
WhiteSpace,
ZIndex
-#endif
}
-
}
// Author:
// Ben Maurer <bmaurer@novell.com>
//
-// (c) 2005 Novell
+// (c) 2005-2010 Novell, Inc (http://novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-namespace System.Web.UI {
-#if !NET_2_0
- [Serializable]
-#endif
+namespace System.Web.UI
+{
public enum HtmlTextWriterTag {
Unknown,
A,
// Author:
// Atsushi Enomoto <atsushi@ximian.com>
//
-// (C) 2008 Novell, Inc (http://www.novell.com)
+// (C) 2008-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
using System.Collections;
using System.Security.Permissions;
ICollection GenerateFields (Control control);
}
}
-#endif
// Authors:
// Atsushi Enomoto <atsushi@ximian.com>
//
-// (C) 2008 Novell, Inc (http://www.novell.com)
+// (C) 2008-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
using System.Collections.Specialized;
using System.Security.Permissions;
void ExtractValues (IOrderedDictionary dictionary);
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
using System.Collections.Specialized;
IOrderedDictionary ExtractValues (Control control);
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
void RaiseCallbackEvent (string eventArgs);
}
}
-#endif
// Authors:
// Lluis Sanchez Gual (lluis@novell.com)
//
-// (C) 2005 Novell, Inc (http://www.novell.com)
+// (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
event EventHandler CheckedChanged;
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
ControlBuilder ControlBuilder { get; }
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
using System.Collections;
IDictionary UserData { get; }
}
}
-#endif
-
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
public override bool Equals (object obj)
{
if (obj != null && obj is IDReferencePropertyAttribute)
- return (this.controlType == ((IDReferencePropertyAttribute) obj).controlType);
+ return (this.controlType == ((IDReferencePropertyAttribute) obj).controlType);
return false;
}
}
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
int DisplayIndex { get; }
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
using System.Collections.Specialized;
using System.Text;
ICollection GetViewNames ();
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
object DataSourceViewSchema { get; set; }
}
}
-#endif
// Authors:
// Lluis Sanchez Gual (lluis@novell.com)
//
-// (C) 2005 Novell, Inc (http://www.novell.com)
+// (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
event EventHandler TextChanged;
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
bool HasExpressions { get; }
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
bool EvaluateFilter (string filterName);
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
using System.Collections.Specialized;
using System.Text;
HierarchicalDataSourceView GetHierarchicalView (string viewPath);
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
namespace System.Web.UI {
IHierarchyData GetHierarchyData (object enumeratedItem);
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI {
public interface IHierarchyData {
IHierarchicalEnumerable GetChildren ();
string Type { get; }
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-namespace System.Web.UI {
+namespace System.Web.UI
+{
public interface INavigateUIData {
string Name { get; }
string NavigateUrl { get; }
string Description { get; }
}
}
-#endif
// Authors:
// Marek Habersack (mhabersack@novell.com)
//
-// (C) 2008 Novell, Inc. (http://www.novell.com)
+// (C) 2008-2010 Novell, Inc. (http://www.novell.com)
//
//
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
string GetResourceUrl (Type type, string resource);
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
using System.Collections.Generic;
using System.Text;
void RegisterClientScriptResourceExternal (Control control, Type type, string resourceName);
}
}
-#endif
\ No newline at end of file
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
namespace System.Web.UI
{
-#if NET_2_0
- public
-#else
- internal
-#endif
- interface IStateFormatter
+ public interface IStateFormatter
{
object Deserialize (string serializationState);
string Serialize (object state);
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
-
using System.Web.UI.WebControls;
namespace System.Web.UI
void RegisterStyle (Style style, IUrlResolutionService urlResolver);
}
}
-#endif
// Authors:
// Lluis Sanchez Gual (lluis@novell.com)
//
-// (C) 2005 Novell, Inc (http://www.novell.com)
+// (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
namespace System.Web.UI
string Text { get; set; }
}
}
-#endif
-
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
using System.Collections;
ThemeProvider GetThemeProvider ();
}
}
-#endif
-
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
using System.Collections;
string ResolveClientUrl (string url);
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// (C) 2004 Novell, Inc (http://www.novell.com)
+// (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
-#if NET_2_0
using System;
using System.Collections;
Type GetType (string prefixTag, string tagName);
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
+using System;
+
namespace System.Web.UI
{
[SerializableAttribute]
{
public IndexedString (string s)
{
- throw new NotImplementedException ();
+ if (String.IsNullOrEmpty (s))
+ throw new ArgumentNullException ("s");
+
+ Value = s;
}
- public string Value { get { throw new NotImplementedException (); } }
+ public string Value {
+ get;
+ private set;
+ }
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.Collections;
using System.Collections.Specialized;
}
}
}
-
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.Collections;
namespace System.Web.UI
}
}
}
-
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
using System.Collections.Specialized;
using System.Text;
}
-#endif
-
-
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) Bob Smith
-// Copyright (C) 2002-2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2002-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
// attributes
[ToolboxItem(false)]
- public class LiteralControl : Control
-#if NET_2_0
- , ITextControl
-#endif
+ public class LiteralControl : Control, ITextControl
{
string _text;
public virtual string Text {
get { return _text; }
set {
- _text = (value == null) ? "" : value;
+ _text = (value == null) ? String.Empty : value;
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override void Render (HtmlTextWriter writer)
+ protected internal override void Render (HtmlTextWriter writer)
{
writer.Write (_text);
}
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2003 Ben Maurer
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// CAS - no InheritanceDemand here as the class is sealed
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
- public sealed class LosFormatter {
-
+ public sealed class LosFormatter
+ {
ObjectStateFormatter osf;
public LosFormatter ()
osf = new ObjectStateFormatter ();
}
-#if NET_1_1
- public LosFormatter (bool enableMac, string macKeyModifier)
- : this (enableMac, Convert.FromBase64String (macKeyModifier))
+ public LosFormatter (bool enableMac, string macKeyModifier) : this (enableMac, Convert.FromBase64String (macKeyModifier))
{
}
-#endif
+
[MonoTODO]
-#if NET_2_0
- public
-#else
- internal
-#endif
- LosFormatter (bool enableMac, byte[] macKeyModifier)
+ public LosFormatter (bool enableMac, byte[] macKeyModifier)
{
if (enableMac)
osf = new ObjectStateFormatter (macKeyModifier);
// Authors:
// Lluis Sanchez Gual (lluis@novell.com)
//
-// (C) 2005 Novell, Inc.
+// (C) 2005-2010 Novell, Inc.
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System;
using System.Collections;
using System.Collections.Generic;
}
}
}
-
-#endif
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2006 Novell, Inc (http://www.novell.com)
+// (C) 2006-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
public class MasterPageControlBuilder : UserControlControlBuilder
{
}
}
-#endif
// Authors:
// Lluis Sanchez Gual (lluis@novell.com)
//
-// (C) 2005 Novell, Inc.
+// (C) 2005-2010 Novell, Inc.
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System;
using System.Collections;
using System.Collections.Generic;
}
}
}
-
-#endif
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2005 Novell, Inc.
+// (C) 2005-2010 Novell, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System.Globalization;
using System.ComponentModel;
-#if NET_2_0
-namespace System.Web.UI {
- internal class MinimizableAttributeTypeConverter : TypeConverter {
-
+namespace System.Web.UI
+{
+ internal class MinimizableAttributeTypeConverter : TypeConverter
+ {
public MinimizableAttributeTypeConverter ()
{
}
public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
{
// culture?
- if (value != null) {
+ if (value != null) {
Type t = value.GetType ();
if (t == typeof (string))
return ((string)value) != String.Empty;
}
}
-#endif
// Authors:
// Lluis Sanchez Gual (lluis@novell.com)
//
-// (C) 2005 Novell, Inc (http://www.novell.com)
+// (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System;
namespace System.Web.UI
}
}
}
-
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
using System.Web.UI;
}
}
}
-#endif
// Gonzalo Paniagua (gonzalo@ximian.com)
//
// (C) 2003 Ben Maurer
-// (c) Copyright 2004-2008 Novell, Inc. (http://www.novell.com)
+// (c) Copyright 2004-2010 Novell, Inc. (http://www.novell.com)
//
//
using System.Security.Cryptography;
using System.Web.Configuration;
-namespace System.Web.UI {
-#if NET_2_0
- public
-#else
- internal
-#endif
- sealed class ObjectStateFormatter : IFormatter, IStateFormatter
+namespace System.Web.UI
+{
+ public sealed class ObjectStateFormatter : IFormatter, IStateFormatter
{
Page page;
HashAlgorithm algo;
if (vkey == null)
return false;
return true;
- } else {
-
-#if NET_2_0
+ } else
return page.EnableViewStateMac;
-#elif NET_1_1
- return page.EnableViewStateMacInternal;
-#else
- return false;
-#endif
- }
}
}
byte [] algoKey;
if (page != null) {
-#if NET_2_0
MachineKeySection mconfig = (MachineKeySection) WebConfigurationManager.GetWebApplicationSection ("system.web/machineKey");
algoKey = MachineKeySectionUtils.ValidationKeyBytes (mconfig);
-#else
- MachineKeyConfig mconfig = HttpContext.GetAppConfig ("system.web/machineKey") as MachineKeyConfig;
- algoKey = mconfig.ValidationKey;
-#endif
} else
algoKey = vkey;
{
if (inputString == null)
throw new ArgumentNullException ("inputString");
-#if NET_2_0
if (inputString.Length == 0)
throw new ArgumentNullException ("inputString");
-#else
- if (inputString == "")
- return "";
-#endif
+
byte [] buffer = Convert.FromBase64String (inputString);
int length;
if (buffer == null || (length = buffer.Length) == 0)
throw new ArgumentNullException ("inputString");
if (page != null && EnableMac)
length = ValidateInput (GetAlgo (), buffer, 0, length);
-#if NET_2_0
+
bool isEncrypted = ((int)buffer [--length] == 1)? true : false;
-#endif
Stream ms = new MemoryStream (buffer, 0, length, false, false);
-#if NET_2_0
if (isEncrypted)
ms = new CryptoStream (ms, page.GetCryptoTransform (CryptoStreamMode.Read), CryptoStreamMode.Read);
-#endif
return Deserialize (ms);
}
public string Serialize (object stateGraph)
{
if (stateGraph == null)
- return "";
+ return String.Empty;
MemoryStream ms = new MemoryStream ();
Stream output = ms;
-#if NET_2_0
bool needEncryption = page == null ? false : page.NeedViewStateEncryption;
if (needEncryption){
output = new CryptoStream (output, page.GetCryptoTransform (CryptoStreamMode.Write), CryptoStreamMode.Write);
}
-#endif
Serialize (output, stateGraph);
-#if NET_2_0
- ms.WriteByte((byte)(needEncryption? 1 : 0));
-#endif
-
+ ms.WriteByte((byte)(needEncryption? 1 : 0));
#if TRACE
ms.WriteTo (File.OpenWrite (Path.GetTempFileName ()));
#endif
#region Object Readers/Writers
- class WriterContext
+ sealed class WriterContext
{
Hashtable cache;
short nextKey = 0;
}
}
- class ReaderContext
+ sealed class ReaderContext
{
ArrayList cache;
new ObjectArrayFormatter ().Register ();
new UnitFormatter ().Register ();
new FontUnitFormatter ().Register ();
-
+ new IndexedStringFormatter ().Register ();
new ColorFormatter ().Register ();
enumFormatter = new EnumFormatter ();
get { return 2; }
}
}
+
+ class IndexedStringFormatter : StringFormatter
+ {
+ protected override void Write (BinaryWriter w, object o, WriterContext ctx)
+ {
+ IndexedString s = o as IndexedString;
+
+ if (s == null)
+ throw new InvalidOperationException ("object is not of the IndexedString type");
+
+ base.Write (w, s.Value, ctx);
+ }
+
+ protected override object Read (byte token, BinaryReader r, ReaderContext ctx)
+ {
+ string s = base.Read (token, r, ctx) as string;
+ if (String.IsNullOrEmpty (s))
+ throw new InvalidOperationException ("string must not be null or empty.");
+
+ return new IndexedString (s);
+ }
+
+ protected override Type Type {
+ get { return typeof (IndexedString); }
+ }
+
+ protected override int NumberOfIds {
+ get { return 2; }
+ }
+ }
class Int64Formatter : ObjectFormatter
{
namespace System.Web.UI
{
- public enum OutputCacheLocation
- {
- Any,
- Client,
- Downstream,
- Server,
- None,
-#if NET_1_1
+ public enum OutputCacheLocation
+ {
+ Any,
+ Client,
+ Downstream,
+ Server,
+ None,
ServerAndClient
-#endif
- }
+ }
}
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.ComponentModel;
using System.Security.Permissions;
#endregion
}
}
-
-#endif
// Marek Habersack (mhabersack@novell.com)
//
// (C) 2002,2003 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2003-2008 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2003-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System;
using System.Collections;
+using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Threading;
using System.Web;
using System.Web.Caching;
+using System.Web.Compilation;
using System.Web.Configuration;
using System.Web.SessionState;
using System.Web.Util;
+using System.Web.UI.Adapters;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Reflection;
-#if NET_2_0
-using System.Web.Compilation;
-using System.Web.UI.Adapters;
-using System.Collections.Generic;
-#endif
namespace System.Web.UI
{
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-#if !NET_2_0
-[RootDesignerSerializer ("Microsoft.VSDesigner.WebForms.RootCodeDomSerializer, " + Consts.AssemblyMicrosoft_VSDesigner, "System.ComponentModel.Design.Serialization.CodeDomSerializer, " + Consts.AssemblySystem_Design, true)]
-#endif
[DefaultEvent ("Load"), DesignerCategory ("ASPXCodeBehind")]
[ToolboxItem (false)]
-#if NET_2_0
[Designer ("Microsoft.VisualStudio.Web.WebForms.WebFormDesigner, " + Consts.AssemblyMicrosoft_VisualStudio_Web, typeof (IRootDesigner))]
-#else
-[Designer ("Microsoft.VSDesigner.WebForms.WebFormDesigner, " + Consts.AssemblyMicrosoft_VSDesigner, typeof (IRootDesigner))]
-#endif
+
public partial class Page : TemplateControl, IHttpHandler
{
-#if NET_2_0
static string machineKeyConfigPath = "system.web/machineKey";
bool _eventValidation = true;
object [] _savedControlState;
bool _doLoadPreviousPage;
string _focusedControlID;
bool _hasEnabledControlArray;
-#endif
bool _viewState;
bool _viewStateMac;
string _errorPage;
HttpSessionState _session;
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
- public
-#else
- protected
-#endif
- const string postEventArgumentID = "__EVENTARGUMENT";
+ public const string postEventArgumentID = "__EVENTARGUMENT";
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
- public
-#else
- protected
-#endif
- const string postEventSourceID = "__EVENTTARGET";
+ public const string postEventSourceID = "__EVENTTARGET";
-#if NET_2_0
const string ScrollPositionXID = "__SCROLLPOSITIONX";
const string ScrollPositionYID = "__SCROLLPOSITIONY";
const string EnabledControlArrayID = "__enabledControlArray";
-#endif
-
-#if NET_2_0
internal const string LastFocusID = "__LASTFOCUS";
internal const string CallbackArgumentID = "__CALLBACKARGUMENT";
internal const string CallbackSourceID = "__CALLBACKTARGET";
ViewStateEncryptionMode viewStateEncryptionMode;
bool controlRegisteredForViewStateEncryption = false;
-#endif
#region Constructors
public Page ()
scriptManager = new ClientScriptManager (this);
Page = this;
ID = "__Page";
-
-#if NET_2_0
PagesSection ps = WebConfigurationManager.GetSection ("system.web/pages") as PagesSection;
if (ps != null) {
asyncTimeout = ps.AsyncTimeout;
viewStateEncryptionMode = ViewStateEncryptionMode.Auto;
_viewState = true;
}
-#endif
}
#endregion
[EditorBrowsable (EditorBrowsableState.Never)]
protected bool AspCompatMode {
-#if NET_2_0
get { return false; }
-#endif
set { throw new NotImplementedException (); }
}
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute (false)]
public bool Buffer {
get { return Response.BufferOutput; }
set { Response.BufferOutput = value; }
}
-#else
- protected bool Buffer {
- set { Response.BufferOutput = value; }
- }
-#endif
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false)]
}
}
-#if NET_2_0
[EditorBrowsableAttribute (EditorBrowsableState.Advanced)]
-#endif
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false), DefaultValue ("")]
[WebSysDescription ("Value do override the automatic browser detection and force the page to use the specified browser.")]
}
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute (false)]
public int CodePage {
get { return Response.ContentEncoding.CodePage; }
set { Response.ContentEncoding = Encoding.GetEncoding (value); }
}
-#else
- protected int CodePage {
- set { Response.ContentEncoding = Encoding.GetEncoding (value); }
- }
-#endif
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute (false)]
public string ContentType {
get { return Response.ContentType; }
set { Response.ContentType = value; }
}
-#else
- protected string ContentType {
- set { Response.ContentType = value; }
- }
-#endif
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override HttpContext Context {
+ protected internal override HttpContext Context {
get {
if (_context == null)
return HttpContext.Current;
}
}
-#if NET_2_0
[EditorBrowsable (EditorBrowsableState.Advanced)]
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute (false)]
get { return Thread.CurrentThread.CurrentCulture.Name; }
set { Thread.CurrentThread.CurrentCulture = GetPageCulture (value, Thread.CurrentThread.CurrentCulture); }
}
-#else
- [EditorBrowsable (EditorBrowsableState.Never)]
- protected string Culture {
- set { Thread.CurrentThread.CurrentCulture = new CultureInfo (value); }
- }
-#endif
-#if NET_2_0
public virtual bool EnableEventValidation {
get { return _eventValidation; }
set {
_eventValidation = value;
}
}
-#endif
[Browsable (false)]
public override bool EnableViewState {
set { _viewState = value; }
}
-#if NET_2_0
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute (false)]
-#endif
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
- public
-#else
- protected
-#endif
- bool EnableViewStateMac {
+ public bool EnableViewStateMac {
get { return _viewStateMac; }
set { _viewStateMac = value; }
}
-#if NET_1_1
internal bool EnableViewStateMacInternal {
get { return _viewStateMac; }
set { _viewStateMac = value; }
}
-#endif
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false), DefaultValue ("")]
}
}
-#if NET_2_0
[Obsolete]
-#endif
[EditorBrowsable (EditorBrowsableState.Never)]
protected ArrayList FileDependencies {
set {
}
[Browsable (false)]
-#if NET_2_0
[EditorBrowsable (EditorBrowsableState.Never)]
-#endif
public override string ID {
get { return base.ID; }
set { base.ID = value; }
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false)]
public bool IsPostBack {
- get {
-#if NET_2_0
- return isPostBack;
-#else
- return _requestValueCollection != null;
-#endif
- }
+ get { return isPostBack; }
}
[EditorBrowsable (EditorBrowsableState.Never), Browsable (false)]
if (!is_validated)
throw new HttpException (Locale.GetText ("Page.IsValid cannot be called before validation has taken place. It should be queried in the event handler for a control that has CausesValidation=True and initiated the postback, or after a call to Page.Validate."));
-#if NET_2_0
foreach (IValidator val in Validators)
if (!val.IsValid)
return false;
return true;
-#else
- return ValidateCollection (_validators);
-#endif
}
}
-#if NET_2_0
+
public IDictionary Items {
get {
if (items == null)
return items;
}
}
-#endif
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute (false)]
public int LCID {
get { return Thread.CurrentThread.CurrentCulture.LCID; }
set { Thread.CurrentThread.CurrentCulture = new CultureInfo (value); }
}
-#else
- protected int LCID {
- set { Thread.CurrentThread.CurrentCulture = new CultureInfo (value); }
- }
-#endif
-#if NET_2_0
[Browsable (false)]
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
public bool MaintainScrollPositionOnPostBack {
get { return _maintainScrollPositionOnPostBack; }
set { _maintainScrollPositionOnPostBack = value; }
}
-#endif
-#if NET_2_0
public PageAdapter PageAdapter {
get {
return Adapter as PageAdapter;
internal IScriptManager ScriptManager {
get { return (IScriptManager) Items [typeof (IScriptManager)]; }
}
-
-#endif
-
#if !TARGET_J2EE
internal string theForm {
get {
}
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute (false)]
public string ResponseEncoding {
get { return Response.ContentEncoding.WebName; }
set { Response.ContentEncoding = Encoding.GetEncoding (value); }
}
-#else
- protected string ResponseEncoding {
- set { Response.ContentEncoding = Encoding.GetEncoding (value); }
- }
-#endif
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false)]
}
}
-#if NET_2_0
[FilterableAttribute (false)]
[Obsolete]
-#endif
[Browsable (false)]
public bool SmartNavigation {
get { return _smartNavigation; }
set { _smartNavigation = value; }
}
-#if NET_2_0
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Filterable (false)]
[Browsable (false)]
#endif
}
-#endif
-
-#if NET_2_0
[Localizable (true)]
[Bindable (true)]
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
_title = value;
}
}
-#endif
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false)]
}
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute (false)]
public bool TraceEnabled {
get { return Trace.IsEnabled; }
set { Trace.IsEnabled = value; }
}
-#else
- protected bool TraceEnabled {
- set { Trace.IsEnabled = value; }
- }
-#endif
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute (false)]
public TraceMode TraceModeValue {
get { return Trace.TraceMode; }
set { Trace.TraceMode = value; }
}
-#else
- protected TraceMode TraceModeValue {
- set { Trace.TraceMode = value; }
- }
-#endif
[EditorBrowsable (EditorBrowsableState.Never)]
protected int TransactionMode {
-#if NET_2_0
get { return _transactionMode; }
-#endif
set { _transactionMode = value; }
}
-#if !NET_2_0
- //
- // This method is here just to remove the warning about "_transactionMode" not being
- // used. We probably will use it internally at some point.
- //
- internal int GetTransactionMode ()
- {
- return _transactionMode;
- }
-#endif
-
-#if NET_2_0
[EditorBrowsable (EditorBrowsableState.Advanced)]
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[BrowsableAttribute (false)]
get { return Thread.CurrentThread.CurrentUICulture.Name; }
set { Thread.CurrentThread.CurrentUICulture = GetPageCulture (value, Thread.CurrentThread.CurrentUICulture); }
}
-#else
- [EditorBrowsable (EditorBrowsableState.Never)]
- protected string UICulture {
- set { Thread.CurrentThread.CurrentUICulture = new CultureInfo (value); }
- }
-#endif
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false)]
#region Methods
-#if NET_2_0
CultureInfo GetPageCulture (string culture, CultureInfo deflt)
{
if (culture == null)
return ret;
}
-#endif
[EditorBrowsable (EditorBrowsableState.Never)]
protected IAsyncResult AspCompatBeginProcessRequest (HttpContext context,
[EditorBrowsable (EditorBrowsableState.Advanced)]
protected virtual HtmlTextWriter CreateHtmlTextWriter (TextWriter tw)
{
-#if NET_2_0
if (Request.BrowserMightHaveSpecialWriter)
return Request.Browser.CreateHtmlTextWriter(tw);
else
-#endif
return new HtmlTextWriter (tw);
}
}
[EditorBrowsable (EditorBrowsableState.Advanced)]
- protected
-#if NET_2_0
- internal
-#endif
- virtual NameValueCollection DeterminePostBackMode ()
+ protected internal virtual NameValueCollection DeterminePostBackMode ()
{
// if request was transfered from other page such Transfer
if (_context.IsProcessingInclude)
return coll;
}
-#if NET_2_0
public override Control FindControl (string id) {
if (id == ID)
return this;
else
return base.FindControl (id);
}
-#endif
Control FindControl (string id, bool decode) {
#if TARGET_J2EE
return FindControl (id);
}
-#if NET_2_0
[Obsolete]
-#endif
[EditorBrowsable (EditorBrowsableState.Advanced)]
public string GetPostBackClientEvent (Control control, string argument)
{
return scriptManager.GetPostBackEventReference (control, argument);
}
-#if NET_2_0
[Obsolete]
-#endif
[EditorBrowsable (EditorBrowsableState.Advanced)]
public string GetPostBackClientHyperlink (Control control, string argument)
{
return scriptManager.GetPostBackClientHyperlink (control, argument);
}
-#if NET_2_0
[Obsolete]
-#endif
[EditorBrowsable (EditorBrowsableState.Advanced)]
public string GetPostBackEventReference (Control control)
{
return scriptManager.GetPostBackEventReference (control, "");
}
-#if NET_2_0
[Obsolete]
-#endif
[EditorBrowsable (EditorBrowsableState.Advanced)]
public string GetPostBackEventReference (Control control, string argument)
{
internal void RequiresPostBackScript ()
{
-#if NET_2_0
if (requiresPostBackScript)
return;
ClientScript.RegisterHiddenField (postEventSourceID, String.Empty);
ClientScript.RegisterHiddenField (postEventArgumentID, String.Empty);
-#endif
requiresPostBackScript = true;
RequiresFormScriptDeclaration ();
}
return 0;
}
-#if NET_2_0
[MonoTODO("The following properties of OutputCacheParameters are silently ignored: CacheProfile, SqlDependency")]
protected internal virtual void InitOutputCache(OutputCacheParameters cacheSettings)
{
cache.SetNoStore ();
}
}
-#endif
-
-#if NET_2_0
[MonoTODO ("varyByContentEncoding is not currently used")]
- protected virtual
-#endif
- void InitOutputCache(int duration,
- string varyByContentEncoding,
- string varyByHeader,
- string varyByCustom,
- OutputCacheLocation location,
- string varyByParam)
+ protected virtual void InitOutputCache(int duration,
+ string varyByContentEncoding,
+ string varyByHeader,
+ string varyByCustom,
+ OutputCacheLocation location,
+ string varyByParam)
{
HttpResponse response = Response;
HttpCachePolicy cache = response.Cache;
foreach (string h in hdrs)
cache.VaryByHeaders [h.Trim ()] = true;
}
-#if NET_2_0
+
if (PageAdapter != null) {
if (PageAdapter.CacheVaryByParams != null) {
foreach (string p in PageAdapter.CacheVaryByParams)
cache.VaryByHeaders [h] = true;
}
}
-#endif
}
response.IsCached = true;
InitOutputCache (duration, null, varyByHeader, varyByCustom, location, varyByParam);
}
-#if NET_2_0
[Obsolete]
-#else
- [EditorBrowsable (EditorBrowsableState.Advanced)]
-#endif
public bool IsClientScriptBlockRegistered (string key)
{
return scriptManager.IsClientScriptBlockRegistered (key);
}
-#if NET_2_0
[Obsolete]
-#else
- [EditorBrowsable (EditorBrowsableState.Advanced)]
-#endif
public bool IsStartupScriptRegistered (string key)
{
return scriptManager.IsStartupScriptRegistered (key);
return Request.MapPath (virtualPath);
}
-#if NET_2_0
protected internal override void Render (HtmlTextWriter writer)
{
if (MaintainScrollPositionOnPostBack) {
#endif
base.Render (writer);
}
-#endif
void RenderPostBackScript (HtmlTextWriter writer, string formUniqueID)
{
-#if ONLY_1_1
- writer.WriteLine ("<input type=\"hidden\" name=\"{0}\" value=\"\" />", postEventSourceID);
- writer.WriteLine ("<input type=\"hidden\" name=\"{0}\" value=\"\" />", postEventArgumentID);
-#endif
writer.WriteLine ();
-
ClientScriptManager.WriteBeginScriptBlock (writer);
-
-#if NET_1_1
RenderClientScriptFormDeclaration (writer, formUniqueID);
-#endif
-#if NET_2_0
writer.WriteLine (WebFormScriptReference + "._form = " + theForm + ";");
writer.WriteLine (WebFormScriptReference + ".__doPostBack = function (eventTarget, eventArgument) {");
writer.WriteLine ("\tif(" + theForm + ".onsubmit && " + theForm + ".onsubmit() == false) return;");
-#else
- writer.WriteLine ("__doPostBack = function (eventTarget, eventArgument) {");
- writer.WriteLine ("\tif(document.ValidatorOnSubmit && !ValidatorOnSubmit()) return;");
-#endif
writer.WriteLine ("\t" + theForm + "." + postEventSourceID + ".value = eventTarget;");
writer.WriteLine ("\t" + theForm + "." + postEventArgumentID + ".value = eventArgument;");
writer.WriteLine ("\t" + theForm + ".submit();");
if (formScriptDeclarationRendered)
return;
-#if NET_2_0
if (PageAdapter != null) {
writer.WriteLine ("\tvar {0} = {1};\n", theForm, PageAdapter.GetPostBackFormReference(formUniqueID));
- } else
-#endif
- {
+ } else {
writer.WriteLine ("\tvar {0};\n\tif (document.getElementById) {{ {0} = document.getElementById ('{1}'); }}", theForm, formUniqueID);
writer.WriteLine ("\telse {{ {0} = document.{1}; }}", theForm, formUniqueID);
}
renderingForm = true;
writer.WriteLine ();
-#if NET_2_0
if (requiresFormScriptDeclaration || (scriptManager != null && scriptManager.ScriptsPresent) || PageAdapter != null) {
ClientScriptManager.WriteBeginScriptBlock (writer);
RenderClientScriptFormDeclaration (writer, formUniqueID);
ClientScriptManager.WriteEndScriptBlock (writer);
}
-#endif
if (handleViewState)
#if TARGET_J2EE
RenderPostBackScript (writer, formUniqueID);
postBackScriptRendered = true;
}
-#if NET_2_0
+
scriptManager.WriteWebFormClientScript (writer);
-#endif
scriptManager.WriteClientScriptBlocks (writer);
}
internal void OnFormPostRender (HtmlTextWriter writer, string formUniqueID)
{
-#if NET_2_0
scriptManager.SaveEventValidationState ();
scriptManager.WriteExpandoAttributes (writer);
-#endif
scriptManager.WriteHiddenFields (writer);
if (!postBackScriptRendered && requiresPostBackScript)
RenderPostBackScript (writer, formUniqueID);
-#if NET_2_0
scriptManager.WriteWebFormClientScript (writer);
-#endif
-
scriptManager.WriteArrayDeclares (writer);
scriptManager.WriteStartupScriptBlocks (writer);
renderingForm = false;
}
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
public virtual void ProcessRequest (HttpContext context)
-#else
- public void ProcessRequest (HttpContext context)
-#endif
{
SetContext (context);
#if TARGET_J2EE
_appUICulture = null;
}
-#if NET_2_0
delegate void ProcessRequestDelegate (HttpContext context);
sealed class DummyAsyncResult : IAsyncResult
protected void AsyncPageEndProcessRequest (IAsyncResult result)
{
}
-#endif
void InternalProcessRequest ()
{
-#if NET_2_0
- if (PageAdapter != null) {
+ if (PageAdapter != null)
_requestValueCollection = PageAdapter.DeterminePostBackMode();
- } else
-#endif
- {
+ else
_requestValueCollection = this.DeterminePostBackMode();
- }
-#if NET_2_0
// http://msdn2.microsoft.com/en-us/library/ms178141.aspx
if (_requestValueCollection != null) {
if (!isCrossPagePostBack && _requestValueCollection [PreviousPageID] != null && _requestValueCollection [PreviousPageID] != Request.FilePath) {
InitializeTheme ();
ApplyMasterPage ();
-#endif
Trace.Write ("aspx.page", "Begin Init");
InitRecursive (null);
Trace.Write ("aspx.page", "End Init");
-#if NET_2_0
Trace.Write ("aspx.page", "Begin InitComplete");
OnInitComplete (EventArgs.Empty);
Trace.Write ("aspx.page", "End InitComplete");
-#endif
renderingForm = false;
void RestorePageState ()
{
-#if NET_2_0
if (IsPostBack || IsCallback) {
if (_requestValueCollection != null)
scriptManager.RestoreEventValidationState (
_requestValueCollection [ClientScriptManager.EventStateFieldName]);
-#else
- if (IsPostBack) {
-#endif
Trace.Write ("aspx.page", "Begin LoadViewState");
LoadPageViewState ();
Trace.Write ("aspx.page", "End LoadViewState");
void ProcessPostData ()
{
-
-#if NET_2_0
if (IsPostBack || IsCallback) {
-#else
- if (IsPostBack) {
-#endif
Trace.Write ("aspx.page", "Begin ProcessPostData");
ProcessPostData (_requestValueCollection, false);
Trace.Write ("aspx.page", "End ProcessPostData");
}
ProcessLoad ();
-
-#if NET_2_0
if (IsPostBack || IsCallback) {
-#else
- if (IsPostBack) {
-#endif
Trace.Write ("aspx.page", "Begin ProcessPostData Second Try");
ProcessPostData (secondPostData, true);
Trace.Write ("aspx.page", "End ProcessPostData Second Try");
void ProcessLoad ()
{
-#if NET_2_0
Trace.Write ("aspx.page", "Begin PreLoad");
OnPreLoad (EventArgs.Empty);
Trace.Write ("aspx.page", "End PreLoad");
-#endif
Trace.Write ("aspx.page", "Begin Load");
LoadRecursive ();
void ProcessRaiseEvents ()
{
-
-#if NET_2_0
if (IsPostBack || IsCallback) {
-#else
- if (IsPostBack) {
-#endif
Trace.Write ("aspx.page", "Begin Raise ChangedEvents");
RaiseChangedEvents ();
Trace.Write ("aspx.page", "End Raise ChangedEvents");
bool ProcessLoadComplete ()
{
-
-#if NET_2_0
Trace.Write ("aspx.page", "Begin LoadComplete");
OnLoadComplete (EventArgs.Empty);
Trace.Write ("aspx.page", "End LoadComplete");
callbackOutput.Flush ();
return true;
}
-#endif
Trace.Write ("aspx.page", "Begin PreRender");
PreRenderRecursiveInternal ();
Trace.Write ("aspx.page", "End PreRender");
-#if NET_2_0
ExecuteRegisteredAsyncTasks ();
Trace.Write ("aspx.page", "Begin PreRenderComplete");
OnPreRenderComplete (EventArgs.Empty);
Trace.Write ("aspx.page", "End PreRenderComplete");
-#endif
Trace.Write ("aspx.page", "Begin SaveViewState");
SavePageViewState ();
Trace.Write ("aspx.page", "End SaveViewState");
-#if NET_2_0
Trace.Write ("aspx.page", "Begin SaveStateComplete");
OnSaveStateComplete (EventArgs.Empty);
Trace.Write ("aspx.page", "End SaveStateComplete");
-#endif // NET_2_0
return false;
}
internal void RenderPage ()
{
-#if NET_2_0
scriptManager.ResetEventValidationState ();
-#endif
//--
Trace.Write ("aspx.page", "Begin Render");
void RaisePostBackEvents ()
{
-#if NET_2_0
Control targetControl;
-#endif
if (requiresRaiseEvent != null) {
RaisePostBackEvent (requiresRaiseEvent, null);
return;
return;
}
-#if NET_2_0
targetControl = FindControl (eventTarget, true);
IPostBackEventHandler target = targetControl as IPostBackEventHandler;
-#else
- IPostBackEventHandler target = FindControl (eventTarget) as IPostBackEventHandler;
-#endif
if (target == null)
return;
sourceControl.RaisePostBackEvent (eventArgument);
}
-#if NET_2_0
[Obsolete]
-#endif
[EditorBrowsable (EditorBrowsableState.Advanced)]
public void RegisterArrayDeclaration (string arrayName, string arrayValue)
{
scriptManager.RegisterArrayDeclaration (arrayName, arrayValue);
}
-#if NET_2_0
[Obsolete]
-#endif
[EditorBrowsable (EditorBrowsableState.Advanced)]
public virtual void RegisterClientScriptBlock (string key, string script)
{
scriptManager.RegisterClientScriptBlock (key, script);
}
-#if NET_2_0
[Obsolete]
-#endif
[EditorBrowsable (EditorBrowsableState.Advanced)]
public virtual void RegisterHiddenField (string hiddenFieldName, string hiddenFieldInitialValue)
{
throw new NotImplementedException ();
}
-#if NET_2_0
[Obsolete]
-#endif
[EditorBrowsable (EditorBrowsableState.Advanced)]
public void RegisterOnSubmitStatement (string key, string script)
{
[EditorBrowsable (EditorBrowsableState.Advanced)]
public void RegisterRequiresPostBack (Control control)
{
-#if NET_2_0
if (!(control is IPostBackDataHandler))
throw new HttpException ("The control to register does not implement the IPostBackDataHandler interface.");
-#endif
if (_requiresPostBack == null)
_requiresPostBack = new ArrayList ();
requiresRaiseEvent = control;
}
-#if NET_2_0
[Obsolete]
-#endif
[EditorBrowsable (EditorBrowsableState.Advanced)]
public virtual void RegisterStartupScript (string key, string script)
{
set { _savedViewState = value; }
}
-#if NET_2_0
- protected virtual
-#else
- internal
-#endif
- PageStatePersister PageStatePersister {
+
+ protected virtual PageStatePersister PageStatePersister {
get {
-#if NET_2_0
if (page_state_persister == null && PageAdapter != null)
page_state_persister = PageAdapter.GetStatePersister();
-#endif
if (page_state_persister == null)
page_state_persister = new HiddenFieldPageStatePersister (this);
return page_state_persister;
{
Pair sState = LoadPageStateFromPersistenceMedium () as Pair;
if (sState != null) {
- if (allow_load
-#if NET_2_0
- || isCrossPagePostBack
-#endif
- ) {
-#if NET_2_0
+ if (allow_load || isCrossPagePostBack) {
LoadPageControlState (sState.Second);
-#endif
+
Pair vsr = sState.First as Pair;
if (vsr != null) {
LoadViewStateRecursive (vsr.First);
if (!handleViewState)
return;
-#if NET_2_0
object controlState = SavePageControlState ();
-#endif
-
Pair vsr = null;
object viewState = null;
Pair pair = new Pair ();
pair.First = vsr;
-#if NET_2_0
pair.Second = controlState;
-#else
- pair.Second = null;
-#endif
if (pair.First == null && pair.Second == null)
SavePageStateToPersistenceMedium (null);
else
ValidateCollection (_validators);
}
-#if NET_2_0
internal bool AreValidatorsUplevel ()
{
return AreValidatorsUplevel (String.Empty);
}
internal bool AreValidatorsUplevel (string valGroup)
-#else
- internal virtual bool AreValidatorsUplevel ()
-#endif
{
bool uplevel = false;
foreach (IValidator v in Validators) {
BaseValidator bv = v as BaseValidator;
- if (bv == null) continue;
+ if (bv == null)
+ continue;
-#if NET_2_0
if (valGroup != bv.ValidationGroup)
continue;
-#endif
if (bv.GetRenderUplevel()) {
uplevel = true;
break;
{
if (Context == null)
return;
-#if NET_2_0
if (IsCallback)
return;
-#endif
if (!renderingForm)
throw new HttpException ("Control '" +
control.ClientID +
protected override void FrameworkInitialize ()
{
base.FrameworkInitialize ();
-#if NET_2_0
InitializeStyleSheet ();
-#endif
}
-
#endregion
-#if NET_2_0
- public
-#else
- internal
-#endif
- ClientScriptManager ClientScript {
+ public ClientScriptManager ClientScript {
get { return scriptManager; }
}
-#if NET_2_0
internal static readonly object InitCompleteEvent = new object ();
internal static readonly object LoadCompleteEvent = new object ();
internal static readonly object PreInitEvent = new object ();
}
#else
IHttpHandler handler;
-#if NET_2_0
handler = BuildManager.CreateInstanceFromVirtualPath (prevPage, typeof (IHttpHandler)) as IHttpHandler;
-#else
- handler = PageParser.GetCompiledPageInstance (prevPage, Server.MapPath (prevPage), Context);
-#endif
previousPage = (Page) handler;
previousPage.isCrossPagePostBack = true;
Server.Execute (handler, null, true, _context.Request.CurrentExecutionFilePath, null, false, false);
}
}
-
Hashtable contentTemplates;
[EditorBrowsable (EditorBrowsableState.Never)]
protected internal void AddContentTemplate (string templateName, ITemplate template)
}
}
- #endif
-
-#if NET_2_0
[MonoTODO ("Not implemented. Only used by .net aspx parser")]
protected object GetWrappedFileDependencies (string [] list)
{
protected internal void AddWrappedFileDependencies (object virtualFileDependencies)
{
}
-#endif
}
}
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System;
namespace System.Web.UI
}
}
-#endif
-
namespace System.Web.UI
{
-#if NET_2_0
- public
-#else
- internal
-#endif
- class PageHandlerFactory : IHttpHandlerFactory
+ public class PageHandlerFactory : IHttpHandlerFactory
{
public virtual IHttpHandler GetHandler (HttpContext context, string requestType, string url, string path)
{
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
internal enum PageLifeCycle
{
Unknown = 1,
Unload,
End
}
-#endif
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2002,2003 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
string errorPage;
bool validateRequest;
string clientTarget;
-
-#if NET_2_0
bool async;
int asyncTimeout = -1;
string masterPage;
int maxPageStateFieldLength = -1;
Type previousPageType;
string previousPageVirtualPath;
-#endif
public PageParser ()
{
internal PageParser (string virtualPath, string inputFile, HttpContext context)
{
-#if NET_2_0
this.VirtualPath = new VirtualPath (virtualPath);
-#endif
-
Context = context;
BaseVirtualDir = VirtualPathUtility.GetDirectory (virtualPath, false);
InputFile = inputFile;
LoadConfigDefaults ();
}
-#if NET_2_0
internal PageParser (VirtualPath virtualPath, TextReader reader, HttpContext context)
: this (virtualPath, null, reader, context)
{
AddApplicationAssembly ();
LoadConfigDefaults ();
}
-#endif
internal override void LoadConfigDefaults ()
{
base.LoadConfigDefaults ();
-#if NET_2_0
PagesSection ps = PagesConfig;
-#else
- PagesConfiguration ps = PagesConfig;
-#endif
notBuffer = !ps.Buffer;
enableSessionState = ps.EnableSessionState;
enableViewStateMac = ps.EnableViewStateMac;
smartNavigation = ps.SmartNavigation;
validateRequest = ps.ValidateRequest;
-#if NET_2_0
masterPage = ps.MasterPageFile;
if (masterPage.Length == 0)
masterPage = null;
if (styleSheetTheme.Length == 0)
styleSheetTheme = null;
maintainScrollPositionOnPostBack = ps.MaintainScrollPositionOnPostBack;
-#endif
}
- public static IHttpHandler GetCompiledPageInstance (string virtualPath,
- string inputFile,
- HttpContext context)
+ public static IHttpHandler GetCompiledPageInstance (string virtualPath, string inputFile, HttpContext context)
{
-#if NET_2_0
bool isFake = false;
if (!String.IsNullOrEmpty (inputFile))
isFake = !inputFile.StartsWith (HttpRuntime.AppDomainAppPath);
return BuildManager.CreateInstanceFromVirtualPath (new VirtualPath (virtualPath, inputFile, isFake), typeof (IHttpHandler)) as IHttpHandler;
-#else
- PageParser pp = new PageParser (virtualPath, inputFile, context);
- IHttpHandler h = (IHttpHandler) pp.GetCompiledInstance ();
- return h;
-#endif
}
internal override void ProcessMainAttributes (Hashtable atts)
CultureInfo ci = null;
try {
-#if NET_2_0
if (!culture.StartsWith ("auto"))
-#endif
ci = new CultureInfo (culture);
} catch {
ThrowParseException ("Unsupported Culture: " + culture);
if (uiculture != null) {
CultureInfo ci = null;
try {
-#if NET_2_0
if (!uiculture.StartsWith ("auto"))
-#endif
ci = new CultureInfo (uiculture);
} catch {
ThrowParseException ("Unsupported Culture: " + uiculture);
clientTarget = GetString (atts, "ClientTarget", null);
if (clientTarget != null) {
clientTarget = clientTarget.Trim ();
-#if NET_2_0
ClientTargetSection sec = GetConfigSection <ClientTargetSection> ("system.web/clientTarget");
ClientTarget ct = null;
clientTarget));
}
clientTarget = ct.UserAgent;
-#else
- NameValueCollection coll;
- coll = (NameValueCollection) HttpContext.GetAppConfig ("system.web/clientTarget");
- object ct = null;
-
- if (coll != null) {
- ct = coll [clientTarget];
- if (ct == null)
- ct = coll [clientTarget.ToLower (Helpers.InvariantCulture)];
- }
-
- if (ct == null) {
- ThrowParseException (String.Format (
- "ClientTarget '{0}' is an invalid alias. See the " +
- "documentation for <clientTarget> config. section.",
- clientTarget));
- }
- clientTarget = (string) ct;
-#endif
}
notBuffer = !GetBool (atts, "Buffer", true);
-
-#if NET_2_0
async = GetBool (atts, "Async", false);
string asyncTimeoutVal = GetString (atts, "AsyncTimeout", null);
if (asyncTimeoutVal != null) {
styleSheetTheme = GetString (atts, "StyleSheetTheme", styleSheetTheme);
enable_event_validation = GetBool (atts, "EnableEventValidation", enable_event_validation);
maintainScrollPositionOnPostBack = GetBool (atts, "MaintainScrollPositionOnPostBack", maintainScrollPositionOnPostBack);
-#endif
+
// Ignored by now
GetString (atts, "EnableViewStateMac", null);
GetString (atts, "SmartNavigation", null);
base.ProcessMainAttributes (atts);
}
-#if NET_2_0
internal override void AddDirective (string directive, Hashtable atts)
{
bool isMasterType = String.Compare ("MasterType", directive, StringComparison.OrdinalIgnoreCase) == 0;
} else
base.AddDirective (directive, atts);
}
-#endif
static string SuggestCulture (string culture)
{
public static Type GetCompiledPageType (string virtualPath, string inputFile, HttpContext context)
{
-#if NET_2_0
return BuildManager.GetCompiledType (virtualPath);
-#else
- PageParser pp = new PageParser (virtualPath, inputFile, context);
- return pp.CompileIntoType ();
-#endif
}
protected override Type CompileIntoType ()
get { return tracemode; }
}
-#if NET_2_0
internal override string DefaultBaseTypeName {
get { return PagesConfig.PageBaseType; }
}
-#else
- internal override string DefaultBaseTypeName {
- get { return "System.Web.UI.Page"; }
- }
-#endif
internal override string DefaultDirectiveName {
get { return "page"; }
get { return notBuffer; }
}
-#if NET_2_0
internal bool Async {
get { return async; }
}
return previousPageType;
}
}
-#endif
}
}
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
namespace System.Web.UI
}
}
}
-#endif
// Author:
// Dick Porter <dick@ximian.com>
//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
namespace System.Web.UI
{
-#if NET_2_0
- public
-#else
- internal
-#endif
- abstract class PageStatePersister
+ public abstract class PageStatePersister
{
object control_state;
object view_state;
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2006 Novell, Inc (http://www.novell.com)
+// (C) 2006-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System;
using System.Collections;
using System.ComponentModel;
}
}
}
-
-#endif
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2006 Novell, Inc (http://www.novell.com)
+// (C) 2006-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
internal class PageThemeBuilder : UserControlControlBuilder
{
public override void AppendLiteralString (string s)
}
}
-#endif
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2006 Novell, Inc. (http://www.novell.com)
+// (C) 2006-2010 Novell, Inc. (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System;
using System.Collections;
using System.IO;
}
}
}
-
-#endif
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2006 Novell, Inc. (http://www.novell.com)
+// (C) 2006-2010 Novell, Inc. (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System;
using System.Collections;
using System.IO;
}
}
}
-
-#endif
// Author:
// Ben Maurer <bmaurer@novell.com>
//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System.Security.Permissions;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-#if NET_2_0
[Serializable]
- public sealed class Pair {
-#else
- [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
- public class Pair {
-#endif
+ public sealed class Pair
+ {
public Pair (object first, object second)
{
First = first;
// Gonzalo Paniagua (gonzalo@ximian.com)
//
// (C) 2002 Ximian, Inc. (http://www.ximian.com
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
bool childrenAsProperties;
string defaultProperty;
public static readonly ParseChildrenAttribute Default = new ParseChildrenAttribute ();
-
-#if NET_2_0
public static readonly ParseChildrenAttribute ParseAsChildren = new ParseChildrenAttribute (false);
public static readonly ParseChildrenAttribute ParseAsProperties = new ParseChildrenAttribute (true);
Type childType = typeof(System.Web.UI.Control);
-#endif
// LAMESPEC
public ParseChildrenAttribute ()
if (childrenAsProperties)
this.defaultProperty = defaultProperty;
}
-#if NET_2_0
+
public ParseChildrenAttribute (Type childControlType)
{
childType = childControlType;
defaultProperty = "";
}
-#endif
public bool ChildrenAsProperties {
set { defaultProperty = value; }
}
-#if NET_2_0
public Type ChildControlType {
get { return childType; }
}
-#endif
public override bool Equals (object obj)
{
// Duncan Mak (duncan@ximian.com)
//
// (C) Ximian, Inc.
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
string varyByControls;
string varyByCustom;
string varyByParams;
-#if NET_1_1
bool shared;
-#endif
-#if NET_2_0
string sqlDependency;
-#endif
-
public PartialCachingAttribute (int duration)
{
this.varyByCustom = varyByCustom;
}
-#if NET_1_1
public PartialCachingAttribute (int duration, string varyByParams, string varyByControls,
string varyByCustom, bool shared)
{
this.varyByCustom = varyByCustom;
this.shared = shared;
}
-#endif
-#if NET_2_0
+
public PartialCachingAttribute (int duration, string varyByParams, string varyByControls,
string varyByCustom, string sqlDependency, bool shared)
{
this.sqlDependency = sqlDependency;
this.shared = shared;
}
-#endif
public int Duration {
get { return duration; }
get { return varyByCustom; }
}
-#if NET_1_1
public bool Shared {
get { return shared; }
}
-#endif
-#if NET_2_0
+
public string SqlDependency {
get { return sqlDependency; }
}
-#endif
}
}
// Duncan Mak (duncan@ximian.com)
//
// (C) Ximian, Inc.
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
public sealed class PersistChildrenAttribute : Attribute
{
bool persist;
-#if NET_2_0
bool usesCustomPersistence;
-#endif
public PersistChildrenAttribute (bool persist)
{
this.persist = persist;
}
-#if NET_2_0
public PersistChildrenAttribute (bool persist,
bool usesCustomPersistence)
{
this.persist = persist;
this.usesCustomPersistence = usesCustomPersistence;
}
-#endif
public static readonly PersistChildrenAttribute Default = new PersistChildrenAttribute (true);
public static readonly PersistChildrenAttribute Yes = new PersistChildrenAttribute (true);
get { return persist; }
}
-#if NET_2_0
public bool UsesCustomPersistence
{
get {
return (usesCustomPersistence);
}
}
-#endif
public override bool Equals (object obj)
{
if (pobj == null)
return false;
- return (pobj.persist == persist
-#if NET_2_0
- && pobj.usesCustomPersistence == usesCustomPersistence
-#endif
- );
+ return (pobj.persist == persist && pobj.usesCustomPersistence == usesCustomPersistence);
}
public override int GetHashCode ()
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
using System.ComponentModel;
}
}
}
-
-#endif
// Authors:
// Jackson Harper (jackson@ximian.com)
//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
using System.Reflection;
using System.ComponentModel;
// CAS - no InheritanceDemand here as the class is sealed
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-#if NET_2_0
- public static class PropertyConverter {
-#else
- public sealed class PropertyConverter {
-
- PropertyConverter ()
- {
- // no instantiation for you
- }
-#endif
+ public static class PropertyConverter
+ {
public static object EnumFromString (Type enumType, string value)
{
object res = null;
// Authors:
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
-// Copyright (c) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (c) 2005-2010 Novell, Inc (http://www.novell.com)
//
//
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
using System.Reflection;
}
}
-#endif // NET_2_0
+
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
namespace System.Web.UI
}
}
}
-#endif
using System.Runtime.InteropServices;
using System.Text;
-namespace System.Web.UI {
+namespace System.Web.UI
+{
class ResourceBasedLiteralControl : LiteralControl
{
IntPtr ptr;
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override void Render (HtmlTextWriter writer)
+ protected internal override void Render (HtmlTextWriter writer)
{
if (length == -1) {
writer.Write (base.Text);
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2003 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System.Web.Compilation;
using System.Web.UI.HtmlControls;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-#if NET_2_0
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
- public class RootBuilder : TemplateBuilder {
-
+ public class RootBuilder : TemplateBuilder
+ {
Hashtable built_objects;
-
+ static Hashtable htmlControls;
+ static Hashtable htmlInputControls;
+ AspComponentFoundry foundry;
+
public RootBuilder ()
{
foundry = new AspComponentFoundry ();
Line = 1;
}
-#else
- public sealed class RootBuilder : TemplateBuilder {
-#endif
- static Hashtable htmlControls;
- static Hashtable htmlInputControls;
- AspComponentFoundry foundry;
static RootBuilder ()
{
-#if NET_2_0
htmlControls = new Hashtable (StringComparer.InvariantCultureIgnoreCase);
-#else
- htmlControls = new Hashtable (CaseInsensitiveHashCodeProvider.DefaultInvariant,
- CaseInsensitiveComparer.DefaultInvariant);
-#endif
-
htmlControls.Add ("A", typeof (HtmlAnchor));
htmlControls.Add ("BUTTON", typeof (HtmlButton));
htmlControls.Add ("FORM", typeof (HtmlForm));
-#if NET_2_0
htmlControls.Add ("HEAD", typeof (HtmlHead));
-#endif
htmlControls.Add ("IMG", typeof (HtmlImage));
htmlControls.Add ("INPUT", "INPUT");
-#if NET_2_0
htmlControls.Add ("LINK", typeof (HtmlLink));
htmlControls.Add ("META", typeof (HtmlLink));
-#endif
htmlControls.Add ("SELECT", typeof (HtmlSelect));
htmlControls.Add ("TABLE", typeof (HtmlTable));
htmlControls.Add ("TD", typeof (HtmlTableCell));
htmlControls.Add ("TR", typeof (HtmlTableRow));
htmlControls.Add ("TEXTAREA", typeof (HtmlTextArea));
-#if NET_2_0
htmlInputControls = new Hashtable (StringComparer.InvariantCultureIgnoreCase);
-#else
- htmlInputControls = new Hashtable (CaseInsensitiveHashCodeProvider.DefaultInvariant,
- CaseInsensitiveComparer.DefaultInvariant);
-#endif
htmlInputControls.Add ("BUTTON", typeof (HtmlInputButton));
-#if NET_2_0
htmlInputControls.Add ("SUBMIT", typeof (HtmlInputSubmit));
htmlInputControls.Add ("RESET", typeof (HtmlInputReset));
-#else
- htmlInputControls.Add ("SUBMIT", typeof (HtmlInputButton));
- htmlInputControls.Add ("RESET", typeof (HtmlInputButton));
-#endif
htmlInputControls.Add ("CHECKBOX", typeof (HtmlInputCheckBox));
htmlInputControls.Add ("FILE", typeof (HtmlInputFile));
htmlInputControls.Add ("HIDDEN", typeof (HtmlInputHidden));
htmlInputControls.Add ("IMAGE", typeof (HtmlInputImage));
htmlInputControls.Add ("RADIO", typeof (HtmlInputRadioButton));
htmlInputControls.Add ("TEXT", typeof (HtmlInputText));
-#if NET_2_0
htmlInputControls.Add ("PASSWORD", typeof (HtmlInputPassword));
-#else
- htmlInputControls.Add ("PASSWORD", typeof (HtmlInputText));
-#endif
}
public RootBuilder (TemplateParser parser)
AspComponent component = foundry.GetComponent (tagName);
if (component != null) {
-#if NET_2_0
if (!String.IsNullOrEmpty (component.Source)) {
TemplateParser parser = Parser;
Parser.AddDependency (component.Source);
}
}
-#endif
return component.Type;
} else if (component != null && component.Prefix != String.Empty)
throw new Exception ("Unknown server tag '" + tagName + "'");
foundry = value;
}
}
-#if NET_2_0
+
// FIXME: it's empty (but not null) when using the new default ctor
// but I'm not sure when something should gets in...
public IDictionary BuiltObjects {
return built_objects;
}
}
-#endif
}
}
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Web.UI;
namespace System.Web.UI
}
}
}
-#endif
// Authors:
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
-// (C) 2002,2003 Ximian, Inc (http://www.ximian.com)
+// (C) 2002-2010 Ximian, Inc (http://www.ximian.com)
//
//
string virtualPath,
string path)
{
-#if NET_2_0
return BuildManager.CreateInstanceFromVirtualPath (virtualPath, typeof (IHttpHandler)) as IHttpHandler;
-#else
- Type type = WebHandlerParser.GetCompiledType (context, virtualPath, path);
- if (!(typeof (IHttpHandler).IsAssignableFrom (type)))
- throw new HttpException ("Type does not implement IHttpHandler: " + type.FullName);
-
- return Activator.CreateInstance (type) as IHttpHandler;
-#endif
}
public virtual void ReleaseHandler (IHttpHandler handler)
// Authors:
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
-// Copyright (c) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (c) 2005-2010 Novell, Inc (http://www.novell.com)
//
//
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI
{
public class SimplePropertyEntry : PropertyEntry {
}
}
}
-#endif // NET_2_0
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2002,2003 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
Hashtable anames;
string baseDir;
string baseVDir;
-#if !NET_2_0
- CompilationConfiguration compilationConfig;
-#endif
-
-#if NET_2_0
TextReader reader;
-#endif
-
int appAssemblyIndex = -1;
Type cachedType;
internal SimpleWebHandlerParser (HttpContext context, string virtualPath, string physicalPath, TextReader reader)
{
-#if NET_2_0
this.reader = reader;
-#endif
cachedType = CachingCompiler.GetTypeFromCache (physicalPath);
if (cachedType != null)
return; // We don't need anything else.
if (location != typeof (TemplateParser).Assembly.Location)
appAssemblyIndex = assemblies.Add (location);
-#if NET_2_0
bool addAssembliesInBin = false;
foreach (AssemblyInfo info in CompilationConfig.Assemblies) {
if (info.Assembly == "*")
}
if (addAssembliesInBin)
AddAssembliesInBin ();
-#else
- assemblies.AddRange (CompilationConfig.Assemblies);
- if (CompilationConfig.AssembliesInBin)
- AddAssembliesInBin ();
-#endif
-
language = CompilationConfig.DefaultLanguage;
GetDirectivesAndContent ();
int idxStart, idxEnd, length;
StreamReader sr;
-#if NET_2_0
if (reader != null)
sr = reader as StreamReader;
else
-#endif
sr = new StreamReader (File.OpenRead (physPath), WebEncoding.FileEncoding);
using (sr) {
internal virtual void AddDefaultDirective (ILocation location, TagAttributes attrs)
{
-#if NET_2_0
CompilationSection compConfig;
-#else
- CompilationConfiguration compConfig;
-#endif
compConfig = CompilationConfig;
if (gotDefault)
return type;
}
-#if NET_2_0
IList toplevelAssemblies = BuildManager.TopLevelAssemblies;
if (toplevelAssemblies != null && toplevelAssemblies.Count > 0) {
foreach (Assembly asm in toplevelAssemblies) {
}
}
}
-#endif
foreach (string dll in HttpApplication.BinDirectoryAssemblies) {
try {
}
}
-#if NET_2_0
CompilationSection CompilationConfig {
get {
string vp = VirtualPath;
get { return reader; }
set { reader = value; }
}
-#else
- internal CompilationConfiguration CompilationConfig {
- get {
- if (compilationConfig == null)
- compilationConfig = CompilationConfiguration.GetInstance (context);
-
- return compilationConfig;
- }
- }
-#endif
}
}
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2006 Novell, Inc (http://www.novell.com)
+// (C) 2006-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
public sealed class SkinBuilder : ControlBuilder
{
//ThemeProvider provider;
}
}
-
-#endif
// Author:
// Ben Maurer <bmaurer@novell.com>
//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System.Collections.Specialized;
using System.Security.Permissions;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS - no InheritanceDemand here as the class is sealed
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
- public sealed class StateBag : IDictionary, IStateManager {
-
+ public sealed class StateBag : IDictionary, IStateManager
+ {
HybridDictionary ht;
bool track;
}
}
-#if NET_2_0
- public
-#else
- internal
-#endif
- void SetDirty (bool dirty)
+ public void SetDirty (bool dirty)
{
foreach (DictionaryEntry de in ht) {
StateItem si = (StateItem) de.Value;
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.Collections;
using System.Collections.Generic;
#endregion
}
}
-#endif
// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
//
// (C) 2003 Andreas Nahr
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
this.buildMethod = buildMethod;
}
-#if NET_2_0
[MonoTODO("Consider sqlDependency parameter")]
public static void BuildCachedControl (Control parent, string ctrlID, string guid,
int duration, string varyByParams, string varyByControls,
duration, varyByParams, varyByControls,
varyByCustom, buildMethod);
}
-#endif
public static void BuildCachedControl (Control parent, string ctrlID, string guid,
int duration, string varyByParams, string varyByControls,
// Author:
// Sebastien Pouliot <sebastien@ximian.com>
//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.Security.Permissions;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS - no InheritanceDemand here as the class is sealed
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
// attributes
[AttributeUsage (AttributeTargets.Class)]
- public sealed class SupportsEventValidationAttribute : Attribute {
-
+ public sealed class SupportsEventValidationAttribute : Attribute
+ {
public SupportsEventValidationAttribute ()
{
}
}
}
-
-#endif
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2003 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
//
using System.Collections;
+using System.Collections.Generic;
+using System.ComponentModel;
using System.Reflection;
using System.Security.Permissions;
-#if NET_2_0
-using System.ComponentModel;
-using System.Collections.Generic;
-#endif
namespace System.Web.UI {
string text;
TemplateContainerAttribute containerAttribute;
-#if NET_2_0
TemplateInstanceAttribute instanceAttribute;
List <TemplateBinding> bindings;
-#endif
public TemplateBuilder ()
{
if (ats.Length > 0)
containerAttribute = (TemplateContainerAttribute) ats [0];
-#if NET_2_0
ats = prov.GetCustomAttributes (typeof (TemplateInstanceAttribute), true);
if (ats.Length > 0)
instanceAttribute = (TemplateInstanceAttribute) ats [0];
-#endif
}
public virtual string Text {
get { return containerAttribute != null ? containerAttribute.ContainerType : null; }
}
-#if NET_2_0
internal TemplateInstance? TemplateInstance {
get { return instanceAttribute != null ? instanceAttribute.Instances : (TemplateInstance?)null; }
}
{
return base.BuildObject ();
}
-#endif
public override void Init (TemplateParser parser,
ControlBuilder parentBuilder,
}
}
-#if NET_2_0
internal class TemplateBinding
{
public Type ControlType;
FieldName = fieldName;
}
}
-#endif
}
// Duncan Mak (duncan@ximian.com)
//
// (C) Ximian, Inc.
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System.ComponentModel;
using System.Security.Permissions;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS - no InheritanceDemand here as the class is sealed
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
// attributes
public sealed class TemplateContainerAttribute : Attribute
{
Type containerType;
-
-#if NET_2_0
BindingDirection direction;
public TemplateContainerAttribute (Type containerType, BindingDirection direction)
public BindingDirection BindingDirection {
get { return direction; }
}
-#endif
public TemplateContainerAttribute (Type containerType)
{
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-namespace System.Web.UI {
- public enum TemplateContentType {
+namespace System.Web.UI
+{
+ public enum TemplateContentType
+ {
Complete = 0,
Fragment = 1
}
}
-#endif
// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
//
// (C) 2002 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System.Runtime.InteropServices;
using System.Text;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-#if NET_2_0
- public abstract class TemplateControl : Control, INamingContainer, IFilterResolutionService {
-#else
- public abstract class TemplateControl : Control, INamingContainer {
-#endif
+ public abstract class TemplateControl : Control, INamingContainer, IFilterResolutionService
+ {
static readonly Assembly _System_Web_Assembly = typeof (TemplateControl).Assembly;
static object abortTransaction = new object ();
static object commitTransaction = new object ();
static object error = new object ();
static string [] methodNames = { "Page_Init",
-#if NET_2_0
"Page_PreInit",
"Page_PreLoad",
"Page_LoadComplete",
"Page_PreRenderComplete",
"Page_SaveStateComplete",
"Page_InitComplete",
-#endif
"Page_Load",
"Page_DataBind",
"Page_PreRender",
BindingFlags.NonPublic |
BindingFlags.Instance;
-#if NET_2_0
string _appRelativeVirtualPath;
-#endif
StringResourceData resource_data;
#region Constructor
protected TemplateControl ()
{
-#if NET_2_0
TemplateControl = this;
-#endif
Construct ();
}
#region Properties
[EditorBrowsable (EditorBrowsableState.Never)]
-#if NET_2_0
[Obsolete]
-#endif
protected virtual int AutoHandlers {
get { return 0; }
set { }
get { return true; }
}
-#if NET_2_0
public string AppRelativeVirtualPath {
get { return _appRelativeVirtualPath; }
set { _appRelativeVirtualPath = value; }
}
-#endif
#endregion
if (evinfo.noParams) {
NoParamsInvoker npi = new NoParamsInvoker (this, evinfo.method);
evinfo.evt.AddEventHandler (this, npi.FakeDelegate);
- } else {
- evinfo.evt.AddEventHandler (this, Delegate.CreateDelegate (
-#if NET_2_0
- typeof (EventHandler), this, evinfo.method));
-#else
- typeof (EventHandler), this, evinfo.methodName));
-#endif
- }
+ } else
+ evinfo.evt.AddEventHandler (this, Delegate.CreateDelegate (typeof (EventHandler), this, evinfo.method));
}
}
throw new ArgumentNullException ("virtualPath");
string vpath = UrlUtils.Combine (TemplateSourceDirectory, virtualPath);
-#if NET_2_0
return BuildManager.GetCompiledType (vpath);
-#else
- string realpath = Context.Request.MapPath (vpath);
- return UserControlParser.GetCompiledType (vpath, realpath, Context);
-#endif
}
public Control LoadControl (string virtualPath)
{
-#if NET_2_0
if (virtualPath == null)
throw new ArgumentNullException ("virtualPath");
-#else
- if (virtualPath == null)
- throw new HttpException ("virtualPath is null");
-#endif
Type type = GetTypeFromControlPath (virtualPath);
return LoadControl (type, null);
public ITemplate LoadTemplate (string virtualPath)
{
-#if NET_2_0
if (virtualPath == null)
throw new ArgumentNullException ("virtualPath");
-#else
- if (virtualPath == null)
- throw new HttpException ("virtualPath is null");
-#endif
Type t = GetTypeFromControlPath (virtualPath);
return new SimpleTemplate (t);
}
eh (this, e);
}
-#if !NET_2_0
- [MonoTODO ("Not implemented, always returns null")]
-#endif
public Control ParseControl (string content)
{
if (content == null)
throw new ArgumentNullException ("content");
-#if NET_2_0
// FIXME: This method needs to be rewritten in some sane way - the way it is now,
// is a kludge. New version should not use
// UserControlParser.GetCompiledType, but instead resort to some other way
parsedControl = null;
return ret;
-#else
- return null;
-#endif
}
-#if NET_2_0
[MonoTODO ("Parser filters not implemented yet. Calls ParseControl (string) for now.")]
public Control ParseControl (string content, bool ignoreParserFilter)
{
return ParseControl (content);
}
-#endif
-#if NET_2_0
[EditorBrowsable (EditorBrowsableState.Never)]
public object ReadStringResource ()
{
return ReadStringResource (GetType ());
}
-#endif
class StringResourceData {
public IntPtr Ptr;
public int MaxOffset;
}
-#if NET_2_0
protected object GetGlobalResourceObject (string className, string resourceKey)
{
return HttpContext.GetGlobalResourceObject (className, resourceKey);
internal override TemplateControl TemplateControlInternal {
get { return this; }
}
-#endif
[EditorBrowsable (EditorBrowsableState.Never)]
public static object ReadStringResource (Type t)
}
}
-#if NET_2_0
protected internal object Eval (string expression)
{
return DataBinder.Eval (Page.GetDataItem(), expression);
{
throw new NotImplementedException ();
}
-#endif
}
}
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2002 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System.Web.Configuration;
using System.Web.Util;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
- public abstract class TemplateControlParser
-#if NET_2_0
- : BaseTemplateParser
-#else
- : TemplateParser
-#endif
+ public abstract class TemplateControlParser : BaseTemplateParser
{
-
bool autoEventWireup = true;
bool enableViewState = true;
-#if NET_2_0
CompilationMode compilationMode = CompilationMode.Always;
TextReader reader;
-#endif
protected TemplateControlParser ()
{
internal override void LoadConfigDefaults ()
{
base.LoadConfigDefaults ();
-#if NET_2_0
PagesSection ps = PagesConfig;
-#else
- PagesConfiguration ps = PagesConfig;
-#endif
-
-#if NET_1_1
autoEventWireup = ps.AutoEventWireup;
enableViewState = ps.EnableViewState;
-#endif
-#if NET_2_0
compilationMode = ps.CompilationMode;
-#endif
}
internal override void ProcessMainAttributes (Hashtable atts)
{
autoEventWireup = GetBool (atts, "AutoEventWireup", autoEventWireup);
enableViewState = GetBool (atts, "EnableViewState", enableViewState);
-#if NET_2_0
+
string cmode = GetString (atts, "CompilationMode", compilationMode.ToString ());
if (!String.IsNullOrEmpty (cmode)) {
if (String.Compare (cmode, "always", StringComparison.InvariantCultureIgnoreCase) == 0)
else
ThrowParseException ("Invalid value of the CompilationMode attribute");
}
-#endif
atts.Remove ("TargetSchema"); // Ignored
base.ProcessMainAttributes (atts);
string ns = GetString (atts, "Namespace", null);
string assembly = GetString (atts, "Assembly", null);
-#if !NET_2_0
- if (ns != null && assembly == null)
- ThrowParseException ("Need an Assembly attribute with Namespace.");
-#endif
-
if (ns == null && assembly != null)
ThrowParseException ("Need a Namespace attribute with Assembly.");
if (tagname != null && src == null)
ThrowParseException ("Need a Src attribute with TagName.");
-#if !NET_2_0
- if (!StrUtils.EndsWith (src, ".ascx", true))
- ThrowParseException ("Source file extension for controls must be .ascx");
-#endif
-
RegisterCustomControl (tagprefix, tagname, src);
return;
}
else
vp = control;
-#if NET_2_0
string virtualPath = GetString (atts, "VirtualPath", null);
if (virtualPath != null)
if (vp != null)
dupe = true;
else
vp = virtualPath;
-#endif
- if (vp == null) {
-#if NET_2_0
+ if (vp == null)
ThrowParseException ("Must provide one of the 'page', 'control' or 'virtualPath' attributes");
-#else
- ThrowParseException ("Must provide one of the 'page' or 'control' attributes");
-#endif
- }
if (dupe)
ThrowParseException ("Only one attribute can be specified.");
AddDependency (vp);
Type ctype;
-#if NET_2_0
ctype = BuildManager.GetCompiledType (vp);
-#else
- string filepath = MapPath (vp);
- if (is_page) {
- PageParser pp = new PageParser (page, filepath, Context);
- ctype = pp.CompileIntoType ();
- } else {
- ctype = UserControlParser.GetCompiledType (vp, filepath, Dependencies, Context);
- }
-#endif
AddAssembly (ctype.Assembly, true);
if (atts.Count != 0)
get { return enableViewState; }
}
-#if NET_2_0
internal CompilationMode CompilationMode {
get { return compilationMode; }
}
get { return reader; }
set { reader = value; }
}
-#endif
}
}
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-namespace System.Web.UI {
- public enum TemplateInstance {
+namespace System.Web.UI
+{
+ public enum TemplateInstance
+ {
Multiple = 0,
Single = 1
}
}
-#endif
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.ComponentModel;
using System.Security.Permissions;
#endregion
}
}
-
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI
{
public class TemplatePropertyEntry : BuilderPropertyEntry
public bool BindableTemplate { get { throw new NotImplementedException (); } }
}
}
-#endif
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2006 Novell, Inc (http://www.novell.com)
+// (C) 2006-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.ComponentModel.Design;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
public sealed class ThemeProvider
{
IDesignerHost host;
}
}
-
-#endif
// Sanjay Gupta (gsanjay@novell.com)
//
// (C) 2004 Novell, Inc. (http://www.novell.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.ComponentModel;
using System.Security.Permissions;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS - no InheritanceDemand here as the class is sealed
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
// attributes
- [AttributeUsage (AttributeTargets.Class | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
+ [AttributeUsage (AttributeTargets.Class | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public sealed class ThemeableAttribute : Attribute {
bool themeable;
}
}
}
-#endif
// Authors:
// Jackson Harper (jackson@ximian.com)
//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
using System.Security.Permissions;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS - no InheritanceDemand here as the class is sealed
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
// attributes
[AttributeUsage(AttributeTargets.Class)]
- public sealed class ToolboxDataAttribute : Attribute {
-
+ public sealed class ToolboxDataAttribute : Attribute
+ {
public static readonly ToolboxDataAttribute Default = new ToolboxDataAttribute (String.Empty);
string data;
public override bool IsDefaultAttribute ()
{
-#if NET_2_0
return ((data == null) || (data.Length == 0));
-#else
- return ((data != null) && (data.Length == 0));
-#endif
}
}
}
// Duncan Mak (duncan@ximian.com)
//
// (C) Ximian, Inc.
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-#if NET_2_0
[Serializable]
- public sealed class Triplet {
-#else
- [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
- public class Triplet {
-#endif
+ public sealed class Triplet
+ {
public object First;
public object Second;
public object Third;
// Authors:
// Marek Habersack <mhabersack@novell.com>
//
-// Copyright (C) 2007 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2007-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System;
using System.Reflection;
}
}
}
-#endif
// Sanjay Gupta (gsanjay@novell.com)
// Sebastien Pouliot <sebastien@ximian.com>
//
-// Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.ComponentModel;
-namespace System.Web.UI {
-
- [AttributeUsage (AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
+namespace System.Web.UI
+{
+ [AttributeUsage (AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public sealed class UrlPropertyAttribute : Attribute
{
string filter;
public UrlPropertyAttribute ()
: this ("*.*")
- {
+ {
}
public UrlPropertyAttribute (string filter)
public override int GetHashCode ()
{
return this.filter.GetHashCode ();
- }
+ }
}
}
-#endif
+
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-namespace System.Web.UI {
+namespace System.Web.UI
+{
[FlagsAttribute, SerializableAttribute]
- public enum UrlTypes {
+ public enum UrlTypes
+ {
Absolute = 1,
AppRelative = 2,
DocRelative = 4,
RootRelative = 8
}
}
-#endif
// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
//
// (C) 2002 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System.Web.Caching;
using System.Web.SessionState;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[ToolboxItem (false)]
[Designer ("System.Web.UI.Design.UserControlDesigner, " + Consts.AssemblySystem_Design, typeof (IDesigner))]
[ParseChildren (true)]
-#if NET_2_0
[Designer ("Microsoft.VisualStudio.Web.WebForms.WebFormDesigner, " + Consts.AssemblyMicrosoft_VisualStudio_Web, typeof (IRootDesigner))]
-#else
- [RootDesignerSerializer ("Microsoft.VSDesigner.WebForms.RootCodeDomSerializer, " + Consts.AssemblyMicrosoft_VSDesigner, "System.ComponentModel.Design.Serialization.CodeDomSerializer, " + Consts.AssemblySystem_Design, true)]
-#endif
- public class UserControl : TemplateControl, IAttributeAccessor, IUserControlDesignerAccessor
-#if NET_2_0
- , INamingContainer, IFilterResolutionService, INonBindingContainer
-#endif
+ public class UserControl : TemplateControl, IAttributeAccessor, IUserControlDesignerAccessor, INamingContainer, IFilterResolutionService, INonBindingContainer
{
-#if NET_2_0
ControlCachePolicy cachePolicy;
-#endif
bool initialized;
AttributeCollection attributes;
StateBag attrBag;
}
}
-#if NET_2_0
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false)]
public ControlCachePolicy CachePolicy
return cachePolicy;
}
}
-#endif
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false)]
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override void OnInit (EventArgs e)
+ protected internal override void OnInit (EventArgs e)
{
InitializeAsUserControl (Page);
}
set { ViewState["!DesignTimeTagName"] = value; }
}
-#if NET_2_0
+
[MonoTODO ("Not implemented")]
int IFilterResolutionService.CompareFilters (string filter1, string filter2)
{
{
throw new NotImplementedException ();
}
-#endif
}
}
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2003 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System.Security.Permissions;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
{
// Do something with the text
}
-#if NET_2_0
+
public override object BuildObject ()
{
return base.BuildObject ();
}
-#endif
}
}
{
internal class UserControlParser : TemplateControlParser
{
-#if NET_2_0
string masterPage;
-#endif
-#if !NET_2_0
- internal UserControlParser (string virtualPath, string inputFile, HttpContext context)
- : this (virtualPath, inputFile, context, null)
- {
- }
-
- internal UserControlParser (string virtualPath, string inputFile, ArrayList deps, HttpContext context)
- : this (virtualPath, inputFile, context, null)
- {
- this.Dependencies = deps;
- }
-
- internal UserControlParser (string virtualPath, string inputFile, HttpContext context, string type)
- {
- Context = context;
- BaseVirtualDir = VirtualPathUtility.GetDirectory (virtualPath, false);
- InputFile = inputFile;
- SetBaseType (type);
- AddApplicationAssembly ();
- }
-
-#else
internal UserControlParser (VirtualPath virtualPath, string inputFile, HttpContext context)
: this (virtualPath, inputFile, context, null)
{
UserControlParser ucp = new UserControlParser (reader, inputHashCode, context);
return ucp.CompileIntoType ();
}
-#endif
internal static Type GetCompiledType (string virtualPath, string inputFile, ArrayList deps, HttpContext context)
{
-#if NET_2_0
UserControlParser ucp = new UserControlParser (new VirtualPath (virtualPath), inputFile, deps, context);
-#else
- UserControlParser ucp = new UserControlParser (virtualPath, inputFile, deps, context);
-#endif
+
return ucp.CompileIntoType ();
}
public static Type GetCompiledType (string virtualPath, string inputFile, HttpContext context)
{
-#if NET_2_0
UserControlParser ucp = new UserControlParser (new VirtualPath (virtualPath), inputFile, context);
-#else
- UserControlParser ucp = new UserControlParser (virtualPath, inputFile, context);
-#endif
+
return ucp.CompileIntoType ();
}
internal override void ProcessMainAttributes (Hashtable atts)
{
-#if NET_2_0
masterPage = GetString (atts, "MasterPageFile", null);
if (masterPage != null)
AddDependency (masterPage);
-#endif
base.ProcessMainAttributes (atts);
}
-#if NET_2_0
internal override string DefaultBaseTypeName {
get { return PagesConfig.UserControlBaseType; }
}
-#else
- internal override string DefaultBaseTypeName {
- get { return "System.Web.UI.UserControl"; }
- }
-#endif
+
internal override string DefaultDirectiveName {
get { return "control"; }
}
-#if NET_2_0
internal string MasterPageFile {
get { return masterPage; }
}
-#endif
-
}
}
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI
{
[AttributeUsageAttribute (AttributeTargets.Class | AttributeTargets.Property, AllowMultiple = true)]
}
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-namespace System.Web.UI {
- public enum VerificationConditionalOperator {
+namespace System.Web.UI
+{
+ public enum VerificationConditionalOperator
+ {
Equals = 0,
NotEquals = 1
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-namespace System.Web.UI {
- public enum VerificationReportLevel {
+namespace System.Web.UI
+{
+ public enum VerificationReportLevel
+ {
Error = 0,
Warning = 1,
Guideline = 2
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-namespace System.Web.UI {
- public enum VerificationRule {
+namespace System.Web.UI
+{
+ public enum VerificationRule
+ {
Required = 0,
Prohibited = 1,
NotEmptyString = 2
}
}
-#endif
// Authors:
// Chris Toshok (toshok@ximian.com)
//
-// (C) 2005 Novell, Inc (http://www.novell.com)
+// (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
//
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
namespace System.Web.UI
{
public enum ViewStateEncryptionMode
Never
}
}
-
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Runtime.Serialization;
namespace System.Web.UI
}
}
}
-#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
namespace System.Web.UI
{
[AttributeUsageAttribute (AttributeTargets.Class)]
{}
}
}
-#endif
// Author:
// Chris Toshok <toshok@ximian.com>
//
-// (c) 2006 Novell
+// (c) 2006-2010 Novell
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-namespace System.Web.UI {
- public enum VirtualReferenceType {
+namespace System.Web.UI
+{
+ public enum VirtualReferenceType
+ {
Page,
UserControl,
Master,
Other
}
}
-#endif
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2003 Ximian, Inc (http://www.ximian.com)
-// (C) 2008 Novell, Inc (http://novell.com/)
+// (C) 2008-2010 Novell, Inc (http://novell.com/)
//
// Permission is hereby granted, free of charge, to any person obtaining
{
}
-#if NET_2_0
internal WebHandlerParser (HttpContext context, VirtualPath virtualPath, TextReader reader)
: this (context, virtualPath, null, reader)
{
: base (context, virtualPath.Original, physicalPath, reader)
{
}
-#endif
public static Type GetCompiledType (HttpContext context, string virtualPath, string physicalPath)
{
// Ben Maurer (bmaurer@users.sourceforge.net)
//
// (C) 2003 Ben Maurer
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
namespace System.Web.UI {
[AttributeUsage (AttributeTargets.Assembly, AllowMultiple = true)]
-#if NET_2_0
- public
-#else
- internal
-#endif
- sealed class WebResourceAttribute : Attribute {
-
+ public sealed class WebResourceAttribute : Attribute
+ {
public WebResourceAttribute (string webResource, string contentType)
{
this.webResource = webResource;
// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2002 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
using System.Security.Permissions;
using System.Web.Compilation;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
// CAS
[AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
{
}
-#if NET_2_0
internal WebServiceParser (HttpContext context, VirtualPath virtualPath, TextReader reader)
: this (context, virtualPath, null, reader)
{
: base (context, virtualPath.Original, physicalPath, reader)
{
}
-#endif
public static Type GetCompiledType (string inputFile, HttpContext context)
{
-#if NET_2_0
return BuildManager.GetCompiledType (inputFile);
-#else
- string physPath;
- HttpRequest req = context != null ? context.Request : null;
-
- if (req != null)
- physPath = req.MapPath (inputFile);
- else // likely to fail
- physPath = inputFile;
-
- WebServiceParser parser = new WebServiceParser (context, inputFile, physPath);
- Type type = parser.GetCompiledTypeFromCache ();
- if (type != null)
- return type;
-
- return WebServiceCompiler.CompileIntoType (parser);
-#endif
}
protected override string DefaultDirectiveName {
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Collections;
using System.Collections.Specialized;
using System.Text;
using System.Xml.XPath;
using System.Xml;
-namespace System.Web.UI {
- public sealed class XPathBinder {
+namespace System.Web.UI
+{
+ public sealed class XPathBinder
+ {
XPathBinder ()
{
}
}
}
-#endif
// Authors:
// Sanjay Gupta (gsanjay@novell.com)
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-namespace System.Web.UI {
- public enum XhtmlMobileDocType {
+namespace System.Web.UI
+{
+ public enum XhtmlMobileDocType
+ {
XhtmlBasic = 0,
XhtmlMobileProfile = 1,
Wml20 = 2
}
}
-#endif
//
//
-// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2006-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
-
using System.IO;
using System.Collections;
-namespace System.Web.UI {
-
+namespace System.Web.UI
+{
public class XhtmlTextWriter : HtmlTextWriter
{
static Hashtable default_common_attrs;
}
}
}
-
-#endif
System.Web.Caching/CacheItemEnumerator.cs
System.Web.Caching/CacheItemPriority.cs
System.Web.Caching/CacheItemPriorityQueue.cs
+System.Web.Caching/CacheItemPriorityQueueDebug.cs
System.Web.Caching/CacheItemRemovedCallback.cs
System.Web.Caching/CacheItemRemovedReason.cs
+System.Web.Caching/CacheItemUpdateCallback.cs
+System.Web.Caching/CacheItemUpdateReason.cs
System.Web.Caching/CachedRawResponse.cs
System.Web.Caching/CachedVaryBy.cs
+System.Web.Caching/DatabaseNotEnabledForNotificationException.cs
+System.Web.Caching/InMemoryOutputCacheProvider.cs
System.Web.Caching/OutputCacheModule.cs
+System.Web.Caching/OutputCacheProvider.cs
System.Web.Caching/SqlCacheDependency.cs
+System.Web.Caching/SqlCacheDependencyAdmin.cs
+System.Web.Caching/TableNotEnabledForNotificationException.cs
System.Web/CapabilitiesLoader.cs
System.Web/BrowserCapabilities.cs
System.Web.Compilation/ApplicationFileBuildProvider.cs
System.Web.Configuration_2.0/PagesEnableSessionState.cs
System.Web.Configuration_2.0/PagesSection.cs
System.Web.Configuration_2.0/PassportAuthentication.cs
+System.Web.Configuration_2.0/PositiveTimeSpanValidator.cs
System.Web.Configuration_2.0/ProcessModelSection.cs
System.Web.Configuration_2.0/ProcessModelComAuthenticationLevel.cs
System.Web.Configuration_2.0/ProcessModelComImpersonationLevel.cs
System.Web.Mail/MailMessageWrapper.cs
System.Web.Mail/MailPriority.cs
System.Web.Mail/MailUtil.cs
+System.Web.Mail/RelatedBodyPart.cs
System.Web.Mail/SmtpClient.cs
System.Web.Mail/SmtpException.cs
System.Web.Mail/SmtpMail.cs
System.Web.Security/MembershipCreateStatus.cs
System.Web.Security/MembershipCreateUserException.cs
System.Web.Security/Membership.cs
+System.Web.Security/MembershipOnlineStatus.cs
System.Web.Security/MembershipPasswordException.cs
System.Web.Security/MembershipPasswordFormat.cs
System.Web.Security/MembershipProviderCollection.cs
System.Web.Security/MembershipProvider.cs
+System.Web.Security/MembershipSortOptions.cs
System.Web.Security/MembershipUserCollection.cs
System.Web.Security/MembershipUser.cs
System.Web.Security/MembershipValidatePasswordEventHandler.cs
System.Web.UI/TagPrefixAttribute.cs
System.Web.UI/TemplateBuilder.cs
System.Web.UI/TemplateContainerAttribute.cs
+System.Web.UI/TemplateContentType.cs
System.Web.UI/TemplateControl.cs
System.Web.UI/TemplateControlParser.cs
System.Web.UI/TemplateInstance.cs
System.Web.UI/Triplet.cs
System.Web.UI/UnknownAttributeDescriptor.cs
System.Web.UI/UrlPropertyAttribute.cs
+System.Web.UI/UrlTypes.cs
System.Web.UI/UserControlControlBuilder.cs
System.Web.UI/UserControl.cs
System.Web.UI/UserControlParser.cs
System.Web.UI.WebControls/SiteMapNodeItemEventHandler.cs
System.Web.UI.WebControls/SiteMapNodeItemType.cs
System.Web.UI.WebControls/SiteMapPath.cs
+System.Web.UI.WebControls/SiteMapViewType.cs
System.Web.UI.WebControls/SortDirection.cs
System.Web.UI.WebControls/SqlDataSourceCommandEventArgs.cs
System.Web.UI.WebControls/SqlDataSourceCommandEventHandler.cs
System.Web.UI.WebControls.WebParts/IWebActionable.cs
System.Web.UI.WebControls.WebParts/IWebEditable.cs
System.Web.UI.WebControls.WebParts/IWebPart.cs
+System.Web.UI.WebControls.WebParts/IWebPartHttpHandler.cs
System.Web.UI.WebControls.WebParts/IWebPartField.cs
System.Web.UI.WebControls.WebParts/IWebPartParameters.cs
System.Web.UI.WebControls.WebParts/IWebPartRow.cs
+2010-02-03 Marek Habersack <mhabersack@novell.com>
+
+ * HttpApplication.cs: GetOutputCacheProviderName returns the value
+ of OutputCache.DefaultProviderName
+
+ * HttpRuntime.cs: internal cache is used to hold the dependencies
+ now.
+
+2010-01-20 Marek Habersack <mhabersack@novell.com>
+
+ * HttpContext.cs: implemented the 4.0 SetSessionStateBehavior
+ method
+
+ * HttpCacheVaryByContentEncodings.cs, HttpCacheVaryByHeaders.cs,
+ HttpCacheVaryByParams.cs : parameterless constructors are public
+ in 4.0
+
+ * HttpApplication.cs: implemented the 4.0
+ GetOutputCacheProviderName method
+
2010-01-19 Marek Habersack <mhabersack@novell.com>
* StaticSiteMapProvider.cs: AddNode checks the url of node
{
}
+#if NET_4_0
+ public virtual string GetOutputCacheProviderName (HttpContext context)
+ {
+ // LAMESPEC: doesn't throw ProviderException if context is null
+ return OutputCache.DefaultProviderName;
+ }
+#endif
+
public virtual string GetVaryByCustomString (HttpContext context, string custom)
{
if (custom == null) // Sigh
{
Dictionary <string, bool> encodings;
- internal HttpCacheVaryByContentEncodings ()
+#if NET_4_0
+ public
+#else
+ internal
+#endif
+ HttpCacheVaryByContentEncodings ()
{
encodings = new Dictionary <string, bool> ();
}
Hashtable fields;
- internal HttpCacheVaryByHeaders ()
+#if NET_4_0
+ public
+#else
+ internal
+#endif
+ HttpCacheVaryByHeaders ()
{
/* the field names are meant to be case insensitive */
fields = new Hashtable (StringComparer.InvariantCultureIgnoreCase);
bool ignore_parms;
Hashtable parms;
- internal HttpCacheVaryByParams ()
+#if NET_4_0
+ public
+#else
+ internal
+#endif
+ HttpCacheVaryByParams ()
{
/* the parameter names are meant to be case insensitive */
parms = new Hashtable (StringComparer.InvariantCultureIgnoreCase);
Timer timer;
Thread thread;
bool _isProcessingInclude;
-
+
[ThreadStatic]
static ResourceProviderFactory provider_factory;
WorkerRequest = wr;
request = new HttpRequest (WorkerRequest, this);
response = new HttpResponse (WorkerRequest, this);
+#if NET_4_0
+ SessionStateBehavior = SessionStateBehavior.Default;
+#endif
}
public HttpContext (HttpRequest request, HttpResponse response)
{
this.request = request;
this.response = response;
-
+#if NET_4_0
+ SessionStateBehavior = SessionStateBehavior.Default;
+#endif
}
internal bool IsProcessingInclude {
req.QueryStringRaw = queryString;
}
-#region internals
+#if NET_4_0
+ public void SetSessionStateBehavior (SessionStateBehavior sessionStateBehavior)
+ {
+ SessionStateBehavior = sessionStateBehavior;
+ }
+#endif
+#region internals
internal void SetSession (HttpSessionState state)
{
session_state = state;
}
}
+#if NET_4_0
+ internal SessionStateBehavior SessionStateBehavior {
+ get;
+ private set;
+ }
+#endif
+
#if !TARGET_J2EE
void TimeoutReached(object state) {
HttpRuntime.QueuePendingRequest (false);
// Marek Habersack <mhabersack@novell.com>
//
//
-// Copyright (C) 2005-2009 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
cache = new Cache ();
internalCache = new Cache ();
- internalCache.DependencyCache = cache;
+ internalCache.DependencyCache = internalCache;
#endif
do_RealProcessRequest = new WaitCallback (RealProcessRequest);
}
namespace System.Web
{
+#if !NET_4_0
[AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal),
AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+#endif
public interface IPartitionResolver
{
void Initialize ();
Test/standalone-tests/Consts.cs
Test/standalone-tests/Locations.cs
+Test/standalone-tests/OutputCacheProvider.cs
Test/standalone-tests/SiteMapDuplicateEntries_Bug570194.cs
+../../System.Web.DynamicData/Test/Common/AssertExtensions.cs
mainsoft/MainsoftWebTest/HtmlAgilityPack/AssemblyInfo.cs
mainsoft/MainsoftWebTest/HtmlAgilityPack/crc32.cs
mainsoft/MainsoftWebTest/HtmlAgilityPack/Header.cs
mainsoft/NunitWeb/NunitWeb/PostableWorkerRequest.cs
mainsoft/NunitWeb/NunitWeb/Response.cs
mainsoft/NunitWeb/NunitWeb/StandardUrl.cs
+mainsoft/NunitWeb/NunitWeb/TestRoleProvider.cs
mainsoft/NunitWeb/NunitWeb/WebTest.cs
mainsoft/NunitWeb/NunitWeb/WebTestResourcesSetupAttribute.cs
mainsoft/NunitWeb/NunitWeb/Tests/TagsNestedInClientTag.cs
mainsoft/NunitWeb/NunitWeb/Tests/Book.cs
mainsoft/NunitWeb/NunitWeb/Tests/BookType.cs
System.Web/AppBrowsersTest.cs
+System.Web/HttpApplicationTest.cs
System.Web/HttpBrowserCapabilitiesTest.cs
System.Web/HttpCacheVaryByContentEncodingsTest.cs
System.Web/HttpCacheVaryByHeadersTest.cs
System.Web.UI.WebControls/LoginNameTest.cs
System.Web.UI.WebControls/LoginStatusTest.cs
System.Web.UI.WebControls/LoginTest.cs
+System.Web.UI.WebControls/MappingUrlTest.cs
System.Web.UI.WebControls/MasterPageTest.cs
System.Web.UI.WebControls/MonthChangedEventArgsTest.cs
System.Web.UI.WebControls/MultiViewTest.cs
System.Web.UI.WebControls/PagerSettingsTest.cs
System.Web.UI.WebControls/PanelTest.cs
System.Web.UI.WebControls/ParameterTest.cs
+System.Web.UI.WebControls/PasswordRecoveryTest.cs
System.Web.UI.WebControls/PolygonHotSpotTest.cs
System.Web.UI.WebControls/QueryStringParameterTest.cs
System.Web.UI.WebControls/RadioButtonListTest.cs
System.Web.Caching/AggregateCacheDependencyTest.cs
System.Web.Caching/CacheCas.cs
System.Web.Caching/CacheDependencyCas.cs
+System.Web.Caching/CacheItemPriorityQueueTest.cs
+System.Web.Caching/CacheItemPriorityQueueTest_generated.cs
+System.Web.Caching/FileResponseElementTest.cs
+System.Web.Caching/HeaderElementTest.cs
+System.Web.Caching/MemoryResponseElementTest.cs
+System.Web.Caching/OutputCacheTest.cs
+System.Web.Caching/SubstitutionResponseElementTest.cs
+System.Web.Caching/SqlCacheDependencyTest.cs
System.Web.Configuration/HttpCapabilitiesBaseCas.cs
System.Web.Handlers/TraceHandlerCas.cs
System.Web.Hosting/AppDomainFactoryCas.cs
System.Web.UI.WebControls/DataGridItemCollectionCas.cs
System.Web.UI.WebControls/DataGridPagerStyleCas.cs
System.Web.UI.WebControls/DataKeyCollectionCas.cs
+System.Web.UI.WebControls/DataListCas.cs
System.Web.UI.WebControls/DataListItemCas.cs
System.Web.UI.WebControls/DataListItemCollectionCas.cs
+System.Web.UI.WebControls/DropDownListCas.cs
System.Web.UI.WebControls/EditCommandColumnCas.cs
System.Web.UI.WebControls/FontInfoCas.cs
System.Web.UI.WebControls/FontNamesConverterCas.cs
--- /dev/null
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// Copyright (C) 2010 Novell Inc. http://novell.com
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+using System;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Web.Caching
+{
+ [TestFixture]
+ public partial class CacheItemPriorityQueueTest
+ {
+ }
+}
--- /dev/null
+//
+// This source was autogenerated - do not modify it, changes may not be preserved
+//
+#if !TARGET_DOTNET
+using System;
+using System.Collections.Generic;
+using System.Web;
+using System.Web.Caching;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Web.Caching
+{
+ public partial class CacheItemPriorityQueueTest
+ {
+ [Test (Description="Generated from sequence file cache_pq_sequence_2010-01-29_10:24:08.seq")]
+ public void Sequence_0000 ()
+ {
+ var list = new List <CacheItem> {
+ new CacheItem {Key = "PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:38 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003610181191660, Disabled = false, Guid = new Guid ("b50f84e2-b96b-4183-ac6a-afeec88a258d")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:33 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003622131234770, Disabled = false, Guid = new Guid ("78f08aef-31b7-49e6-8ba9-2d7b09f5340e")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:33 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003622131252350, Disabled = false, Guid = new Guid ("ecd90b49-bb12-4524-818e-977356f8b9d2")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:41 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003610216655680, Disabled = false, Guid = new Guid ("38e7f821-d638-4f1d-89bd-41db556eb37a")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:41 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003610216655680, Disabled = false, Guid = new Guid ("6e723bac-5e11-4cb3-933f-39923948371c")},
+ new CacheItem {Key = "PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:51 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003610312287880, Disabled = false, Guid = new Guid ("93db96c7-eb5b-43b3-8524-e7d90cd159d7")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:46 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003622262288710, Disabled = false, Guid = new Guid ("fc310ed6-2027-4d16-9343-a3e4b3487bd0")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:46 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003622262288910, Disabled = false, Guid = new Guid ("de47322e-63c8-474f-8d2f-fb6a591075df")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:56 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003610362271610, Disabled = false, Guid = new Guid ("f003a7ba-af48-4551-a206-1184fc83e621")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:56 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003610362271610, Disabled = false, Guid = new Guid ("5777ab80-078b-4f9a-81fb-f7872aceba99")},
+ };
+ var queue = new CacheItemPriorityQueue ();
+ CacheItem item;
+
+ queue.Enqueue (list [0]);
+ Assert.AreEqual (1, queue.Count, "Enqueue-0000-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0000-2");
+
+ queue.Enqueue (list [1]);
+ Assert.AreEqual (2, queue.Count, "Enqueue-0001-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0001-2");
+
+ item = list [1];
+ Assert.IsNotNull (item, "Disable-0000-1");
+ Assert.AreEqual ("78f08aef-31b7-49e6-8ba9-2d7b09f5340e", item.Guid.ToString(), "Disable-0000-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0000-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [2]);
+ Assert.AreEqual (3, queue.Count, "Enqueue-0002-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0002-2");
+
+ queue.Enqueue (list [3]);
+ Assert.AreEqual (4, queue.Count, "Enqueue-0003-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0003-2");
+
+ queue.Enqueue (list [4]);
+ Assert.AreEqual (5, queue.Count, "Enqueue-0004-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0004-2");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0000-1");
+ Assert.AreEqual (4, queue.Count, "Dequeue-0000-2");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", item.Guid.ToString (), "Dequeue-0000-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0000-4");
+
+ item = list [0];
+ Assert.IsNotNull (item, "Disable-0001-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", item.Guid.ToString(), "Disable-0001-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0001-3");
+ item.Disabled = true;
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0001-1");
+ Assert.AreEqual (3, queue.Count, "Dequeue-0001-2");
+ Assert.AreEqual ("6e723bac-5e11-4cb3-933f-39923948371c", item.Guid.ToString (), "Dequeue-0001-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0001-4");
+
+ item = list [3];
+ Assert.IsNotNull (item, "Disable-0002-1");
+ Assert.AreEqual ("38e7f821-d638-4f1d-89bd-41db556eb37a", item.Guid.ToString(), "Disable-0002-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0002-3");
+ item.Disabled = true;
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0002-1");
+ Assert.AreEqual (2, queue.Count, "Dequeue-0002-2");
+ Assert.AreEqual ("38e7f821-d638-4f1d-89bd-41db556eb37a", item.Guid.ToString (), "Dequeue-0002-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0002-4");
+
+ item = list [4];
+ Assert.IsNotNull (item, "Disable-0003-1");
+ Assert.AreEqual ("6e723bac-5e11-4cb3-933f-39923948371c", item.Guid.ToString(), "Disable-0003-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0003-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [5]);
+ Assert.AreEqual (3, queue.Count, "Enqueue-0005-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", queue.Peek ().Guid.ToString(), "Enqueue-0005-2");
+
+ item = list [2];
+ Assert.IsNotNull (item, "Disable-0004-1");
+ Assert.AreEqual ("ecd90b49-bb12-4524-818e-977356f8b9d2", item.Guid.ToString(), "Disable-0004-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0004-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [6]);
+ Assert.AreEqual (4, queue.Count, "Enqueue-0006-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", queue.Peek ().Guid.ToString(), "Enqueue-0006-2");
+
+ item = list [6];
+ Assert.IsNotNull (item, "Disable-0005-1");
+ Assert.AreEqual ("fc310ed6-2027-4d16-9343-a3e4b3487bd0", item.Guid.ToString(), "Disable-0005-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0005-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [7]);
+ Assert.AreEqual (5, queue.Count, "Enqueue-0007-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", queue.Peek ().Guid.ToString(), "Enqueue-0007-2");
+
+ queue.Enqueue (list [8]);
+ Assert.AreEqual (6, queue.Count, "Enqueue-0008-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", queue.Peek ().Guid.ToString(), "Enqueue-0008-2");
+
+ queue.Enqueue (list [9]);
+ Assert.AreEqual (7, queue.Count, "Enqueue-0009-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", queue.Peek ().Guid.ToString(), "Enqueue-0009-2");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0003-1");
+ Assert.AreEqual (6, queue.Count, "Dequeue-0003-2");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", item.Guid.ToString (), "Dequeue-0003-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0003-4");
+
+ item = list [5];
+ Assert.IsNotNull (item, "Disable-0006-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", item.Guid.ToString(), "Disable-0006-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0006-3");
+ item.Disabled = true;
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0004-1");
+ Assert.AreEqual (5, queue.Count, "Dequeue-0004-2");
+ Assert.AreEqual ("5777ab80-078b-4f9a-81fb-f7872aceba99", item.Guid.ToString (), "Dequeue-0004-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0004-4");
+
+ item = list [8];
+ Assert.IsNotNull (item, "Disable-0007-1");
+ Assert.AreEqual ("f003a7ba-af48-4551-a206-1184fc83e621", item.Guid.ToString(), "Disable-0007-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0007-3");
+ item.Disabled = true;
+
+ Assert.AreEqual (5, queue.Count, "Queue size after sequence");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0005-1");
+ Assert.AreEqual (4, queue.Count, "Dequeue-0005-2");
+ Assert.AreEqual ("f003a7ba-af48-4551-a206-1184fc83e621", item.Guid.ToString (), "Dequeue-0005-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0005-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0006-1");
+ Assert.AreEqual (3, queue.Count, "Dequeue-0006-2");
+ Assert.AreEqual ("78f08aef-31b7-49e6-8ba9-2d7b09f5340e", item.Guid.ToString (), "Dequeue-0006-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0006-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0007-1");
+ Assert.AreEqual (2, queue.Count, "Dequeue-0007-2");
+ Assert.AreEqual ("ecd90b49-bb12-4524-818e-977356f8b9d2", item.Guid.ToString (), "Dequeue-0007-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0007-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0008-1");
+ Assert.AreEqual (1, queue.Count, "Dequeue-0008-2");
+ Assert.AreEqual ("fc310ed6-2027-4d16-9343-a3e4b3487bd0", item.Guid.ToString (), "Dequeue-0008-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0008-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0009-1");
+ Assert.AreEqual (0, queue.Count, "Dequeue-0009-2");
+ Assert.AreEqual ("de47322e-63c8-474f-8d2f-fb6a591075df", item.Guid.ToString (), "Dequeue-0009-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0009-4");
+
+ }
+
+ [Test (Description="Generated from sequence file cache_pq_sequence_2010-01-29_10:24:08_001.seq")]
+ public void Sequence_0001 ()
+ {
+ var list = new List <CacheItem> {
+ new CacheItem {Key = "PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:38 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003610181191660, Disabled = false, Guid = new Guid ("b50f84e2-b96b-4183-ac6a-afeec88a258d")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:33 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003622131234770, Disabled = false, Guid = new Guid ("78f08aef-31b7-49e6-8ba9-2d7b09f5340e")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:33 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003622131252350, Disabled = false, Guid = new Guid ("ecd90b49-bb12-4524-818e-977356f8b9d2")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:41 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003610216655680, Disabled = false, Guid = new Guid ("38e7f821-d638-4f1d-89bd-41db556eb37a")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:41 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003610216655680, Disabled = false, Guid = new Guid ("6e723bac-5e11-4cb3-933f-39923948371c")},
+ new CacheItem {Key = "PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:51 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003610312287880, Disabled = false, Guid = new Guid ("93db96c7-eb5b-43b3-8524-e7d90cd159d7")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:46 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003622262288710, Disabled = false, Guid = new Guid ("fc310ed6-2027-4d16-9343-a3e4b3487bd0")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:46 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003622262288910, Disabled = false, Guid = new Guid ("de47322e-63c8-474f-8d2f-fb6a591075df")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:56 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003610362271610, Disabled = false, Guid = new Guid ("f003a7ba-af48-4551-a206-1184fc83e621")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:56 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003610362271610, Disabled = false, Guid = new Guid ("5777ab80-078b-4f9a-81fb-f7872aceba99")},
+ };
+ var queue = new CacheItemPriorityQueue ();
+ CacheItem item;
+
+ queue.Enqueue (list [0]);
+ Assert.AreEqual (1, queue.Count, "Enqueue-0000-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0000-2");
+
+ queue.Enqueue (list [1]);
+ Assert.AreEqual (2, queue.Count, "Enqueue-0001-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0001-2");
+
+ queue.Enqueue (list [2]);
+ Assert.AreEqual (3, queue.Count, "Enqueue-0002-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0002-2");
+
+ queue.Enqueue (list [3]);
+ Assert.AreEqual (4, queue.Count, "Enqueue-0003-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0003-2");
+
+ queue.Enqueue (list [4]);
+ Assert.AreEqual (5, queue.Count, "Enqueue-0004-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0004-2");
+
+ queue.Enqueue (list [5]);
+ Assert.AreEqual (6, queue.Count, "Enqueue-0005-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0005-2");
+
+ queue.Enqueue (list [6]);
+ Assert.AreEqual (7, queue.Count, "Enqueue-0006-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0006-2");
+
+ queue.Enqueue (list [7]);
+ Assert.AreEqual (8, queue.Count, "Enqueue-0007-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0007-2");
+
+ queue.Enqueue (list [8]);
+ Assert.AreEqual (9, queue.Count, "Enqueue-0008-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0008-2");
+
+ queue.Enqueue (list [9]);
+ Assert.AreEqual (10, queue.Count, "Enqueue-0009-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0009-2");
+
+ Assert.AreEqual (10, queue.Count, "Queue size after sequence");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0000-1");
+ Assert.AreEqual (9, queue.Count, "Dequeue-0000-2");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", item.Guid.ToString (), "Dequeue-0000-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0000-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0001-1");
+ Assert.AreEqual (8, queue.Count, "Dequeue-0001-2");
+ Assert.AreEqual ("38e7f821-d638-4f1d-89bd-41db556eb37a", item.Guid.ToString (), "Dequeue-0001-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0001-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0002-1");
+ Assert.AreEqual (7, queue.Count, "Dequeue-0002-2");
+ Assert.AreEqual ("6e723bac-5e11-4cb3-933f-39923948371c", item.Guid.ToString (), "Dequeue-0002-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0002-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0003-1");
+ Assert.AreEqual (6, queue.Count, "Dequeue-0003-2");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", item.Guid.ToString (), "Dequeue-0003-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0003-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0004-1");
+ Assert.AreEqual (5, queue.Count, "Dequeue-0004-2");
+ Assert.AreEqual ("f003a7ba-af48-4551-a206-1184fc83e621", item.Guid.ToString (), "Dequeue-0004-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0004-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0005-1");
+ Assert.AreEqual (4, queue.Count, "Dequeue-0005-2");
+ Assert.AreEqual ("5777ab80-078b-4f9a-81fb-f7872aceba99", item.Guid.ToString (), "Dequeue-0005-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0005-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0006-1");
+ Assert.AreEqual (3, queue.Count, "Dequeue-0006-2");
+ Assert.AreEqual ("78f08aef-31b7-49e6-8ba9-2d7b09f5340e", item.Guid.ToString (), "Dequeue-0006-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0006-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0007-1");
+ Assert.AreEqual (2, queue.Count, "Dequeue-0007-2");
+ Assert.AreEqual ("ecd90b49-bb12-4524-818e-977356f8b9d2", item.Guid.ToString (), "Dequeue-0007-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0007-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0008-1");
+ Assert.AreEqual (1, queue.Count, "Dequeue-0008-2");
+ Assert.AreEqual ("fc310ed6-2027-4d16-9343-a3e4b3487bd0", item.Guid.ToString (), "Dequeue-0008-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0008-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0009-1");
+ Assert.AreEqual (0, queue.Count, "Dequeue-0009-2");
+ Assert.AreEqual ("de47322e-63c8-474f-8d2f-fb6a591075df", item.Guid.ToString (), "Dequeue-0009-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0009-4");
+
+ }
+
+ [Test (Description="Generated from sequence file cache_pq_sequence_2010-01-29_10:24:08_002.seq")]
+ public void Sequence_0002 ()
+ {
+ var list = new List <CacheItem> {
+ new CacheItem {Key = "PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:38 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003610181191660, Disabled = false, Guid = new Guid ("b50f84e2-b96b-4183-ac6a-afeec88a258d")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:33 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003622131234770, Disabled = false, Guid = new Guid ("78f08aef-31b7-49e6-8ba9-2d7b09f5340e")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:33 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003622131252350, Disabled = false, Guid = new Guid ("ecd90b49-bb12-4524-818e-977356f8b9d2")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:41 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003610216655680, Disabled = false, Guid = new Guid ("38e7f821-d638-4f1d-89bd-41db556eb37a")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:41 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:33 AM"), ExpiresAt = 634003610216655680, Disabled = false, Guid = new Guid ("6e723bac-5e11-4cb3-933f-39923948371c")},
+ new CacheItem {Key = "PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:51 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003610312287880, Disabled = false, Guid = new Guid ("93db96c7-eb5b-43b3-8524-e7d90cd159d7")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:46 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003622262288710, Disabled = false, Guid = new Guid ("fc310ed6-2027-4d16-9343-a3e4b3487bd0")},
+ new CacheItem {Key = "@@@InProc@074DE5C88B2981727366B98C", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:43:46 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003622262288910, Disabled = false, Guid = new Guid ("de47322e-63c8-474f-8d2f-fb6a591075df")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:56 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003610362271610, Disabled = false, Guid = new Guid ("f003a7ba-af48-4551-a206-1184fc83e621")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 11:23:56 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 11:23:46 AM"), ExpiresAt = 634003610362271610, Disabled = false, Guid = new Guid ("5777ab80-078b-4f9a-81fb-f7872aceba99")},
+ };
+ var queue = new CacheItemPriorityQueue ();
+ CacheItem item;
+
+ queue.Enqueue (list [0]);
+ Assert.AreEqual (1, queue.Count, "Enqueue-0000-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0000-2");
+
+ queue.Enqueue (list [1]);
+ Assert.AreEqual (2, queue.Count, "Enqueue-0001-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0001-2");
+
+ queue.Enqueue (list [2]);
+ Assert.AreEqual (3, queue.Count, "Enqueue-0002-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0002-2");
+
+ queue.Enqueue (list [3]);
+ Assert.AreEqual (4, queue.Count, "Enqueue-0003-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0003-2");
+
+ queue.Enqueue (list [4]);
+ Assert.AreEqual (5, queue.Count, "Enqueue-0004-1");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", queue.Peek ().Guid.ToString(), "Enqueue-0004-2");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0000-1");
+ Assert.AreEqual (4, queue.Count, "Dequeue-0000-2");
+ Assert.AreEqual ("b50f84e2-b96b-4183-ac6a-afeec88a258d", item.Guid.ToString (), "Dequeue-0000-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0000-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0001-1");
+ Assert.AreEqual (3, queue.Count, "Dequeue-0001-2");
+ Assert.AreEqual ("6e723bac-5e11-4cb3-933f-39923948371c", item.Guid.ToString (), "Dequeue-0001-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0001-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0002-1");
+ Assert.AreEqual (2, queue.Count, "Dequeue-0002-2");
+ Assert.AreEqual ("38e7f821-d638-4f1d-89bd-41db556eb37a", item.Guid.ToString (), "Dequeue-0002-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0002-4");
+
+ queue.Enqueue (list [5]);
+ Assert.AreEqual (3, queue.Count, "Enqueue-0005-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", queue.Peek ().Guid.ToString(), "Enqueue-0005-2");
+
+ queue.Enqueue (list [6]);
+ Assert.AreEqual (4, queue.Count, "Enqueue-0006-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", queue.Peek ().Guid.ToString(), "Enqueue-0006-2");
+
+ queue.Enqueue (list [7]);
+ Assert.AreEqual (5, queue.Count, "Enqueue-0007-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", queue.Peek ().Guid.ToString(), "Enqueue-0007-2");
+
+ queue.Enqueue (list [8]);
+ Assert.AreEqual (6, queue.Count, "Enqueue-0008-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", queue.Peek ().Guid.ToString(), "Enqueue-0008-2");
+
+ queue.Enqueue (list [9]);
+ Assert.AreEqual (7, queue.Count, "Enqueue-0009-1");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", queue.Peek ().Guid.ToString(), "Enqueue-0009-2");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0003-1");
+ Assert.AreEqual (6, queue.Count, "Dequeue-0003-2");
+ Assert.AreEqual ("93db96c7-eb5b-43b3-8524-e7d90cd159d7", item.Guid.ToString (), "Dequeue-0003-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0003-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0004-1");
+ Assert.AreEqual (5, queue.Count, "Dequeue-0004-2");
+ Assert.AreEqual ("5777ab80-078b-4f9a-81fb-f7872aceba99", item.Guid.ToString (), "Dequeue-0004-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0004-4");
+
+ Assert.AreEqual (5, queue.Count, "Queue size after sequence");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0005-1");
+ Assert.AreEqual (4, queue.Count, "Dequeue-0005-2");
+ Assert.AreEqual ("f003a7ba-af48-4551-a206-1184fc83e621", item.Guid.ToString (), "Dequeue-0005-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0005-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0006-1");
+ Assert.AreEqual (3, queue.Count, "Dequeue-0006-2");
+ Assert.AreEqual ("78f08aef-31b7-49e6-8ba9-2d7b09f5340e", item.Guid.ToString (), "Dequeue-0006-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0006-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0007-1");
+ Assert.AreEqual (2, queue.Count, "Dequeue-0007-2");
+ Assert.AreEqual ("ecd90b49-bb12-4524-818e-977356f8b9d2", item.Guid.ToString (), "Dequeue-0007-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0007-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0008-1");
+ Assert.AreEqual (1, queue.Count, "Dequeue-0008-2");
+ Assert.AreEqual ("fc310ed6-2027-4d16-9343-a3e4b3487bd0", item.Guid.ToString (), "Dequeue-0008-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0008-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0009-1");
+ Assert.AreEqual (0, queue.Count, "Dequeue-0009-2");
+ Assert.AreEqual ("de47322e-63c8-474f-8d2f-fb6a591075df", item.Guid.ToString (), "Dequeue-0009-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0009-4");
+
+ }
+
+ [Test (Description="Generated from sequence file cache_pq_sequence_2010-01-29_12:31:31.seq")]
+ public void Sequence_0003 ()
+ {
+ var list = new List <CacheItem> {
+ new CacheItem {Key = "PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:31 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:26 PM"), ExpiresAt = 634003686315246510, Disabled = false, Guid = new Guid ("3378afe8-5a2a-4f30-aedd-fa146880f93e")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:50:26 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:30:26 PM"), ExpiresAt = 634003698265290760, Disabled = false, Guid = new Guid ("33191cc7-c1b4-4726-b428-64efb69a6c46")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:50:26 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:30:26 PM"), ExpiresAt = 634003698265308270, Disabled = false, Guid = new Guid ("88bee6f1-09ac-4af2-9bc3-ebd619009377")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:35 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:26 PM"), ExpiresAt = 634003686350855860, Disabled = false, Guid = new Guid ("e290608d-7086-41a6-a87a-3f3051c14780")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:35 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:26 PM"), ExpiresAt = 634003686350855860, Disabled = false, Guid = new Guid ("f374c3d0-06a5-4b0d-8fb5-f0e94a876847")},
+ new CacheItem {Key = "PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:37 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:32 PM"), ExpiresAt = 634003686370745960, Disabled = false, Guid = new Guid ("94cc61f5-312e-4d03-8d56-4e8b400f8ca0")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:50:32 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:30:32 PM"), ExpiresAt = 634003698320747270, Disabled = false, Guid = new Guid ("986174eb-da85-4a7b-9919-cd0668db69bf")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:50:32 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:30:32 PM"), ExpiresAt = 634003698320747680, Disabled = false, Guid = new Guid ("3c5fd8ab-a611-4bfb-afb0-5acee9b45dda")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQNgVadmin_edituserNuV78FH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:42 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:32 PM"), ExpiresAt = 634003686420678320, Disabled = false, Guid = new Guid ("2d354d5c-8996-4932-ba5f-cd3591fe95cb")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQNgVadmin_edituserNuV78FH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:42 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:32 PM"), ExpiresAt = 634003686420678320, Disabled = false, Guid = new Guid ("93a0e663-0354-4301-ac27-9e782091f661")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:50:36 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:30:36 PM"), ExpiresAt = 634003698369030440, Disabled = false, Guid = new Guid ("feebc79b-1867-42c9-a966-bbb448d78a44")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:50:36 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:30:36 PM"), ExpiresAt = 634003698369035640, Disabled = false, Guid = new Guid ("474193d1-4fd9-4b06-873a-e575744957a4")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:46 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:36 PM"), ExpiresAt = 634003686469024010, Disabled = false, Guid = new Guid ("817d3f42-bf7b-4a13-90bc-1895cafe2d23")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:46 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:36 PM"), ExpiresAt = 634003686469024010, Disabled = false, Guid = new Guid ("39402800-3c1e-478c-8bdc-571d902e32a7")},
+ new CacheItem {Key = "PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:50 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:45 PM"), ExpiresAt = 634003686509800050, Disabled = false, Guid = new Guid ("b45b3bd3-d55d-4c41-b9da-150c19ec0856")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:50:45 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:30:45 PM"), ExpiresAt = 634003698459800810, Disabled = false, Guid = new Guid ("66bc962f-bf18-48a4-8164-722a5f53d211")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:50:45 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:30:45 PM"), ExpiresAt = 634003698459801130, Disabled = false, Guid = new Guid ("9096d210-ed15-4d38-9af2-26e59b0b8be0")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQNgVadmin_edituserNuV78FH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:55 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:45 PM"), ExpiresAt = 634003686559793540, Disabled = false, Guid = new Guid ("f7e86ec2-dc06-484f-81ed-df4373fff95b")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQNgVadmin_edituserNuV78FH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:30:55 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:45 PM"), ExpiresAt = 634003686559793540, Disabled = false, Guid = new Guid ("ad6319f5-27bc-4444-9eb8-1320009ab184")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:50:50 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:30:50 PM"), ExpiresAt = 634003698501880070, Disabled = false, Guid = new Guid ("4e49dc65-2c6a-4b2f-97e2-9cf09175c57a")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:50:50 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:30:50 PM"), ExpiresAt = 634003698501880320, Disabled = false, Guid = new Guid ("417fc6e2-b9ae-40eb-906b-6e41b306a908")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:31:00 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:50 PM"), ExpiresAt = 634003686601873790, Disabled = false, Guid = new Guid ("7b0fb8c1-9642-4854-b979-7e223a092a3d")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:31:00 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:30:50 PM"), ExpiresAt = 634003686601873790, Disabled = false, Guid = new Guid ("414bdd0b-ab30-4d61-aef2-2d34fd929ed2")},
+ new CacheItem {Key = "PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:31:05 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:31:00 PM"), ExpiresAt = 634003686655460880, Disabled = false, Guid = new Guid ("c210ae2b-0c3d-4257-848d-f21ee48c02cc")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:51:00 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:31:00 PM"), ExpiresAt = 634003698605462050, Disabled = false, Guid = new Guid ("ac9cefe3-3331-4ee2-b0f1-69aaca2a955d")},
+ new CacheItem {Key = "@@@InProc@A3D557581E229FAEA58A8D4F", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:51:00 PM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("1/29/2010 1:31:00 PM"), ExpiresAt = 634003698605462460, Disabled = false, Guid = new Guid ("ae852a56-e081-4ee7-b360-81d4ba1a2000")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:31:10 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:31:00 PM"), ExpiresAt = 634003686705453300, Disabled = false, Guid = new Guid ("e8b43015-cc9b-4cad-a881-faead4f18aa3")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("1/29/2010 1:31:10 PM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("1/29/2010 1:31:00 PM"), ExpiresAt = 634003686705453300, Disabled = false, Guid = new Guid ("3866994b-3be5-4408-9077-529fe701d3f3")},
+ };
+ var queue = new CacheItemPriorityQueue ();
+ CacheItem item;
+
+ queue.Enqueue (list [0]);
+ Assert.AreEqual (1, queue.Count, "Enqueue-0000-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0000-2");
+
+ queue.Enqueue (list [1]);
+ Assert.AreEqual (2, queue.Count, "Enqueue-0001-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0001-2");
+
+ item = list [1];
+ Assert.IsNotNull (item, "Disable-0000-1");
+ Assert.AreEqual ("33191cc7-c1b4-4726-b428-64efb69a6c46", item.Guid.ToString(), "Disable-0000-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0000-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [2]);
+ Assert.AreEqual (3, queue.Count, "Enqueue-0002-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0002-2");
+
+ queue.Enqueue (list [3]);
+ Assert.AreEqual (4, queue.Count, "Enqueue-0003-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0003-2");
+
+ queue.Enqueue (list [4]);
+ Assert.AreEqual (5, queue.Count, "Enqueue-0004-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0004-2");
+
+ item = list [0];
+ Assert.IsNotNull (item, "Disable-0001-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", item.Guid.ToString(), "Disable-0001-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0001-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [5]);
+ Assert.AreEqual (6, queue.Count, "Enqueue-0005-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0005-2");
+
+ item = list [2];
+ Assert.IsNotNull (item, "Disable-0002-1");
+ Assert.AreEqual ("88bee6f1-09ac-4af2-9bc3-ebd619009377", item.Guid.ToString(), "Disable-0002-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0002-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [6]);
+ Assert.AreEqual (7, queue.Count, "Enqueue-0006-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0006-2");
+
+ item = list [6];
+ Assert.IsNotNull (item, "Disable-0003-1");
+ Assert.AreEqual ("986174eb-da85-4a7b-9919-cd0668db69bf", item.Guid.ToString(), "Disable-0003-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0003-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [7]);
+ Assert.AreEqual (8, queue.Count, "Enqueue-0007-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0007-2");
+
+ queue.Enqueue (list [8]);
+ Assert.AreEqual (9, queue.Count, "Enqueue-0008-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0008-2");
+
+ queue.Enqueue (list [9]);
+ Assert.AreEqual (10, queue.Count, "Enqueue-0009-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0009-2");
+
+ item = list [3];
+ Assert.IsNotNull (item, "Disable-0004-1");
+ Assert.AreEqual ("e290608d-7086-41a6-a87a-3f3051c14780", item.Guid.ToString(), "Disable-0004-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0004-3");
+ item.Disabled = true;
+
+ item = list [7];
+ Assert.IsNotNull (item, "Disable-0005-1");
+ Assert.AreEqual ("3c5fd8ab-a611-4bfb-afb0-5acee9b45dda", item.Guid.ToString(), "Disable-0005-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0005-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [10]);
+ Assert.AreEqual (11, queue.Count, "Enqueue-0010-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0010-2");
+
+ item = list [10];
+ Assert.IsNotNull (item, "Disable-0006-1");
+ Assert.AreEqual ("feebc79b-1867-42c9-a966-bbb448d78a44", item.Guid.ToString(), "Disable-0006-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0006-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [11]);
+ Assert.AreEqual (12, queue.Count, "Enqueue-0011-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0011-2");
+
+ queue.Enqueue (list [12]);
+ Assert.AreEqual (13, queue.Count, "Enqueue-0012-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0012-2");
+
+ queue.Enqueue (list [13]);
+ Assert.AreEqual (14, queue.Count, "Enqueue-0013-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0013-2");
+
+ item = list [8];
+ Assert.IsNotNull (item, "Disable-0007-1");
+ Assert.AreEqual ("2d354d5c-8996-4932-ba5f-cd3591fe95cb", item.Guid.ToString(), "Disable-0007-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0007-3");
+ item.Disabled = true;
+
+ item = list [5];
+ Assert.IsNotNull (item, "Disable-0008-1");
+ Assert.AreEqual ("94cc61f5-312e-4d03-8d56-4e8b400f8ca0", item.Guid.ToString(), "Disable-0008-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0008-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [14]);
+ Assert.AreEqual (15, queue.Count, "Enqueue-0014-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0014-2");
+
+ item = list [11];
+ Assert.IsNotNull (item, "Disable-0009-1");
+ Assert.AreEqual ("474193d1-4fd9-4b06-873a-e575744957a4", item.Guid.ToString(), "Disable-0009-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0009-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [15]);
+ Assert.AreEqual (16, queue.Count, "Enqueue-0015-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0015-2");
+
+ item = list [15];
+ Assert.IsNotNull (item, "Disable-0010-1");
+ Assert.AreEqual ("66bc962f-bf18-48a4-8164-722a5f53d211", item.Guid.ToString(), "Disable-0010-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0010-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [16]);
+ Assert.AreEqual (17, queue.Count, "Enqueue-0016-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0016-2");
+
+ queue.Enqueue (list [17]);
+ Assert.AreEqual (18, queue.Count, "Enqueue-0017-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0017-2");
+
+ queue.Enqueue (list [18]);
+ Assert.AreEqual (19, queue.Count, "Enqueue-0018-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0018-2");
+
+ item = list [12];
+ Assert.IsNotNull (item, "Disable-0011-1");
+ Assert.AreEqual ("817d3f42-bf7b-4a13-90bc-1895cafe2d23", item.Guid.ToString(), "Disable-0011-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0011-3");
+ item.Disabled = true;
+
+ item = list [16];
+ Assert.IsNotNull (item, "Disable-0012-1");
+ Assert.AreEqual ("9096d210-ed15-4d38-9af2-26e59b0b8be0", item.Guid.ToString(), "Disable-0012-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0012-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [19]);
+ Assert.AreEqual (20, queue.Count, "Enqueue-0019-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0019-2");
+
+ item = list [19];
+ Assert.IsNotNull (item, "Disable-0013-1");
+ Assert.AreEqual ("4e49dc65-2c6a-4b2f-97e2-9cf09175c57a", item.Guid.ToString(), "Disable-0013-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0013-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [20]);
+ Assert.AreEqual (21, queue.Count, "Enqueue-0020-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0020-2");
+
+ queue.Enqueue (list [21]);
+ Assert.AreEqual (22, queue.Count, "Enqueue-0021-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0021-2");
+
+ queue.Enqueue (list [22]);
+ Assert.AreEqual (23, queue.Count, "Enqueue-0022-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0022-2");
+
+ item = list [21];
+ Assert.IsNotNull (item, "Disable-0014-1");
+ Assert.AreEqual ("7b0fb8c1-9642-4854-b979-7e223a092a3d", item.Guid.ToString(), "Disable-0014-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0014-3");
+ item.Disabled = true;
+
+ item = list [14];
+ Assert.IsNotNull (item, "Disable-0015-1");
+ Assert.AreEqual ("b45b3bd3-d55d-4c41-b9da-150c19ec0856", item.Guid.ToString(), "Disable-0015-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0015-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [23]);
+ Assert.AreEqual (24, queue.Count, "Enqueue-0023-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0023-2");
+
+ item = list [20];
+ Assert.IsNotNull (item, "Disable-0016-1");
+ Assert.AreEqual ("417fc6e2-b9ae-40eb-906b-6e41b306a908", item.Guid.ToString(), "Disable-0016-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0016-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [24]);
+ Assert.AreEqual (25, queue.Count, "Enqueue-0024-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0024-2");
+
+ item = list [24];
+ Assert.IsNotNull (item, "Disable-0017-1");
+ Assert.AreEqual ("ac9cefe3-3331-4ee2-b0f1-69aaca2a955d", item.Guid.ToString(), "Disable-0017-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0017-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [25]);
+ Assert.AreEqual (26, queue.Count, "Enqueue-0025-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0025-2");
+
+ queue.Enqueue (list [26]);
+ Assert.AreEqual (27, queue.Count, "Enqueue-0026-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0026-2");
+
+ queue.Enqueue (list [27]);
+ Assert.AreEqual (28, queue.Count, "Enqueue-0027-1");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", queue.Peek ().Guid.ToString(), "Enqueue-0027-2");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0000-1");
+ Assert.AreEqual (27, queue.Count, "Dequeue-0000-2");
+ Assert.AreEqual ("3378afe8-5a2a-4f30-aedd-fa146880f93e", item.Guid.ToString (), "Dequeue-0000-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0000-4");
+
+ item = list [23];
+ Assert.IsNotNull (item, "Disable-0018-1");
+ Assert.AreEqual ("c210ae2b-0c3d-4257-848d-f21ee48c02cc", item.Guid.ToString(), "Disable-0018-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0018-3");
+ item.Disabled = true;
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0001-1");
+ Assert.AreEqual (26, queue.Count, "Dequeue-0001-2");
+ Assert.AreEqual ("e290608d-7086-41a6-a87a-3f3051c14780", item.Guid.ToString (), "Dequeue-0001-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0001-4");
+
+ item = list [26];
+ Assert.IsNotNull (item, "Disable-0019-1");
+ Assert.AreEqual ("e8b43015-cc9b-4cad-a881-faead4f18aa3", item.Guid.ToString(), "Disable-0019-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0019-3");
+ item.Disabled = true;
+
+ Assert.AreEqual (26, queue.Count, "Queue size after sequence");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0002-1");
+ Assert.AreEqual (25, queue.Count, "Dequeue-0002-2");
+ Assert.AreEqual ("f374c3d0-06a5-4b0d-8fb5-f0e94a876847", item.Guid.ToString (), "Dequeue-0002-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0002-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0003-1");
+ Assert.AreEqual (24, queue.Count, "Dequeue-0003-2");
+ Assert.AreEqual ("94cc61f5-312e-4d03-8d56-4e8b400f8ca0", item.Guid.ToString (), "Dequeue-0003-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0003-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0004-1");
+ Assert.AreEqual (23, queue.Count, "Dequeue-0004-2");
+ Assert.AreEqual ("2d354d5c-8996-4932-ba5f-cd3591fe95cb", item.Guid.ToString (), "Dequeue-0004-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0004-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0005-1");
+ Assert.AreEqual (22, queue.Count, "Dequeue-0005-2");
+ Assert.AreEqual ("93a0e663-0354-4301-ac27-9e782091f661", item.Guid.ToString (), "Dequeue-0005-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0005-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0006-1");
+ Assert.AreEqual (21, queue.Count, "Dequeue-0006-2");
+ Assert.AreEqual ("817d3f42-bf7b-4a13-90bc-1895cafe2d23", item.Guid.ToString (), "Dequeue-0006-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0006-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0007-1");
+ Assert.AreEqual (20, queue.Count, "Dequeue-0007-2");
+ Assert.AreEqual ("39402800-3c1e-478c-8bdc-571d902e32a7", item.Guid.ToString (), "Dequeue-0007-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0007-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0008-1");
+ Assert.AreEqual (19, queue.Count, "Dequeue-0008-2");
+ Assert.AreEqual ("b45b3bd3-d55d-4c41-b9da-150c19ec0856", item.Guid.ToString (), "Dequeue-0008-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0008-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0009-1");
+ Assert.AreEqual (18, queue.Count, "Dequeue-0009-2");
+ Assert.AreEqual ("f7e86ec2-dc06-484f-81ed-df4373fff95b", item.Guid.ToString (), "Dequeue-0009-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0009-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0010-1");
+ Assert.AreEqual (17, queue.Count, "Dequeue-0010-2");
+ Assert.AreEqual ("ad6319f5-27bc-4444-9eb8-1320009ab184", item.Guid.ToString (), "Dequeue-0010-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0010-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0011-1");
+ Assert.AreEqual (16, queue.Count, "Dequeue-0011-2");
+ Assert.AreEqual ("7b0fb8c1-9642-4854-b979-7e223a092a3d", item.Guid.ToString (), "Dequeue-0011-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0011-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0012-1");
+ Assert.AreEqual (15, queue.Count, "Dequeue-0012-2");
+ Assert.AreEqual ("414bdd0b-ab30-4d61-aef2-2d34fd929ed2", item.Guid.ToString (), "Dequeue-0012-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0012-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0013-1");
+ Assert.AreEqual (14, queue.Count, "Dequeue-0013-2");
+ Assert.AreEqual ("c210ae2b-0c3d-4257-848d-f21ee48c02cc", item.Guid.ToString (), "Dequeue-0013-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0013-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0014-1");
+ Assert.AreEqual (13, queue.Count, "Dequeue-0014-2");
+ Assert.AreEqual ("e8b43015-cc9b-4cad-a881-faead4f18aa3", item.Guid.ToString (), "Dequeue-0014-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0014-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0015-1");
+ Assert.AreEqual (12, queue.Count, "Dequeue-0015-2");
+ Assert.AreEqual ("3866994b-3be5-4408-9077-529fe701d3f3", item.Guid.ToString (), "Dequeue-0015-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0015-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0016-1");
+ Assert.AreEqual (11, queue.Count, "Dequeue-0016-2");
+ Assert.AreEqual ("33191cc7-c1b4-4726-b428-64efb69a6c46", item.Guid.ToString (), "Dequeue-0016-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0016-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0017-1");
+ Assert.AreEqual (10, queue.Count, "Dequeue-0017-2");
+ Assert.AreEqual ("88bee6f1-09ac-4af2-9bc3-ebd619009377", item.Guid.ToString (), "Dequeue-0017-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0017-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0018-1");
+ Assert.AreEqual (9, queue.Count, "Dequeue-0018-2");
+ Assert.AreEqual ("986174eb-da85-4a7b-9919-cd0668db69bf", item.Guid.ToString (), "Dequeue-0018-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0018-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0019-1");
+ Assert.AreEqual (8, queue.Count, "Dequeue-0019-2");
+ Assert.AreEqual ("3c5fd8ab-a611-4bfb-afb0-5acee9b45dda", item.Guid.ToString (), "Dequeue-0019-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0019-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0020-1");
+ Assert.AreEqual (7, queue.Count, "Dequeue-0020-2");
+ Assert.AreEqual ("feebc79b-1867-42c9-a966-bbb448d78a44", item.Guid.ToString (), "Dequeue-0020-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0020-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0021-1");
+ Assert.AreEqual (6, queue.Count, "Dequeue-0021-2");
+ Assert.AreEqual ("474193d1-4fd9-4b06-873a-e575744957a4", item.Guid.ToString (), "Dequeue-0021-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0021-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0022-1");
+ Assert.AreEqual (5, queue.Count, "Dequeue-0022-2");
+ Assert.AreEqual ("66bc962f-bf18-48a4-8164-722a5f53d211", item.Guid.ToString (), "Dequeue-0022-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0022-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0023-1");
+ Assert.AreEqual (4, queue.Count, "Dequeue-0023-2");
+ Assert.AreEqual ("9096d210-ed15-4d38-9af2-26e59b0b8be0", item.Guid.ToString (), "Dequeue-0023-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0023-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0024-1");
+ Assert.AreEqual (3, queue.Count, "Dequeue-0024-2");
+ Assert.AreEqual ("4e49dc65-2c6a-4b2f-97e2-9cf09175c57a", item.Guid.ToString (), "Dequeue-0024-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0024-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0025-1");
+ Assert.AreEqual (2, queue.Count, "Dequeue-0025-2");
+ Assert.AreEqual ("417fc6e2-b9ae-40eb-906b-6e41b306a908", item.Guid.ToString (), "Dequeue-0025-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0025-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0026-1");
+ Assert.AreEqual (1, queue.Count, "Dequeue-0026-2");
+ Assert.AreEqual ("ac9cefe3-3331-4ee2-b0f1-69aaca2a955d", item.Guid.ToString (), "Dequeue-0026-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0026-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0027-1");
+ Assert.AreEqual (0, queue.Count, "Dequeue-0027-2");
+ Assert.AreEqual ("ae852a56-e081-4ee7-b360-81d4ba1a2000", item.Guid.ToString (), "Dequeue-0027-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0027-4");
+
+ }
+
+ [Test (Description="Generated from sequence file cache_pq_sequence_2010-02-03_01:07:55.seq")]
+ public void Sequence_0004 ()
+ {
+ var list = new List <CacheItem> {
+ new CacheItem {Key = "PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:06:39 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("2/3/2010 2:06:34 AM"), ExpiresAt = 634007595994690560, Disabled = false, Guid = new Guid ("757dc15a-3340-4704-9292-17f3004e2ee5")},
+ new CacheItem {Key = "@@@InProc@B748F7C2AA1F04BCF40EAB40", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:26:34 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("2/3/2010 2:06:34 AM"), ExpiresAt = 634007607944742000, Disabled = false, Guid = new Guid ("a4778103-c8e9-4304-90db-3f54b718e50a")},
+ new CacheItem {Key = "@@@InProc@B748F7C2AA1F04BCF40EAB40", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:26:34 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("2/3/2010 2:06:34 AM"), ExpiresAt = 634007607944758990, Disabled = false, Guid = new Guid ("246d4b59-6748-4bef-8f78-5b081b0686f1")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:06:42 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("2/3/2010 2:06:34 AM"), ExpiresAt = 634007596029748620, Disabled = false, Guid = new Guid ("46616129-bd8d-402b-954f-a05944535e23")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:06:42 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("2/3/2010 2:06:34 AM"), ExpiresAt = 634007596029748620, Disabled = false, Guid = new Guid ("f85a0942-6f20-4f71-ae57-3b2669052460")},
+ new CacheItem {Key = "PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:06:58 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("2/3/2010 2:06:53 AM"), ExpiresAt = 634007596187154840, Disabled = false, Guid = new Guid ("e8b1f7d4-a874-4b56-84ce-1434a72f9d35")},
+ new CacheItem {Key = "@@@InProc@B748F7C2AA1F04BCF40EAB40", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:26:53 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("2/3/2010 2:06:53 AM"), ExpiresAt = 634007608137155850, Disabled = false, Guid = new Guid ("bc16a289-5ce4-436f-9791-1885f033bc6e")},
+ new CacheItem {Key = "@@@InProc@B748F7C2AA1F04BCF40EAB40", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:26:53 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("2/3/2010 2:06:53 AM"), ExpiresAt = 634007608137156090, Disabled = false, Guid = new Guid ("f6651f9b-36fd-481d-bb31-8abc3d110a45")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:07:03 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("2/3/2010 2:06:53 AM"), ExpiresAt = 634007596237139120, Disabled = false, Guid = new Guid ("226ef04f-1118-4225-abe1-43d6e228db95")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:07:03 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("2/3/2010 2:06:53 AM"), ExpiresAt = 634007596237139120, Disabled = false, Guid = new Guid ("9df2ed49-168b-4769-8d9e-7f963e62123c")},
+ new CacheItem {Key = "PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:07:30 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("2/3/2010 2:07:25 AM"), ExpiresAt = 634007596504393570, Disabled = false, Guid = new Guid ("30952e54-d94b-450d-b1ff-5e74c66bb4f5")},
+ new CacheItem {Key = "@@@InProc@B748F7C2AA1F04BCF40EAB40", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:27:25 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("2/3/2010 2:07:25 AM"), ExpiresAt = 634007608454399100, Disabled = false, Guid = new Guid ("e50d5a73-7861-412b-b9ad-924c13c2e9c5")},
+ new CacheItem {Key = "@@@InProc@B748F7C2AA1F04BCF40EAB40", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:27:25 AM"), SlidingExpiration = TimeSpan.Parse ("00:20:00"), Priority = CacheItemPriority.AboveNormal, LastChange = DateTime.Parse ("2/3/2010 2:07:25 AM"), ExpiresAt = 634007608454399320, Disabled = false, Guid = new Guid ("631452f5-a8e5-483e-a0ac-9c3f7abd37a1")},
+ new CacheItem {Key = "@InMemoryOCP_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:07:35 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("2/3/2010 2:07:25 AM"), ExpiresAt = 634007596554387900, Disabled = false, Guid = new Guid ("01a63c0e-5963-4eac-8b0e-b1b2ea508098")},
+ new CacheItem {Key = "@prefix@_vbk/default.aspxGETWQFH", AbsoluteExpiration = DateTime.Parse ("2/3/2010 2:07:35 AM"), SlidingExpiration = TimeSpan.Parse ("00:00:00"), Priority = CacheItemPriority.Normal, LastChange = DateTime.Parse ("2/3/2010 2:07:25 AM"), ExpiresAt = 634007596554387900, Disabled = false, Guid = new Guid ("9e38cf23-6785-49e8-9922-8e1c1d86a205")},
+ };
+ var queue = new CacheItemPriorityQueue ();
+ CacheItem item;
+
+ queue.Enqueue (list [0]);
+ Assert.AreEqual (1, queue.Count, "Enqueue-0000-1");
+ Assert.AreEqual ("757dc15a-3340-4704-9292-17f3004e2ee5", queue.Peek ().Guid.ToString(), "Enqueue-0000-2");
+
+ queue.Enqueue (list [1]);
+ Assert.AreEqual (2, queue.Count, "Enqueue-0001-1");
+ Assert.AreEqual ("757dc15a-3340-4704-9292-17f3004e2ee5", queue.Peek ().Guid.ToString(), "Enqueue-0001-2");
+
+ item = list [1];
+ Assert.IsNotNull (item, "Disable-0000-1");
+ Assert.AreEqual ("a4778103-c8e9-4304-90db-3f54b718e50a", item.Guid.ToString(), "Disable-0000-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0000-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [2]);
+ Assert.AreEqual (3, queue.Count, "Enqueue-0002-1");
+ Assert.AreEqual ("757dc15a-3340-4704-9292-17f3004e2ee5", queue.Peek ().Guid.ToString(), "Enqueue-0002-2");
+
+ queue.Enqueue (list [3]);
+ Assert.AreEqual (4, queue.Count, "Enqueue-0003-1");
+ Assert.AreEqual ("757dc15a-3340-4704-9292-17f3004e2ee5", queue.Peek ().Guid.ToString(), "Enqueue-0003-2");
+
+ queue.Enqueue (list [4]);
+ Assert.AreEqual (5, queue.Count, "Enqueue-0004-1");
+ Assert.AreEqual ("757dc15a-3340-4704-9292-17f3004e2ee5", queue.Peek ().Guid.ToString(), "Enqueue-0004-2");
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0000-1");
+ Assert.AreEqual (5, queue.Count, "Peek-0000-2");
+ Assert.AreEqual ("757dc15a-3340-4704-9292-17f3004e2ee5", item.Guid.ToString (), "Peek-0000-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0000-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0000-1");
+ Assert.AreEqual (4, queue.Count, "Dequeue-0000-2");
+ Assert.AreEqual ("757dc15a-3340-4704-9292-17f3004e2ee5", item.Guid.ToString (), "Dequeue-0000-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0000-4");
+
+ item = list [0];
+ Assert.IsNotNull (item, "Disable-0001-1");
+ Assert.AreEqual ("757dc15a-3340-4704-9292-17f3004e2ee5", item.Guid.ToString(), "Disable-0001-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0001-3");
+ item.Disabled = true;
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0001-1");
+ Assert.AreEqual (4, queue.Count, "Peek-0001-2");
+ Assert.AreEqual ("f85a0942-6f20-4f71-ae57-3b2669052460", item.Guid.ToString (), "Peek-0001-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0001-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0001-1");
+ Assert.AreEqual (3, queue.Count, "Dequeue-0001-2");
+ Assert.AreEqual ("f85a0942-6f20-4f71-ae57-3b2669052460", item.Guid.ToString (), "Dequeue-0001-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0001-4");
+
+ item = list [4];
+ Assert.IsNotNull (item, "Disable-0002-1");
+ Assert.AreEqual ("f85a0942-6f20-4f71-ae57-3b2669052460", item.Guid.ToString(), "Disable-0002-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0002-3");
+ item.Disabled = true;
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0002-1");
+ Assert.AreEqual (3, queue.Count, "Peek-0002-2");
+ Assert.AreEqual ("46616129-bd8d-402b-954f-a05944535e23", item.Guid.ToString (), "Peek-0002-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0002-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0002-1");
+ Assert.AreEqual (2, queue.Count, "Dequeue-0002-2");
+ Assert.AreEqual ("46616129-bd8d-402b-954f-a05944535e23", item.Guid.ToString (), "Dequeue-0002-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0002-4");
+
+ item = list [3];
+ Assert.IsNotNull (item, "Disable-0003-1");
+ Assert.AreEqual ("46616129-bd8d-402b-954f-a05944535e23", item.Guid.ToString(), "Disable-0003-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0003-3");
+ item.Disabled = true;
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0003-1");
+ Assert.AreEqual (2, queue.Count, "Peek-0003-2");
+ Assert.AreEqual ("a4778103-c8e9-4304-90db-3f54b718e50a", item.Guid.ToString (), "Peek-0003-3");
+ Assert.AreEqual (true, item.Disabled, "Peek-0003-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0003-1");
+ Assert.AreEqual (1, queue.Count, "Dequeue-0003-2");
+ Assert.AreEqual ("a4778103-c8e9-4304-90db-3f54b718e50a", item.Guid.ToString (), "Dequeue-0003-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0003-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0004-1");
+ Assert.AreEqual (0, queue.Count, "Dequeue-0004-2");
+ Assert.AreEqual ("246d4b59-6748-4bef-8f78-5b081b0686f1", item.Guid.ToString (), "Dequeue-0004-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0004-4");
+
+ queue.Enqueue (list [5]);
+ Assert.AreEqual (1, queue.Count, "Enqueue-0005-1");
+ Assert.AreEqual ("e8b1f7d4-a874-4b56-84ce-1434a72f9d35", queue.Peek ().Guid.ToString(), "Enqueue-0005-2");
+
+ item = list [2];
+ Assert.IsNotNull (item, "Disable-0004-1");
+ Assert.AreEqual ("246d4b59-6748-4bef-8f78-5b081b0686f1", item.Guid.ToString(), "Disable-0004-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0004-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [6]);
+ Assert.AreEqual (2, queue.Count, "Enqueue-0006-1");
+ Assert.AreEqual ("e8b1f7d4-a874-4b56-84ce-1434a72f9d35", queue.Peek ().Guid.ToString(), "Enqueue-0006-2");
+
+ item = list [6];
+ Assert.IsNotNull (item, "Disable-0005-1");
+ Assert.AreEqual ("bc16a289-5ce4-436f-9791-1885f033bc6e", item.Guid.ToString(), "Disable-0005-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0005-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [7]);
+ Assert.AreEqual (3, queue.Count, "Enqueue-0007-1");
+ Assert.AreEqual ("e8b1f7d4-a874-4b56-84ce-1434a72f9d35", queue.Peek ().Guid.ToString(), "Enqueue-0007-2");
+
+ queue.Enqueue (list [8]);
+ Assert.AreEqual (4, queue.Count, "Enqueue-0008-1");
+ Assert.AreEqual ("e8b1f7d4-a874-4b56-84ce-1434a72f9d35", queue.Peek ().Guid.ToString(), "Enqueue-0008-2");
+
+ queue.Enqueue (list [9]);
+ Assert.AreEqual (5, queue.Count, "Enqueue-0009-1");
+ Assert.AreEqual ("e8b1f7d4-a874-4b56-84ce-1434a72f9d35", queue.Peek ().Guid.ToString(), "Enqueue-0009-2");
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0004-1");
+ Assert.AreEqual (5, queue.Count, "Peek-0004-2");
+ Assert.AreEqual ("e8b1f7d4-a874-4b56-84ce-1434a72f9d35", item.Guid.ToString (), "Peek-0004-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0004-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0005-1");
+ Assert.AreEqual (4, queue.Count, "Dequeue-0005-2");
+ Assert.AreEqual ("e8b1f7d4-a874-4b56-84ce-1434a72f9d35", item.Guid.ToString (), "Dequeue-0005-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0005-4");
+
+ item = list [5];
+ Assert.IsNotNull (item, "Disable-0006-1");
+ Assert.AreEqual ("e8b1f7d4-a874-4b56-84ce-1434a72f9d35", item.Guid.ToString(), "Disable-0006-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0006-3");
+ item.Disabled = true;
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0005-1");
+ Assert.AreEqual (4, queue.Count, "Peek-0005-2");
+ Assert.AreEqual ("9df2ed49-168b-4769-8d9e-7f963e62123c", item.Guid.ToString (), "Peek-0005-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0005-4");
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0006-1");
+ Assert.AreEqual (4, queue.Count, "Peek-0006-2");
+ Assert.AreEqual ("9df2ed49-168b-4769-8d9e-7f963e62123c", item.Guid.ToString (), "Peek-0006-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0006-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0006-1");
+ Assert.AreEqual (3, queue.Count, "Dequeue-0006-2");
+ Assert.AreEqual ("9df2ed49-168b-4769-8d9e-7f963e62123c", item.Guid.ToString (), "Dequeue-0006-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0006-4");
+
+ item = list [9];
+ Assert.IsNotNull (item, "Disable-0007-1");
+ Assert.AreEqual ("9df2ed49-168b-4769-8d9e-7f963e62123c", item.Guid.ToString(), "Disable-0007-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0007-3");
+ item.Disabled = true;
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0007-1");
+ Assert.AreEqual (3, queue.Count, "Peek-0007-2");
+ Assert.AreEqual ("226ef04f-1118-4225-abe1-43d6e228db95", item.Guid.ToString (), "Peek-0007-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0007-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0007-1");
+ Assert.AreEqual (2, queue.Count, "Dequeue-0007-2");
+ Assert.AreEqual ("226ef04f-1118-4225-abe1-43d6e228db95", item.Guid.ToString (), "Dequeue-0007-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0007-4");
+
+ item = list [8];
+ Assert.IsNotNull (item, "Disable-0008-1");
+ Assert.AreEqual ("226ef04f-1118-4225-abe1-43d6e228db95", item.Guid.ToString(), "Disable-0008-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0008-3");
+ item.Disabled = true;
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0008-1");
+ Assert.AreEqual (2, queue.Count, "Peek-0008-2");
+ Assert.AreEqual ("bc16a289-5ce4-436f-9791-1885f033bc6e", item.Guid.ToString (), "Peek-0008-3");
+ Assert.AreEqual (true, item.Disabled, "Peek-0008-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0008-1");
+ Assert.AreEqual (1, queue.Count, "Dequeue-0008-2");
+ Assert.AreEqual ("bc16a289-5ce4-436f-9791-1885f033bc6e", item.Guid.ToString (), "Dequeue-0008-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0008-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0009-1");
+ Assert.AreEqual (0, queue.Count, "Dequeue-0009-2");
+ Assert.AreEqual ("f6651f9b-36fd-481d-bb31-8abc3d110a45", item.Guid.ToString (), "Dequeue-0009-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0009-4");
+
+ queue.Enqueue (list [10]);
+ Assert.AreEqual (1, queue.Count, "Enqueue-0010-1");
+ Assert.AreEqual ("30952e54-d94b-450d-b1ff-5e74c66bb4f5", queue.Peek ().Guid.ToString(), "Enqueue-0010-2");
+
+ item = list [7];
+ Assert.IsNotNull (item, "Disable-0009-1");
+ Assert.AreEqual ("f6651f9b-36fd-481d-bb31-8abc3d110a45", item.Guid.ToString(), "Disable-0009-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0009-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [11]);
+ Assert.AreEqual (2, queue.Count, "Enqueue-0011-1");
+ Assert.AreEqual ("30952e54-d94b-450d-b1ff-5e74c66bb4f5", queue.Peek ().Guid.ToString(), "Enqueue-0011-2");
+
+ item = list [11];
+ Assert.IsNotNull (item, "Disable-0010-1");
+ Assert.AreEqual ("e50d5a73-7861-412b-b9ad-924c13c2e9c5", item.Guid.ToString(), "Disable-0010-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0010-3");
+ item.Disabled = true;
+
+ queue.Enqueue (list [12]);
+ Assert.AreEqual (3, queue.Count, "Enqueue-0012-1");
+ Assert.AreEqual ("30952e54-d94b-450d-b1ff-5e74c66bb4f5", queue.Peek ().Guid.ToString(), "Enqueue-0012-2");
+
+ queue.Enqueue (list [13]);
+ Assert.AreEqual (4, queue.Count, "Enqueue-0013-1");
+ Assert.AreEqual ("30952e54-d94b-450d-b1ff-5e74c66bb4f5", queue.Peek ().Guid.ToString(), "Enqueue-0013-2");
+
+ queue.Enqueue (list [14]);
+ Assert.AreEqual (5, queue.Count, "Enqueue-0014-1");
+ Assert.AreEqual ("30952e54-d94b-450d-b1ff-5e74c66bb4f5", queue.Peek ().Guid.ToString(), "Enqueue-0014-2");
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0009-1");
+ Assert.AreEqual (5, queue.Count, "Peek-0009-2");
+ Assert.AreEqual ("30952e54-d94b-450d-b1ff-5e74c66bb4f5", item.Guid.ToString (), "Peek-0009-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0009-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0010-1");
+ Assert.AreEqual (4, queue.Count, "Dequeue-0010-2");
+ Assert.AreEqual ("30952e54-d94b-450d-b1ff-5e74c66bb4f5", item.Guid.ToString (), "Dequeue-0010-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0010-4");
+
+ item = list [10];
+ Assert.IsNotNull (item, "Disable-0011-1");
+ Assert.AreEqual ("30952e54-d94b-450d-b1ff-5e74c66bb4f5", item.Guid.ToString(), "Disable-0011-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0011-3");
+ item.Disabled = true;
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0010-1");
+ Assert.AreEqual (4, queue.Count, "Peek-0010-2");
+ Assert.AreEqual ("9e38cf23-6785-49e8-9922-8e1c1d86a205", item.Guid.ToString (), "Peek-0010-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0010-4");
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0011-1");
+ Assert.AreEqual (4, queue.Count, "Peek-0011-2");
+ Assert.AreEqual ("9e38cf23-6785-49e8-9922-8e1c1d86a205", item.Guid.ToString (), "Peek-0011-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0011-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0011-1");
+ Assert.AreEqual (3, queue.Count, "Dequeue-0011-2");
+ Assert.AreEqual ("9e38cf23-6785-49e8-9922-8e1c1d86a205", item.Guid.ToString (), "Dequeue-0011-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0011-4");
+
+ item = list [14];
+ Assert.IsNotNull (item, "Disable-0012-1");
+ Assert.AreEqual ("9e38cf23-6785-49e8-9922-8e1c1d86a205", item.Guid.ToString(), "Disable-0012-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0012-3");
+ item.Disabled = true;
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0012-1");
+ Assert.AreEqual (3, queue.Count, "Peek-0012-2");
+ Assert.AreEqual ("01a63c0e-5963-4eac-8b0e-b1b2ea508098", item.Guid.ToString (), "Peek-0012-3");
+ Assert.AreEqual (false, item.Disabled, "Peek-0012-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0012-1");
+ Assert.AreEqual (2, queue.Count, "Dequeue-0012-2");
+ Assert.AreEqual ("01a63c0e-5963-4eac-8b0e-b1b2ea508098", item.Guid.ToString (), "Dequeue-0012-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0012-4");
+
+ item = list [13];
+ Assert.IsNotNull (item, "Disable-0013-1");
+ Assert.AreEqual ("01a63c0e-5963-4eac-8b0e-b1b2ea508098", item.Guid.ToString(), "Disable-0013-3");
+ Assert.AreEqual (false, item.Disabled, "Disable-0013-3");
+ item.Disabled = true;
+
+ item = queue.Peek ();
+ Assert.IsNotNull (item, "Peek-0013-1");
+ Assert.AreEqual (2, queue.Count, "Peek-0013-2");
+ Assert.AreEqual ("e50d5a73-7861-412b-b9ad-924c13c2e9c5", item.Guid.ToString (), "Peek-0013-3");
+ Assert.AreEqual (true, item.Disabled, "Peek-0013-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0013-1");
+ Assert.AreEqual (1, queue.Count, "Dequeue-0013-2");
+ Assert.AreEqual ("e50d5a73-7861-412b-b9ad-924c13c2e9c5", item.Guid.ToString (), "Dequeue-0013-3");
+ Assert.AreEqual (true, item.Disabled, "Dequeue-0013-4");
+
+ item = queue.Dequeue ();
+ Assert.IsNotNull (item, "Dequeue-0014-1");
+ Assert.AreEqual (0, queue.Count, "Dequeue-0014-2");
+ Assert.AreEqual ("631452f5-a8e5-483e-a0ac-9c3f7abd37a1", item.Guid.ToString (), "Dequeue-0014-3");
+ Assert.AreEqual (false, item.Disabled, "Dequeue-0014-4");
+
+ Assert.AreEqual (0, queue.Count, "Queue size after sequence");
+
+ }
+ }
+}
+#endif
+
+2010-02-03 Marek Habersack <mhabersack@novell.com>
+
+ * CacheItemPriorityQueueTest_generated.cs: added
+
+ * CacheItemPriorityQueueTest.cs: added
+
+2010-01-25 Marek Habersack <mhabersack@novell.com>
+
+ * SqlCacheDependencyTest.cs: added
+
+2010-01-22 Marek Habersack <mhabersack@novell.com>
+
+ * OutputCacheTest.cs: added
+
+2010-01-21 Marek Habersack <mhabersack@novell.com>
+
+ * FileResponseElementTest.cs, HeaderElementTest.cs,
+ MemoryResponseElementTest.cs, SubstitutionResponseElementTest.cs:
+ added
+
2008-06-27 Atsushi Enomoto <atsushi@ximian.com>
* AggregateCacheDependencyTest.cs: mark wrong, timing-
--- /dev/null
+//
+// FileResponseElementTest.cs
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// Copyright (C) 2010 Novell Inc. http://novell.com
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_0
+using System;
+using System.Web;
+using System.Web.Caching;
+
+using NUnit.Framework;
+using MonoTests.Common;
+
+namespace MonoTests.System.Web.Caching
+{
+ [TestFixture]
+ public class FileResponseElementTest
+ {
+ [Test]
+ public void Constructor ()
+ {
+ FileResponseElement fre;
+
+ AssertExtensions.Throws<ArgumentNullException> (() => {
+ fre = new FileResponseElement (null, 0, 0);
+ }, "#A1");
+
+ AssertExtensions.Throws<ArgumentOutOfRangeException> (() => {
+ fre = new FileResponseElement ("file.txt", -1, 0);
+ }, "#A2");
+
+ AssertExtensions.Throws<ArgumentOutOfRangeException> (() => {
+ fre = new FileResponseElement ("file.txt", 0, -1);
+ }, "#A3");
+
+ fre = new FileResponseElement (String.Empty, 0, 0);
+ Assert.AreEqual (String.Empty, fre.Path, "#B1-1");
+ Assert.AreEqual (0, fre.Length, "#B1-2");
+ Assert.AreEqual (0, fre.Offset, "#B1-3");
+
+ fre = new FileResponseElement ("file.txt", 10, 30);
+ Assert.AreEqual ("file.txt", fre.Path, "#C1-1");
+ Assert.AreEqual (30, fre.Length, "#C1-2");
+ Assert.AreEqual (10, fre.Offset, "#C1-3");
+ }
+ }
+}
+#endif
\ No newline at end of file
--- /dev/null
+//
+// HeaderElementTest.cs
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// Copyright (C) 2010 Novell Inc. http://novell.com
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_0
+using System;
+using System.Web;
+using System.Web.Caching;
+
+using NUnit.Framework;
+using MonoTests.Common;
+
+namespace MonoTests.System.Web.Caching
+{
+ [TestFixture]
+ public class HeaderElementTest
+ {
+ [Test]
+ public void Constructor ()
+ {
+ HeaderElement he;
+
+ AssertExtensions.Throws<ArgumentNullException> (() => {
+ he = new HeaderElement (null, String.Empty);
+ }, "#A1");
+
+ AssertExtensions.Throws<ArgumentNullException> (() => {
+ he = new HeaderElement ("Header", null);
+ }, "#A2");
+
+ he = new HeaderElement ("Header", String.Empty);
+ Assert.AreEqual ("Header", he.Name, "#B1-1");
+ Assert.AreEqual (String.Empty, he.Value, "#B1-2");
+
+ he = new HeaderElement ("Header", "Value");
+ Assert.AreEqual ("Header", he.Name, "#C1-1");
+ Assert.AreEqual ("Value", he.Value, "#C1-2");
+
+ he = new HeaderElement (String.Empty, String.Empty);
+ Assert.AreEqual (String.Empty, he.Name, "#D1-1");
+ Assert.AreEqual (String.Empty, he.Value, "#D1-2");
+ }
+ }
+}
+#endif
\ No newline at end of file
--- /dev/null
+//
+// MemoryResponseElementTest.cs
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// Copyright (C) 2010 Novell Inc. http://novell.com
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_0
+using System;
+using System.Web;
+using System.Web.Caching;
+
+using NUnit.Framework;
+using MonoTests.Common;
+
+namespace MonoTests.System.Web.Caching
+{
+ [TestFixture]
+ public class MemoryResponseElementTest
+ {
+ [Test]
+ public void Constructor ()
+ {
+ MemoryResponseElement mre;
+
+ AssertExtensions.Throws<ArgumentNullException> (() => {
+ mre = new MemoryResponseElement (null, 0);
+ }, "#A1");
+
+ AssertExtensions.Throws<ArgumentOutOfRangeException> (() => {
+ mre = new MemoryResponseElement (new byte[1], -1);
+ }, "#A2");
+
+ AssertExtensions.Throws<ArgumentOutOfRangeException> (() => {
+ mre = new MemoryResponseElement (new byte[1], 2);
+ }, "#A2");
+
+ var b = new byte[0];
+ mre = new MemoryResponseElement (b, 0);
+ Assert.AreEqual (b, mre.Buffer, "#B1-1");
+ Assert.AreEqual (0, mre.Length, "#B1-2");
+
+ b = new byte[10];
+ mre = new MemoryResponseElement (b, 10);
+ Assert.AreEqual (b, mre.Buffer, "#C1-1");
+ Assert.AreEqual (10, mre.Length, "#C1-2");
+
+ mre = new MemoryResponseElement (b, 5);
+ Assert.AreEqual (b, mre.Buffer, "#D1-1");
+ Assert.AreEqual (5, mre.Length, "#D1-2");
+ }
+ }
+}
+#endif
--- /dev/null
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// Copyright (C) 2010 Novell Inc. http://novell.com
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_0
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.IO;
+using System.Runtime.Serialization.Formatters.Binary;
+using System.Text;
+using System.Web;
+using System.Web.Caching;
+using System.Web.Configuration;
+
+using NUnit.Framework;
+using MonoTests.Common;
+
+namespace MonoTests.System.Web.Caching
+{
+ public class TestOutputCacheProvider : OutputCacheProvider
+ {
+ Dictionary<string, object> data = new Dictionary<string, object> ();
+
+ public override object Add (string key, object entry, DateTime utcExpiry)
+ {
+ if (data.ContainsKey (key))
+ data[key] = entry;
+ else
+ data.Add (key, entry);
+
+ return entry;
+ }
+
+ public override object Get (string key)
+ {
+ object o;
+
+ if (data.TryGetValue (key, out o))
+ return o;
+
+ return null;
+ }
+
+ public override void Remove (string key)
+ {
+ if (data.ContainsKey (key))
+ data.Remove (key);
+ }
+
+ public override void Set (string key, object entry, DateTime utcExpiry)
+ {
+ if (data.ContainsKey (key))
+ data[key] = entry;
+ }
+ }
+
+ [Serializable]
+ class TestResponseElement : ResponseElement
+ {
+ public string Text
+ {
+ get;
+ private set;
+ }
+
+ public TestResponseElement (string text)
+ {
+ this.Text = text;
+ }
+ }
+
+ [TestFixture]
+ [Serializable]
+ public class OutputCacheTest
+ {
+ [Test]
+ public void DefaultProviderName ()
+ {
+ Assert.AreEqual ("AspNetInternalProvider", OutputCache.DefaultProviderName, "#A1");
+
+ var ocs = WebConfigurationManager.GetWebApplicationSection ("system.web/caching/outputCache") as OutputCacheSection;
+ Assert.AreEqual (ocs.DefaultProviderName, OutputCache.DefaultProviderName, "#B1");
+ }
+
+ [Test]
+ public void Providers ()
+ {
+ var ocs = WebConfigurationManager.GetWebApplicationSection ("system.web/caching/outputCache") as OutputCacheSection;
+ OutputCacheProviderCollection coll = OutputCache.Providers;
+
+ Assert.IsNull (coll, "#A1");
+ Assert.IsNotNull (ocs.Providers, "#B1-1");
+ Assert.AreEqual (0, ocs.Providers.Count, "#B1-2");
+ }
+
+ string DummyBadSubstitutionCallback (HttpContext ctx)
+ {
+ return "string";
+ }
+
+ static string DummySubstitutionCallback (HttpContext ctx)
+ {
+ return "string";
+ }
+
+ // Serialized elements for the Serialize test below
+#if TARGET_DOTNET
+ static readonly byte[] memoryResponseElement = { 0x0, 0x1, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC, 0x2, 0x0, 0x0, 0x0, 0x4D, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x65, 0x62, 0x2C, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x34, 0x2E, 0x30, 0x2E, 0x30, 0x2E, 0x30, 0x2C, 0x20, 0x43, 0x75, 0x6C, 0x74, 0x75, 0x72, 0x65, 0x3D, 0x6E, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6C, 0x2C, 0x20, 0x50, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x4B, 0x65, 0x79, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x3D, 0x62, 0x30, 0x33, 0x66, 0x35, 0x66, 0x37, 0x66, 0x31, 0x31, 0x64, 0x35, 0x30, 0x61, 0x33, 0x61, 0x5, 0x1, 0x0, 0x0, 0x0, 0x28, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x65, 0x62, 0x2E, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x67, 0x2E, 0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x73, 0x65, 0x45, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2, 0x0, 0x0, 0x0, 0x7, 0x5F, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x7, 0x5F, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x7, 0x0, 0x2, 0x9, 0x2, 0x0, 0x0, 0x0, 0x9, 0x3, 0x0, 0x0, 0x0, 0xC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xF, 0x3, 0x0, 0x0, 0x0, 0xC, 0x0, 0x0, 0x0, 0x2, 0x45, 0x6E, 0x63, 0x6F, 0x64, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
+ static readonly byte[] fileResponseElement = { 0x0, 0x1, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC, 0x2, 0x0, 0x0, 0x0, 0x4D, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x65, 0x62, 0x2C, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x34, 0x2E, 0x30, 0x2E, 0x30, 0x2E, 0x30, 0x2C, 0x20, 0x43, 0x75, 0x6C, 0x74, 0x75, 0x72, 0x65, 0x3D, 0x6E, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6C, 0x2C, 0x20, 0x50, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x4B, 0x65, 0x79, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x3D, 0x62, 0x30, 0x33, 0x66, 0x35, 0x66, 0x37, 0x66, 0x31, 0x31, 0x64, 0x35, 0x30, 0x61, 0x33, 0x61, 0x5, 0x1, 0x0, 0x0, 0x0, 0x26, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x65, 0x62, 0x2E, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x67, 0x2E, 0x46, 0x69, 0x6C, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x73, 0x65, 0x45, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x3, 0x0, 0x0, 0x0, 0x5, 0x5F, 0x70, 0x61, 0x74, 0x68, 0x7, 0x5F, 0x6F, 0x66, 0x66, 0x73, 0x65, 0x74, 0x7, 0x5F, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x1, 0x0, 0x0, 0x9, 0x9, 0x2, 0x0, 0x0, 0x0, 0x6, 0x3, 0x0, 0x0, 0x0, 0x11, 0x2F, 0x70, 0x61, 0x74, 0x68, 0x2F, 0x74, 0x6F, 0x2F, 0x66, 0x69, 0x6C, 0x65, 0x2E, 0x74, 0x78, 0x74, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xD2, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
+ static readonly byte[] substitutionResponseElement = { 0x0, 0x1, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC, 0x2, 0x0, 0x0, 0x0, 0x4D, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x65, 0x62, 0x2C, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x34, 0x2E, 0x30, 0x2E, 0x30, 0x2E, 0x30, 0x2C, 0x20, 0x43, 0x75, 0x6C, 0x74, 0x75, 0x72, 0x65, 0x3D, 0x6E, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6C, 0x2C, 0x20, 0x50, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x4B, 0x65, 0x79, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x3D, 0x62, 0x30, 0x33, 0x66, 0x35, 0x66, 0x37, 0x66, 0x31, 0x31, 0x64, 0x35, 0x30, 0x61, 0x33, 0x61, 0x5, 0x1, 0x0, 0x0, 0x0, 0x2E, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x65, 0x62, 0x2E, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x67, 0x2E, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x52, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x73, 0x65, 0x45, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2, 0x0, 0x0, 0x0, 0xF, 0x5F, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0xB, 0x5F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x4E, 0x61, 0x6D, 0x65, 0x1, 0x1, 0x2, 0x0, 0x0, 0x0, 0x6, 0x3, 0x0, 0x0, 0x0, 0x41, 0x4D, 0x6F, 0x6E, 0x6F, 0x54, 0x65, 0x73, 0x74, 0x73, 0x2E, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x65, 0x62, 0x2E, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x67, 0x2E, 0x4F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x65, 0x73, 0x74, 0x2C, 0x20, 0x44, 0x6F, 0x74, 0x4E, 0x65, 0x74, 0x34, 0x5F, 0x4E, 0x55, 0x6E, 0x69, 0x74, 0x5F, 0x54, 0x65, 0x73, 0x74, 0x73, 0x6, 0x4, 0x0, 0x0, 0x0, 0x19, 0x44, 0x75, 0x6D, 0x6D, 0x79, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
+ static readonly byte[] badSubstitutionResponseElement = { 0x0, 0x1, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC, 0x2, 0x0, 0x0, 0x0, 0x4D, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x65, 0x62, 0x2C, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x34, 0x2E, 0x30, 0x2E, 0x30, 0x2E, 0x30, 0x2C, 0x20, 0x43, 0x75, 0x6C, 0x74, 0x75, 0x72, 0x65, 0x3D, 0x6E, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6C, 0x2C, 0x20, 0x50, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x4B, 0x65, 0x79, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x3D, 0x62, 0x30, 0x33, 0x66, 0x35, 0x66, 0x37, 0x66, 0x31, 0x31, 0x64, 0x35, 0x30, 0x61, 0x33, 0x61, 0x5, 0x1, 0x0, 0x0, 0x0, 0x2E, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x65, 0x62, 0x2E, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x67, 0x2E, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x52, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x73, 0x65, 0x45, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2, 0x0, 0x0, 0x0, 0xF, 0x5F, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0xB, 0x5F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x4E, 0x61, 0x6D, 0x65, 0x1, 0x1, 0x2, 0x0, 0x0, 0x0, 0x6, 0x3, 0x0, 0x0, 0x0, 0x41, 0x4D, 0x6F, 0x6E, 0x6F, 0x54, 0x65, 0x73, 0x74, 0x73, 0x2E, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x57, 0x65, 0x62, 0x2E, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x67, 0x2E, 0x4F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x65, 0x73, 0x74, 0x2C, 0x20, 0x44, 0x6F, 0x74, 0x4E, 0x65, 0x74, 0x34, 0x5F, 0x4E, 0x55, 0x6E, 0x69, 0x74, 0x5F, 0x54, 0x65, 0x73, 0x74, 0x73, 0x6, 0x4, 0x0, 0x0, 0x0, 0x1C, 0x44, 0x75, 0x6D, 0x6D, 0x79, 0x42, 0x61, 0x64, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x43, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, 0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
+#else
+ static readonly byte[] memoryResponseElement = {0x0,0x1,0x0,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xC,0x2,0x0,0x0,0x0,0xA,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x5,0x1,0x0,0x0,0x0,0x28,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x43,0x61,0x63,0x68,0x69,0x6E,0x67,0x2E,0x4D,0x65,0x6D,0x6F,0x72,0x79,0x52,0x65,0x73,0x70,0x6F,0x6E,0x73,0x65,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x2,0x0,0x0,0x0,0x17,0x3C,0x42,0x75,0x66,0x66,0x65,0x72,0x3E,0x6B,0x5F,0x5F,0x42,0x61,0x63,0x6B,0x69,0x6E,0x67,0x46,0x69,0x65,0x6C,0x64,0x17,0x3C,0x4C,0x65,0x6E,0x67,0x74,0x68,0x3E,0x6B,0x5F,0x5F,0x42,0x61,0x63,0x6B,0x69,0x6E,0x67,0x46,0x69,0x65,0x6C,0x64,0x7,0x0,0x2,0x9,0x2,0x0,0x0,0x0,0x9,0x3,0x0,0x0,0x0,0xC,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xF,0x3,0x0,0x0,0x0,0xC,0x0,0x0,0x0,0x2,0x45,0x6E,0x63,0x6F,0x64,0x65,0x64,0x20,0x64,0x61,0x74,0x61,0xB,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
+ static readonly byte[] fileResponseElement = {0x0,0x1,0x0,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xC,0x2,0x0,0x0,0x0,0xA,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x5,0x1,0x0,0x0,0x0,0x26,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x43,0x61,0x63,0x68,0x69,0x6E,0x67,0x2E,0x46,0x69,0x6C,0x65,0x52,0x65,0x73,0x70,0x6F,0x6E,0x73,0x65,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x3,0x0,0x0,0x0,0x17,0x3C,0x4C,0x65,0x6E,0x67,0x74,0x68,0x3E,0x6B,0x5F,0x5F,0x42,0x61,0x63,0x6B,0x69,0x6E,0x67,0x46,0x69,0x65,0x6C,0x64,0x17,0x3C,0x4F,0x66,0x66,0x73,0x65,0x74,0x3E,0x6B,0x5F,0x5F,0x42,0x61,0x63,0x6B,0x69,0x6E,0x67,0x46,0x69,0x65,0x6C,0x64,0x15,0x3C,0x50,0x61,0x74,0x68,0x3E,0x6B,0x5F,0x5F,0x42,0x61,0x63,0x6B,0x69,0x6E,0x67,0x46,0x69,0x65,0x6C,0x64,0x0,0x0,0x1,0x9,0x9,0x2,0x0,0x0,0x0,0xD2,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x3,0x0,0x0,0x0,0x11,0x2F,0x70,0x61,0x74,0x68,0x2F,0x74,0x6F,0x2F,0x66,0x69,0x6C,0x65,0x2E,0x74,0x78,0x74,0xB,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
+ static readonly byte[] substitutionResponseElement = {0x0,0x1,0x0,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xC,0x2,0x0,0x0,0x0,0xA,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x5,0x1,0x0,0x0,0x0,0x2E,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x43,0x61,0x63,0x68,0x69,0x6E,0x67,0x2E,0x53,0x75,0x62,0x73,0x74,0x69,0x74,0x75,0x74,0x69,0x6F,0x6E,0x52,0x65,0x73,0x70,0x6F,0x6E,0x73,0x65,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x3,0x0,0x0,0x0,0x8,0x74,0x79,0x70,0x65,0x4E,0x61,0x6D,0x65,0xA,0x6D,0x65,0x74,0x68,0x6F,0x64,0x4E,0x61,0x6D,0x65,0x19,0x3C,0x43,0x61,0x6C,0x6C,0x62,0x61,0x63,0x6B,0x3E,0x6B,0x5F,0x5F,0x42,0x61,0x63,0x6B,0x69,0x6E,0x67,0x46,0x69,0x65,0x6C,0x64,0x1,0x1,0x4,0x2B,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x48,0x74,0x74,0x70,0x52,0x65,0x73,0x70,0x6F,0x6E,0x73,0x65,0x53,0x75,0x62,0x73,0x74,0x69,0x74,0x75,0x74,0x69,0x6F,0x6E,0x43,0x61,0x6C,0x6C,0x62,0x61,0x63,0x6B,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x6,0x3,0x0,0x0,0x0,0x88,0x1,0x4D,0x6F,0x6E,0x6F,0x54,0x65,0x73,0x74,0x73,0x2E,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x43,0x61,0x63,0x68,0x69,0x6E,0x67,0x2E,0x4F,0x75,0x74,0x70,0x75,0x74,0x43,0x61,0x63,0x68,0x65,0x54,0x65,0x73,0x74,0x2C,0x20,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x5F,0x74,0x65,0x73,0x74,0x5F,0x6E,0x65,0x74,0x5F,0x34,0x5F,0x30,0x2C,0x20,0x56,0x65,0x72,0x73,0x69,0x6F,0x6E,0x3D,0x31,0x2E,0x33,0x2E,0x30,0x2E,0x30,0x2C,0x20,0x43,0x75,0x6C,0x74,0x75,0x72,0x65,0x3D,0x6E,0x65,0x75,0x74,0x72,0x61,0x6C,0x2C,0x20,0x50,0x75,0x62,0x6C,0x69,0x63,0x4B,0x65,0x79,0x54,0x6F,0x6B,0x65,0x6E,0x3D,0x33,0x31,0x62,0x66,0x33,0x38,0x35,0x36,0x61,0x64,0x33,0x36,0x34,0x65,0x33,0x35,0x6,0x4,0x0,0x0,0x0,0x19,0x44,0x75,0x6D,0x6D,0x79,0x53,0x75,0x62,0x73,0x74,0x69,0x74,0x75,0x74,0x69,0x6F,0x6E,0x43,0x61,0x6C,0x6C,0x62,0x61,0x63,0x6B,0x9,0x5,0x0,0x0,0x0,0x4,0x5,0x0,0x0,0x0,0x22,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x53,0x65,0x72,0x69,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x48,0x6F,0x6C,0x64,0x65,0x72,0x1,0x0,0x0,0x0,0x8,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x3,0x30,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x53,0x65,0x72,0x69,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x48,0x6F,0x6C,0x64,0x65,0x72,0x2B,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x45,0x6E,0x74,0x72,0x79,0x9,0x6,0x0,0x0,0x0,0x4,0x6,0x0,0x0,0x0,0x30,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x53,0x65,0x72,0x69,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x48,0x6F,0x6C,0x64,0x65,0x72,0x2B,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x45,0x6E,0x74,0x72,0x79,0x7,0x0,0x0,0x0,0x4,0x74,0x79,0x70,0x65,0x8,0x61,0x73,0x73,0x65,0x6D,0x62,0x6C,0x79,0x6,0x74,0x61,0x72,0x67,0x65,0x74,0x12,0x74,0x61,0x72,0x67,0x65,0x74,0x54,0x79,0x70,0x65,0x41,0x73,0x73,0x65,0x6D,0x62,0x6C,0x79,0xE,0x74,0x61,0x72,0x67,0x65,0x74,0x54,0x79,0x70,0x65,0x4E,0x61,0x6D,0x65,0xA,0x6D,0x65,0x74,0x68,0x6F,0x64,0x4E,0x61,0x6D,0x65,0xD,0x64,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x45,0x6E,0x74,0x72,0x79,0x1,0x1,0x2,0x1,0x1,0x1,0x3,0x30,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x53,0x65,0x72,0x69,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x48,0x6F,0x6C,0x64,0x65,0x72,0x2B,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x45,0x6E,0x74,0x72,0x79,0x6,0x7,0x0,0x0,0x0,0x2B,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x48,0x74,0x74,0x70,0x52,0x65,0x73,0x70,0x6F,0x6E,0x73,0x65,0x53,0x75,0x62,0x73,0x74,0x69,0x74,0x75,0x74,0x69,0x6F,0x6E,0x43,0x61,0x6C,0x6C,0x62,0x61,0x63,0x6B,0x6,0x8,0x0,0x0,0x0,0x4D,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2C,0x20,0x56,0x65,0x72,0x73,0x69,0x6F,0x6E,0x3D,0x34,0x2E,0x30,0x2E,0x30,0x2E,0x30,0x2C,0x20,0x43,0x75,0x6C,0x74,0x75,0x72,0x65,0x3D,0x6E,0x65,0x75,0x74,0x72,0x61,0x6C,0x2C,0x20,0x50,0x75,0x62,0x6C,0x69,0x63,0x4B,0x65,0x79,0x54,0x6F,0x6B,0x65,0x6E,0x3D,0x62,0x30,0x33,0x66,0x35,0x66,0x37,0x66,0x31,0x31,0x64,0x35,0x30,0x61,0x33,0x61,0xA,0x6,0x9,0x0,0x0,0x0,0x5A,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x5F,0x74,0x65,0x73,0x74,0x5F,0x6E,0x65,0x74,0x5F,0x34,0x5F,0x30,0x2C,0x20,0x56,0x65,0x72,0x73,0x69,0x6F,0x6E,0x3D,0x31,0x2E,0x33,0x2E,0x30,0x2E,0x30,0x2C,0x20,0x43,0x75,0x6C,0x74,0x75,0x72,0x65,0x3D,0x6E,0x65,0x75,0x74,0x72,0x61,0x6C,0x2C,0x20,0x50,0x75,0x62,0x6C,0x69,0x63,0x4B,0x65,0x79,0x54,0x6F,0x6B,0x65,0x6E,0x3D,0x33,0x31,0x62,0x66,0x33,0x38,0x35,0x36,0x61,0x64,0x33,0x36,0x34,0x65,0x33,0x35,0x6,0xA,0x0,0x0,0x0,0x2C,0x4D,0x6F,0x6E,0x6F,0x54,0x65,0x73,0x74,0x73,0x2E,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x43,0x61,0x63,0x68,0x69,0x6E,0x67,0x2E,0x4F,0x75,0x74,0x70,0x75,0x74,0x43,0x61,0x63,0x68,0x65,0x54,0x65,0x73,0x74,0x9,0x4,0x0,0x0,0x0,0xA,0xB,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
+ static readonly byte[] badSubstitutionResponseElement = {0x0,0x1,0x0,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xC,0x2,0x0,0x0,0x0,0xA,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x5,0x1,0x0,0x0,0x0,0x2E,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x43,0x61,0x63,0x68,0x69,0x6E,0x67,0x2E,0x53,0x75,0x62,0x73,0x74,0x69,0x74,0x75,0x74,0x69,0x6F,0x6E,0x52,0x65,0x73,0x70,0x6F,0x6E,0x73,0x65,0x45,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x3,0x0,0x0,0x0,0x8,0x74,0x79,0x70,0x65,0x4E,0x61,0x6D,0x65,0xA,0x6D,0x65,0x74,0x68,0x6F,0x64,0x4E,0x61,0x6D,0x65,0x19,0x3C,0x43,0x61,0x6C,0x6C,0x62,0x61,0x63,0x6B,0x3E,0x6B,0x5F,0x5F,0x42,0x61,0x63,0x6B,0x69,0x6E,0x67,0x46,0x69,0x65,0x6C,0x64,0x1,0x1,0x4,0x2B,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x48,0x74,0x74,0x70,0x52,0x65,0x73,0x70,0x6F,0x6E,0x73,0x65,0x53,0x75,0x62,0x73,0x74,0x69,0x74,0x75,0x74,0x69,0x6F,0x6E,0x43,0x61,0x6C,0x6C,0x62,0x61,0x63,0x6B,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x6,0x3,0x0,0x0,0x0,0x88,0x1,0x4D,0x6F,0x6E,0x6F,0x54,0x65,0x73,0x74,0x73,0x2E,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x43,0x61,0x63,0x68,0x69,0x6E,0x67,0x2E,0x4F,0x75,0x74,0x70,0x75,0x74,0x43,0x61,0x63,0x68,0x65,0x54,0x65,0x73,0x74,0x2C,0x20,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x5F,0x74,0x65,0x73,0x74,0x5F,0x6E,0x65,0x74,0x5F,0x34,0x5F,0x30,0x2C,0x20,0x56,0x65,0x72,0x73,0x69,0x6F,0x6E,0x3D,0x31,0x2E,0x33,0x2E,0x30,0x2E,0x30,0x2C,0x20,0x43,0x75,0x6C,0x74,0x75,0x72,0x65,0x3D,0x6E,0x65,0x75,0x74,0x72,0x61,0x6C,0x2C,0x20,0x50,0x75,0x62,0x6C,0x69,0x63,0x4B,0x65,0x79,0x54,0x6F,0x6B,0x65,0x6E,0x3D,0x33,0x31,0x62,0x66,0x33,0x38,0x35,0x36,0x61,0x64,0x33,0x36,0x34,0x65,0x33,0x35,0x6,0x4,0x0,0x0,0x0,0x1C,0x44,0x75,0x6D,0x6D,0x79,0x42,0x61,0x64,0x53,0x75,0x62,0x73,0x74,0x69,0x74,0x75,0x74,0x69,0x6F,0x6E,0x43,0x61,0x6C,0x6C,0x62,0x61,0x63,0x6B,0x9,0x5,0x0,0x0,0x0,0xC,0x6,0x0,0x0,0x0,0x17,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x5F,0x74,0x65,0x73,0x74,0x5F,0x6E,0x65,0x74,0x5F,0x34,0x5F,0x30,0x4,0x5,0x0,0x0,0x0,0x22,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x53,0x65,0x72,0x69,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x48,0x6F,0x6C,0x64,0x65,0x72,0x2,0x0,0x0,0x0,0x8,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x7,0x74,0x61,0x72,0x67,0x65,0x74,0x30,0x3,0x4,0x30,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x53,0x65,0x72,0x69,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x48,0x6F,0x6C,0x64,0x65,0x72,0x2B,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x45,0x6E,0x74,0x72,0x79,0x2C,0x4D,0x6F,0x6E,0x6F,0x54,0x65,0x73,0x74,0x73,0x2E,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x43,0x61,0x63,0x68,0x69,0x6E,0x67,0x2E,0x4F,0x75,0x74,0x70,0x75,0x74,0x43,0x61,0x63,0x68,0x65,0x54,0x65,0x73,0x74,0x6,0x0,0x0,0x0,0x9,0x7,0x0,0x0,0x0,0x9,0x8,0x0,0x0,0x0,0x4,0x7,0x0,0x0,0x0,0x30,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x53,0x65,0x72,0x69,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x48,0x6F,0x6C,0x64,0x65,0x72,0x2B,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x45,0x6E,0x74,0x72,0x79,0x7,0x0,0x0,0x0,0x4,0x74,0x79,0x70,0x65,0x8,0x61,0x73,0x73,0x65,0x6D,0x62,0x6C,0x79,0x6,0x74,0x61,0x72,0x67,0x65,0x74,0x12,0x74,0x61,0x72,0x67,0x65,0x74,0x54,0x79,0x70,0x65,0x41,0x73,0x73,0x65,0x6D,0x62,0x6C,0x79,0xE,0x74,0x61,0x72,0x67,0x65,0x74,0x54,0x79,0x70,0x65,0x4E,0x61,0x6D,0x65,0xA,0x6D,0x65,0x74,0x68,0x6F,0x64,0x4E,0x61,0x6D,0x65,0xD,0x64,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x45,0x6E,0x74,0x72,0x79,0x1,0x1,0x2,0x1,0x1,0x1,0x3,0x30,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x53,0x65,0x72,0x69,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x48,0x6F,0x6C,0x64,0x65,0x72,0x2B,0x44,0x65,0x6C,0x65,0x67,0x61,0x74,0x65,0x45,0x6E,0x74,0x72,0x79,0x6,0x9,0x0,0x0,0x0,0x2B,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x48,0x74,0x74,0x70,0x52,0x65,0x73,0x70,0x6F,0x6E,0x73,0x65,0x53,0x75,0x62,0x73,0x74,0x69,0x74,0x75,0x74,0x69,0x6F,0x6E,0x43,0x61,0x6C,0x6C,0x62,0x61,0x63,0x6B,0x6,0xA,0x0,0x0,0x0,0x4D,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2C,0x20,0x56,0x65,0x72,0x73,0x69,0x6F,0x6E,0x3D,0x34,0x2E,0x30,0x2E,0x30,0x2E,0x30,0x2C,0x20,0x43,0x75,0x6C,0x74,0x75,0x72,0x65,0x3D,0x6E,0x65,0x75,0x74,0x72,0x61,0x6C,0x2C,0x20,0x50,0x75,0x62,0x6C,0x69,0x63,0x4B,0x65,0x79,0x54,0x6F,0x6B,0x65,0x6E,0x3D,0x62,0x30,0x33,0x66,0x35,0x66,0x37,0x66,0x31,0x31,0x64,0x35,0x30,0x61,0x33,0x61,0x6,0xB,0x0,0x0,0x0,0x7,0x74,0x61,0x72,0x67,0x65,0x74,0x30,0x6,0xC,0x0,0x0,0x0,0x5A,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x5F,0x74,0x65,0x73,0x74,0x5F,0x6E,0x65,0x74,0x5F,0x34,0x5F,0x30,0x2C,0x20,0x56,0x65,0x72,0x73,0x69,0x6F,0x6E,0x3D,0x31,0x2E,0x33,0x2E,0x30,0x2E,0x30,0x2C,0x20,0x43,0x75,0x6C,0x74,0x75,0x72,0x65,0x3D,0x6E,0x65,0x75,0x74,0x72,0x61,0x6C,0x2C,0x20,0x50,0x75,0x62,0x6C,0x69,0x63,0x4B,0x65,0x79,0x54,0x6F,0x6B,0x65,0x6E,0x3D,0x33,0x31,0x62,0x66,0x33,0x38,0x35,0x36,0x61,0x64,0x33,0x36,0x34,0x65,0x33,0x35,0x6,0xD,0x0,0x0,0x0,0x2C,0x4D,0x6F,0x6E,0x6F,0x54,0x65,0x73,0x74,0x73,0x2E,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x43,0x61,0x63,0x68,0x69,0x6E,0x67,0x2E,0x4F,0x75,0x74,0x70,0x75,0x74,0x43,0x61,0x63,0x68,0x65,0x54,0x65,0x73,0x74,0x9,0x4,0x0,0x0,0x0,0xA,0x5,0x8,0x0,0x0,0x0,0x2C,0x4D,0x6F,0x6E,0x6F,0x54,0x65,0x73,0x74,0x73,0x2E,0x53,0x79,0x73,0x74,0x65,0x6D,0x2E,0x57,0x65,0x62,0x2E,0x43,0x61,0x63,0x68,0x69,0x6E,0x67,0x2E,0x4F,0x75,0x74,0x70,0x75,0x74,0x43,0x61,0x63,0x68,0x65,0x54,0x65,0x73,0x74,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0xB,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
+#endif
+
+ static readonly object[] serializeObjects = {
+ (object)new object (),
+ (bool)true,
+ (char)'a',
+ (sbyte)-128,
+ (byte)128,
+ (short)-32768,
+ (ushort)65535,
+ (int)2147483647,
+ (uint)4294967295,
+ (long)9223372036854775807,
+ (ulong)18446744073709551615,
+ (float)3.402823E+38F,
+ (double)1.79769313486232E+307D,
+ (decimal)79228162514264337593543950335M,
+ (string)"string",
+ (DateTime)DateTime.Now,
+ (DBNull)DBNull.Value,
+ (TestResponseElement)new TestResponseElement ("text"),
+ (HeaderElement)new HeaderElement ("name", "value")
+ };
+
+ [Test]
+ public void Serialize ()
+ {
+ ResponseElement data = new MemoryResponseElement (new byte[10], 10);
+
+ AssertExtensions.Throws<ArgumentNullException> (() => {
+ OutputCache.Serialize (null, data);
+ }, "#A1");
+
+ var ms = new MemoryStream ();
+ AssertExtensions.Throws<ArgumentException> (() => {
+ OutputCache.Serialize (ms, null);
+ }, "#A2");
+
+ foreach (object o in serializeObjects) {
+ AssertExtensions.Throws<ArgumentException> (() => {
+ OutputCache.Serialize (ms, o);
+ }, String.Format ("#A3-{0}", o.GetType ()));
+ }
+
+ MemoryResponseElement mre;
+ FileResponseElement fre;
+ SubstitutionResponseElement sre, sreBad;
+
+ CreateElements (out mre, out fre, out sre, out sreBad);
+ // WriteSerializedBytes ("/tmp/bytes.txt", "memoryResponseElement", mre);
+ // WriteSerializedBytes ("/tmp/bytes.txt", "fileResponseElement", fre);
+ // WriteSerializedBytes ("/tmp/bytes.txt", "substitutionResponseElement", sre);
+ // WriteSerializedBytes ("/tmp/bytes.txt", "badSubstitutionResponseElement", sreBad);
+
+ byte[] bytes = SerializeElement (mre);
+ AssertExtensions.AreEqual (bytes, memoryResponseElement, "#B1");
+
+ bytes = SerializeElement (fre);
+ AssertExtensions.AreEqual (bytes, fileResponseElement, "#B2");
+
+ bytes = SerializeElement (sre);
+ AssertExtensions.AreEqual (bytes, substitutionResponseElement, "#B3");
+
+ bytes = SerializeElement (sreBad);
+ AssertExtensions.AreEqual (bytes, badSubstitutionResponseElement, "#B3");
+ }
+
+ [Test]
+ public void Deserialize ()
+ {
+ AssertExtensions.Throws<ArgumentNullException> (() => {
+ OutputCache.Deserialize (null);
+ }, "#A1");
+
+ foreach (object o in serializeObjects) {
+ using (var m = new MemoryStream (SerializeToBinary (o))) {
+ AssertExtensions.Throws<ArgumentException> (() => {
+ OutputCache.Deserialize (m);
+ }, String.Format ("#A2-{0}", o.GetType ()));
+ }
+ }
+
+ MemoryResponseElement mre, mreOrig;
+ FileResponseElement fre, freOrig;
+ SubstitutionResponseElement sre, sreOrig, sreBad, sreBadOrig;
+ MemoryStream ms;
+
+ CreateElements (out mre, out fre, out sre, out sreBad);
+
+ using (ms = new MemoryStream (memoryResponseElement))
+ mreOrig = OutputCache.Deserialize (ms) as MemoryResponseElement;
+ Assert.IsNotNull (mreOrig, "#B1-1");
+ AssertExtensions.AreEqual (mreOrig.Buffer, mre.Buffer, "#B1-2");
+ Assert.AreEqual (mreOrig.Length, mre.Length, "#B1-3");
+
+ using (ms = new MemoryStream (fileResponseElement))
+ freOrig = OutputCache.Deserialize (ms) as FileResponseElement;
+ Assert.IsNotNull (freOrig, "#C1-1");
+ Assert.AreEqual (freOrig.Length, fre.Length, "#C1-2");
+ Assert.AreEqual (freOrig.Offset, fre.Offset, "#C1-3");
+ Assert.AreEqual (freOrig.Path, fre.Path, "#C1-4");
+
+ using (ms = new MemoryStream (substitutionResponseElement))
+ sreOrig = OutputCache.Deserialize (ms) as SubstitutionResponseElement;
+ Assert.IsNotNull (sreOrig);
+ Assert.AreEqual (sreOrig.Callback, sre.Callback, "#D1");
+
+ // Callback here is not a static method - Substitution delegates must be static
+ AssertExtensions.Throws<ArgumentException> (() => {
+ using (ms = new MemoryStream (badSubstitutionResponseElement))
+ sreBadOrig = OutputCache.Deserialize (ms) as SubstitutionResponseElement;
+ }, "#E1");
+ }
+
+ void CreateElements (out MemoryResponseElement mre, out FileResponseElement fre, out SubstitutionResponseElement sre,
+ out SubstitutionResponseElement sreBad)
+ {
+ byte[] bytes = Encoding.UTF8.GetBytes ("Encoded data");
+ mre = new MemoryResponseElement (bytes, bytes.Length);
+ fre = new FileResponseElement ("/path/to/file.txt", 0, 1234);
+ sre = new SubstitutionResponseElement (new HttpResponseSubstitutionCallback (DummySubstitutionCallback));
+ sreBad = new SubstitutionResponseElement (new HttpResponseSubstitutionCallback (DummyBadSubstitutionCallback));
+ }
+
+ byte[] SerializeToBinary (object o)
+ {
+ using (var ms = new MemoryStream ()) {
+ var fmt = new BinaryFormatter ();
+ fmt.Serialize (ms, o);
+ ms.Flush ();
+ return ms.GetBuffer ();
+ }
+ }
+
+ byte[] SerializeElement (ResponseElement e)
+ {
+ using (var ms = new MemoryStream ()) {
+ OutputCache.Serialize (ms, e);
+ ms.Flush ();
+ return ms.GetBuffer ();
+ }
+ }
+
+ // A helper method should one want to add new serialized type arrays
+ void WriteSerializedBytes (string filePath, string varName, object data)
+ {
+ byte[] bytes;
+ using (var ms = new MemoryStream ()) {
+ OutputCache.Serialize (ms, data);
+ ms.Flush ();
+ bytes = ms.GetBuffer ();
+
+ if (bytes == null)
+ return;
+
+ using (var sw = File.AppendText (filePath)) {
+ sw.Write ("byte[] {0} = {{", varName);
+
+ bool first = true;
+ foreach (byte b in bytes) {
+ if (first)
+ first = false;
+ else
+ sw.Write (",");
+ sw.Write ("0x{0:X}", b);
+ }
+ sw.WriteLine ("};");
+ }
+ }
+ }
+ }
+}
+#endif
--- /dev/null
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// Copyright (C) 2010 Novell Inc. http://novell.com
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Web;
+using System.Web.Caching;
+
+using NUnit.Framework;
+using MonoTests.Common;
+
+namespace MonoTests.System.Web.Caching
+{
+ [TestFixture]
+ public class SqlCacheDependencyTest
+ {
+ [Test]
+ public void Constructor_1 ()
+ {
+ SqlCacheDependency sqc;
+ AssertExtensions.Throws<ArgumentNullException> (() => {
+ sqc = new SqlCacheDependency (null);
+ }, "#A1");
+ }
+
+ [Test]
+ public void Constructor_2 ()
+ {
+ SqlCacheDependency sqc;
+
+ AssertExtensions.Throws<ArgumentNullException> (() => {
+ sqc = new SqlCacheDependency (null, "myTable");
+ }, "#A1");
+
+ AssertExtensions.Throws<ArgumentNullException> (() => {
+ sqc = new SqlCacheDependency ("myDatabase", null);
+ }, "#A2");
+
+ // Cannot be tested without an existing database
+ //AssertExtensions.Throws<ArgumentNullException> (() => {
+ // sqc = new SqlCacheDependency ("myDatabase", "myTable");
+ //}, "#A3");
+ }
+
+#if NET_4_0
+ [Test]
+ public void CreateOutputCacheDependency ()
+ {
+ CacheDependency sqc;
+
+ AssertExtensions.Throws<HttpException> (() => {
+ sqc = SqlCacheDependency.CreateOutputCacheDependency (null);
+ }, "#A1");
+
+ AssertExtensions.Throws<ArgumentException> (() => {
+ sqc = SqlCacheDependency.CreateOutputCacheDependency (String.Empty);
+ }, "#A2");
+
+ AssertExtensions.Throws<ArgumentException> (() => {
+ sqc = SqlCacheDependency.CreateOutputCacheDependency ("Database");
+ }, "#A2");
+
+ // Not testable without a real database
+ //sqc = SqlCacheDependency.CreateOutputCacheDependency ("Database:table");
+ //Assert.IsTrue (sqc is SqlCacheDependency, "#B1");
+ //
+ //sqc = SqlCacheDependency.CreateOutputCacheDependency ("Database:table; AnotherDatabase:table");
+ //Assert.IsTrue (sql is AggregateCacheDependency, "#B2");
+ }
+#endif
+ }
+}
+
--- /dev/null
+//
+// SubstitutionResponseElementTest.cs
+//
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// Copyright (C) 2010 Novell Inc. http://novell.com
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_0
+using System;
+using System.Web;
+using System.Web.Caching;
+
+using NUnit.Framework;
+using MonoTests.Common;
+
+namespace MonoTests.System.Web.Caching
+{
+ [TestFixture]
+ public class SubstitutionResponseElementTest
+ {
+ string TestCallback (HttpContext ctx)
+ {
+ return String.Empty;
+ }
+
+ [Test]
+ public void Constructor ()
+ {
+ SubstitutionResponseElement sre;
+
+ AssertExtensions.Throws<ArgumentNullException> (() => {
+ sre = new SubstitutionResponseElement (null);
+ }, "#A1");
+
+ var cb = new HttpResponseSubstitutionCallback (TestCallback);
+ sre = new SubstitutionResponseElement (cb);
+ Assert.AreEqual (cb, sre.Callback, "#B1");
+ }
+ }
+}
+#endif
\ No newline at end of file
WebTest.CopyResource (GetType (), "OneLetterIdentifierInCodeRender.aspx", "OneLetterIdentifierInCodeRender.aspx");
WebTest.CopyResource (GetType (), "NestedParserFileText.aspx", "NestedParserFileText.aspx");
WebTest.CopyResource (GetType (), "TagWithExpressionWithinAttribute.aspx", "TagWithExpressionWithinAttribute.aspx");
+ WebTest.CopyResource (GetType (), "EnumConverter_Bug578586.aspx", "EnumConverter_Bug578586.aspx");
#endif
}
// Just test if it doesn't throw an exception
new WebTest ("TagWithExpressionWithinAttribute.aspx").Run ();
}
+
+ [Test (Description="Bug #578586")]
+ public void EnumConverter_Bug578586 ()
+ {
+ WebTest t = new WebTest ("EnumConverter_Bug578586.aspx");
+ string pageHtml = t.Run ();
+ string renderedHtml = HtmlDiff.GetControlFromPageHtml (pageHtml);
+ string originalHtml = @"<input type=""text"" value=""FlagOne"" name=""test"" id=""test"" />";
+
+ HtmlDiff.AssertAreEqual (originalHtml, renderedHtml, "#A1");
+ }
#endif
[Test (Description="Bug #323719")]
public void TagsNestedInClientTag ()
+2010-02-18 Marek Habersack <mhabersack@novell.com>
+
+ * HostingEnvironmentTest.cs: added a test for HostEnvironment
+ property values both in hosted and non-hosted environments. Patch
+ contributed by Tiaan Geldenhuys <tagdev@gmail.com>, thanks!
+
2009-01-07 Geoff Norton <gnorton@novell.com>
* ApplicationHostTest.cs: Fix a few case-sensitiviy issues.
using System.Web.Hosting;
using NUnit.Framework;
using System.Web;
+using System.Web.UI;
+using MonoTests.SystemWeb.Framework;
namespace MonoTests.System.Web.Hosting {
[TestFixture]
[Test]
public void StaticDefaultValues ()
{
- Assert.IsNull (HostingEnvironment.InitializationException);
- Assert.IsFalse (HostingEnvironment.IsHosted);
- Assert.IsNull (HostingEnvironment.ApplicationID);
- Assert.IsNull (HostingEnvironment.ApplicationPhysicalPath);
- Assert.IsNull (HostingEnvironment.ApplicationVirtualPath);
- Assert.IsNull (HostingEnvironment.SiteName);
- Assert.IsNotNull (HostingEnvironment.Cache);
- Assert.AreEqual (ApplicationShutdownReason.None, HostingEnvironment.ShutdownReason);
- Assert.IsNull (HostingEnvironment.VirtualPathProvider);
+ StaticDefaultValues (string.Empty);
+ }
+
+ private void StaticDefaultValues (string errorPrefix)
+ {
+ Assert.IsNull (HostingEnvironment.InitializationException, errorPrefix + "InitializationException");
+ Assert.IsFalse (HostingEnvironment.IsHosted, errorPrefix + "IsHosted");
+ Assert.IsNull (HostingEnvironment.ApplicationID, errorPrefix + "ApplicationID");
+ Assert.IsNull (HostingEnvironment.ApplicationPhysicalPath, errorPrefix + "ApplicationPhysicalPath");
+ Assert.IsNull (HostingEnvironment.ApplicationVirtualPath, errorPrefix + "ApplicationVirtualPath");
+ Assert.IsNull (HostingEnvironment.SiteName, errorPrefix + "SiteName");
+ Assert.IsNotNull (HostingEnvironment.Cache, errorPrefix + "Cache");
+ Assert.AreEqual (ApplicationShutdownReason.None, HostingEnvironment.ShutdownReason, errorPrefix + "None");
+ Assert.IsNull (HostingEnvironment.VirtualPathProvider, errorPrefix + "VirtualPathProvider");
+ }
+
+ [Test]
+ [Category ("NunitWeb")]
+ public void HostedDefaultValues ()
+ {
+ StaticDefaultValues ("Before:");
+
+ WebTest t = new WebTest (PageInvoker.CreateOnLoad (HostedDefaultValues_OnLoad));
+ t.Run ();
+ Assert.AreEqual (global::System.Net.HttpStatusCode.OK, t.Response.StatusCode, "HttpStatusCode");
+
+ StaticDefaultValues ("After:");
+ }
+
+ public static void HostedDefaultValues_OnLoad(Page p)
+ {
+ Assert.IsNull (HostingEnvironment.InitializationException, "During:InitializationException");
+ Assert.IsTrue (HostingEnvironment.IsHosted, "During:IsHosted");
+ Assert.IsNotNull (HostingEnvironment.ApplicationID, "During:ApplicationID:Null");
+ Assert.IsNotEmpty (HostingEnvironment.ApplicationID, "During:ApplicationID:Empty");
+ Assert.IsNotNull (HostingEnvironment.ApplicationPhysicalPath, "During:ApplicationPhysicalPath:Null");
+ Assert.IsNotEmpty (HostingEnvironment.ApplicationPhysicalPath, "During:ApplicationPhysicalPath:Empty");
+ Assert.IsNotNull (HostingEnvironment.ApplicationVirtualPath, "During:ApplicationVirtualPath:Null");
+ Assert.IsNotEmpty (HostingEnvironment.ApplicationVirtualPath, "During:ApplicationVirtualPath:Empty");
+ Assert.IsNotNull (HostingEnvironment.SiteName, "During:SiteName:Null");
+ Assert.IsNotEmpty (HostingEnvironment.SiteName, "During:SiteName:Empty");
+ Assert.IsNotNull (HostingEnvironment.Cache, "During:Cache");
+ Assert.AreEqual (ApplicationShutdownReason.None, HostingEnvironment.ShutdownReason, "During:ShutdownReason");
+ Assert.IsNotNull (HostingEnvironment.VirtualPathProvider, "During:VirtualPathProvider");
}
[Test]
}
[Test]
- [Category ("NotWorking")]
public void MapPath3 ()
{
Assert.IsNull (HostingEnvironment.MapPath ("hola"));
+2010-02-11 Marek Habersack <mhabersack@novell.com>
+
+ * RolesTest.cs: added a test for IsUserInRole. Patch from Tiaan
+ Geldenhuys <tagdev@gmail.com>, thanks!
+
2007-02-10 Gert Driesen <drieseng@users.sourceforge.net>
* FormsAuthenticationTest.cs: Fixed build using csc 1.x.
#if NET_2_0
using System;
+using System.IO;
using System.Security.Principal;
+using System.Web;
using System.Web.Security;
+using System.Web.UI;
+using MonoTests.SystemWeb.Framework;
using NUnit.Framework;
+using System.Configuration.Provider;
namespace MonoTests.System.Web.Security {
// - Provider
// - Providers
}
+
+ [Test]
+ [Category ("NunitWeb")]
+ public void IsUserInRole ()
+ {
+ WebTest t = new WebTest (PageInvoker.CreateOnLoad ((Page p) => {
+ Assert.IsTrue (Roles.Enabled, "Enabled");
+ Assert.IsTrue (Roles.IsUserInRole ("true", "rolename"), "#1");
+ Assert.IsFalse (Roles.IsUserInRole ("false", "rolename"), "#2");
+
+ // NOTE: The next two tests do NOT throw an exception on MS
+ // .NET (even if the underlying membership-provider may,
+ // despite being documented differently on MSDN), but
+ // this convenient behaviour allows ASP.NET pages to run
+ // when roles are queried before the user is logged on
+ Assert.IsFalse (Roles.IsUserInRole (string.Empty, "rolename"), "#3a");
+ Assert.IsFalse (Roles.IsUserInRole ("rolename"), "#3b");
+ }));
+ t.Run ();
+ global::System.Diagnostics.Trace.WriteLineIf ((t.Response.StatusCode != global::System.Net.HttpStatusCode.OK), t.Response.Body);
+ Assert.AreEqual (global::System.Net.HttpStatusCode.OK, t.Response.StatusCode, "HttpStatusCode");
+ }
}
}
[TestFixture]
- public class ButtonTest {
+ public class ButtonTest
+ {
+ [TestFixtureSetUp]
+ public void SetUp ()
+ {
+ WebTest.CopyResource (GetType (), "ButtonColor_Bug325489.aspx", "ButtonColor_Bug325489.aspx");
+ }
+
+ [Test]
+ public void ButtonColor_Bug325489 ()
+ {
+ WebTest t = new WebTest ("ButtonColor_Bug325489.aspx");
+ string origHtml = @"<input type=""submit"" name=""button1"" value="""" id=""button1"" style=""background-color:#316AC5;"" />";
+ string html = t.Run ();
+ string renderedHtml = HtmlDiff.GetControlFromPageHtml (html);
+
+ HtmlDiff.AssertAreEqual (origHtml, renderedHtml, "#A1");
+ }
[Test]
public void Button_DefaultValues ()
+2010-02-19 Marek Habersack <mhabersack@novell.com>
+
+ * SqlDataSourceTest.cs: added test for bug #572781
+
+ * ButtonTest.cs: added test for bug #325489
+
+2010-02-18 Marek Habersack <mhabersack@novell.com>
+
+ * CheckBoxListTest.cs: added tests for bugs #377703 and #578770
+
+ * TreeViewTest.cs: added test for bug #580692
+
+2010-01-21 Jonathan Pobst <monkey@jpobst.com>
+
+ * ThemeTest.cs: Mark UrlProperty test as NotWorking to clean
+ up buildbot. Filed as 572707.
+
2010-01-18 Marek Habersack <mhabersack@novell.com>
* ParameterTest.cs: added tests for ConvertDbTypeToTypeCode,
}
[TestFixture]
- public class CheckBoxListTest {
-
+ public class CheckBoxListTest
+ {
+ [TestFixtureSetUp]
+ public void SetUp ()
+ {
+ Type t = GetType ();
+ WebTest.CopyResource (t, "CheckBoxList_Bug377703_1.aspx", "CheckBoxList_Bug377703_1.aspx");
+ WebTest.CopyResource (t, "CheckBoxList_Bug377703_2.aspx", "CheckBoxList_Bug377703_2.aspx");
+ WebTest.CopyResource (t, "CheckBoxList_Bug578770.aspx", "CheckBoxList_Bug578770.aspx");
+ }
+
[Test]
public void Defaults ()
{
}
#if NET_2_0
+ [Test]
+ public void CheckBoxList_Bug377708_1 ()
+ {
+ WebTest t = new WebTest ("CheckBoxList_Bug377703_1.aspx");
+ t.Invoker = PageInvoker.CreateOnInit (CheckBoxList_Bug377708_1_OnInit);
+ string origHtmlFirst = @"<table id=""cbxl1"" border=""0"">
+ <tr>
+ <td><input id=""cbxl1_0"" type=""checkbox"" name=""cbxl1$0"" /><label for=""cbxl1_0"">x</label></td>
+
+ </tr><tr>
+ <td><input id=""cbxl1_1"" type=""checkbox"" name=""cbxl1$1"" /><label for=""cbxl1_1"">y</label></td>
+ </tr><tr>
+ <td><input id=""cbxl1_2"" type=""checkbox"" name=""cbxl1$2"" /><label for=""cbxl1_2"">z</label></td>
+ </tr>
+</table>";
+ string origHtmlSecond = @"<table id=""cbxl1"" border=""0"">
+ <tr>
+ <td><input id=""cbxl1_0"" type=""checkbox"" name=""cbxl1$0"" checked=""checked"" /><label for=""cbxl1_0"">x</label></td>
+
+ </tr><tr>
+ <td><input id=""cbxl1_1"" type=""checkbox"" name=""cbxl1$1"" /><label for=""cbxl1_1"">y</label></td>
+ </tr><tr>
+ <td><input id=""cbxl1_2"" type=""checkbox"" name=""cbxl1$2"" /><label for=""cbxl1_2"">z</label></td>
+ </tr>
+</table>";
+ string html = t.Run ();
+ string listHtml = HtmlDiff.GetControlFromPageHtml (html);
+
+ HtmlDiff.AssertAreEqual (origHtmlFirst, listHtml, "#A1");
+
+ FormRequest fr = new FormRequest (t.Response, "form1");
+ fr.Controls.Add ("cbxl1$0");
+ fr.Controls ["cbxl1$0"].Value = "on";
+
+ fr.Controls.Add ("ctl01");
+ fr.Controls ["ctl01"].Value = "Click me twice to have the first Item become empty";
+
+ t.Request = fr;
+ html = t.Run ();
+
+ fr = new FormRequest (t.Response, "form1");
+ fr.Controls.Add ("cbxl1$0");
+ fr.Controls ["cbxl1$0"].Value = "on";
+
+ fr.Controls.Add ("ctl01");
+ fr.Controls ["ctl01"].Value = "Click me twice to have the first Item become empty";
+
+ t.Request = fr;
+ html = t.Run ();
+
+ listHtml = HtmlDiff.GetControlFromPageHtml (html);
+ HtmlDiff.AssertAreEqual (origHtmlSecond, listHtml, "#A2");
+ }
+
+ public static void CheckBoxList_Bug377708_1_OnInit (Page p)
+ {
+ CheckBoxList cbxl1 = p.FindControl ("cbxl1") as CheckBoxList;
+
+ cbxl1.DataSource = new[] {
+ new { ID = "x", Text = "X" },
+ new { ID = "y", Text = "Y" },
+ new { ID = "z", Text = "Z" },
+ };
+ cbxl1.DataValueField = "ID";
+ cbxl1.DataTextField = "ID";
+ cbxl1.DataBind();
+ }
+
+ [Test]
+ public void CheckBoxList_Bug377708_2 ()
+ {
+ WebTest t = new WebTest ("CheckBoxList_Bug377703_2.aspx");
+ t.Invoker = PageInvoker.CreateOnInit (CheckBoxList_Bug377708_2_OnInit);
+ string origHtmlFirst = @"<table id=""cbxl2"" border=""0"">
+ <tr>
+ <td><input id=""cbxl2_0"" type=""checkbox"" name=""cbxl2$0"" /><label for=""cbxl2_0"">x</label></td>
+
+ </tr><tr>
+ <td><input id=""cbxl2_1"" type=""checkbox"" name=""cbxl2$1"" /><label for=""cbxl2_1"">y</label></td>
+ </tr><tr>
+ <td><input id=""cbxl2_2"" type=""checkbox"" name=""cbxl2$2"" /><label for=""cbxl2_2"">z</label></td>
+ </tr>
+</table>";
+ string origHtmlSecond = @"<table id=""cbxl2"" disabled=""disabled"" border=""0"">
+ <tr>
+ <td><span disabled=""disabled""><input id=""cbxl2_0"" type=""checkbox"" name=""cbxl2$0"" disabled=""disabled"" checked=""checked"" /><label for=""cbxl2_0"">x</label></span></td>
+
+ </tr><tr>
+ <td><span disabled=""disabled""><input id=""cbxl2_1"" type=""checkbox"" name=""cbxl2$1"" disabled=""disabled"" /><label for=""cbxl2_1"">y</label></span></td>
+ </tr><tr>
+ <td><span disabled=""disabled""><input id=""cbxl2_2"" type=""checkbox"" name=""cbxl2$2"" disabled=""disabled"" checked=""checked"" /><label for=""cbxl2_2"">z</label></span></td>
+ </tr>
+</table>";
+ string origHtmlThird = @"<table id=""cbxl2"" disabled=""disabled"" border=""0"">
+ <tr>
+ <td><span disabled=""disabled""><input id=""cbxl2_0"" type=""checkbox"" name=""cbxl2$0"" disabled=""disabled"" checked=""checked"" /><label for=""cbxl2_0"">x</label></span></td>
+
+ </tr><tr>
+ <td><span disabled=""disabled""><input id=""cbxl2_1"" type=""checkbox"" name=""cbxl2$1"" disabled=""disabled"" /><label for=""cbxl2_1"">y</label></span></td>
+ </tr><tr>
+ <td><span disabled=""disabled""><input id=""cbxl2_2"" type=""checkbox"" name=""cbxl2$2"" disabled=""disabled"" checked=""checked"" /><label for=""cbxl2_2"">z</label></span></td>
+ </tr>
+</table>";
+ string html = t.Run ();
+ string listHtml = HtmlDiff.GetControlFromPageHtml (html);
+
+ HtmlDiff.AssertAreEqual (origHtmlFirst, listHtml, "#A1");
+
+ FormRequest fr = new FormRequest (t.Response, "form1");
+ fr.Controls.Add ("cbxl2$0");
+ fr.Controls ["cbxl2$0"].Value = "on";
+
+ fr.Controls.Add ("cbxl2$2");
+ fr.Controls ["cbxl2$2"].Value = "on";
+
+ fr.Controls.Add ("ctl01");
+ fr.Controls ["ctl01"].Value = "Click to toggle enable status above";
+
+ t.Request = fr;
+ html = t.Run ();
+
+ listHtml = HtmlDiff.GetControlFromPageHtml (html);
+
+ HtmlDiff.AssertAreEqual (origHtmlSecond, listHtml, "#A2");
+
+ fr = new FormRequest (t.Response, "form1");
+ fr.Controls.Add ("ctl02");
+ fr.Controls ["ctl02"].Value = "Click to refresh page";
+
+ t.Request = fr;
+ html = t.Run ();
+
+ listHtml = HtmlDiff.GetControlFromPageHtml (html);
+ HtmlDiff.AssertAreEqual (origHtmlThird, listHtml, "#A3");
+ }
+
+ public static void CheckBoxList_Bug377708_2_OnInit (Page p)
+ {
+ CheckBoxList cbxl2 = p.FindControl ("cbxl2") as CheckBoxList;
+
+ cbxl2.DataSource = new[] {
+ new { ID = "x", Text = "X" },
+ new { ID = "y", Text = "Y" },
+ new { ID = "z", Text = "Z" },
+ };
+ cbxl2.DataValueField = "ID";
+ cbxl2.DataTextField = "ID";
+ cbxl2.DataBind();
+ }
+
+ [Test]
+ public void CheckBoxList_Bug578770 ()
+ {
+ WebTest t = new WebTest ("CheckBoxList_Bug578770.aspx");
+ t.Invoker = PageInvoker.CreateOnInit (CheckBoxList_Bug578770_OnInit);
+ string origHtml = @"<table id=""test"" border=""0"">
+
+ <tr>
+ <td><span disabled=""disabled""><input id=""test_0"" type=""checkbox"" name=""test$0"" disabled=""disabled"" /><label for=""test_0"">Sun</label></span></td>
+ </tr><tr>
+ <td><input id=""test_1"" type=""checkbox"" name=""test$1"" /><label for=""test_1"">Mon</label></td>
+ </tr><tr>
+ <td><input id=""test_2"" type=""checkbox"" name=""test$2"" /><label for=""test_2"">Tue</label></td>
+ </tr><tr>
+
+ <td><input id=""test_3"" type=""checkbox"" name=""test$3"" /><label for=""test_3"">Wed</label></td>
+ </tr><tr>
+ <td><input id=""test_4"" type=""checkbox"" name=""test$4"" /><label for=""test_4"">Thu</label></td>
+ </tr><tr>
+ <td><input id=""test_5"" type=""checkbox"" name=""test$5"" /><label for=""test_5"">Fri</label></td>
+ </tr><tr>
+ <td><input id=""test_6"" type=""checkbox"" name=""test$6"" /><label for=""test_6"">Sat</label></td>
+
+ </tr>
+</table>";
+ string html = t.Run ();
+ string listHtml = HtmlDiff.GetControlFromPageHtml (html);
+
+ HtmlDiff.AssertAreEqual (origHtml, listHtml, "#A1");
+ }
+
+ public static void CheckBoxList_Bug578770_OnInit (Page p)
+ {
+ CheckBoxList test = p.FindControl ("test") as CheckBoxList;
+ string[] weekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+ test.DataSource = weekDays;
+ test.DataBind();
+ test.Items[0].Enabled = false;
+ }
+
[Test]
public void RaisePostDataChangedEvent ()
{
using System.Text;
using System.Data;
+using MonoTests.SystemWeb.Framework;
+using MonoTests.stand_alone.WebHarness;
+
namespace MonoTests.System.Web.UI.WebControls
{
class SqlPoker : SqlDataSource
{
SqlDataSourceTest.CustomEventParameterCollection = null;
SqlDataSourceTest.PassedParameters = "";
+
+ WebTest.CopyResource (GetType (), "SqlDataSource_OnInit_Bug572781.aspx", "SqlDataSource_OnInit_Bug572781.aspx");
}
[Test]
oldvalue.Add ("ProductID", 10);
view.Delete (null, null);
}
+
+ [Test]
+ public void SqlDataSource_OnInit_Bug572781 ()
+ {
+ WebTest t = new WebTest ("SqlDataSource_OnInit_Bug572781.aspx");
+ string origHtmlFirst = @" Init: button1. Init: sqlDataSource1<input type=""submit"" name=""button1"" value=""Click me!"" id=""button1"" />";
+ string origHtmlSecond = @" Init: button1. Init: sqlDataSource1<input type=""submit"" name=""button1"" value=""You clicked me"" id=""button1"" />";
+ string html;
+ string renderedHtml;
+
+ html = t.Run ();
+ renderedHtml = HtmlDiff.GetControlFromPageHtml (html);
+ HtmlDiff.AssertAreEqual (origHtmlFirst, renderedHtml, "#A1");
+
+ FormRequest fr = new FormRequest (t.Response, "form1");
+ fr.Controls.Add ("button1");
+ fr.Controls ["button1"].Value = "Click me!";
+ t.Request = fr;
+
+ html = t.Run ();
+ renderedHtml = HtmlDiff.GetControlFromPageHtml (html);
+ HtmlDiff.AssertAreEqual (origHtmlSecond, renderedHtml, "#A1");
+ }
}
}
page.Form.Controls.Add (lce);
}
+ [Test (Description="Bug #580692")]
+ [Category ("NunitWeb")]
+ public void TreeView_Render_LevelStyle_CssClass ()
+ {
+ WebTest t = new WebTest (PageInvoker.CreateOnLoad (pageLoadRenderLevelStyleCssClass));
+#region HTML
+ string strTarget = @"<a href=""#treeview1_SkipLink""><img height=""0"" width=""0"" src=""/WebResource.axd?d=0d4cddf62c21b386a0c479d4b29c5a4c0a78811622d960d7&t=634020843490000000"" alt=""Skip Navigation Links."" style=""border-width:0px;"" /></a><div id=""treeview1"">
+ <table cellpadding=""0"" cellspacing=""0"" style=""border-width:0;"">
+ <tr>
+ <td><a href=""javascript:__doPostBack('treeview1','ec|0')""><img alt=""Collapse Book"" src=""/WebResource.axd?d=2ffadef8bb28bb33bd311b2cae0874942ed83fb6bc74f1d5&t=634020843490000000"" style=""border-width:0;"" /></a></td><td class=""TestCssClass1 treeview1_2"" style=""white-space:nowrap;""><a class=""treeview1_0 TestCssClass1 treeview1_1"" href=""javascript:__doPostBack('treeview1','sel|0')"">Book</a></td>
+ </tr><tr style=""height:0px;"">
+ <td></td>
+
+ </tr>
+ </table><table cellpadding=""0"" cellspacing=""0"" style=""border-width:0;"">
+ <tr style=""height:0px;"">
+ <td></td>
+ </tr><tr>
+ <td><div style=""width:20px;height:1px;"">
+
+ </div></td><td><a href=""javascript:__doPostBack('treeview1','ec|0_0')""><img alt=""Collapse Chapter"" src=""/WebResource.axd?d=2ffadef8bb28bb33bd311b2cae0874942ed83fb6bc74f1d5&t=634020843490000000"" style=""border-width:0;"" /></a></td><td class=""TestCssClass2 treeview1_4"" style=""white-space:nowrap;""><a class=""treeview1_0 TestCssClass2 treeview1_3"" href=""javascript:__doPostBack('treeview1','sel|0_0')"">Chapter</a></td>
+ </tr><tr style=""height:0px;"">
+
+ <td></td>
+ </tr>
+ </table><table cellpadding=""0"" cellspacing=""0"" style=""border-width:0;"">
+ <tr>
+ <td><div style=""width:20px;height:1px;"">
+
+ </div></td><td><div style=""width:20px;height:1px;"">
+
+ </div></td><td><img alt="""" src=""/WebResource.axd?d=2ffadef8bb28bb335d56d5a83863fb8971aa8a175d1537f9&t=634020843490000000"" /></td><td style=""white-space:nowrap;""><a class=""treeview1_0"" href=""javascript:__doPostBack('treeview1','sel|0_0_0')"">Section</a></td>
+
+ </tr>
+ </table><table cellpadding=""0"" cellspacing=""0"" style=""border-width:0;"">
+ <tr>
+ <td><div style=""width:20px;height:1px;"">
+
+ </div></td><td><div style=""width:20px;height:1px;"">
+
+ </div></td><td><img alt="""" src=""/WebResource.axd?d=2ffadef8bb28bb335d56d5a83863fb8971aa8a175d1537f9&t=634020843490000000"" /></td><td style=""white-space:nowrap;""><a class=""treeview1_0"" href=""javascript:__doPostBack('treeview1','sel|0_0_1')"">Section</a></td>
+ </tr>
+
+ </table><table cellpadding=""0"" cellspacing=""0"" style=""border-width:0;"">
+ <tr style=""height:0px;"">
+ <td></td>
+ </tr><tr>
+ <td><div style=""width:20px;height:1px;"">
+
+ </div></td><td><a href=""javascript:__doPostBack('treeview1','ec|0_1')""><img alt=""Collapse Chapter"" src=""/WebResource.axd?d=2ffadef8bb28bb33bd311b2cae0874942ed83fb6bc74f1d5&t=634020843490000000"" style=""border-width:0;"" /></a></td><td class=""TestCssClass2 treeview1_4"" style=""white-space:nowrap;""><a class=""treeview1_0 TestCssClass2 treeview1_3"" href=""javascript:__doPostBack('treeview1','sel|0_1')"">Chapter</a></td>
+ </tr><tr style=""height:0px;"">
+ <td></td>
+
+ </tr>
+ </table><table cellpadding=""0"" cellspacing=""0"" style=""border-width:0;"">
+ <tr>
+ <td><div style=""width:20px;height:1px;"">
+
+ </div></td><td><div style=""width:20px;height:1px;"">
+
+ </div></td><td><img alt="""" src=""/WebResource.axd?d=2ffadef8bb28bb335d56d5a83863fb8971aa8a175d1537f9&t=634020843490000000"" /></td><td style=""white-space:nowrap;""><a class=""treeview1_0"" href=""javascript:__doPostBack('treeview1','sel|0_1_0')"">Section</a></td>
+ </tr>
+
+ </table>
+</div><a id=""treeview1_SkipLink""></a>";
+#endregion
+ string str = HtmlDiff.GetControlFromPageHtml (t.Run ());
+ HtmlDiff.AssertAreEqual (strTarget, str, "Render_LevelStyle_CssClass");
+ }
+
+ public static void pageLoadRenderLevelStyleCssClass (Page page) {
+ TreeView tv = new TreeView ();
+ tv.EnableClientScript = false;
+ tv.ID = "treeview1";
+
+ TreeNodeStyle tns = new TreeNodeStyle ();
+ tns.CssClass = "TestCssClass1";
+ tv.LevelStyles.Add (tns);
+
+ tns = new TreeNodeStyle ();
+ tns.CssClass = "TestCssClass2";
+ tv.LevelStyles.Add (tns);
+
+ XmlDataSource xmlds = new XmlDataSource ();
+ xmlds.EnableCaching = false;
+ xmlds.Data = xmlDataBind;
+ tv.DataSource = xmlds;
+ tv.DataBind ();
+ LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
+ LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
+ page.Form.Controls.Add (lcb);
+ page.Form.Controls.Add (tv);
+ page.Form.Controls.Add (lce);
+ }
+
[Test]
[Category ("NunitWeb")]
public void TreeView_Method_RenderTags () {
--- /dev/null
+// Authors:
+// Marek Habersack <mhabersack@novell.com>
+//
+// Copyright (C) 2010 Novell Inc. http://novell.com
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Web;
+using System.Web.Caching;
+
+using NUnit.Framework;
+using MonoTests.Common;
+
+namespace MonoTests.System.Web
+{
+ [TestFixture]
+ public class HttpApplicationTest
+ {
+#if NET_4_0
+ [Test]
+ public void GetOutputCacheProviderName ()
+ {
+ var app = new HttpApplication ();
+
+ Assert.AreEqual ("AspNetInternalProvider", app.GetOutputCacheProviderName (null), "#A1");
+ }
+#endif
+ }
+}
+2010-02-11 Marek Habersack <mhabersack@novell.com>
+
+ * WebTest.cs: test environment setup enhancements. Contributed by
+ Tiaan Geldenhuys <tagdev@gmail.com>, thanks!
+
+ * TestRoleProvider.cs: added. Contributed by Tiaan Geldenhuys
+ <tagdev@gmail.com>, thanks!
+
2009-11-04 Marek Habersack <mhabersack@novell.com>
* WebTest.cs: include App_GlobalResources only when compiling
+2010-02-11 Marek Habersack <mhabersack@novell.com>
+
+ * Web.config, Web.mono.config: added test role manager
+ definition.
+
2009-01-22 Marek Habersack <mhabersack@novell.com>
* Web.mono.config: added numRecompilesBeforeAppRestart attribute
passwordStrengthRegularExpression="" />
</providers>
</membership>
+
+ <roleManager defaultProvider="TheRoleProvider" enabled="true">
+ <providers>
+ <clear />
+ <add name="TheRoleProvider" type="MonoTests.SystemWeb.Framework.TestRoleProvider"/>
+ </providers>
+ </roleManager>
</system.web>
<system.web.extensions>
<scripting>
passwordStrengthRegularExpression="" />
</providers>
</membership>
+
+ <roleManager defaultProvider="TheRoleProvider" enabled="true">
+ <providers>
+ <clear />
+ <add name="TheRoleProvider" type="MonoTests.SystemWeb.Framework.TestRoleProvider"/>
+ </providers>
+ </roleManager>
</system.web>
<system.web.extensions>
<scripting>
--- /dev/null
+#if NET_2_0
+
+using System;
+using System.Collections.Specialized;
+using System.Configuration.Provider;
+using System.Web.Security;
+
+namespace MonoTests.SystemWeb.Framework
+{
+ public class TestRoleProvider : RoleProvider
+ {
+ public override string ApplicationName
+ {
+ get;
+ set;
+ }
+
+ public override void AddUsersToRoles(string[] usernames, string[] roleNames)
+ {
+ throw new Exception ("Not implemented yet.");
+ }
+
+ public override void CreateRole (string roleName)
+ {
+ throw new Exception ("Not implemented yet.");
+ }
+
+ public override bool DeleteRole (string roleName, bool throwOnPopulatedRole)
+ {
+ throw new Exception ("Not implemented yet.");
+ }
+
+ public override string[] FindUsersInRole (string roleName, string usernameToMatch)
+ {
+ throw new Exception ("Not implemented yet.");
+ }
+
+ public override string[] GetAllRoles ()
+ {
+ throw new Exception ("Not implemented yet.");
+ }
+
+ public override string[] GetRolesForUser (string username)
+ {
+ throw new Exception ("Not implemented yet.");
+ }
+
+ public override string[] GetUsersInRole (string roleName)
+ {
+ throw new Exception ("Not implemented yet.");
+ }
+
+ public override bool IsUserInRole (string username, string roleName)
+ {
+ if (username == null)
+ throw new ArgumentNullException ("Username cannot be null.");
+ if (roleName == null)
+ throw new ArgumentNullException ("Role name cannot be null.");
+ if (username == string.Empty)
+ throw new ArgumentException ("Username cannot be empty.");
+ if (roleName == string.Empty)
+ throw new ArgumentException ("Role name cannot be empty.");
+ if (username == "invalid")
+ throw new ProviderException ("User does not exist.");
+ if (roleName == "invalid")
+ throw new ProviderException ("Role does not exist.");
+ if (username == "true")
+ return true;
+ return false;
+ }
+
+ public override void RemoveUsersFromRoles (string[] usernames, string[] roleNames)
+ {
+ throw new Exception ("Not implemented yet.");
+ }
+
+ public override bool RoleExists (string roleName)
+ {
+ throw new Exception ("Not implemented yet.");
+ }
+ }
+}
+#endif
public static void CopyResource (Type type, string resourceName, string targetUrl)
{
#if !TARGET_JVM
- EnsureWorkingDirectories ();
- EnsureDirectoryExists (Path.Combine (baseDir,
- Path.GetDirectoryName (targetUrl)));
- string targetFile = Path.Combine (baseDir, targetUrl);
using (Stream source = type.Assembly.GetManifestResourceStream (resourceName)) {
if (source == null)
throw new ArgumentException ("resource not found: " + resourceName, "resourceName");
byte[] array = new byte[source.Length];
source.Read (array, 0, array.Length);
+ CopyBinary (array, targetUrl);
+ }
+#endif
+ }
- if (File.Exists(targetFile)) {
- using (FileStream existing = File.OpenRead(targetFile)) {
- bool equal = false;
- if (array.Length == existing.Length) {
- byte[] existingArray = new byte[array.Length];
- existing.Read (existingArray, 0, existingArray.Length);
-
- equal = true;
- for (int i = 0; i < array.Length; i ++) {
- if (array[i] != existingArray[i]) {
- equal = false;
- break;
- }
- }
- }
+ /// <summary>
+ /// Copy a chunk of data as a file into the web application.
+ /// </summary>
+ /// <param name="sourceArray">The array that contains the data to be written.</param>
+ /// <param name="targetUrl">The URL where the data will be available.</param>
+ /// <returns>The target filename where the data was stored.</returns>
+ /// <example><code>CopyBinary (System.Text.Encoding.UTF8.GetBytes ("Hello"), "App_Data/Greeting.txt");</code></example>
+ public static string CopyBinary (byte[] sourceArray, string targetUrl)
+ {
+#if TARGET_JVM
+ return null;
+#else
+ EnsureWorkingDirectories ();
+ EnsureDirectoryExists (Path.Combine (baseDir, Path.GetDirectoryName (targetUrl)));
+ string targetFile = Path.Combine (baseDir, targetUrl);
+
+ if (File.Exists(targetFile)) {
+ using (FileStream existing = File.OpenRead(targetFile)) {
+ bool equal = false;
+ if (sourceArray.Length == existing.Length) {
+ byte[] existingArray = new byte[sourceArray.Length];
+ existing.Read (existingArray, 0, existingArray.Length);
- if (equal) {
- existing.Close ();
- File.SetLastWriteTime (targetFile, DateTime.Now);
- return;
+ equal = true;
+ for (int i = 0; i < sourceArray.Length; i ++) {
+ if (sourceArray[i] != existingArray[i]) {
+ equal = false;
+ break;
+ }
}
-
}
- CheckDomainIsDown ();
+ if (equal) {
+ existing.Close ();
+ File.SetLastWriteTime (targetFile, DateTime.Now);
+ return targetFile;
+ }
+
}
+
+ CheckDomainIsDown ();
+ }
- using (FileStream target = new FileStream (targetFile, FileMode.Create)) {
- target.Write (array, 0, array.Length);
- }
+ using (FileStream target = new FileStream (targetFile, FileMode.Create)) {
+ target.Write (sourceArray, 0, sourceArray.Length);
}
+
+ return targetFile;
#endif
}
return;
#else
host = AppDomain.CurrentDomain.GetData (HOST_INSTANCE_NAME) as MyHost;
+ if (host == null)
+ SetupHosting ();
+#endif
+ }
+
+ public static void SetupHosting ()
+ {
+ SetupHosting (null);
+ }
+
+ public static void SetupHosting (WebTestResourcesSetupAttribute.SetupHandler resHandler)
+ {
+#if !TARGET_JVM
+ if (host == null)
+ host = AppDomain.CurrentDomain.GetData (HOST_INSTANCE_NAME) as MyHost;
+#endif
if (host != null)
- return;
- WebTestResourcesSetupAttribute.SetupHandler resHandler = CheckResourcesSetupHandler ();
+ CleanApp ();
+#if TARGET_JVM
+ host = new MyHost ();
+ return;
+#else
+ if (resHandler == null)
+ resHandler = CheckResourcesSetupHandler ();
if (resHandler == null)
CopyResources ();
else
Directory.CreateDirectory (binDir);
}
- private static void CopyResources ()
+ public static void CopyResources ()
{
CopyResource (typeof (WebTest), "My.ashx", "My.ashx");
CopyResource (typeof (WebTest), "Global.asax", "Global.asax");
CopyResource (typeof (WebTest), "Common.resx", "App_GlobalResources/Common.resx");
CopyResource (typeof (WebTest), "Common.fr-FR.resx", "App_GlobalResources/Common.fr-FR.resx");
CopyResource (typeof (WebTest), "Resource1.resx", "App_GlobalResources/Resource1.resx");
+ CopyResource (typeof (WebTest), "EnumConverterControl.cs", "App_Code/EnumConverterControl.cs");
#endif
CopyResource (typeof (WebTest), "Web.mono.config", "Web.config");
#else
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Web;
+using System.Web.UI.WebControls;
+
+namespace MonoTests.Controls
+{
+ [Flags]
+ public enum EnumConverterTestValues
+ {
+ FlagOne = 0x01,
+ FlagTwo = 0x02
+ }
+
+ public class EnumConverterTestValuesConverter : EnumConverter
+ {
+ public EnumConverterTestValuesConverter (Type type)
+ : base (type)
+ { }
+ }
+
+ public class EnumConverterTextBox : TextBox
+ {
+ EnumConverterTestValues values;
+
+ [TypeConverter (typeof (EnumConverterTestValuesConverter))]
+ public EnumConverterTestValues Values {
+ get { return values; }
+ set { values = value; }
+ }
+
+ public EnumConverterTextBox ()
+ {
+ }
+
+ protected override void OnInit (EventArgs e)
+ {
+ base.OnInit (e);
+ Text = values.ToString ();
+ }
+ }
+}
--- /dev/null
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>Bug #325489 part 1</title></head>
+<body>
+ <form id="form1" runat="server">
+<%= MonoTests.stand_alone.WebHarness.HtmlDiff.BEGIN_TAG %><asp:Button id="button1" runat="server" backcolor="#316AC5" /><%= MonoTests.stand_alone.WebHarness.HtmlDiff.END_TAG %>
+ </form>
+</body>
+</html>
--- /dev/null
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>Bug #377703 part 1</title></head>
+<body>
+<form runat="server" id="form1">
+<%= MonoTests.stand_alone.WebHarness.HtmlDiff.BEGIN_TAG %><asp:CheckBoxList id="cbxl1" runat="server"/><%= MonoTests.stand_alone.WebHarness.HtmlDiff.END_TAG %>
+<asp:Button runat="server" Text="Click me twice to have the first Item become empty"/>
+</form>
+</body>
+</html>
+
--- /dev/null
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
+<script runat="server">
+void ToggleCbxl2(object o, EventArgs a)
+{
+ cbxl2.Enabled = !cbxl2.Enabled;
+}
+</script>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><title>Bug #377703 part 2</title></head>
+<body>
+<form runat="server">
+<%= MonoTests.stand_alone.WebHarness.HtmlDiff.BEGIN_TAG %><asp:CheckBoxList id="cbxl2" runat="server"/><%= MonoTests.stand_alone.WebHarness.HtmlDiff.END_TAG %>
+<asp:Button runat="server" Text="Click to toggle enable status above" OnClick="ToggleCbxl2" />
+<asp:Button runat="server" Text="Click to refresh page"/>
+</form>
+</body>
+</html>
--- /dev/null
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>#Bug578770</title>
+</head>
+<body>
+<form id="form1" runat="server">
+<%= MonoTests.stand_alone.WebHarness.HtmlDiff.BEGIN_TAG %><asp:CheckBoxList ID="test" runat="server" /><%= MonoTests.stand_alone.WebHarness.HtmlDiff.END_TAG %>
+</form>
+</body>
+</html>
+
+
--- /dev/null
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
+<%@ Register Assembly="App_Code" Namespace="MonoTests.Controls" TagPrefix="test" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+ <title></title>
+</head>
+<body>
+ <form id="form1" runat="server">
+ <div>
+<%= MonoTests.stand_alone.WebHarness.HtmlDiff.BEGIN_TAG %><test:EnumConverterTextBox runat="server" ID="test" Values="FlagOne"/><%= MonoTests.stand_alone.WebHarness.HtmlDiff.END_TAG %>
+ </div>
+ </form>
+</body>
+</html>
--- /dev/null
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>
+<script runat="server">
+ public virtual void button1Clicked (object sender, EventArgs args)
+ {
+ button1.Text = "You clicked me";
+ }
+
+ protected void button1_Init (object sender, System.EventArgs e)
+ {
+ results.Text += " Init: button1.";
+ }
+
+ protected void sqlDs1_Init (object sender, System.EventArgs e)
+ {
+ results.Text += " Init: sqlDataSource1";
+ }
+</script>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+ <title>Bug #572781</title>
+</head>
+<body>
+ <form id="form1" runat="server">
+<%= MonoTests.stand_alone.WebHarness.HtmlDiff.BEGIN_TAG %><asp:Literal runat="server" id="results"/><asp:Button id="button1" runat="server" Text="Click me!" OnClick="button1Clicked" OnInit="button1_Init" /><%= MonoTests.stand_alone.WebHarness.HtmlDiff.END_TAG %>
+ <asp:SqlDataSource id="sqlDataSource1" runat="server" OnInit="sqlDs1_Init" />
+ </form>
+</body>
+</html>
\ No newline at end of file
+2010-02-04 Marek Habersack <mhabersack@novell.com>
+
+ * Helpers.cs: added a helper method for checking of HTML mentions
+ any .NET exceptions.
+
2010-01-19 Marek Habersack <mhabersack@novell.com>
* TestRunner.cs: Run makes sure Uri parser is passed a full url,
return sb.ToString ();
}
+
+ public static bool HasException (string html, Type exceptionType)
+ {
+ if (exceptionType == null)
+ throw new ArgumentNullException ("exceptionType");
+
+ return HasException (html, exceptionType.FullName);
+ }
+
+ public static bool HasException (string html, string exceptionType)
+ {
+ if (String.IsNullOrEmpty (exceptionType))
+ throw new ArgumentNullException ("exceptionType");
+
+ if (String.IsNullOrEmpty (html))
+ return false;
+
+ return html.IndexOf ("[" + exceptionType + "]:") != -1;
+ }
}
}
--- /dev/null
+//
+// Authors:
+// Marek Habersack (mhabersack@novell.com)
+//
+// (C) 2010 Novell, Inc http://novell.com/
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_4_0
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Configuration.Provider;
+using System.IO;
+using System.Web;
+using System.Web.Hosting;
+
+using StandAloneRunnerSupport;
+using StandAloneTests;
+
+using NUnit.Framework;
+
+namespace StandAloneTests.OutputCacheProvider
+{
+ [TestCase ("OutputCacheProvider 01", "OutputCacheProvider - custom provider test")]
+ public sealed class OutputCacheProvider_01 : ITestCase
+ {
+ public string PhysicalPath {
+ get {
+ return Path.Combine (
+ Consts.BasePhysicalDir,
+ Path.Combine ("OutputCacheProvider", "OutputCacheProviderTest_01")
+ );
+ }
+ }
+
+ public string VirtualPath {
+ get { return "/"; }
+ }
+
+ public bool SetUp (List <TestRunItem> runItems)
+ {
+ runItems.Add (new TestRunItem ("/Default.aspx", Default_Aspx));
+
+ return true;
+ }
+
+ void Default_Aspx (string result)
+ {
+ string originalHtml = @"<pre id=""output"">Default provider name: TestInMemoryProvider
+Null context: TestInMemoryProvider
+Default context: TestInMemoryProvider
+</pre>";
+
+ Helpers.ExtractAndCompareCodeFromHtml (result, originalHtml, "#A1");
+ }
+ }
+
+ [TestCase ("OutputCacheProvider 02", "OutputCacheProvider - missing provider test")]
+ public sealed class OutputCacheProvider_02 : ITestCase
+ {
+ public string PhysicalPath {
+ get {
+ return Path.Combine (
+ Consts.BasePhysicalDir,
+ Path.Combine ("OutputCacheProvider", "OutputCacheProviderTest_02")
+ );
+ }
+ }
+
+ public string VirtualPath {
+ get { return "/"; }
+ }
+
+ public bool SetUp (List <TestRunItem> runItems)
+ {
+ runItems.Add (new TestRunItem ("/Default.aspx", Default_Aspx));
+
+ return true;
+ }
+
+ void Default_Aspx (string result)
+ {
+ Assert.IsTrue (Helpers.HasException (result, typeof (ConfigurationErrorsException)), "#A1");
+ }
+ }
+
+ [TestCase ("OutputCacheProvider 03", "OutputCacheProvider - per request provider test")]
+ public sealed class OutputCacheProvider_03 : ITestCase
+ {
+ public string PhysicalPath {
+ get {
+ return Path.Combine (
+ Consts.BasePhysicalDir,
+ Path.Combine ("OutputCacheProvider", "OutputCacheProviderTest_03")
+ );
+ }
+ }
+
+ public string VirtualPath {
+ get { return "/"; }
+ }
+
+ public bool SetUp (List <TestRunItem> runItems)
+ {
+ runItems.Add (new TestRunItem ("/Default.aspx", Default_Aspx));
+ runItems.Add (new TestRunItem ("/Default.aspx?ocp=InMemory", Default_InMemory_Aspx));
+ runItems.Add (new TestRunItem ("/Default.aspx?ocp=AnotherInMemory", Default_AnotherInMemory_Aspx));
+ runItems.Add (new TestRunItem ("/Default.aspx?ocp=invalid", Default_Invalid_Aspx));
+
+ return true;
+ }
+
+ void Default_Aspx (string result)
+ {
+ string originalHtml = @"<pre id=""output"">Default provider name: AspNetInternalProvider
+Default context: AspNetInternalProvider
+</pre>";
+
+ Helpers.ExtractAndCompareCodeFromHtml (result, originalHtml, "#A1");
+ }
+
+ void Default_InMemory_Aspx (string result)
+ {
+ string originalHtml = @"<pre id=""output"">Default provider name: AspNetInternalProvider
+Default context: TestInMemoryProvider
+</pre>";
+
+ Helpers.ExtractAndCompareCodeFromHtml (result, originalHtml, "#A1");
+ }
+
+ void Default_AnotherInMemory_Aspx (string result)
+ {
+ string originalHtml = @"<pre id=""output"">Default provider name: AspNetInternalProvider
+Default context: TestAnotherInMemoryProvider
+</pre>";
+
+ Helpers.ExtractAndCompareCodeFromHtml (result, originalHtml, "#A1");
+ }
+
+ void Default_Invalid_Aspx (string result)
+ {
+ Assert.IsTrue (Helpers.HasException (result, typeof (ProviderException)), "#A1");
+ }
+ }
+}
+#endif
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Linq;
+using System.Web;
+using System.Web.Caching;
+
+namespace Test
+{
+ public class InMemoryProvider : OutputCacheProvider
+ {
+ Dictionary<string, object> cache = new Dictionary<string, object> ();
+
+ public override object Add (string key, object entry, DateTime utcExpiry)
+ {
+ object value;
+
+ if (cache.TryGetValue (key, out value))
+ return value;
+
+ cache.Add (key, entry);
+ return entry;
+ }
+
+ public override object Get (string key)
+ {
+ object ret;
+
+ if (cache.TryGetValue (key, out ret))
+ return ret;
+
+ return null;
+ }
+
+ public override void Remove (string key)
+ {
+ if (cache.ContainsKey (key))
+ cache.Remove (key);
+ }
+
+ public override void Set (string key, object entry, DateTime utcExpiry)
+ {
+ if (cache.ContainsKey (key))
+ cache[key] = entry;
+ else
+ cache.Add (key, entry);
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+ <title>OutputCacheProvider Test 1</title>
+</head>
+<body>
+ <form id="form1" runat="server">
+ <div><%= AppDomain.CurrentDomain.GetData ("BEGIN_CODE_MARKER") %><pre runat="server" id="output"></pre><%= AppDomain.CurrentDomain.GetData ("END_CODE_MARKER") %></div>
+ </form>
+</body>
+</html>
--- /dev/null
+using System;
+using System.Text;
+using System.Web;
+using System.Web.Caching;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+public partial class _Default : System.Web.UI.Page
+{
+ protected void Page_Load (object sender, EventArgs e)
+ {
+ var sb = new StringBuilder ();
+ string name = OutputCache.DefaultProviderName;
+
+ sb.AppendFormat ("Default provider name: {0}\n", name);
+ name = ApplicationInstance.GetOutputCacheProviderName (null);
+ sb.AppendFormat ("Null context: {0}\n", name);
+
+ name = ApplicationInstance.GetOutputCacheProviderName (Context);
+ sb.AppendFormat ("Default context: {0}\n", name);
+
+ output.InnerText = sb.ToString ();
+ }
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+
+<configuration>
+
+ <system.web>
+ <compilation debug="true" targetFramework="4.0" />
+ <caching>
+ <outputCache defaultProvider="TestInMemoryProvider">
+ <providers>
+ <add name="TestInMemoryProvider" type="Test.InMemoryProvider, App_Code"/>
+ </providers>
+ </outputCache>
+ </caching>
+ </system.web>
+ <system.webServer>
+ <modules runAllManagedModulesForAllRequests="true"/>
+ </system.webServer>
+
+</configuration>
--- /dev/null
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+ <title>OutputCacheProvider Test 1</title>
+</head>
+<body>
+ <form id="form1" runat="server">
+ <div><pre runat="server" id="output"></pre></div>
+ </form>
+</body>
+</html>
--- /dev/null
+using System;
+using System.Text;
+using System.Web;
+using System.Web.Caching;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+public partial class _Default : System.Web.UI.Page
+{
+ protected void Page_Load (object sender, EventArgs e)
+ {
+ var sb = new StringBuilder ();
+ string name = OutputCache.DefaultProviderName;
+
+ sb.AppendFormat ("Default provider name: {0}\n", name);
+ name = ApplicationInstance.GetOutputCacheProviderName (null);
+ sb.AppendFormat ("Null context: {0}\n", name);
+
+ name = ApplicationInstance.GetOutputCacheProviderName (Context);
+ sb.AppendFormat ("Default context: {0}\n", name);
+
+ output.InnerText = sb.ToString ();
+ }
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+
+<configuration>
+
+ <system.web>
+ <compilation debug="true" targetFramework="4.0" />
+ <caching>
+ <outputCache defaultProvider="MissingInMemoryProvider">
+ <providers>
+ <add name="MissingInMemoryProvider" type="Test.InMemoryProvider"/>
+ </providers>
+ </outputCache>
+ </caching>
+ </system.web>
+ <system.webServer>
+ <modules runAllManagedModulesForAllRequests="true"/>
+ </system.webServer>
+
+</configuration>
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Linq;
+using System.Web;
+using System.Web.Caching;
+
+namespace Test
+{
+ public class AnotherInMemoryProvider : InMemoryProvider
+ {
+
+ }
+}
\ No newline at end of file
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Linq;
+using System.Web;
+using System.Web.Caching;
+
+namespace Test
+{
+ public class InMemoryProvider : OutputCacheProvider
+ {
+ Dictionary<string, object> cache = new Dictionary<string, object> ();
+
+ public override object Add (string key, object entry, DateTime utcExpiry)
+ {
+ object value;
+
+ if (cache.TryGetValue (key, out value))
+ return value;
+
+ cache.Add (key, entry);
+ return entry;
+ }
+
+ public override object Get (string key)
+ {
+ object ret;
+
+ if (cache.TryGetValue (key, out ret))
+ return ret;
+
+ return null;
+ }
+
+ public override void Remove (string key)
+ {
+ if (cache.ContainsKey (key))
+ cache.Remove (key);
+ }
+
+ public override void Set (string key, object entry, DateTime utcExpiry)
+ {
+ if (cache.ContainsKey (key))
+ cache[key] = entry;
+ else
+ cache.Add (key, entry);
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+ <title>OutputCacheProvider Test 1</title>
+</head>
+<body>
+ <form id="form1" runat="server">
+ <div><%= AppDomain.CurrentDomain.GetData ("BEGIN_CODE_MARKER") %><pre runat="server" id="output"></pre><%= AppDomain.CurrentDomain.GetData ("END_CODE_MARKER") %></div>
+ </form>
+</body>
+</html>
--- /dev/null
+using System;
+using System.Text;
+using System.Web;
+using System.Web.Caching;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+public partial class _Default : System.Web.UI.Page
+{
+ protected void Page_Load (object sender, EventArgs e)
+ {
+ var sb = new StringBuilder ();
+ string name = OutputCache.DefaultProviderName;
+ sb.AppendFormat ("Default provider name: {0}\n", name);
+
+ name = ApplicationInstance.GetOutputCacheProviderName (Context);
+ sb.AppendFormat ("Default context: {0}\n", name);
+
+ output.InnerText = sb.ToString ();
+ }
+}
\ No newline at end of file
--- /dev/null
+<%@ Application Language="C#" %>
+<script RunAt="server">
+ public override string GetOutputCacheProviderName (HttpContext context)
+ {
+ if (context == null)
+ throw new ArgumentNullException ("context");
+
+ HttpRequest req = context.Request;
+ if (req == null)
+ throw new InvalidOperationException ("No request found.");
+
+ switch (req.QueryString["ocp"]) {
+ case "InMemory":
+ return "TestInMemoryProvider";
+
+ case "AnotherInMemory":
+ return "TestAnotherInMemoryProvider";
+
+ case "invalid":
+ return "NoSuchProviderFound";
+
+ default:
+ return base.GetOutputCacheProviderName (context);
+ }
+ }
+</script>
--- /dev/null
+<?xml version="1.0"?>
+
+<configuration>
+
+ <system.web>
+ <compilation debug="true" targetFramework="4.0" />
+ <caching>
+ <outputCache>
+ <providers>
+ <add name="TestInMemoryProvider" type="Test.InMemoryProvider, App_Code"/>
+ <add name="TestAnotherInMemoryProvider" type="Test.AnotherInMemoryProvider, App_Code"/>
+ </providers>
+ </outputCache>
+ </caching>
+ </system.web>
+ <system.webServer>
+ <modules runAllManagedModulesForAllRequests="true"/>
+ </system.webServer>
+
+</configuration>
--- /dev/null
+//
+// CacheItemComparer.cs
+//
+// Author:
+// Marek Habersack <grendel@twistedcode.net>
+//
+// Copyright (c) 2010, Marek Habersack
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification, are permitted
+// provided that the following conditions are met:
+//
+// * Redistributions of source code must retain the above copyright notice, this list of
+// conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above copyright notice, this list of
+// conditions and the following disclaimer in the documentation and/or other materials
+// provided with the distribution.
+// * Neither the name of Marek Habersack nor the names of its contributors may be used to
+// endorse or promote products derived from this software without specific prior written
+// permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+using System;
+using System.Collections;
+using System.Web.Caching;
+
+namespace Tester
+{
+ class CacheItemComparer : IComparer
+ {
+ public int Compare (object o1, object o2)
+ {
+ CacheItem x = o1 as CacheItem;
+ CacheItem y = o2 as CacheItem;
+
+ if (x == null && y == null)
+ return 0;
+
+ if (x == null)
+ return 1;
+
+ if (y == null)
+ return -1;
+
+ if (x.ExpiresAt == y.ExpiresAt)
+ return 0;
+
+ return x.ExpiresAt < y.ExpiresAt ? -1 : 1;
+ }
+ }
+}
--- /dev/null
+using System;
+using System.Collections;
+
+namespace BenTools.Data
+{
+ public interface IPriorityQueue : ICollection, ICloneable, IList
+ {
+ int Push(object O);
+ object Pop();
+ object Peek();
+ void Update(int i);
+ }
+ public class BinaryPriorityQueue : IPriorityQueue, ICollection, ICloneable, IList
+ {
+ protected ArrayList InnerList = new ArrayList();
+ protected IComparer Comparer;
+
+ #region contructors
+ public BinaryPriorityQueue() : this(System.Collections.Comparer.Default)
+ {}
+ public BinaryPriorityQueue(IComparer c)
+ {
+ Comparer = c;
+ }
+ public BinaryPriorityQueue(int C) : this(System.Collections.Comparer.Default,C)
+ {}
+ public BinaryPriorityQueue(IComparer c, int Capacity)
+ {
+ Comparer = c;
+ InnerList.Capacity = Capacity;
+ }
+
+ protected BinaryPriorityQueue(ArrayList Core, IComparer Comp, bool Copy)
+ {
+ if(Copy)
+ InnerList = Core.Clone() as ArrayList;
+ else
+ InnerList = Core;
+ Comparer = Comp;
+ }
+
+ #endregion
+ protected void SwitchElements(int i, int j)
+ {
+ object h = InnerList[i];
+ InnerList[i] = InnerList[j];
+ InnerList[j] = h;
+ }
+
+ protected virtual int OnCompare(int i, int j)
+ {
+ return Comparer.Compare(InnerList[i],InnerList[j]);
+ }
+
+ #region public methods
+ /// <summary>
+ /// Push an object onto the PQ
+ /// </summary>
+ /// <param name="O">The new object</param>
+ /// <returns>The index in the list where the object is _now_. This will change when objects are taken from or put onto the PQ.</returns>
+ public int Push(object O)
+ {
+ int p = InnerList.Count,p2;
+ InnerList.Add(O); // E[p] = O
+ do
+ {
+ if(p==0)
+ break;
+ p2 = (p-1)/2;
+ if(OnCompare(p,p2)<0)
+ {
+ SwitchElements(p,p2);
+ p = p2;
+ }
+ else
+ break;
+ }while(true);
+ return p;
+ }
+
+ /// <summary>
+ /// Get the smallest object and remove it.
+ /// </summary>
+ /// <returns>The smallest object</returns>
+ public object Pop()
+ {
+ object result = InnerList[0];
+ int p = 0,p1,p2,pn;
+ InnerList[0] = InnerList[InnerList.Count-1];
+ InnerList.RemoveAt(InnerList.Count-1);
+ do
+ {
+ pn = p;
+ p1 = 2*p+1;
+ p2 = 2*p+2;
+ if(InnerList.Count>p1 && OnCompare(p,p1)>0) // links kleiner
+ p = p1;
+ if(InnerList.Count>p2 && OnCompare(p,p2)>0) // rechts noch kleiner
+ p = p2;
+
+ if(p==pn)
+ break;
+ SwitchElements(p,pn);
+ }while(true);
+ return result;
+ }
+
+ /// <summary>
+ /// Notify the PQ that the object at position i has changed
+ /// and the PQ needs to restore order.
+ /// Since you dont have access to any indexes (except by using the
+ /// explicit IList.this) you should not call this function without knowing exactly
+ /// what you do.
+ /// </summary>
+ /// <param name="i">The index of the changed object.</param>
+ public void Update(int i)
+ {
+ int p = i,pn;
+ int p1,p2;
+ do // aufsteigen
+ {
+ if(p==0)
+ break;
+ p2 = (p-1)/2;
+ if(OnCompare(p,p2)<0)
+ {
+ SwitchElements(p,p2);
+ p = p2;
+ }
+ else
+ break;
+ }while(true);
+ if(p<i)
+ return;
+ do // absteigen
+ {
+ pn = p;
+ p1 = 2*p+1;
+ p2 = 2*p+2;
+ if(InnerList.Count>p1 && OnCompare(p,p1)>0) // links kleiner
+ p = p1;
+ if(InnerList.Count>p2 && OnCompare(p,p2)>0) // rechts noch kleiner
+ p = p2;
+
+ if(p==pn)
+ break;
+ SwitchElements(p,pn);
+ }while(true);
+ }
+
+ /// <summary>
+ /// Get the smallest object without removing it.
+ /// </summary>
+ /// <returns>The smallest object</returns>
+ public object Peek()
+ {
+ if(InnerList.Count>0)
+ return InnerList[0];
+ return null;
+ }
+
+ public bool Contains(object value)
+ {
+ return InnerList.Contains(value);
+ }
+
+ public void Clear()
+ {
+ InnerList.Clear();
+ }
+
+ public int Count
+ {
+ get
+ {
+ return InnerList.Count;
+ }
+ }
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return InnerList.GetEnumerator();
+ }
+
+ public void CopyTo(Array array, int index)
+ {
+ InnerList.CopyTo(array,index);
+ }
+
+ public object Clone()
+ {
+ return new BinaryPriorityQueue(InnerList,Comparer,true);
+ }
+
+ public bool IsSynchronized
+ {
+ get
+ {
+ return InnerList.IsSynchronized;
+ }
+ }
+
+ public object SyncRoot
+ {
+ get
+ {
+ return this;
+ }
+ }
+ #endregion
+ #region explicit implementation
+ bool IList.IsReadOnly
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ object IList.this[int index]
+ {
+ get
+ {
+ return InnerList[index];
+ }
+ set
+ {
+ InnerList[index] = value;
+ Update(index);
+ }
+ }
+
+ int IList.Add(object o)
+ {
+ return Push(o);
+ }
+
+ void IList.RemoveAt(int index)
+ {
+ throw new NotSupportedException();
+ }
+
+ void IList.Insert(int index, object value)
+ {
+ throw new NotSupportedException();
+ }
+
+ void IList.Remove(object value)
+ {
+ throw new NotSupportedException();
+ }
+
+ int IList.IndexOf(object value)
+ {
+ throw new NotSupportedException();
+ }
+
+ bool IList.IsFixedSize
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ public static BinaryPriorityQueue Syncronized(BinaryPriorityQueue P)
+ {
+ return new BinaryPriorityQueue(ArrayList.Synchronized(P.InnerList),P.Comparer,false);
+ }
+ public static BinaryPriorityQueue ReadOnly(BinaryPriorityQueue P)
+ {
+ return new BinaryPriorityQueue(ArrayList.ReadOnly(P.InnerList),P.Comparer,false);
+ }
+ #endregion
+ }
+}
--- /dev/null
+//
+// PriorityQueueState.cs
+//
+// Author:
+// Marek Habersack <grendel@twistedcode.net>
+//
+// Copyright (c) 2010, Marek Habersack
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification, are permitted
+// provided that the following conditions are met:
+//
+// * Redistributions of source code must retain the above copyright notice, this list of
+// conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above copyright notice, this list of
+// conditions and the following disclaimer in the documentation and/or other materials
+// provided with the distribution.
+// * Neither the name of Marek Habersack nor the names of its contributors may be used to
+// endorse or promote products derived from this software without specific prior written
+// permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+using System;
+using System.Collections.Generic;
+using System.Web.Caching;
+
+using BenTools.Data;
+
+namespace Tester
+{
+ class PriorityQueueState
+ {
+ public readonly BinaryPriorityQueue Queue;
+ public readonly string ListName;
+ public readonly string QueueName;
+ public readonly string ItemName;
+
+ public int EnqueueCount;
+ public int DequeueCount;
+ public int DisableCount;
+ public int PeekCount;
+
+ public PriorityQueueState (string listName, string queueName, string itemName)
+ {
+ Queue = new BinaryPriorityQueue (new CacheItemComparer ());
+ EnqueueCount = 0;
+ DequeueCount = 0;
+ DisableCount = 0;
+ PeekCount = 0;
+ ListName = listName;
+ QueueName = queueName;
+ ItemName = itemName;
+ }
+
+ public void Enqueue (CacheItem item)
+ {
+ Queue.Push (item);
+ }
+
+ public CacheItem Dequeue ()
+ {
+ return Queue.Pop () as CacheItem;
+ }
+
+ public CacheItem Peek ()
+ {
+ return Queue.Peek () as CacheItem;
+ }
+ }
+}
--- /dev/null
+//
+// Sequences.cs
+//
+// Author:
+// Marek Habersack <grendel@twistedcode.net>
+//
+// Copyright (c) 2010, Marek Habersack
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification, are permitted
+// provided that the following conditions are met:
+//
+// * Redistributions of source code must retain the above copyright notice, this list of
+// conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above copyright notice, this list of
+// conditions and the following disclaimer in the documentation and/or other materials
+// provided with the distribution.
+// * Neither the name of Marek Habersack nor the names of its contributors may be used to
+// endorse or promote products derived from this software without specific prior written
+// permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using System.Web.Caching;
+using System.Xml;
+using System.Xml.XPath;
+
+namespace Tester
+{
+ static partial class Sequences
+ {
+ public static void Run (StringBuilder sb, string seqDir, string indent)
+ {
+ string[] files = Directory.GetFiles (seqDir, "*.seq");
+ if (files == null || files.Length == 0)
+ return;
+
+ int seqNum = 0;
+ Array.Sort <string> (files);
+ foreach (string f in files)
+ RunSequence (sb, indent, f, seqNum++);
+ }
+
+ static void RunSequence (StringBuilder sb, string initialIndent, string file, int seqNum)
+ {
+ Dictionary <Guid, int> cacheIndex;
+ List <CacheItem> cacheItems;
+ List <EDSequenceEntry> edSequence;
+
+ LoadEDSequence (file, out cacheIndex, out cacheItems, out edSequence);
+
+ if (edSequence == null || edSequence.Count == 0)
+ return;
+
+ string indent = initialIndent + "\t";
+ sb.SequenceMethodStart (initialIndent, file, seqNum);
+ sb.FormatList (indent, "list", cacheItems);
+ sb.Append (indent + "var queue = new CacheItemPriorityQueue ();\n");
+ sb.Append (indent + "CacheItem item;\n\n");
+
+ int idx;
+ var pq = new PriorityQueueState ("list", "queue", "item");
+ foreach (EDSequenceEntry entry in edSequence) {
+ idx = cacheIndex [entry.Item.Guid];
+
+ switch (entry.Type) {
+ case EDSequenceEntryType.Enqueue:
+ sb.FormatEnqueue (indent, pq, cacheItems, idx);
+ break;
+
+ case EDSequenceEntryType.Dequeue:
+ sb.FormatDequeue (indent, pq);
+ break;
+
+ case EDSequenceEntryType.Disable:
+ sb.FormatDisableItem (indent, pq, cacheItems, idx);
+ break;
+
+ case EDSequenceEntryType.Peek:
+ sb.FormatPeek (indent, pq);
+ break;
+ }
+ }
+
+ sb.FormatQueueSize (indent, pq);
+
+ while (pq.Queue.Count > 0)
+ sb.FormatDequeue (indent, pq);
+
+ sb.SequenceMethodEnd (initialIndent);
+ }
+
+ static List <EDSequenceEntry> LoadEDSequence (string file, out Dictionary <Guid, int> cacheIndex, out List <CacheItem> cacheItems,
+ out List <EDSequenceEntry> edSequence)
+ {
+ var doc = new XPathDocument (file);
+ XPathNavigator nav = doc.CreateNavigator (), current;
+ XPathNodeIterator nodes = nav.Select ("/sequence/entry");
+ CacheItem item;
+
+ edSequence = new List <EDSequenceEntry> ();
+ cacheIndex = new Dictionary <Guid, int> ();
+ cacheItems = new List <CacheItem> ();
+
+ while (nodes.MoveNext ()) {
+ current = nodes.Current;
+ item = CreateCacheItem (current, cacheIndex, cacheItems);
+ edSequence.Add (new EDSequenceEntry (item, current.GetRequiredAttribute <EDSequenceEntryType> ("type")));
+ }
+
+ return null;
+ }
+
+ static CacheItem CreateCacheItem (XPathNavigator node, Dictionary <Guid, int> cacheIndex, List <CacheItem> cacheItems)
+ {
+ Guid guid = node.GetRequiredAttribute <Guid> ("guid");
+ int idx;
+
+ if (cacheIndex.TryGetValue (guid, out idx))
+ return cacheItems [idx];
+
+ var ret = new CacheItem ();
+
+ ret.Key = node.GetRequiredAttribute <string> ("key");
+ ret.AbsoluteExpiration = node.GetRequiredAttribute <DateTime> ("absoluteExpiration");
+ ret.SlidingExpiration = node.GetRequiredAttribute <TimeSpan> ("slidingExpiration");
+ ret.Priority = node.GetRequiredAttribute <CacheItemPriority> ("priority");
+ ret.LastChange = node.GetRequiredAttribute <DateTime> ("lastChange");
+ ret.ExpiresAt = node.GetRequiredAttribute <long> ("expiresAt");
+ ret.Disabled = node.GetRequiredAttribute <bool> ("disabled");
+ ret.Guid = guid;
+
+ cacheItems.Add (ret);
+ cacheIndex.Add (guid, cacheItems.Count - 1);
+
+ return ret;
+ }
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<sequence>
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610181191660" slidingExpiration="0" priority="Normal" lastChange="634003610131192280" expiresAt="634003610181191660" disabled="False" guid="b50f84e2-b96b-4183-ac6a-afeec88a258d" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622131234770" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610131234800" expiresAt="634003622131234770" disabled="False" guid="78f08aef-31b7-49e6-8ba9-2d7b09f5340e" />
+ <entry type="Disable" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622131234770" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610131234800" expiresAt="634003622131234770" disabled="False" guid="78f08aef-31b7-49e6-8ba9-2d7b09f5340e" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622131252350" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610131252370" expiresAt="634003622131252350" disabled="False" guid="ecd90b49-bb12-4524-818e-977356f8b9d2" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131299190" expiresAt="634003610216655680" disabled="False" guid="38e7f821-d638-4f1d-89bd-41db556eb37a" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131300370" expiresAt="634003610216655680" disabled="False" guid="6e723bac-5e11-4cb3-933f-39923948371c" />
+ <entry type="Dequeue" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610181191660" slidingExpiration="0" priority="Normal" lastChange="634003610131192280" expiresAt="634003610181191660" disabled="False" guid="b50f84e2-b96b-4183-ac6a-afeec88a258d" />
+ <entry type="Disable" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610181191660" slidingExpiration="0" priority="Normal" lastChange="634003610131192280" expiresAt="634003610181191660" disabled="False" guid="b50f84e2-b96b-4183-ac6a-afeec88a258d" />
+ <entry type="Dequeue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131299190" expiresAt="634003610216655680" disabled="False" guid="38e7f821-d638-4f1d-89bd-41db556eb37a" />
+ <entry type="Disable" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131299190" expiresAt="634003610216655680" disabled="False" guid="38e7f821-d638-4f1d-89bd-41db556eb37a" />
+ <entry type="Dequeue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131300370" expiresAt="634003610216655680" disabled="False" guid="6e723bac-5e11-4cb3-933f-39923948371c" />
+ <entry type="Disable" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131300370" expiresAt="634003610216655680" disabled="False" guid="6e723bac-5e11-4cb3-933f-39923948371c" />
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610312287880" slidingExpiration="0" priority="Normal" lastChange="634003610262288150" expiresAt="634003610312287880" disabled="False" guid="93db96c7-eb5b-43b3-8524-e7d90cd159d7" />
+ <entry type="Disable" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622131252350" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610131252370" expiresAt="634003622131252350" disabled="False" guid="ecd90b49-bb12-4524-818e-977356f8b9d2" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622262288710" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610262288720" expiresAt="634003622262288710" disabled="False" guid="fc310ed6-2027-4d16-9343-a3e4b3487bd0" />
+ <entry type="Disable" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622262288710" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610262288720" expiresAt="634003622262288710" disabled="False" guid="fc310ed6-2027-4d16-9343-a3e4b3487bd0" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622262288910" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610262288920" expiresAt="634003622262288910" disabled="False" guid="de47322e-63c8-474f-8d2f-fb6a591075df" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610362271610" slidingExpiration="0" priority="Normal" lastChange="634003610262290290" expiresAt="634003610362271610" disabled="False" guid="f003a7ba-af48-4551-a206-1184fc83e621" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003610362271610" slidingExpiration="0" priority="Normal" lastChange="634003610262290570" expiresAt="634003610362271610" disabled="False" guid="5777ab80-078b-4f9a-81fb-f7872aceba99" />
+ <entry type="Dequeue" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610312287880" slidingExpiration="0" priority="Normal" lastChange="634003610262288150" expiresAt="634003610312287880" disabled="False" guid="93db96c7-eb5b-43b3-8524-e7d90cd159d7" />
+ <entry type="Disable" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610312287880" slidingExpiration="0" priority="Normal" lastChange="634003610262288150" expiresAt="634003610312287880" disabled="False" guid="93db96c7-eb5b-43b3-8524-e7d90cd159d7" />
+ <entry type="Dequeue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610362271610" slidingExpiration="0" priority="Normal" lastChange="634003610262290290" expiresAt="634003610362271610" disabled="False" guid="f003a7ba-af48-4551-a206-1184fc83e621" />
+ <entry type="Disable" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610362271610" slidingExpiration="0" priority="Normal" lastChange="634003610262290290" expiresAt="634003610362271610" disabled="False" guid="f003a7ba-af48-4551-a206-1184fc83e621" />
+</sequence>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<sequence>
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610181191660" slidingExpiration="0" priority="Normal" lastChange="634003610131192280" expiresAt="634003610181191660" disabled="False" guid="b50f84e2-b96b-4183-ac6a-afeec88a258d" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622131234770" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610131234800" expiresAt="634003622131234770" disabled="False" guid="78f08aef-31b7-49e6-8ba9-2d7b09f5340e" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622131252350" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610131252370" expiresAt="634003622131252350" disabled="False" guid="ecd90b49-bb12-4524-818e-977356f8b9d2" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131299190" expiresAt="634003610216655680" disabled="False" guid="38e7f821-d638-4f1d-89bd-41db556eb37a" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131300370" expiresAt="634003610216655680" disabled="False" guid="6e723bac-5e11-4cb3-933f-39923948371c" />
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610312287880" slidingExpiration="0" priority="Normal" lastChange="634003610262288150" expiresAt="634003610312287880" disabled="False" guid="93db96c7-eb5b-43b3-8524-e7d90cd159d7" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622262288710" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610262288720" expiresAt="634003622262288710" disabled="False" guid="fc310ed6-2027-4d16-9343-a3e4b3487bd0" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622262288910" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610262288920" expiresAt="634003622262288910" disabled="False" guid="de47322e-63c8-474f-8d2f-fb6a591075df" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610362271610" slidingExpiration="0" priority="Normal" lastChange="634003610262290290" expiresAt="634003610362271610" disabled="False" guid="f003a7ba-af48-4551-a206-1184fc83e621" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003610362271610" slidingExpiration="0" priority="Normal" lastChange="634003610262290570" expiresAt="634003610362271610" disabled="False" guid="5777ab80-078b-4f9a-81fb-f7872aceba99" />
+</sequence>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<sequence>
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610181191660" slidingExpiration="0" priority="Normal" lastChange="634003610131192280" expiresAt="634003610181191660" disabled="False" guid="b50f84e2-b96b-4183-ac6a-afeec88a258d" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622131234770" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610131234800" expiresAt="634003622131234770" disabled="False" guid="78f08aef-31b7-49e6-8ba9-2d7b09f5340e" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622131252350" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610131252370" expiresAt="634003622131252350" disabled="False" guid="ecd90b49-bb12-4524-818e-977356f8b9d2" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131299190" expiresAt="634003610216655680" disabled="False" guid="38e7f821-d638-4f1d-89bd-41db556eb37a" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131300370" expiresAt="634003610216655680" disabled="False" guid="6e723bac-5e11-4cb3-933f-39923948371c" />
+ <entry type="Dequeue" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610181191660" slidingExpiration="0" priority="Normal" lastChange="634003610131192280" expiresAt="634003610181191660" disabled="False" guid="b50f84e2-b96b-4183-ac6a-afeec88a258d" />
+ <entry type="Dequeue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131299190" expiresAt="634003610216655680" disabled="False" guid="38e7f821-d638-4f1d-89bd-41db556eb37a" />
+ <entry type="Dequeue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003610216655680" slidingExpiration="0" priority="Normal" lastChange="634003610131300370" expiresAt="634003610216655680" disabled="False" guid="6e723bac-5e11-4cb3-933f-39923948371c" />
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610312287880" slidingExpiration="0" priority="Normal" lastChange="634003610262288150" expiresAt="634003610312287880" disabled="False" guid="93db96c7-eb5b-43b3-8524-e7d90cd159d7" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622262288710" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610262288720" expiresAt="634003622262288710" disabled="False" guid="fc310ed6-2027-4d16-9343-a3e4b3487bd0" />
+ <entry type="Enqueue" key="@@@InProc@074DE5C88B2981727366B98C" absoluteExpiration="634003622262288910" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003610262288920" expiresAt="634003622262288910" disabled="False" guid="de47322e-63c8-474f-8d2f-fb6a591075df" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610362271610" slidingExpiration="0" priority="Normal" lastChange="634003610262290290" expiresAt="634003610362271610" disabled="False" guid="f003a7ba-af48-4551-a206-1184fc83e621" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003610362271610" slidingExpiration="0" priority="Normal" lastChange="634003610262290570" expiresAt="634003610362271610" disabled="False" guid="5777ab80-078b-4f9a-81fb-f7872aceba99" />
+ <entry type="Dequeue" key="PartialCachingControl\nGUID: 0a543377-1bcc-4ec5-9096-616fa29ec3f5\n" absoluteExpiration="634003610312287880" slidingExpiration="0" priority="Normal" lastChange="634003610262288150" expiresAt="634003610312287880" disabled="False" guid="93db96c7-eb5b-43b3-8524-e7d90cd159d7" />
+ <entry type="Dequeue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003610362271610" slidingExpiration="0" priority="Normal" lastChange="634003610262290290" expiresAt="634003610362271610" disabled="False" guid="f003a7ba-af48-4551-a206-1184fc83e621" />
+</sequence>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<sequence>
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n" absoluteExpiration="634003686315246510" slidingExpiration="0" priority="Normal" lastChange="634003686265247140" expiresAt="634003686315246510" disabled="False" guid="3378afe8-5a2a-4f30-aedd-fa146880f93e" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698265290760" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686265290790" expiresAt="634003698265290760" disabled="False" guid="33191cc7-c1b4-4726-b428-64efb69a6c46" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698265290760" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686265290790" expiresAt="634003698265290760" disabled="False" guid="33191cc7-c1b4-4726-b428-64efb69a6c46" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698265308270" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686265308280" expiresAt="634003698265308270" disabled="False" guid="88bee6f1-09ac-4af2-9bc3-ebd619009377" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003686350855860" slidingExpiration="0" priority="Normal" lastChange="634003686265355160" expiresAt="634003686350855860" disabled="False" guid="e290608d-7086-41a6-a87a-3f3051c14780" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003686350855860" slidingExpiration="0" priority="Normal" lastChange="634003686265356080" expiresAt="634003686350855860" disabled="False" guid="f374c3d0-06a5-4b0d-8fb5-f0e94a876847" />
+ <entry type="Disable" key="PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n" absoluteExpiration="634003686315246510" slidingExpiration="0" priority="Normal" lastChange="634003686265247140" expiresAt="634003686315246510" disabled="False" guid="3378afe8-5a2a-4f30-aedd-fa146880f93e" />
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n" absoluteExpiration="634003686370745960" slidingExpiration="0" priority="Normal" lastChange="634003686320746390" expiresAt="634003686370745960" disabled="False" guid="94cc61f5-312e-4d03-8d56-4e8b400f8ca0" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698265308270" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686265308280" expiresAt="634003698265308270" disabled="False" guid="88bee6f1-09ac-4af2-9bc3-ebd619009377" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698320747270" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686320747290" expiresAt="634003698320747270" disabled="False" guid="986174eb-da85-4a7b-9919-cd0668db69bf" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698320747270" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686320747290" expiresAt="634003698320747270" disabled="False" guid="986174eb-da85-4a7b-9919-cd0668db69bf" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698320747680" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686320747700" expiresAt="634003698320747680" disabled="False" guid="3c5fd8ab-a611-4bfb-afb0-5acee9b45dda" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQNgVadmin_edituserNuV78FH" absoluteExpiration="634003686420678320" slidingExpiration="0" priority="Normal" lastChange="634003686320750150" expiresAt="634003686420678320" disabled="False" guid="2d354d5c-8996-4932-ba5f-cd3591fe95cb" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQNgVadmin_edituserNuV78FH" absoluteExpiration="634003686420678320" slidingExpiration="0" priority="Normal" lastChange="634003686320750900" expiresAt="634003686420678320" disabled="False" guid="93a0e663-0354-4301-ac27-9e782091f661" />
+ <entry type="Disable" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003686350855860" slidingExpiration="0" priority="Normal" lastChange="634003686265355160" expiresAt="634003686350855860" disabled="False" guid="e290608d-7086-41a6-a87a-3f3051c14780" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698320747680" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686320747700" expiresAt="634003698320747680" disabled="False" guid="3c5fd8ab-a611-4bfb-afb0-5acee9b45dda" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698369030440" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686369030460" expiresAt="634003698369030440" disabled="False" guid="feebc79b-1867-42c9-a966-bbb448d78a44" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698369030440" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686369030460" expiresAt="634003698369030440" disabled="False" guid="feebc79b-1867-42c9-a966-bbb448d78a44" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698369035640" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686369035650" expiresAt="634003698369035640" disabled="False" guid="474193d1-4fd9-4b06-873a-e575744957a4" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003686469024010" slidingExpiration="0" priority="Normal" lastChange="634003686369037670" expiresAt="634003686469024010" disabled="False" guid="817d3f42-bf7b-4a13-90bc-1895cafe2d23" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003686469024010" slidingExpiration="0" priority="Normal" lastChange="634003686369038110" expiresAt="634003686469024010" disabled="False" guid="39402800-3c1e-478c-8bdc-571d902e32a7" />
+ <entry type="Disable" key="@InMemoryOCP_vbk/default.aspxGETWQNgVadmin_edituserNuV78FH" absoluteExpiration="634003686420678320" slidingExpiration="0" priority="Normal" lastChange="634003686320750150" expiresAt="634003686420678320" disabled="False" guid="2d354d5c-8996-4932-ba5f-cd3591fe95cb" />
+ <entry type="Disable" key="PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n" absoluteExpiration="634003686370745960" slidingExpiration="0" priority="Normal" lastChange="634003686320746390" expiresAt="634003686370745960" disabled="False" guid="94cc61f5-312e-4d03-8d56-4e8b400f8ca0" />
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n" absoluteExpiration="634003686509800050" slidingExpiration="0" priority="Normal" lastChange="634003686459800320" expiresAt="634003686509800050" disabled="False" guid="b45b3bd3-d55d-4c41-b9da-150c19ec0856" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698369035640" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686369035650" expiresAt="634003698369035640" disabled="False" guid="474193d1-4fd9-4b06-873a-e575744957a4" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698459800810" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686459800810" expiresAt="634003698459800810" disabled="False" guid="66bc962f-bf18-48a4-8164-722a5f53d211" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698459800810" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686459800810" expiresAt="634003698459800810" disabled="False" guid="66bc962f-bf18-48a4-8164-722a5f53d211" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698459801130" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686459801140" expiresAt="634003698459801130" disabled="False" guid="9096d210-ed15-4d38-9af2-26e59b0b8be0" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQNgVadmin_edituserNuV78FH" absoluteExpiration="634003686559793540" slidingExpiration="0" priority="Normal" lastChange="634003686459802570" expiresAt="634003686559793540" disabled="False" guid="f7e86ec2-dc06-484f-81ed-df4373fff95b" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQNgVadmin_edituserNuV78FH" absoluteExpiration="634003686559793540" slidingExpiration="0" priority="Normal" lastChange="634003686459802840" expiresAt="634003686559793540" disabled="False" guid="ad6319f5-27bc-4444-9eb8-1320009ab184" />
+ <entry type="Disable" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003686469024010" slidingExpiration="0" priority="Normal" lastChange="634003686369037670" expiresAt="634003686469024010" disabled="False" guid="817d3f42-bf7b-4a13-90bc-1895cafe2d23" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698459801130" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686459801140" expiresAt="634003698459801130" disabled="False" guid="9096d210-ed15-4d38-9af2-26e59b0b8be0" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698501880070" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686501880080" expiresAt="634003698501880070" disabled="False" guid="4e49dc65-2c6a-4b2f-97e2-9cf09175c57a" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698501880070" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686501880080" expiresAt="634003698501880070" disabled="False" guid="4e49dc65-2c6a-4b2f-97e2-9cf09175c57a" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698501880320" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686501880320" expiresAt="634003698501880320" disabled="False" guid="417fc6e2-b9ae-40eb-906b-6e41b306a908" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003686601873790" slidingExpiration="0" priority="Normal" lastChange="634003686501881840" expiresAt="634003686601873790" disabled="False" guid="7b0fb8c1-9642-4854-b979-7e223a092a3d" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003686601873790" slidingExpiration="0" priority="Normal" lastChange="634003686501882630" expiresAt="634003686601873790" disabled="False" guid="414bdd0b-ab30-4d61-aef2-2d34fd929ed2" />
+ <entry type="Disable" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003686601873790" slidingExpiration="0" priority="Normal" lastChange="634003686501881840" expiresAt="634003686601873790" disabled="False" guid="7b0fb8c1-9642-4854-b979-7e223a092a3d" />
+ <entry type="Disable" key="PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n" absoluteExpiration="634003686509800050" slidingExpiration="0" priority="Normal" lastChange="634003686459800320" expiresAt="634003686509800050" disabled="False" guid="b45b3bd3-d55d-4c41-b9da-150c19ec0856" />
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n" absoluteExpiration="634003686655460880" slidingExpiration="0" priority="Normal" lastChange="634003686605461330" expiresAt="634003686655460880" disabled="False" guid="c210ae2b-0c3d-4257-848d-f21ee48c02cc" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698501880320" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686501880320" expiresAt="634003698501880320" disabled="False" guid="417fc6e2-b9ae-40eb-906b-6e41b306a908" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698605462050" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686605462070" expiresAt="634003698605462050" disabled="False" guid="ac9cefe3-3331-4ee2-b0f1-69aaca2a955d" />
+ <entry type="Disable" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698605462050" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686605462070" expiresAt="634003698605462050" disabled="False" guid="ac9cefe3-3331-4ee2-b0f1-69aaca2a955d" />
+ <entry type="Enqueue" key="@@@InProc@A3D557581E229FAEA58A8D4F" absoluteExpiration="634003698605462460" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634003686605462470" expiresAt="634003698605462460" disabled="False" guid="ae852a56-e081-4ee7-b360-81d4ba1a2000" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003686705453300" slidingExpiration="0" priority="Normal" lastChange="634003686605464710" expiresAt="634003686705453300" disabled="False" guid="e8b43015-cc9b-4cad-a881-faead4f18aa3" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634003686705453300" slidingExpiration="0" priority="Normal" lastChange="634003686605465030" expiresAt="634003686705453300" disabled="False" guid="3866994b-3be5-4408-9077-529fe701d3f3" />
+ <entry type="Dequeue" key="PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n" absoluteExpiration="634003686655460880" slidingExpiration="0" priority="Normal" lastChange="634003686605461330" expiresAt="634003686655460880" disabled="False" guid="c210ae2b-0c3d-4257-848d-f21ee48c02cc" />
+ <entry type="Disable" key="PartialCachingControl\nGUID: 19e19704-457b-4894-978c-63d6d022bf22\n" absoluteExpiration="634003686655460880" slidingExpiration="0" priority="Normal" lastChange="634003686605461330" expiresAt="634003686655460880" disabled="False" guid="c210ae2b-0c3d-4257-848d-f21ee48c02cc" />
+ <entry type="Dequeue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003686705453300" slidingExpiration="0" priority="Normal" lastChange="634003686605464710" expiresAt="634003686705453300" disabled="False" guid="e8b43015-cc9b-4cad-a881-faead4f18aa3" />
+ <entry type="Disable" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634003686705453300" slidingExpiration="0" priority="Normal" lastChange="634003686605464710" expiresAt="634003686705453300" disabled="False" guid="e8b43015-cc9b-4cad-a881-faead4f18aa3" />
+</sequence>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<sequence>
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007595994690560" slidingExpiration="0" priority="Normal" lastChange="634007595944691200" expiresAt="634007595994690560" disabled="False" guid="757dc15a-3340-4704-9292-17f3004e2ee5" />
+ <entry type="Enqueue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007607944742000" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007595944742030" expiresAt="634007607944742000" disabled="False" guid="a4778103-c8e9-4304-90db-3f54b718e50a" />
+ <entry type="Disable" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007607944742000" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007595944742030" expiresAt="634007607944742000" disabled="False" guid="a4778103-c8e9-4304-90db-3f54b718e50a" />
+ <entry type="Enqueue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007607944758990" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007595944759010" expiresAt="634007607944758990" disabled="False" guid="246d4b59-6748-4bef-8f78-5b081b0686f1" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596029748620" slidingExpiration="0" priority="Normal" lastChange="634007595944806730" expiresAt="634007596029748620" disabled="False" guid="46616129-bd8d-402b-954f-a05944535e23" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596029748620" slidingExpiration="0" priority="Normal" lastChange="634007595944808340" expiresAt="634007596029748620" disabled="False" guid="f85a0942-6f20-4f71-ae57-3b2669052460" />
+ <entry type="Peek" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007595994690560" slidingExpiration="0" priority="Normal" lastChange="634007595944691200" expiresAt="634007595994690560" disabled="False" guid="757dc15a-3340-4704-9292-17f3004e2ee5" />
+ <entry type="Dequeue" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007595994690560" slidingExpiration="0" priority="Normal" lastChange="634007595944691200" expiresAt="634007595994690560" disabled="False" guid="757dc15a-3340-4704-9292-17f3004e2ee5" />
+ <entry type="Disable" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007595994690560" slidingExpiration="0" priority="Normal" lastChange="634007595944691200" expiresAt="634007595994690560" disabled="False" guid="757dc15a-3340-4704-9292-17f3004e2ee5" />
+ <entry type="Peek" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596029748620" slidingExpiration="0" priority="Normal" lastChange="634007595944808340" expiresAt="634007596029748620" disabled="False" guid="f85a0942-6f20-4f71-ae57-3b2669052460" />
+ <entry type="Dequeue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596029748620" slidingExpiration="0" priority="Normal" lastChange="634007595944808340" expiresAt="634007596029748620" disabled="False" guid="f85a0942-6f20-4f71-ae57-3b2669052460" />
+ <entry type="Disable" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596029748620" slidingExpiration="0" priority="Normal" lastChange="634007595944808340" expiresAt="634007596029748620" disabled="False" guid="f85a0942-6f20-4f71-ae57-3b2669052460" />
+ <entry type="Peek" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596029748620" slidingExpiration="0" priority="Normal" lastChange="634007595944806730" expiresAt="634007596029748620" disabled="False" guid="46616129-bd8d-402b-954f-a05944535e23" />
+ <entry type="Dequeue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596029748620" slidingExpiration="0" priority="Normal" lastChange="634007595944806730" expiresAt="634007596029748620" disabled="False" guid="46616129-bd8d-402b-954f-a05944535e23" />
+ <entry type="Disable" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596029748620" slidingExpiration="0" priority="Normal" lastChange="634007595944806730" expiresAt="634007596029748620" disabled="False" guid="46616129-bd8d-402b-954f-a05944535e23" />
+ <entry type="Peek" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007607944742000" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007595944742030" expiresAt="634007607944742000" disabled="False" guid="a4778103-c8e9-4304-90db-3f54b718e50a" />
+ <entry type="Dequeue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007607944742000" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007595944742030" expiresAt="634007607944742000" disabled="False" guid="a4778103-c8e9-4304-90db-3f54b718e50a" />
+ <entry type="Dequeue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007607944758990" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007595944759010" expiresAt="634007607944758990" disabled="False" guid="246d4b59-6748-4bef-8f78-5b081b0686f1" />
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007596187154840" slidingExpiration="0" priority="Normal" lastChange="634007596137155110" expiresAt="634007596187154840" disabled="False" guid="e8b1f7d4-a874-4b56-84ce-1434a72f9d35" />
+ <entry type="Disable" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007607944758990" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007595944759010" expiresAt="634007607944758990" disabled="False" guid="246d4b59-6748-4bef-8f78-5b081b0686f1" />
+ <entry type="Enqueue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608137155850" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596137155860" expiresAt="634007608137155850" disabled="False" guid="bc16a289-5ce4-436f-9791-1885f033bc6e" />
+ <entry type="Disable" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608137155850" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596137155860" expiresAt="634007608137155850" disabled="False" guid="bc16a289-5ce4-436f-9791-1885f033bc6e" />
+ <entry type="Enqueue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608137156090" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596137156090" expiresAt="634007608137156090" disabled="False" guid="f6651f9b-36fd-481d-bb31-8abc3d110a45" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596237139120" slidingExpiration="0" priority="Normal" lastChange="634007596137157830" expiresAt="634007596237139120" disabled="False" guid="226ef04f-1118-4225-abe1-43d6e228db95" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596237139120" slidingExpiration="0" priority="Normal" lastChange="634007596137158220" expiresAt="634007596237139120" disabled="False" guid="9df2ed49-168b-4769-8d9e-7f963e62123c" />
+ <entry type="Peek" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007596187154840" slidingExpiration="0" priority="Normal" lastChange="634007596137155110" expiresAt="634007596187154840" disabled="False" guid="e8b1f7d4-a874-4b56-84ce-1434a72f9d35" />
+ <entry type="Dequeue" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007596187154840" slidingExpiration="0" priority="Normal" lastChange="634007596137155110" expiresAt="634007596187154840" disabled="False" guid="e8b1f7d4-a874-4b56-84ce-1434a72f9d35" />
+ <entry type="Disable" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007596187154840" slidingExpiration="0" priority="Normal" lastChange="634007596137155110" expiresAt="634007596187154840" disabled="False" guid="e8b1f7d4-a874-4b56-84ce-1434a72f9d35" />
+ <entry type="Peek" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596237139120" slidingExpiration="0" priority="Normal" lastChange="634007596137158220" expiresAt="634007596237139120" disabled="False" guid="9df2ed49-168b-4769-8d9e-7f963e62123c" />
+ <entry type="Peek" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596237139120" slidingExpiration="0" priority="Normal" lastChange="634007596137158220" expiresAt="634007596237139120" disabled="False" guid="9df2ed49-168b-4769-8d9e-7f963e62123c" />
+ <entry type="Dequeue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596237139120" slidingExpiration="0" priority="Normal" lastChange="634007596137158220" expiresAt="634007596237139120" disabled="False" guid="9df2ed49-168b-4769-8d9e-7f963e62123c" />
+ <entry type="Disable" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596237139120" slidingExpiration="0" priority="Normal" lastChange="634007596137158220" expiresAt="634007596237139120" disabled="False" guid="9df2ed49-168b-4769-8d9e-7f963e62123c" />
+ <entry type="Peek" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596237139120" slidingExpiration="0" priority="Normal" lastChange="634007596137157830" expiresAt="634007596237139120" disabled="False" guid="226ef04f-1118-4225-abe1-43d6e228db95" />
+ <entry type="Dequeue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596237139120" slidingExpiration="0" priority="Normal" lastChange="634007596137157830" expiresAt="634007596237139120" disabled="False" guid="226ef04f-1118-4225-abe1-43d6e228db95" />
+ <entry type="Disable" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596237139120" slidingExpiration="0" priority="Normal" lastChange="634007596137157830" expiresAt="634007596237139120" disabled="False" guid="226ef04f-1118-4225-abe1-43d6e228db95" />
+ <entry type="Peek" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608137155850" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596137155860" expiresAt="634007608137155850" disabled="False" guid="bc16a289-5ce4-436f-9791-1885f033bc6e" />
+ <entry type="Dequeue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608137155850" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596137155860" expiresAt="634007608137155850" disabled="False" guid="bc16a289-5ce4-436f-9791-1885f033bc6e" />
+ <entry type="Dequeue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608137156090" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596137156090" expiresAt="634007608137156090" disabled="False" guid="f6651f9b-36fd-481d-bb31-8abc3d110a45" />
+ <entry type="Enqueue" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007596504393570" slidingExpiration="0" priority="Normal" lastChange="634007596454393850" expiresAt="634007596504393570" disabled="False" guid="30952e54-d94b-450d-b1ff-5e74c66bb4f5" />
+ <entry type="Disable" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608137156090" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596137156090" expiresAt="634007608137156090" disabled="False" guid="f6651f9b-36fd-481d-bb31-8abc3d110a45" />
+ <entry type="Enqueue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608454399100" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596454399110" expiresAt="634007608454399100" disabled="False" guid="e50d5a73-7861-412b-b9ad-924c13c2e9c5" />
+ <entry type="Disable" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608454399100" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596454399110" expiresAt="634007608454399100" disabled="False" guid="e50d5a73-7861-412b-b9ad-924c13c2e9c5" />
+ <entry type="Enqueue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608454399320" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596454399330" expiresAt="634007608454399320" disabled="False" guid="631452f5-a8e5-483e-a0ac-9c3f7abd37a1" />
+ <entry type="Enqueue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596554387900" slidingExpiration="0" priority="Normal" lastChange="634007596454400830" expiresAt="634007596554387900" disabled="False" guid="01a63c0e-5963-4eac-8b0e-b1b2ea508098" />
+ <entry type="Enqueue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596554387900" slidingExpiration="0" priority="Normal" lastChange="634007596454401080" expiresAt="634007596554387900" disabled="False" guid="9e38cf23-6785-49e8-9922-8e1c1d86a205" />
+ <entry type="Peek" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007596504393570" slidingExpiration="0" priority="Normal" lastChange="634007596454393850" expiresAt="634007596504393570" disabled="False" guid="30952e54-d94b-450d-b1ff-5e74c66bb4f5" />
+ <entry type="Dequeue" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007596504393570" slidingExpiration="0" priority="Normal" lastChange="634007596454393850" expiresAt="634007596504393570" disabled="False" guid="30952e54-d94b-450d-b1ff-5e74c66bb4f5" />
+ <entry type="Disable" key="PartialCachingControl\nGUID: f11febcc-d445-4036-bb93-aa3932ceb4ef\n" absoluteExpiration="634007596504393570" slidingExpiration="0" priority="Normal" lastChange="634007596454393850" expiresAt="634007596504393570" disabled="False" guid="30952e54-d94b-450d-b1ff-5e74c66bb4f5" />
+ <entry type="Peek" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596554387900" slidingExpiration="0" priority="Normal" lastChange="634007596454401080" expiresAt="634007596554387900" disabled="False" guid="9e38cf23-6785-49e8-9922-8e1c1d86a205" />
+ <entry type="Peek" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596554387900" slidingExpiration="0" priority="Normal" lastChange="634007596454401080" expiresAt="634007596554387900" disabled="False" guid="9e38cf23-6785-49e8-9922-8e1c1d86a205" />
+ <entry type="Dequeue" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596554387900" slidingExpiration="0" priority="Normal" lastChange="634007596454401080" expiresAt="634007596554387900" disabled="False" guid="9e38cf23-6785-49e8-9922-8e1c1d86a205" />
+ <entry type="Disable" key="@prefix@_vbk/default.aspxGETWQFH" absoluteExpiration="634007596554387900" slidingExpiration="0" priority="Normal" lastChange="634007596454401080" expiresAt="634007596554387900" disabled="False" guid="9e38cf23-6785-49e8-9922-8e1c1d86a205" />
+ <entry type="Peek" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596554387900" slidingExpiration="0" priority="Normal" lastChange="634007596454400830" expiresAt="634007596554387900" disabled="False" guid="01a63c0e-5963-4eac-8b0e-b1b2ea508098" />
+ <entry type="Dequeue" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596554387900" slidingExpiration="0" priority="Normal" lastChange="634007596454400830" expiresAt="634007596554387900" disabled="False" guid="01a63c0e-5963-4eac-8b0e-b1b2ea508098" />
+ <entry type="Disable" key="@InMemoryOCP_vbk/default.aspxGETWQFH" absoluteExpiration="634007596554387900" slidingExpiration="0" priority="Normal" lastChange="634007596454400830" expiresAt="634007596554387900" disabled="False" guid="01a63c0e-5963-4eac-8b0e-b1b2ea508098" />
+ <entry type="Peek" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608454399100" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596454399110" expiresAt="634007608454399100" disabled="False" guid="e50d5a73-7861-412b-b9ad-924c13c2e9c5" />
+ <entry type="Dequeue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608454399100" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596454399110" expiresAt="634007608454399100" disabled="False" guid="e50d5a73-7861-412b-b9ad-924c13c2e9c5" />
+ <entry type="Dequeue" key="@@@InProc@B748F7C2AA1F04BCF40EAB40" absoluteExpiration="634007608454399320" slidingExpiration="12000000000" priority="AboveNormal" lastChange="634007596454399330" expiresAt="634007608454399320" disabled="False" guid="631452f5-a8e5-483e-a0ac-9c3f7abd37a1" />
+</sequence>
\ No newline at end of file
--- /dev/null
+//
+// Utils.cs
+//
+// Author:
+// Marek Habersack <grendel@twistedcode.net>
+//
+// Copyright (c) 2010, Marek Habersack
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification, are permitted
+// provided that the following conditions are met:
+//
+// * Redistributions of source code must retain the above copyright notice, this list of
+// conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above copyright notice, this list of
+// conditions and the following disclaimer in the documentation and/or other materials
+// provided with the distribution.
+// * Neither the name of Marek Habersack nor the names of its contributors may be used to
+// endorse or promote products derived from this software without specific prior written
+// permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.IO;
+using System.Text;
+using System.Web.Caching;
+using System.Xml;
+using System.Xml.XPath;
+
+namespace Tester
+{
+ static class Utils
+ {
+ public static T GetRequiredAttribute <T> (this XPathNavigator nav, string name)
+ {
+ string value = nav.GetAttribute (name, String.Empty);
+ if (String.IsNullOrEmpty (value))
+ throw new InvalidOperationException (String.Format ("Required attribute '{0}' missing.", name));
+
+ if (typeof (T) == typeof (string))
+ return (T)((object)value);
+
+ // Special cases because we use ticks
+ if (typeof (T) == typeof (DateTime))
+ return (T)((object) new DateTime (Int64.Parse (value)));
+ else if (typeof (T) == typeof (TimeSpan))
+ return (T)((object) new TimeSpan (Int64.Parse (value)));
+
+ TypeConverter cvt = TypeDescriptor.GetConverter (typeof (T));
+ if (cvt == null)
+ throw new InvalidOperationException (String.Format ("Type converter for type '{0}' cannot be found.", typeof (T)));
+
+ if (!cvt.CanConvertFrom (typeof (string)))
+ throw new InvalidOperationException (String.Format ("Conversion from string to type '{0}' is not supported.", typeof (T)));
+
+ return (T) cvt.ConvertFrom (value);
+ }
+
+ public static void SequenceMethodStart (this StringBuilder sb, string indent, string fileName, int seqNum)
+ {
+ sb.Append ("\n" + indent);
+ sb.AppendFormat ("[Test (Description=\"Generated from sequence file {0}\")]\n", Path.GetFileName (fileName));
+ sb.Append (indent);
+ sb.AppendFormat ("public void Sequence_{0:0000} ()\n", seqNum);
+ sb.Append (indent);
+ sb.Append ("{\n");
+ }
+
+ public static void SequenceMethodEnd (this StringBuilder sb, string indent)
+ {
+ sb.Append (indent);
+ sb.Append ("}\n");
+ }
+
+ public static void FormatQueueSize (this StringBuilder sb, string indent, PriorityQueueState qs)
+ {
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual ({0}, {1}.Count, \"Queue size after sequence\");\n\n",
+ qs.Queue.Count, qs.QueueName);
+ }
+
+ public static void FormatDisableItem (this StringBuilder sb, string indent, PriorityQueueState qs, List <CacheItem> list, int index)
+ {
+ CacheItem item = list [index];
+ sb.Append (indent);
+ sb.AppendFormat ("{0} = {1} [{2}];\n", qs.ItemName, qs.ListName, index);
+ sb.Append (indent);
+
+ if (item == null) {
+ sb.AppendFormat ("Assert.IsNull ({0}, \"Disable-{1:0000}-1\");\n",
+ qs.ItemName, qs.DisableCount);
+ return;
+ }
+
+ sb.AppendFormat ("Assert.IsNotNull ({0}, \"Disable-{1:0000}-1\");\n",
+ qs.ItemName, qs.DisableCount);
+
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual (\"{0}\", {1}.Guid.ToString(), \"Disable-{2:0000}-3\");\n",
+ item.Guid.ToString (), qs.ItemName, qs.DisableCount);
+
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual ({0}, {1}.Disabled, \"Disable-{2:0000}-3\");\n",
+ item.Disabled.ToString ().ToLowerInvariant (),
+ qs.ItemName, qs.DisableCount);
+ sb.Append (indent);
+ sb.AppendFormat ("{0}.Disabled = true;\n\n", qs.ItemName);
+
+ item.Disabled = true;
+
+ qs.DisableCount++;
+ }
+
+ public static void FormatDequeue (this StringBuilder sb, string indent, PriorityQueueState qs)
+ {
+ CacheItem item = qs.Dequeue ();
+
+ sb.Append (indent);
+ sb.AppendFormat ("{0} = {1}.Dequeue ();\n", qs.ItemName, qs.QueueName);
+ sb.Append (indent);
+ if (item != null)
+ sb.AppendFormat ("Assert.IsNotNull ({0}, \"Dequeue-{1:0000}-1\");\n", qs.ItemName, qs.DequeueCount);
+ else
+ sb.AppendFormat ("Assert.IsNull ({0}, \"Dequeue-{1:0000}-1\");\n", qs.ItemName, qs.DequeueCount);
+
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual ({0}, {1}.Count, \"Dequeue-{2:0000}-2\");\n",
+ qs.Queue.Count, qs.QueueName, qs.DequeueCount);
+
+ if (item != null) {
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual (\"{0}\", {1}.Guid.ToString (), \"Dequeue-{2:0000}-3\");\n",
+ item.Guid.ToString (), qs.ItemName, qs.DequeueCount);
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual ({0}, {1}.Disabled, \"Dequeue-{2:0000}-4\");\n\n",
+ item.Disabled.ToString ().ToLowerInvariant (), qs.ItemName, qs.DequeueCount);
+ }
+
+ qs.DequeueCount++;
+ }
+
+ public static void FormatPeek (this StringBuilder sb, string indent, PriorityQueueState qs)
+ {
+ CacheItem item = qs.Peek ();
+
+ sb.Append (indent);
+ sb.AppendFormat ("{0} = {1}.Peek ();\n", qs.ItemName, qs.QueueName);
+ sb.Append (indent);
+ if (item != null)
+ sb.AppendFormat ("Assert.IsNotNull ({0}, \"Peek-{1:0000}-1\");\n", qs.ItemName, qs.PeekCount);
+ else
+ sb.AppendFormat ("Assert.IsNull ({0}, \"Peek-{1:0000}-1\");\n", qs.ItemName, qs.PeekCount);
+
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual ({0}, {1}.Count, \"Peek-{2:0000}-2\");\n", qs.Queue.Count, qs.QueueName, qs.PeekCount);
+
+ if (item != null) {
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual (\"{0}\", {1}.Guid.ToString (), \"Peek-{2:0000}-3\");\n",
+ item.Guid.ToString (), qs.ItemName, qs.PeekCount);
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual ({0}, {1}.Disabled, \"Peek-{2:0000}-4\");\n\n",
+ item.Disabled.ToString ().ToLowerInvariant (), qs.ItemName, qs.PeekCount);
+ }
+
+ qs.PeekCount++;
+ }
+
+ public static void FormatEnqueue (this StringBuilder sb, string indent, PriorityQueueState qs, List <CacheItem> list, int index)
+ {
+ qs.Enqueue (list [index]);
+ sb.Append (indent);
+ sb.AppendFormat ("{0}.Enqueue ({1} [{2}]);\n", qs.QueueName, qs.ListName, index);
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual ({0}, {1}.Count, \"Enqueue-{2:0000}-1\");\n",
+ qs.Queue.Count, qs.QueueName, qs.EnqueueCount);
+ sb.Append (indent);
+ sb.AppendFormat ("Assert.AreEqual (\"{0}\", {1}.Peek ().Guid.ToString(), \"Enqueue-{2:0000}-2\");\n\n",
+ qs.Peek ().Guid.ToString (), qs.QueueName, qs.EnqueueCount);
+
+ qs.EnqueueCount++;
+ }
+
+ public static void FormatList (this StringBuilder sb, string indent, string listName, List <CacheItem> list)
+ {
+ if (list == null || list.Count == 0) {
+ sb.AppendFormat (indent + "var {0} = new List <CacheItem> ();\n", listName);
+ return;
+ }
+
+ sb.AppendFormat (indent + "var {0} = new List <CacheItem> {{\n", listName);
+
+ foreach (CacheItem ci in list)
+ CreateNewCacheItemInstanceCode (indent + "\t", sb, ci);
+ sb.Append (indent + "};\n");
+ }
+
+ static void CreateNewCacheItemInstanceCode (string indent, StringBuilder sb, CacheItem item)
+ {
+ sb.Append (indent + "new CacheItem {");
+ sb.AppendFormat ("Key = \"{0}\", ", item.Key.Replace ("\n", "\\n").Replace ("\r", "\\r"));
+ sb.AppendFormat ("AbsoluteExpiration = DateTime.Parse (\"{0}\"), ", item.AbsoluteExpiration.ToString ());
+ sb.AppendFormat ("SlidingExpiration = TimeSpan.Parse (\"{0}\"), ", item.SlidingExpiration.ToString ());
+ sb.AppendFormat ("Priority = CacheItemPriority.{0}, ", item.Priority);
+ sb.AppendFormat ("LastChange = DateTime.Parse (\"{0}\"), ", item.LastChange.ToString ());
+ sb.AppendFormat ("ExpiresAt = {0}, ", item.ExpiresAt);
+ sb.AppendFormat ("Disabled = {0}, ", item.Disabled.ToString ().ToLowerInvariant ());
+ sb.AppendFormat ("Guid = new Guid (\"{0}\")}}, \n", item.Guid.ToString ());
+ }
+ }
+}
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Reflection;
+using System.Text;
+using System.Web;
+using System.Web.Caching;
+
+namespace Tester
+{
+ class Tester
+ {
+ static void Main (string[] args)
+ {
+ if (args.Length < 1) {
+ Console.WriteLine ("Usage: cache-pq-test-generator.exe <SEQUENCE_DIRECTORY>");
+ Console.WriteLine ();
+ Environment.Exit (1);
+ }
+
+ if (!Directory.Exists (args [0])) {
+ Console.WriteLine ("Sequence directory {0} cannot be found.", args [0]);
+ Environment.Exit (1);
+ }
+
+ var sb = new StringBuilder ();
+ sb.Append (@"//
+// This source was autogenerated - do not modify it, changes may not be preserved
+//
+#if !TARGET_DOTNET
+using System;
+using System.Collections.Generic;
+using System.Web;
+using System.Web.Caching;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Web.Caching
+{
+ public partial class CacheItemPriorityQueueTest
+ {");
+ Sequences.Run (sb, args [0], "\t\t");
+ sb.Append (" }\n}\n#endif\n");
+
+ Console.WriteLine (sb.ToString ());
+ }
+ }
+}
\ No newline at end of file
+2010-02-03 Marek Habersack <mhabersack@novell.com>
+
+ * Makefile: added targets to compile cache priority queue tests
+ generator and to generate the tests themselves
+
2010-01-19 Marek Habersack <mhabersack@novell.com>
* standalone-runner.cs: reformatted summary message to match
-r:$(STANDALONE_RUNNER_SUPPORT_ASSEMBLY) \
-r:System.Web.dll
-all-local: HtmlWriter.dll standalone-runner.exe
+CACHE_PQ_TEST_GENERATOR_SOURCES = \
+ CachePQTestGenerator/CacheItemComparer.cs \
+ CachePQTestGenerator/PriorityQueue.cs \
+ CachePQTestGenerator/PriorityQueueState.cs \
+ CachePQTestGenerator/Sequences.cs \
+ CachePQTestGenerator/Utils.cs \
+ CachePQTestGenerator/cache-pq-test-generator.cs \
+ ../../System.Web.Caching/CacheItem.cs \
+ ../../System.Web.Caching/CacheItemPriorityQueue.cs \
+ ../../System.Web.Caching/CacheItemPriorityQueueDebug.cs
+
+CACHE_PQ_TEST_GENERATOR_REFERENCES = \
+ -pkg:dotnet
+
+CACHE_PQ_TEST_SEQUENCES = $(wildcard ./CachePQTestGenerator/Sequences/*.seq)
+
+all-local: HtmlWriter.dll standalone-runner.exe cache-pq-test-generator.exe
HtmlWriter.dll: HtmlWriter.cs
$(MCS) -t:library -r:System.Web.dll $<
standalone-runner.exe: deps $(STANDALONE_RUNNER_SOURCES)
$(MCS) -debug:full $(STANDALONE_RUNNER_REFERENCES) -out:$@ $(STANDALONE_RUNNER_SOURCES)
+cache-pq-test-generator.exe: $(CACHE_PQ_TEST_GENERATOR_SOURCES)
+ $(MCS) -debug:full -d:DEBUG $(CACHE_PQ_TEST_GENERATOR_REFERENCES) -out:$@ $(CACHE_PQ_TEST_GENERATOR_SOURCES)
+
+generate-cache-pq-tests: cache-pq-test-generator.exe
+ $(RUNTIME) cache-pq-test-generator.exe ./CachePQTestGenerator/Sequences/ > ../System.Web.Caching/CacheItemPriorityQueueTest_generated.cs
+
deps:
ifndef STANDALONE_SUPPORT_BUILT
$(MAKE) -C ../../ standalone-runner-support
The default output is a sequence number, the function called and its
arguments.
+
+ * cache-pq-test-generator: a utility to generate NUnit tests for System.Web.Caching
+ CacheItem priority queue, used to store timed cache items. The utility generates
+ code from sequence files (found in CachePQTestGenerator/Sequences/*.seq) which, in turn
+ are generated by the CacheItemPriorityQueue class itself if System.Web is compiled with
+ the DEBUG macro defined. To generate the sequence files just run your application as usual
+ and at the exit a .seq file will be created in the application's root directory.
+ Copy the generated .seq file to the sequences directory mentioned above and run:
+
+ make generate-cache-pq-tests
+
+ which will generate the ../System.Web.Caching/CacheItemPriorityQueueTest_generated.cs file
System.Web/IHtmlString.cs
System.Web/HtmlString.cs
+System.Web.Caching/FileResponseElement.cs
+System.Web.Caching/HeaderElement.cs
+System.Web.Caching/IOutputCacheEntry.cs
+System.Web.Caching/MemoryResponseElement.cs
+System.Web.Caching/OutputCache.cs
+System.Web.Caching/OutputCacheProviderCollection.cs
+System.Web.Caching/ResponseElement.cs
+System.Web.Caching/SubstitutionResponseElement.cs
+System.Web.SessionState_2.0/SessionStateBehavior.cs
System.Web.Routing/PageRouteHandler.cs
System.Web.UI.WebControls/IDataBoundControl.cs
System.Web.UI.WebControls/IDataBoundItemControl.cs
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XPathEditableDocument.cs : add support for WriteRaw().
+ Patch by Adriaan van Kekem, closing bug #560838.
+
2009-11-17 Atsushi Enomoto <atsushi@ximian.com>
* XPathEditableDocument.cs : WriteAttributeString() is allowed on
public override void WriteRaw (string raw)
{
- throw new NotSupportedException ();
+ XmlReader reader = new XmlTextReader(new System.IO.StringReader(raw));
+ WriteRaw(reader);
+ }
+
+ private void WriteRaw(XmlReader reader)
+ {
+ if (reader != null && reader.NodeType == XmlNodeType.Element)
+ {
+ WriteStartElement (reader.Prefix, reader.LocalName, reader.NamespaceURI);
+ WriteAttributes (reader, true);
+ WriteRaw (reader.ReadSubtree ());
+ WriteEndElement ();
+
+ }
}
public override void WriteSurrogateCharEntity (char msb, char lsb)
+2010-02-16 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaComplexType.cs : in modern .NET, xs:anyType has the
+ appropriate qname.
+
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlAtomicValue.cs: handle Decimal here to process xs:decimal as
+ a valid base type for simple types. patch by Luke Ravitch,
+ Fixed bug #557452.
+
+2010-01-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaComplexType.cs : validate base type first and then
+ validate particle. Patch by Jonas Larsson, fixed bug #502251.
+
+2010-01-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaSet.cs : when adding a schema with "", it seems treated
+ as if it were null. Fixed bug #571650.
+
2009-05-19 Jonas Larsson <jonas.larsson@manodo.se>
* XmlSchemaUtil.cs, BuiltInDatatype.cs, XmlSchemaComplexType.cs:
case XmlTypeCode.Short:
case XmlTypeCode.UnsignedShort:
return ValueAsInt;
+ case XmlTypeCode.Decimal:
+ return ValueAsDecimal;
case XmlTypeCode.Double:
case XmlTypeCode.Float:
return ValueAsDouble;
return ValueAsBoolean;
case XmlTypeCode.DateTime:
return ValueAsDateTime;
+ case XmlTypeCode.Decimal:
+ return ValueAsDecimal;
case XmlTypeCode.Float:
case XmlTypeCode.Double:
return ValueAsDouble;
case XmlTypeCode.Double:
stringValue = XQueryConvert.DoubleToString (ValueAsDouble);
break;
+ case XmlTypeCode.Decimal:
+ stringValue = XQueryConvert.DecimalToString (ValueAsDecimal);
+ break;
case XmlTypeCode.NonPositiveInteger:
case XmlTypeCode.NonNegativeInteger:
case XmlTypeCode.NegativeInteger:
}
}
+ // Unlike the other ValueAs...() functions, this is not part
+ // of the XPathItem abstract class, so it's not an override
+ public decimal ValueAsDecimal {
+ get {
+ switch (xmlTypeCode) {
+ case XmlTypeCode.Boolean:
+ return XQueryConvert.BooleanToDecimal (booleanValue);
+ case XmlTypeCode.Decimal:
+ return decimalValue;
+ case XmlTypeCode.Double:
+ return XQueryConvert.DoubleToDecimal (doubleValue);
+ case XmlTypeCode.Long:
+ return XQueryConvert.IntegerToDecimal (longValue);
+ case XmlTypeCode.Int:
+ return XQueryConvert.IntToDecimal (intValue);
+ case XmlTypeCode.Float:
+ return XQueryConvert.FloatToDecimal (floatValue);
+ case XmlTypeCode.String:
+ return XQueryConvert.StringToDecimal (stringValue);
+ case XmlTypeCode.None:
+ case XmlTypeCode.Item:
+ case XmlTypeCode.AnyAtomicType:
+ if (objectValue is decimal)
+ return (decimal) objectValue;
+ break;
+ }
+
+ throw new InvalidCastException (String.Format ("Conversion from {0} to {1} is not supported", schemaType.QualifiedName, XmlSchemaSimpleType.XsDecimal.QualifiedName));
+ }
+ }
+
public override double ValueAsDouble {
get {
switch (xmlTypeCode) {
get {
if (anyType == null) {
anyType = new XmlSchemaComplexType ();
- anyType.Name = ""; // In MS.NET, it is not "anyType"
- anyType.QNameInternal = XmlQualifiedName.Empty; // Not xs:anyType as well.
+ anyType.Name = "anyType";
+ anyType.QNameInternal = new XmlQualifiedName ("anyType", XmlSchema.Namespace);
if (XmlSchemaUtil.StrictMsCompliant)
anyType.validatableParticle = XmlSchemaParticle.Empty; // This code makes validator handles these schemas incorrectly: particlesIb001, mgM013, mgH014, ctE004, ctD004
else
CollectSchemaComponent (h, schema);
- ValidateContentFirstPass (h, schema);
-
+ ValidateBaseXmlSchemaType (h, schema);
+
+ ValidateParticle (h, schema);
+
FillContentTypeParticle (h, schema);
// 3.4.6: Properties Correct
XmlSchemaUtil.ValidateAttributesResolved (attributeUses,
h, schema, attributes, anyAttribute, ref attributeWildcard, null, false);
}
-
- private void ValidateContentFirstPass (ValidationEventHandler h, XmlSchema schema)
+
+ private void ValidateBaseXmlSchemaType (ValidationEventHandler h, XmlSchema schema)
{
- if (ContentModel != null) {
- errorCount += contentModel.Validate (h, schema);
- if (BaseXmlSchemaTypeInternal != null)
- errorCount += BaseXmlSchemaTypeInternal.Validate (h, schema);
- }
- else if (Particle != null) {
+ if (ContentModel != null && BaseXmlSchemaTypeInternal != null)
+ errorCount += BaseXmlSchemaTypeInternal.Validate (h, schema);
+ }
+
+ private void ValidateParticle (ValidationEventHandler h, XmlSchema schema)
+ {
+ if (ContentModel == null && Particle != null) {
errorCount += particle.Validate (h, schema);
XmlSchemaGroupRef pgrp = Particle as XmlSchemaGroupRef;
if (pgrp != null) {
private void ValidateContentModel (ValidationEventHandler h, XmlSchema schema)
{
+ errorCount += contentModel.Validate (h, schema);
+
XmlSchemaType baseType = BaseXmlSchemaTypeInternal;
// Here we check 3.4.6 Properties Correct :: 2. and 3.
{
XmlSchema schema = XmlSchema.Read (reader, ValidationEventHandler);
if (schema.TargetNamespace == null)
- schema.TargetNamespace = targetNamespace;
+ schema.TargetNamespace = targetNamespace == String.Empty ? null : targetNamespace; // this weirdness is due to bug #571660.
else if (targetNamespace != null && schema.TargetNamespace != targetNamespace)
throw new XmlSchemaException ("The actual targetNamespace in the schema does not match the parameter.");
Add (schema);
+2010-01-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SerializationCodeGenerator.cs : generate valid code for non-
+ identifier names. This should fix bug #488293.
+
+2010-01-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlReflectionImporter.cs, SerializationCodeGenerator.cs,
+ XmlSerializationWriterInterpreter.cs: XmlAnyElementAttribute can be
+ still used for non-XmlNode (object) array. It only fails when it
+ tries to serialize non-XmlNode object at run-time.
+ Fixed bug #553032.
+
2010-01-06 Atsushi Enomoto <atsushi@ximian.com>
* SerializationCodeGenerator.cs : enum value identifiers should be
void GenerateWriteAnyElementContent (XmlTypeMapMemberAnyElement member, string memberValue)
{
bool singleElement = (member.TypeData.Type == typeof (XmlElement));
- string var;
+ string var, var2;
+ var2 = GetObTempVar ();
if (singleElement)
var = memberValue;
else {
var = GetObTempVar ();
- WriteLineInd ("foreach (XmlNode " + var + " in " + memberValue + ") {");
+ WriteLineInd ("foreach (object " + var2 + " in " + memberValue + ") {");
}
-
+ WriteLine ("XmlNode " + var + " = " + var2 + " as XmlNode;");
+ WriteLine ("if (" + var + " == null && " + var2 + "!= null) throw new InvalidOperationException (\"A member with XmlAnyElementAttribute can only serialize and deserialize certain XmlNode types.");
+ WriteLineUni ("}");
+
string elem = GetObTempVar ();
WriteLine ("XmlNode " + elem + " = " + var + ";");
WriteLine ("if (" + elem + " is XmlElement) {");
WriteLineUni ("}");
WriteLine ("else UnknownNode (null);");
WriteLine ("");
- WriteLine ("return null;");
+ WriteLine ("return default (" + typeMap.TypeData.CSharpFullName + ");");
}
void GenerateReadInitCallbacks ()
string GetUniqueName (string uniqueGroup, object ob, string name)
{
- name = name.Replace ("[]","_array");
+ name = CodeIdentifier.MakeValid (name.Replace ("[]","_array"));
Hashtable names = (Hashtable) _uniqueNames [uniqueGroup];
if (names == null) {
names = new Hashtable ();
string GetUniqueClassName (string s)
{
- return classNames.AddUnique (s, null);
+ return classNames.AddUnique (CodeIdentifier.MakeValid (s), null);
}
string GetReadObjectCall (XmlTypeMapping typeMap, string isNullable, string checkType)
}
else if (atts.XmlAnyElements != null && atts.XmlAnyElements.Count > 0)
{
- if ( (rmember.MemberType.FullName == "System.Xml.XmlElement[]") ||
- (rmember.MemberType.FullName == "System.Xml.XmlNode[]") ||
- (rmember.MemberType.FullName == "System.Xml.XmlElement"))
- {
- XmlTypeMapMemberAnyElement member = new XmlTypeMapMemberAnyElement();
- member.ElementInfo = ImportAnyElementInfo (defaultNamespace, rmember, member, atts);
- mapMember = member;
- }
- else
- throw new InvalidOperationException ("XmlAnyElementAttribute can only be applied to members of type XmlElement, XmlElement[] or XmlNode[]");
+ // no XmlNode type check is done here (seealso: bug #553032).
+ XmlTypeMapMemberAnyElement member = new XmlTypeMapMemberAnyElement();
+ member.ElementInfo = ImportAnyElementInfo (defaultNamespace, rmember, member, atts);
+ mapMember = member;
}
else if (atts.Xmlns)
{
}
Array elems = (Array) memberValue;
- foreach (XmlNode elem in elems)
+ foreach (var elem_ in elems)
{
+ XmlNode elem = elem_ as XmlNode;
+ if (elem == null)
+ throw new InvalidOperationException (String.Format ("XmlAnyElementAttribute can only be applied to members of type XmlElement, XmlElement[] or XmlNode[]. The target object is {0}", elem_ != null ? elem_.GetType () : null));
if (elem is XmlElement)
{
if (member.IsElementDefined (elem.Name, elem.NamespaceURI))
+2010-02-20 Geoff Norton <gnorton@novell.com>
+
+ * XmlInputStream.cs: Disable this codepath on monotouch. Fixes
+ #562155
+
+2010-02-12 Miguel de Icaza <miguel@novell.com>
+
+ * XmlWriterSettings.cs: Expose NamespaceHandling in NET 4.0
+
+2010-01-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlReaderBinarySupport.cs : eliminate possible extra buffer
+ storing of zeros. Fixed bug #543332.
+
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlConvert.cs : convert TimeSpan.MinValue to correct string.
+ Patch by Tiaan Geldenhuys.
+
+2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlDocument.cs : fix type check for optimal node creation.
+ Fixed bug #571336, #571226 and #572738.
+
2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
* XmlConvert.cs : Do not ignore ticks which are less than a
namespace System.Xml {
[Flags]
-#if NET_2_1
+#if NET_2_1 || NET_4_0
public
#else
internal
StringBuilder builder = new StringBuilder ();
if (value.Ticks < 0) {
+ if (value == TimeSpan.MinValue)
+ return "-P10675199DT2H48M5.4775808S"; // There's one fewer tick on the positive side, so we cannot Negate this value; just hard-code it
builder.Append ('-');
value = value.Negate ();
}
resolver = new XmlUrlResolver ();
Type type = GetType ();
- optimal_create_element = type.GetMethod ("CreateElement", optimal_create_types).DeclaringType == type;
- optimal_create_attribute = type.GetMethod ("CreateAttribute", optimal_create_types).DeclaringType == type;
+ optimal_create_element = type.GetMethod ("CreateElement", optimal_create_types).DeclaringType == typeof (XmlDocument);
+ optimal_create_attribute = type.GetMethod ("CreateAttribute", optimal_create_types).DeclaringType == typeof (XmlDocument);
}
#endregion
static string GetStringFromBytes (byte [] bytes, int index, int count)
{
-#if NET_2_1
+#if NET_2_1 && !MONOTOUCH
char [] chars = new char [count];
for (int i = index; i < count; i++)
chars [i] = (char) bytes [i];
b = (byte) (GetBase64Byte (chars [i]) << 2);
if (bufIndex < bufLast)
buffer [bufIndex] = b;
- else {
+ else if (b != 0) {
if (base64CacheStartsAt < 0)
base64CacheStartsAt = 0;
base64Cache [0] = b;
buffer [bufIndex] += work;
bufIndex++;
}
- else
+ else if (work != 0) {
+ if (base64CacheStartsAt < 0)
+ base64CacheStartsAt = 0;
base64Cache [0] += work;
+ }
work = (byte) ((b & 0xf) << 4);
if (bufIndex < bufLast) {
buffer [bufIndex] = work;
}
- else {
+ else if (work != 0) {
if (base64CacheStartsAt < 0)
base64CacheStartsAt = 1;
base64Cache [1] = work;
buffer [bufIndex] += work;
bufIndex++;
}
- else
+ else if (work != 0) {
+ if (base64CacheStartsAt < 0)
+ base64CacheStartsAt = 1;
base64Cache [1] += work;
+ }
work = (byte) ((b & 3) << 6);
if (bufIndex < bufLast)
buffer [bufIndex] = work;
- else {
+ else if (work != 0) {
if (base64CacheStartsAt < 0)
base64CacheStartsAt = 2;
base64Cache [2] = work;
buffer [bufIndex] += work;
bufIndex++;
}
- else
+ else if (work != 0) {
+ if (base64CacheStartsAt < 0)
+ base64CacheStartsAt = 2;
base64Cache [2] += work;
+ }
}
int ret = System.Math.Min (bufLast - offset, bufIndex - offset);
if (ret < length && charsLength > 0)
//set { outputMethod = value; }
}
-#if NET_2_1 && !MONOTOUCH
+#if (NET_2_1 || NET_4_0) && !MONOTOUCH
public
#else
internal
+2010-01-27 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaValidatorTests.cs : added test for bug #557452, by
+ Luke Ravitch.
+
+2010-01-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaValidatorTests.cs : added test for bug #502251, by
+ Jonas Larsson.
+
+2010-01-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSchemaSetTests.cs : added test for bug #571650.
+
2009-07-09 Gert Driesen <drieseng@users.sourceforge.net>
* XmlSchemaTests.cs: Fixed tests for bug #502115.
// (and conformance error as its result)
xss.Compile ();
}
+
+ [Test]
+ public void AddWithNullTargetNS () // bug #571650
+ {
+ var xsdraw = "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'><xs:element name='foo' /></xs:schema>";
+ var schemas = new XmlSchemaSet ();
+ var xsd = schemas.Add ("", XmlReader.Create (new StringReader (xsdraw)));
+ Assert.IsNull (xsd.TargetNamespace, "#1");
+ }
}
}
#endif
doc.Schemas.Add (XmlSchema.Read (XmlReader.Create (new StringReader (xsd)), null));
doc.Validate (null);
}
+
+ public void Bug502251 ()
+ {
+ string xsd = @"
+ <xs:schema id='foo' targetNamespace='foo'
+ elementFormDefault='qualified'
+ xmlns='foo'
+ xmlns:xs='http://www.w3.org/2001/XMLSchema'>
+
+ <xs:group name='LayoutElementTypes'>
+ <xs:choice>
+ <xs:element name='Rows' type='Rows' />
+ <xs:element name='Conditional' type='Conditional' />
+ </xs:choice>
+ </xs:group>
+
+ <xs:complexType name='Element' abstract='true'>
+ <xs:attribute name='id' type='xs:ID' use='optional'/>
+ </xs:complexType>
+
+ <xs:complexType name='SingleChildElement' abstract='true'>
+ <xs:complexContent>
+ <xs:extension base='Element'>
+ <xs:group ref='LayoutElementTypes' minOccurs='1' maxOccurs='1' />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name='Rows'>
+ <xs:complexContent>
+ <xs:extension base='Element'>
+ <xs:sequence minOccurs='1' maxOccurs='unbounded'>
+ <xs:element name='Row' type='Row' />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name='Row'>
+ <xs:complexContent>
+ <xs:extension base='SingleChildElement'>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name='Conditional'>
+ <xs:complexContent>
+ <xs:extension base='Element'>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name='Layout'>
+ <xs:complexContent>
+ <xs:extension base='SingleChildElement'>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name='Layout' type='Layout' />
+</xs:schema>";
+
+ XmlDocument doc = new XmlDocument ();
+ doc.LoadXml (@"<Layout xmlns='foo'>
+ <Rows>
+ <Row><Conditional/></Row>
+ </Rows>
+</Layout>");
+
+ XmlSchema schema = XmlSchema.Read (XmlReader.Create (new StringReader (xsd)), null);
+
+ doc.Schemas.Add (schema);
+ doc.Validate (null);
+ }
+
+ [Test]
+ public void Bug557452 ()
+ {
+ string xsd = @"
+ <xs:schema id='Settings'
+ targetNamespace='foo'
+ xmlns='foo'
+ xmlns:xs='http://www.w3.org/2001/XMLSchema'>
+
+ <xs:element name='Settings' type='Settings'/>
+
+ <xs:complexType name='Settings'>
+ <xs:attribute name='port' type='PortNumber' use='required'/>
+ </xs:complexType>
+
+ <xs:simpleType name='PortNumber'>
+ <xs:restriction base='xs:decimal'>
+ <xs:minInclusive value='1'/>
+ <xs:maxInclusive value='65535'/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:schema>";
+
+ string xml = @"<Settings port='1337' xmlns='foo'/>";
+
+ XmlDocument doc = new XmlDocument ();
+ doc.LoadXml (xml);
+ doc.Schemas.Add (XmlSchema.Read (XmlReader.Create (new StringReader (xsd)), null));
+ doc.Validate (null);
+ }
}
}
+2010-01-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlSerializerTests.cs : added test for bug #553032.
+
2010-01-06 Atsushi Enomoto <atsushi@ximian.com>
* XmlSerializerTests.cs : added test for #566370.
Assert.AreEqual (Infoset (xml), WriterText);
xs.Deserialize (new StringReader (xml));
}
+
+ [Test]
+ public void XmlAnyElementForObjects () // bug #553032
+ {
+ new XmlSerializer (typeof (XmlAnyElementForObjectsType));
+ }
+
+ [Test]
+ [ExpectedException (typeof (InvalidOperationException))]
+ public void XmlAnyElementForObjects2 () // bug #553032-2
+ {
+ new XmlSerializer (typeof (XmlAnyElementForObjectsType)).Serialize (TextWriter.Null, new XmlAnyElementForObjectsType ());
+ }
#endif
#endregion //GenericsSeralizationTests
[XmlArrayItem (typeof (XmlSchemaProviderQNameBecomesRootNameType))]
public object [] Foo = new object [] {new XmlSchemaProviderQNameBecomesRootNameType ()};
}
+
+ public class XmlAnyElementForObjectsType
+ {
+ [XmlAnyElement]
+ public object [] arr = new object [] {3,4,5};
+ }
#endif
void CDataTextNodes_BadNode (object s, XmlNodeEventArgs e)
+2010-01-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlReaderCommonTests.cs : added test for bug #543332.
+
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XmlConvertTest.cs : test convert TimeSpan.MinValue to string.
+ Patch by Tiaan Geldenhuys.
+
2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
* XmlConvertTests.cs : add test for ToString(TimeSpan) with small
XmlConvert.ToString (new DateTime (2003, 5, 5));
Assert.AreEqual (33, dateString.Length);
Assert.AreEqual (dateString.Substring (0, 27), "2003-05-05T00:00:00.0000000");
+
+ // Must not throw an exception...
+ Assert.IsNotNull ("-P10675199DT2H48M5.4775808S", XmlConvert.ToString (TimeSpan.MinValue));
}
[Test]
Assert.AreEqual (XmlNodeType.Element, readerXml.NodeType, "#2");\r
}\r
}\r
+ \r
+ [Test]\r
+ public void ReadContentAsBase64_3 () // bug #543332 \r
+ {\r
+ byte [] fakeState = new byte[25];\r
+ byte [] fixedSizeBuffer = new byte [25];\r
+ byte [] readDataBuffer = new byte [25];\r
+ var ms = new MemoryStream ();\r
+ var xw = XmlWriter.Create (ms);\r
+ xw.WriteStartElement ("root");\r
+ xw.WriteBase64 (fakeState, 0, fakeState.Length);\r
+ xw.WriteEndElement ();\r
+ xw.Close ();\r
+ var reader = XmlReader.Create (new MemoryStream (ms.ToArray ()));\r
+ reader.MoveToContent ();\r
+ // we cannot completely trust the length read to indicate the end.\r
+ int bytesRead;\r
+ bytesRead = reader.ReadElementContentAsBase64 (fixedSizeBuffer, 0, fixedSizeBuffer.Length);\r
+ Assert.AreEqual (25, bytesRead, "#1");\r
+ Assert.AreEqual (XmlNodeType.Text, reader.NodeType, "#2");\r
+ bytesRead = reader.ReadElementContentAsBase64 (fixedSizeBuffer, 0, fixedSizeBuffer.Length);\r
+ Assert.AreEqual (0, bytesRead, "#3");\r
+ Assert.AreEqual (XmlNodeType.EndElement, reader.NodeType, "#4");\r
+ }\r
#endif\r
}\r
}\r
Assembly/AssemblyInfo.cs
System.Xml.Linq/Extensions.cs
System.Xml.Linq/LoadOptions.cs
+System.Xml.Linq/ReaderOptions.cs
System.Xml.Linq/SaveOptions.cs
System.Xml.Linq/XAttribute.cs
System.Xml.Linq/XCData.cs
+2010-02-12 Miguel de Icaza <miguel@novell.com>
+
+ * XStreamingElement.cs: Avoid an extra indirect call, by calling
+ the target methods directly.
+
+ * XDocument.cs, XElement.cs, XStreamingElement.cs: Fix the
+ setting of the Indent flag, since this is an enumeration, testing
+ against SaveOptions.None was incorrect. Check on the actual flag.
+
+ * XElement.cs, XDocument.cs, XStreamingElement.cs: Add support for
+ the new .NET 4.0 Save methods and the new OmitDuplicateNamespaces
+ flag to SaveOptions.
+
+ * XElement.cs, XDocument.cs, XNamespace.cs: Sprinkle
+ CLSCompliantAttribute to match the compare page.
+
+ * SaveOptions.cs: New setting for 4.0 OmitDuplicateNamespaces.
+
+2010-02-09 Sebastien Pouliot <sebastien@ximian.com>
+
+ * XUtil.cs: Avoid using ToLowerInvariant since it is not
+ available in Silverlight.
+
+2010-02-09 Chris Toshok <toshok@ximian.com>
+
+ * XDocument.cs: add the Load (Stream) overloads.
+
2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
* XAttribute.cs : escape whitespace chars in ToString().
--- /dev/null
+//
+//
+// Copyright 2010 Novell (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_4_0
+using System;
+
+namespace System.Xml.Linq
+{
+ [Flags]
+ public enum ReaderOptions
+ {
+ None = 0,
+ OmitDuplicateNamespaces = 1
+ }
+}
+#endif
\ No newline at end of file
public enum SaveOptions
{
None = 0,
- DisableFormatting = 1
+ DisableFormatting = 1,
+#if NET_4_0
+ OmitDuplicateNamespaces = 2
+#endif
}
}
SetValue (value);
}
+ [CLSCompliant (false)]
public static explicit operator bool (XAttribute attribute)
{
if (attribute == null)
return XUtil.ConvertToBoolean (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator bool? (XAttribute attribute)
{
if (attribute == null)
return attribute.value == null ? (bool?) null : XUtil.ConvertToBoolean (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator DateTime (XAttribute attribute)
{
if (attribute == null)
return XUtil.ToDateTime (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator DateTime? (XAttribute attribute)
{
if (attribute == null)
#if !TARGET_JVM // Same as for System.Xml.XmlConvert.ToDateTimeOffset
+ [CLSCompliant (false)]
public static explicit operator DateTimeOffset (XAttribute attribute)
{
if (attribute == null)
return XmlConvert.ToDateTimeOffset (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator DateTimeOffset? (XAttribute attribute)
{
if (attribute == null)
#endif
+ [CLSCompliant (false)]
public static explicit operator decimal (XAttribute attribute)
{
if (attribute == null)
return XmlConvert.ToDecimal (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator decimal? (XAttribute attribute)
{
if (attribute == null)
return attribute.value == null ? (decimal?) null : XmlConvert.ToDecimal (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator double (XAttribute attribute)
{
if (attribute == null)
return XmlConvert.ToDouble (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator double? (XAttribute attribute)
{
if (attribute == null)
return attribute.value == null ? (double?) null : XmlConvert.ToDouble (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator float (XAttribute attribute)
{
if (attribute == null)
return XmlConvert.ToSingle (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator float? (XAttribute attribute)
{
if (attribute == null)
return attribute.value == null ? (float?) null : XmlConvert.ToSingle (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator Guid (XAttribute attribute)
{
if (attribute == null)
return XmlConvert.ToGuid (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator Guid? (XAttribute attribute)
{
if (attribute == null)
return attribute.value == null ? (Guid?) null : XmlConvert.ToGuid (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator int (XAttribute attribute)
{
if (attribute == null)
return XmlConvert.ToInt32 (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator int? (XAttribute attribute)
{
if (attribute == null)
return attribute.value == null ? (int?) null : XmlConvert.ToInt32 (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator long (XAttribute attribute)
{
if (attribute == null)
return XmlConvert.ToInt64 (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator long? (XAttribute attribute)
{
if (attribute == null)
return attribute.value == null ? (ulong?) null : XmlConvert.ToUInt64 (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator TimeSpan (XAttribute attribute)
{
if (attribute == null)
return XmlConvert.ToTimeSpan (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator TimeSpan? (XAttribute attribute)
{
if (attribute == null)
return attribute.value == null ? (TimeSpan?) null : XmlConvert.ToTimeSpan (attribute.value);
}
+ [CLSCompliant (false)]
public static explicit operator string (XAttribute attribute)
{
if (attribute == null)
}
}
+ public static XDocument Load (Stream stream)
+ {
+ return Load (new StreamReader (stream), LoadOptions.None);
+ }
+
+ public static XDocument Load (Stream stream, LoadOptions options)
+ {
+ return Load (new StreamReader (stream), options);
+ }
+
public static XDocument Load (TextReader reader)
{
return Load (reader, LoadOptions.None);
XmlWriterSettings s = new XmlWriterSettings ();
if ((options & SaveOptions.DisableFormatting) == SaveOptions.None)
s.Indent = true;
+#if NET_4_0
+ if ((options & SaveOptions.OmitDuplicateNamespaces) == SaveOptions.OmitDuplicateNamespaces)
+ s.NamespaceHandling |= NamespaceHandling.OmitDuplicates;
+#endif
+
using (XmlWriter w = XmlWriter.Create (filename, s)) {
Save (w);
}
XmlWriterSettings s = new XmlWriterSettings ();
if ((options & SaveOptions.DisableFormatting) == SaveOptions.None)
s.Indent = true;
+#if NET_4_0
+ if ((options & SaveOptions.OmitDuplicateNamespaces) == SaveOptions.OmitDuplicateNamespaces)
+ s.NamespaceHandling |= NamespaceHandling.OmitDuplicates;
+#endif
using (XmlWriter w = XmlWriter.Create (tw, s)) {
Save (w);
}
throw new InvalidOperationException ("An element cannot be added before the document type declaration");
}
}
+#if NET_4_0
+ public void Save (Stream stream)
+ {
+ Save (stream, SaveOptions.None);
+ }
+
+ public void Save (Stream stream, SaveOptions options)
+ {
+ XmlWriterSettings s = new XmlWriterSettings ();
+ if ((options & SaveOptions.DisableFormatting) == SaveOptions.None)
+ s.Indent = true;
+ if ((options & SaveOptions.OmitDuplicateNamespaces) == SaveOptions.OmitDuplicateNamespaces)
+ s.NamespaceHandling |= NamespaceHandling.OmitDuplicates;
+
+ using (var writer = XmlWriter.Create (stream, s)){
+ Save (writer);
+ }
+ }
+
+#endif
}
}
Add (source.Contents);
}
+ [CLSCompliant (false)]
public static explicit operator bool (XElement element)
{
if (element == null)
return XUtil.ConvertToBoolean (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator bool? (XElement element)
{
if (element == null)
return element.Value == null ? (bool?) null : XUtil.ConvertToBoolean (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator DateTime (XElement element)
{
if (element == null)
return XUtil.ToDateTime (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator DateTime? (XElement element)
{
if (element == null)
#if !TARGET_JVM // Same as for System.Xml.XmlConvert.ToDateTimeOffset
+ [CLSCompliant (false)]
public static explicit operator DateTimeOffset (XElement element)
{
if (element == null)
return XmlConvert.ToDateTimeOffset (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator DateTimeOffset? (XElement element)
{
if (element == null)
#endif
+ [CLSCompliant (false)]
public static explicit operator decimal (XElement element)
{
if (element == null)
return XmlConvert.ToDecimal (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator decimal? (XElement element)
{
if (element == null)
return element.Value == null ? (decimal?) null : XmlConvert.ToDecimal (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator double (XElement element)
{
if (element == null)
return XmlConvert.ToDouble (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator double? (XElement element)
{
if (element == null)
return element.Value == null ? (double?) null : XmlConvert.ToDouble (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator float (XElement element)
{
if (element == null)
return XmlConvert.ToSingle (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator float? (XElement element)
{
if (element == null)
return element.Value == null ? (float?) null : XmlConvert.ToSingle (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator Guid (XElement element)
{
if (element == null)
return XmlConvert.ToGuid (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator Guid? (XElement element)
{
if (element == null)
return element.Value == null ? (Guid?) null : XmlConvert.ToGuid (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator int (XElement element)
{
if (element == null)
return XmlConvert.ToInt32 (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator int? (XElement element)
{
if (element == null)
return element.Value == null ? (int?) null : XmlConvert.ToInt32 (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator long (XElement element)
{
if (element == null)
return XmlConvert.ToInt64 (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator long? (XElement element)
{
if (element == null)
return element.Value == null ? (ulong?) null : XmlConvert.ToUInt64 (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator TimeSpan (XElement element)
{
if (element == null)
return XmlConvert.ToTimeSpan (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator TimeSpan? (XElement element)
{
if (element == null)
return element.Value == null ? (TimeSpan?) null : XmlConvert.ToTimeSpan (element.Value);
}
+ [CLSCompliant (false)]
public static explicit operator string (XElement element)
{
if (element == null)
public void Save (string filename, SaveOptions options)
{
XmlWriterSettings s = new XmlWriterSettings ();
- s.Indent = options != SaveOptions.DisableFormatting;
+
+ if ((options & SaveOptions.DisableFormatting) == SaveOptions.None)
+ s.Indent = true;
+#if NET_4_0
+ if ((options & SaveOptions.OmitDuplicateNamespaces) == SaveOptions.OmitDuplicateNamespaces)
+ s.NamespaceHandling |= NamespaceHandling.OmitDuplicates;
+#endif
using (XmlWriter w = XmlWriter.Create (filename, s)) {
Save (w);
}
public void Save (TextWriter tw, SaveOptions options)
{
XmlWriterSettings s = new XmlWriterSettings ();
- s.Indent = options != SaveOptions.DisableFormatting;
+
+ if ((options & SaveOptions.DisableFormatting) == SaveOptions.None)
+ s.Indent = true;
+#if NET_4_0
+ if ((options & SaveOptions.OmitDuplicateNamespaces) == SaveOptions.OmitDuplicateNamespaces)
+ s.NamespaceHandling |= NamespaceHandling.OmitDuplicates;
+#endif
using (XmlWriter w = XmlWriter.Create (tw, s)) {
Save (w);
}
WriteTo (w);
}
+#if NET_4_0
+ public void Save (Stream stream)
+ {
+ Save (stream, SaveOptions.None);
+ }
+
+ public void Save (Stream stream, SaveOptions options)
+ {
+ XmlWriterSettings s = new XmlWriterSettings ();
+ if ((options & SaveOptions.DisableFormatting) == SaveOptions.None)
+ s.Indent = true;
+ if ((options & SaveOptions.OmitDuplicateNamespaces) == SaveOptions.OmitDuplicateNamespaces)
+ s.NamespaceHandling |= NamespaceHandling.OmitDuplicates;
+
+ using (var writer = XmlWriter.Create (stream, s)){
+ Save (writer);
+ }
+ }
+#endif
public IEnumerable <XElement> AncestorsAndSelf ()
{
return GetAncestorList (null, true);
n1.local == n2.local && n1.ns == n2.ns;
}
+ [CLSCompliant (false)]
public static implicit operator XName (string s)
{
return s == null ? null : Get (s);
return new XName (localName, ns.NamespaceName);
}
+ [CLSCompliant (false)]
public static implicit operator XNamespace (string s)
{
return s != null ? XNamespace.Get (s) : null;
public void Save (string fileName)
{
using (TextWriter w = File.CreateText (fileName))
- Save (w);
+ Save (w, SaveOptions.None);
}
public void Save (TextWriter textWriter)
{
XmlWriterSettings s = new XmlWriterSettings ();
s.OmitXmlDeclaration = true;
- s.Indent = options != SaveOptions.DisableFormatting;
+
+ if ((options & SaveOptions.DisableFormatting) == SaveOptions.None)
+ s.Indent = true;
+#if NET_4_0
+ if ((options & SaveOptions.OmitDuplicateNamespaces) == SaveOptions.OmitDuplicateNamespaces)
+ s.NamespaceHandling |= NamespaceHandling.OmitDuplicates;
+#endif
using (XmlWriter w = XmlWriter.Create (textWriter, s))
- Save (w);
+ WriteTo (w);
}
+#if NET_4_0
+ public void Save (Stream stream)
+ {
+ Save (stream, SaveOptions.None);
+ }
+
+ public void Save (Stream stream, SaveOptions options)
+ {
+ XmlWriterSettings s = new XmlWriterSettings ();
+ if ((options & SaveOptions.DisableFormatting) == SaveOptions.None)
+ s.Indent = true;
+ if ((options & SaveOptions.OmitDuplicateNamespaces) == SaveOptions.OmitDuplicateNamespaces)
+ s.NamespaceHandling |= NamespaceHandling.OmitDuplicates;
+
+ using (var writer = XmlWriter.Create (stream, s)){
+ WriteTo (writer);
+ }
+ }
+#endif
+
public override string ToString ()
{
return ToString (SaveOptions.None);
using System;
using System.Collections;
using System.Collections.Generic;
+using System.Globalization;
using System.IO;
using System.Text;
using System.Xml;
public static bool ConvertToBoolean (string s)
{
- return XmlConvert.ToBoolean (s.ToLowerInvariant ());
+ return XmlConvert.ToBoolean (s.ToLower (CultureInfo.InvariantCulture));
}
public static DateTime ToDateTime (string s)
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * XElementTest.cs, XAttributeTest.cs : add corner case value conversion
+ for numeric and TimeSpan values. Patch by Tiaan Geldenhuys.
+
2010-01-15 Atsushi Enomoto <atsushi@ximian.com>
* XElementTest.cs, XAttributeTest.cs : add another set of extensive
AssertThrows<OverflowException> (() => { ulong? z = (ulong?) new XAttribute ("z", -@decimal); }, "z:ulong?");
}
+ [Test]
+ public void CastExtremes ()
+ {
+ // Test extremes/constants where round-trips should work in specific ways
+ Assert.AreEqual (decimal.MaxValue, (decimal) new XAttribute ("k", decimal.MaxValue), "MaxValue:decimal");
+ Assert.AreEqual (decimal.MinValue, (decimal) new XAttribute ("k", decimal.MinValue), "MinValue:decimal");
+ Assert.AreEqual (decimal.MinusOne, (decimal) new XAttribute ("k", decimal.MinusOne), "MinusOne:decimal");
+ Assert.AreEqual (decimal.One, (decimal) new XAttribute ("k", decimal.One), "One:decimal");
+ Assert.AreEqual (decimal.Zero, (decimal) new XAttribute ("k", decimal.Zero), "Zero:decimal");
+ Assert.AreEqual (double.MaxValue, (double) new XAttribute ("k", double.MaxValue), "MaxValue:double");
+ Assert.AreEqual (double.MinValue, (double) new XAttribute ("k", double.MinValue), "MinValue:double");
+ Assert.AreEqual (double.Epsilon, (double) new XAttribute ("k", double.Epsilon), "Epsilon:double");
+ Assert.AreEqual (double.NaN, (double) new XAttribute ("k", double.NaN), "NaN:double");
+ Assert.AreEqual (double.NegativeInfinity, (double) new XAttribute ("k", double.NegativeInfinity), "-Inf:double");
+ Assert.AreEqual (double.PositiveInfinity, (double) new XAttribute ("k", double.PositiveInfinity), "+Inf:double");
+ Assert.AreEqual (float.MaxValue, (float) new XAttribute ("k", float.MaxValue), "MaxValue:float");
+ Assert.AreEqual (float.MinValue, (float) new XAttribute ("k", float.MinValue), "MinValue:float");
+ Assert.AreEqual (float.Epsilon, (float) new XAttribute ("k", float.Epsilon), "Epsilon:float");
+ Assert.AreEqual (float.NaN, (float) new XAttribute ("k", float.NaN), "NaN:float");
+ Assert.AreEqual (float.NegativeInfinity, (float) new XAttribute ("k", float.NegativeInfinity), "-Inf:float");
+ Assert.AreEqual (float.PositiveInfinity, (float) new XAttribute ("k", float.PositiveInfinity), "+Inf:float");
+ Assert.AreEqual (int.MaxValue, (int) new XAttribute ("k", int.MaxValue), "MaxValue:int");
+ Assert.AreEqual (int.MinValue, (int) new XAttribute ("k", int.MinValue), "MinValue:int");
+ Assert.AreEqual (long.MaxValue, (long) new XAttribute ("k", long.MaxValue), "MaxValue:long");
+ Assert.AreEqual (long.MinValue, (long) new XAttribute ("k", long.MinValue), "MinValue:long");
+ Assert.AreEqual (uint.MaxValue, (uint) new XAttribute ("k", uint.MaxValue), "MaxValue:uint");
+ Assert.AreEqual (uint.MinValue, (uint) new XAttribute ("k", uint.MinValue), "MinValue:uint");
+ Assert.AreEqual (ulong.MaxValue, (ulong) new XAttribute ("k", ulong.MaxValue), "MaxValue:ulong");
+ Assert.AreEqual (ulong.MinValue, (ulong) new XAttribute ("k", ulong.MinValue), "MinValue:ulong");
+ Assert.AreEqual (decimal.MaxValue, (decimal?) new XAttribute ("k", decimal.MaxValue), "MaxValue:decimal?");
+ Assert.AreEqual (decimal.MinValue, (decimal?) new XAttribute ("k", decimal.MinValue), "MinValue:decimal?");
+ Assert.AreEqual (decimal.MinusOne, (decimal?) new XAttribute ("k", decimal.MinusOne), "MinusOne:decimal?");
+ Assert.AreEqual (decimal.One, (decimal?) new XAttribute ("k", decimal.One), "One:decimal?");
+ Assert.AreEqual (decimal.Zero, (decimal?) new XAttribute ("k", decimal.Zero), "Zero:decimal?");
+ Assert.AreEqual (double.MaxValue, (double?) new XAttribute ("k", double.MaxValue), "MaxValue:double?");
+ Assert.AreEqual (double.MinValue, (double?) new XAttribute ("k", double.MinValue), "MinValue:double?");
+ Assert.AreEqual (double.Epsilon, (double?) new XAttribute ("k", double.Epsilon), "Epsilon:double?");
+ Assert.AreEqual (double.NaN, (double?) new XAttribute ("k", double.NaN), "NaN:double?");
+ Assert.AreEqual (double.NegativeInfinity, (double?) new XAttribute ("k", double.NegativeInfinity), "-Inf:double?");
+ Assert.AreEqual (double.PositiveInfinity, (double?) new XAttribute ("k", double.PositiveInfinity), "+Inf:double?");
+ Assert.AreEqual (float.MaxValue, (float?) new XAttribute ("k", float.MaxValue), "MaxValue:float?");
+ Assert.AreEqual (float.MinValue, (float?) new XAttribute ("k", float.MinValue), "MinValue:float?");
+ Assert.AreEqual (float.Epsilon, (float?) new XAttribute ("k", float.Epsilon), "Epsilon:float?");
+ Assert.AreEqual (float.NaN, (float?) new XAttribute ("k", float.NaN), "NaN:float?");
+ Assert.AreEqual (float.NegativeInfinity, (float?) new XAttribute ("k", float.NegativeInfinity), "-Inf:float?");
+ Assert.AreEqual (float.PositiveInfinity, (float?) new XAttribute ("k", float.PositiveInfinity), "+Inf:float?");
+ Assert.AreEqual (int.MaxValue, (int?) new XAttribute ("k", int.MaxValue), "MaxValue:int?");
+ Assert.AreEqual (int.MinValue, (int?) new XAttribute ("k", int.MinValue), "MinValue:int?");
+ Assert.AreEqual (long.MaxValue, (long?) new XAttribute ("k", long.MaxValue), "MaxValue:long?");
+ Assert.AreEqual (long.MinValue, (long?) new XAttribute ("k", long.MinValue), "MinValue:long?");
+ Assert.AreEqual (uint.MaxValue, (uint?) new XAttribute ("k", uint.MaxValue), "MaxValue:uint?");
+ Assert.AreEqual (uint.MinValue, (uint?) new XAttribute ("k", uint.MinValue), "MinValue:uint?");
+ Assert.AreEqual (ulong.MaxValue, (ulong?) new XAttribute ("k", ulong.MaxValue), "MaxValue:ulong?");
+ Assert.AreEqual (ulong.MinValue, (ulong?) new XAttribute ("k", ulong.MinValue), "MinValue:ulong?");
+ Assert.AreEqual (DateTime.MaxValue, (DateTime) new XAttribute ("k", DateTime.MaxValue), "MaxValue:DateTime");
+ Assert.AreEqual (DateTime.MinValue, (DateTime) new XAttribute ("k", DateTime.MinValue), "MinValue:DateTime");
+ Assert.AreEqual (DateTime.MaxValue, (DateTime?) new XAttribute ("k", DateTime.MaxValue), "MaxValue:DateTime?");
+ Assert.AreEqual (DateTime.MinValue, (DateTime?) new XAttribute ("k", DateTime.MinValue), "MinValue:DateTime?");
+ Assert.AreEqual (DateTimeOffset.MaxValue, (DateTimeOffset) new XAttribute ("k", DateTimeOffset.MaxValue), "MaxValue:DateTimeOffset");
+ Assert.AreEqual (DateTimeOffset.MinValue, (DateTimeOffset) new XAttribute ("k", DateTimeOffset.MinValue), "MinValue:DateTimeOffset");
+ Assert.AreEqual (DateTimeOffset.MaxValue, (DateTimeOffset?) new XAttribute ("k", DateTimeOffset.MaxValue), "MaxValue:DateTimeOffset?");
+ Assert.AreEqual (DateTimeOffset.MinValue, (DateTimeOffset?) new XAttribute ("k", DateTimeOffset.MinValue), "MinValue:DateTimeOffset?");
+ Assert.AreEqual (TimeSpan.MaxValue, (TimeSpan) new XAttribute ("k", TimeSpan.MaxValue), "MaxValue:TimeSpan");
+ Assert.AreEqual (TimeSpan.MinValue, (TimeSpan) new XAttribute ("k", TimeSpan.MinValue), "MinValue:TimeSpan");
+ Assert.AreEqual (TimeSpan.MaxValue, (TimeSpan?) new XAttribute ("k", TimeSpan.MaxValue), "MaxValue:TimeSpan?");
+ Assert.AreEqual (TimeSpan.MinValue, (TimeSpan?) new XAttribute ("k", TimeSpan.MinValue), "MinValue:TimeSpan?");
+ }
+
[Test]
public void CastBooleans ()
{
Assert.IsNotNull ((bool?) new XAttribute ("x", false), "#14a");
Assert.IsFalse (((bool?) new XAttribute ("x", false)).Value, "#14b");
Assert.IsFalse ((bool) new XAttribute ("x", false), "#14c");
+ Assert.IsTrue ((bool) new XAttribute ("x", bool.TrueString), "#15a");
+ Assert.IsFalse ((bool) new XAttribute ("x", bool.FalseString), "#15b");
}
[Test]
AssertThrows<OverflowException> (() => { ulong? z = (ulong?) new XElement ("z", -@decimal); }, "z:ulong?");
}
+ [Test]
+ public void CastExtremes ()
+ {
+ // Test extremes/constants where round-trips should work in specific ways
+ Assert.AreEqual (decimal.MaxValue, (decimal) new XElement ("k", decimal.MaxValue), "MaxValue:decimal");
+ Assert.AreEqual (decimal.MinValue, (decimal) new XElement ("k", decimal.MinValue), "MinValue:decimal");
+ Assert.AreEqual (decimal.MinusOne, (decimal) new XElement ("k", decimal.MinusOne), "MinusOne:decimal");
+ Assert.AreEqual (decimal.One, (decimal) new XElement ("k", decimal.One), "One:decimal");
+ Assert.AreEqual (decimal.Zero, (decimal) new XElement ("k", decimal.Zero), "Zero:decimal");
+ Assert.AreEqual (double.MaxValue, (double) new XElement ("k", double.MaxValue), "MaxValue:double");
+ Assert.AreEqual (double.MinValue, (double) new XElement ("k", double.MinValue), "MinValue:double");
+ Assert.AreEqual (double.Epsilon, (double) new XElement ("k", double.Epsilon), "Epsilon:double");
+ Assert.AreEqual (double.NaN, (double) new XElement ("k", double.NaN), "NaN:double");
+ Assert.AreEqual (double.NegativeInfinity, (double) new XElement ("k", double.NegativeInfinity), "-Inf:double");
+ Assert.AreEqual (double.PositiveInfinity, (double) new XElement ("k", double.PositiveInfinity), "+Inf:double");
+ Assert.AreEqual (float.MaxValue, (float) new XElement ("k", float.MaxValue), "MaxValue:float");
+ Assert.AreEqual (float.MinValue, (float) new XElement ("k", float.MinValue), "MinValue:float");
+ Assert.AreEqual (float.Epsilon, (float) new XElement ("k", float.Epsilon), "Epsilon:float");
+ Assert.AreEqual (float.NaN, (float) new XElement ("k", float.NaN), "NaN:float");
+ Assert.AreEqual (float.NegativeInfinity, (float) new XElement ("k", float.NegativeInfinity), "-Inf:float");
+ Assert.AreEqual (float.PositiveInfinity, (float) new XElement ("k", float.PositiveInfinity), "+Inf:float");
+ Assert.AreEqual (int.MaxValue, (int) new XElement ("k", int.MaxValue), "MaxValue:int");
+ Assert.AreEqual (int.MinValue, (int) new XElement ("k", int.MinValue), "MinValue:int");
+ Assert.AreEqual (long.MaxValue, (long) new XElement ("k", long.MaxValue), "MaxValue:long");
+ Assert.AreEqual (long.MinValue, (long) new XElement ("k", long.MinValue), "MinValue:long");
+ Assert.AreEqual (uint.MaxValue, (uint) new XElement ("k", uint.MaxValue), "MaxValue:uint");
+ Assert.AreEqual (uint.MinValue, (uint) new XElement ("k", uint.MinValue), "MinValue:uint");
+ Assert.AreEqual (ulong.MaxValue, (ulong) new XElement ("k", ulong.MaxValue), "MaxValue:ulong");
+ Assert.AreEqual (ulong.MinValue, (ulong) new XElement ("k", ulong.MinValue), "MinValue:ulong");
+ Assert.AreEqual (decimal.MaxValue, (decimal?) new XElement ("k", decimal.MaxValue), "MaxValue:decimal?");
+ Assert.AreEqual (decimal.MinValue, (decimal?) new XElement ("k", decimal.MinValue), "MinValue:decimal?");
+ Assert.AreEqual (decimal.MinusOne, (decimal?) new XElement ("k", decimal.MinusOne), "MinusOne:decimal?");
+ Assert.AreEqual (decimal.One, (decimal?) new XElement ("k", decimal.One), "One:decimal?");
+ Assert.AreEqual (decimal.Zero, (decimal?) new XElement ("k", decimal.Zero), "Zero:decimal?");
+ Assert.AreEqual (double.MaxValue, (double?) new XElement ("k", double.MaxValue), "MaxValue:double?");
+ Assert.AreEqual (double.MinValue, (double?) new XElement ("k", double.MinValue), "MinValue:double?");
+ Assert.AreEqual (double.Epsilon, (double?) new XElement ("k", double.Epsilon), "Epsilon:double?");
+ Assert.AreEqual (double.NaN, (double?) new XElement ("k", double.NaN), "NaN:double?");
+ Assert.AreEqual (double.NegativeInfinity, (double?) new XElement ("k", double.NegativeInfinity), "-Inf:double?");
+ Assert.AreEqual (double.PositiveInfinity, (double?) new XElement ("k", double.PositiveInfinity), "+Inf:double?");
+ Assert.AreEqual (float.MaxValue, (float?) new XElement ("k", float.MaxValue), "MaxValue:float?");
+ Assert.AreEqual (float.MinValue, (float?) new XElement ("k", float.MinValue), "MinValue:float?");
+ Assert.AreEqual (float.Epsilon, (float?) new XElement ("k", float.Epsilon), "Epsilon:float?");
+ Assert.AreEqual (float.NaN, (float?) new XElement ("k", float.NaN), "NaN:float?");
+ Assert.AreEqual (float.NegativeInfinity, (float?) new XElement ("k", float.NegativeInfinity), "-Inf:float?");
+ Assert.AreEqual (float.PositiveInfinity, (float?) new XElement ("k", float.PositiveInfinity), "+Inf:float?");
+ Assert.AreEqual (int.MaxValue, (int?) new XElement ("k", int.MaxValue), "MaxValue:int?");
+ Assert.AreEqual (int.MinValue, (int?) new XElement ("k", int.MinValue), "MinValue:int?");
+ Assert.AreEqual (long.MaxValue, (long?) new XElement ("k", long.MaxValue), "MaxValue:long?");
+ Assert.AreEqual (long.MinValue, (long?) new XElement ("k", long.MinValue), "MinValue:long?");
+ Assert.AreEqual (uint.MaxValue, (uint?) new XElement ("k", uint.MaxValue), "MaxValue:uint?");
+ Assert.AreEqual (uint.MinValue, (uint?) new XElement ("k", uint.MinValue), "MinValue:uint?");
+ Assert.AreEqual (ulong.MaxValue, (ulong?) new XElement ("k", ulong.MaxValue), "MaxValue:ulong?");
+ Assert.AreEqual (ulong.MinValue, (ulong?) new XElement ("k", ulong.MinValue), "MinValue:ulong?");
+ Assert.AreEqual (DateTime.MaxValue, (DateTime) new XElement ("k", DateTime.MaxValue), "MaxValue:DateTime");
+ Assert.AreEqual (DateTime.MinValue, (DateTime) new XElement ("k", DateTime.MinValue), "MinValue:DateTime");
+ Assert.AreEqual (DateTime.MaxValue, (DateTime?) new XElement ("k", DateTime.MaxValue), "MaxValue:DateTime?");
+ Assert.AreEqual (DateTime.MinValue, (DateTime?) new XElement ("k", DateTime.MinValue), "MinValue:DateTime?");
+ Assert.AreEqual (DateTimeOffset.MaxValue, (DateTimeOffset) new XElement ("k", DateTimeOffset.MaxValue), "MaxValue:DateTimeOffset");
+ Assert.AreEqual (DateTimeOffset.MinValue, (DateTimeOffset) new XElement ("k", DateTimeOffset.MinValue), "MinValue:DateTimeOffset");
+ Assert.AreEqual (DateTimeOffset.MaxValue, (DateTimeOffset?) new XElement ("k", DateTimeOffset.MaxValue), "MaxValue:DateTimeOffset?");
+ Assert.AreEqual (DateTimeOffset.MinValue, (DateTimeOffset?) new XElement ("k", DateTimeOffset.MinValue), "MinValue:DateTimeOffset?");
+ Assert.AreEqual (TimeSpan.MaxValue, (TimeSpan) new XElement ("k", TimeSpan.MaxValue), "MaxValue:TimeSpan");
+ Assert.AreEqual (TimeSpan.MinValue, (TimeSpan) new XElement ("k", TimeSpan.MinValue), "MinValue:TimeSpan");
+ Assert.AreEqual (TimeSpan.MaxValue, (TimeSpan?) new XElement ("k", TimeSpan.MaxValue), "MaxValue:TimeSpan?");
+ Assert.AreEqual (TimeSpan.MinValue, (TimeSpan?) new XElement ("k", TimeSpan.MinValue), "MinValue:TimeSpan?");
+ }
+
[Test]
public void CastBooleans ()
{
Assert.IsNotNull ((bool?) new XElement ("x", false), "#16a");
Assert.IsFalse (((bool?) new XElement ("x", false)).Value, "#16b");
Assert.IsFalse ((bool) new XElement ("x", false), "#16c");
+ Assert.IsTrue ((bool) new XElement ("x", bool.TrueString), "#17a");
+ Assert.IsFalse ((bool) new XElement ("x", bool.FalseString), "#17b");
+ Assert.IsTrue ((bool) new XElement ("x", new XCData (bool.TrueString)), "#18a");
+ Assert.IsFalse ((bool) new XElement ("x", new XCData (bool.FalseString)), "#18b");
}
[Test]
+2010-02-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * System_test.dll.sources: Add System.IO.Ports/SerialPortTest.cs.
+
+2010-01-29 Mike Kestner <mkestner@novell.com>
+
+ * System.dll.sources: add System.Net/WebUtility.cs.
+ * System_test.dll.sources: add WebUtilityTest.cs to tests.
+
2010-01-12 Sebastien Pouliot <sebastien@ximian.com>
* System_test.dll.sources: Add NetworkCredentialTest.cs to the tests
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
{
- if (sourceType == typeof (string))
- return true;
- return base.CanConvertFrom (context, sourceType);
+ return sourceType == typeof (string) || base.CanConvertFrom (context, sourceType);
}
public override bool CanConvertTo(ITypeDescriptorContext context, Type t)
{
- if (t == typeof (string))
- return true;
-
- return base.CanConvertTo (context, t);
+ return t.IsPrimitive || base.CanConvertTo (context, t);
}
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
}
#endif
+ if (destinationType.IsPrimitive)
+ return Convert.ChangeType (value, destinationType, culture);
+
return base.ConvertTo (context, culture, value, destinationType);
}
+2010-02-05 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * MaskedTextProvider.cs: In ToString() if we are a password, use the
+ prompt char in the places where no char has been filled in yet, instead of
+ putting the password char.
+ Fixes #360407.
+
+2010-01-15 Alexandre Gomes <alexmipego@gmail.com>
+
+ * BaseNumberConverter.cs: Fixed CanConvertTo and ConvertTo when
+ targeting primitive types.
+
2009-12-08 Marek Habersack <mhabersack@novell.com>
* TypeDescriptor.cs: AddProvider overloads must refresh the
}
} else if (ed.Editable) {
if (IsPassword) {
- if (ignorePasswordChar) {
- if (!ed.FilledIn) {
- if (includePrompt) {
- result.Append (PromptChar);
- } else {
- result.Append (" ");
- }
- } else {
- result.Append (ed.Input);
- }
- } else {
+ if (!ed.FilledIn) { // Nothing to hide or show.
+ if (includePrompt)
+ result.Append (PromptChar);
+ else
+ result.Append (" ");
+ } else if (ignorePasswordChar)
+ result.Append (ed.Input);
+ else
result.Append (PasswordChar);
- }
} else if (!ed.FilledIn) {
if (includePrompt) {
result.Append (PromptChar);
+2010-02-16 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * CustomizableLocalFileSettingsProvider.cs: When saving the
+ properties, ignore the properties marked with
+ ApplicationScopedSettingAttribute, as they are not serialized in .net
+ by FileSettingsProvider (the default class used to save the config,
+ and the one using the class we are modifying).
+ Fixes #468658.
+
+2010-02-12 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * CustomizableLocalFileSettingsProvider.cs: The name of the child
+ class of Settings should be 'normalized' by replacing the chars that
+ are invalid in a xml element name with their corresponding hexadecimal
+ values. This is specially visible when using classes container in
+ other classes.
+ Fixes #471289.
+
2009-08-31 Gonzalo Paniagua Javier <gonzalo@novell.com>
* CustomizableFileSettingsProvider.cs: reset the property value
config.SectionGroups.Add ("userSettings", userGroup);
ApplicationSettingsBase asb = context.CurrentSettings;
ClientSettingsSection cs = new ClientSettingsSection ();
- userGroup.Sections.Add ((asb != null ? asb.GetType () : typeof (ApplicationSettingsBase)).FullName, cs);
+ string class_name = NormalizeInvalidXmlChars ((asb != null ? asb.GetType () : typeof (ApplicationSettingsBase)).FullName);
+ userGroup.Sections.Add (class_name, cs);
}
bool hasChanges = false;
foreach (SettingsPropertyValue value in collection) {
if (checkUserLevel && value.Property.Attributes.Contains (typeof (SettingsManageabilityAttribute)) != isRoaming)
continue;
+ // The default impl does not save the ApplicationScopedSetting properties
+ if (value.Property.Attributes.Contains (typeof (ApplicationScopedSettingAttribute)))
+ continue;
+
hasChanges = true;
SettingElement element = userSection.Settings.Get (value.Name);
if (element == null) {
#endif
}
+ // NOTE: We should add here all the chars that are valid in a name of a class (Ecma-wise),
+ // but invalid in an xml element name, and provide a better impl if we get too many of them.
+ string NormalizeInvalidXmlChars (string str)
+ {
+ char [] invalid_chars = new char [] { '+' };
+
+ if (str == null || str.IndexOfAny (invalid_chars) == -1)
+ return str;
+
+ // Replace with its hexadecimal values.
+ str = str.Replace ("+", "_x002B_");
+ return str;
+ }
+
private void LoadPropertyValue (SettingsPropertyCollection collection, SettingElement element, bool allowOverwrite)
{
SettingsProperty prop = collection [element.Name];
if (values == null) {
values = new SettingsPropertyValueCollection ();
string groupName = context ["GroupName"] as string;
+ groupName = NormalizeInvalidXmlChars (groupName); // we likely saved the element removing the non valid xml chars.
LoadProperties (exeMapCurrent, collection, ConfigurationUserLevel.None, "applicationSettings", false, groupName);
LoadProperties (exeMapCurrent, collection, ConfigurationUserLevel.None, "userSettings", false, groupName);
+2010-01-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * Stopwatch.cs: add new Restart().
+
2009-11-30 Sebastien Pouliot <sebastien@ximian.com>
* Debug_2_1.cs: Change type to sealed to match SL2/3
elapsed += GetTimestamp () - started;
is_running = false;
}
+
+#if NET_4_0
+ public void Restart ()
+ {
+ started = GetTimestamp ();
+ elapsed = 0;
+ is_running = true;
+ }
+#endif
}
}
+2010-02-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * SerialPort.cs: DiscardNull should *not* report any error if the port
+ is not open. We haven't implemented it yet, but added the needed
+ comment in case we forget when actually implementing it.
+ Fixes #512244.
+
+2010-01-25 Leszek Ciesielski <skolima@gmail.com>
+
+ * SerialPortStream.cs: Read was returning requested count instead
+ of actual bytes read. Thanks to Thad Thompson for spotting this.
+
+2010-01-22 Leszek Ciesielski <skolima@gmail.com>
+
+ * SerialPortStream.cs: Check for error on every native call
+
2009-11-28 Carlos Alberto Cortez <calberto.cortez@gmail.com>
* WinSerialStream.cs: Make CommStat a struct instead of a class to
[DefaultValue (false)]
public bool DiscardNull {
get {
- CheckOpen ();
throw new NotImplementedException ();
}
set {
- CheckOpen ();
+ // LAMESPEC: Msdn states that an InvalidOperationException exception
+ // is fired if the port is not open, which is *not* happening.
+
throw new NotImplementedException ();
}
}
throw new TimeoutException();
}
- return read_serial (fd, buffer, offset, count);
+ int result = read_serial (fd, buffer, offset, count);
+ if (result == -1)
+ ThrowIOException ();
+ return result;
}
public override long Seek (long offset, SeekOrigin origin)
throw new ArgumentException ("offset+count",
"The size of the buffer is less than offset + count.");
+ // FIXME: this reports every write error as timeout
if (write_serial (fd, buffer, offset, count, write_timeout) < 0)
throw new TimeoutException("The operation has timed-out");
}
public int BytesToRead {
get {
- return get_bytes_in_buffer (fd, 1);
+ int result = get_bytes_in_buffer (fd, 1);
+ if (result == -1)
+ ThrowIOException ();
+ return result;
}
}
public int BytesToWrite {
get {
- return get_bytes_in_buffer (fd, 0);
+ int result = get_bytes_in_buffer (fd, 0);
+ if (result == -1)
+ ThrowIOException ();
+ return result;
}
}
[DllImport ("MonoPosixHelper", SetLastError = true)]
- static extern void discard_buffer (int fd, bool inputBuffer);
+ static extern int discard_buffer (int fd, bool inputBuffer);
public void DiscardInBuffer ()
{
- discard_buffer (fd, true);
+ if (discard_buffer (fd, true) != 0)
+ ThrowIOException();
}
public void DiscardOutBuffer ()
{
- discard_buffer (fd, false);
+ if (discard_buffer (fd, false) != 0)
+ ThrowIOException();
}
[DllImport ("MonoPosixHelper", SetLastError = true)]
public void SetBreakState (bool value)
{
if (value)
- breakprop (fd);
+ if (breakprop (fd) == -1)
+ ThrowIOException ();
}
[DllImport ("libc")]
+2010-02-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * SmtpClient.cs: generate correct MIME when there are text and html
+ linked resources. Fixes bug #579984. Patch by Ásgeir Halldórsson.
+
+2010-01-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * SmtpClient.cs: rethrow inner exception so that
+ AsyncCompletedEventArgs.Error gets the right value on error. Patch
+ by Dimitar Dobrev.
+
2009-12-11 Miguel de Icaza <miguel@novell.com>
* SmtpClient.cs: Add half-implemented feature, TargetName for the
Send (message);
} catch (Exception ex) {
ea.Result = ex;
+ throw ex;
}
};
worker.WorkerSupportsCancellation = true;
alt_boundary = GenerateBoundary ();
contentType = new ContentType ("multipart/related");
contentType.Boundary = alt_boundary;
- contentType.Parameters ["type"] = "application/octet-stream";
+
+ contentType.Parameters ["type"] = av.ContentType.ToString ();
StartSection (inner_boundary, contentType);
+ StartSection (alt_boundary, av.ContentType, av.TransferEncoding);
} else {
contentType = new ContentType (av.ContentType.ToString ());
StartSection (inner_boundary, contentType, av.TransferEncoding);
private void SendLinkedResources (MailMessage message, LinkedResourceCollection resources, string boundary)
{
foreach (LinkedResource lr in resources) {
- ContentType contentType = new ContentType (lr.ContentType.ToString ());
- StartSection (boundary, contentType, lr.TransferEncoding);
+ StartSection (boundary, lr.ContentType, lr.TransferEncoding, lr);
switch (lr.TransferEncoding) {
case TransferEncoding.Base64:
SendData (string.Empty);
}
+ private void StartSection(string section, ContentType sectionContentType, TransferEncoding transferEncoding, LinkedResource lr)
+ {
+ SendData (String.Format("--{0}", section));
+ SendHeader ("content-type", sectionContentType.ToString ());
+ SendHeader ("content-transfer-encoding", GetTransferEncodingName (transferEncoding));
+
+ if (lr.ContentId != null && lr.ContentId.Length > 0)
+ SendHeader("content-ID", "<" + lr.ContentId + ">");
+
+ SendData (string.Empty);
+ }
+
private void StartSection (string section, ContentType sectionContentType, TransferEncoding transferEncoding, ContentDisposition contentDisposition) {
SendData (String.Format ("--{0}", section));
SendHeader ("content-type", sectionContentType.ToString ());
+2010-01-29 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * NetworkStream.cs: Our explicit impl of IDisposable.Dispose belongs
+ to 1.0/1.1 only. Also move the call to GC.SupressFinalize to
+ Dispose(bool), as expected and as done by other Stream children
+ implementing a destructor.
+ Fixes #564637.
+
+2010-01-21 Sebastien Pouliot <sebastien@ximian.com>
+
+ * SocketAsyncEventArgs.cs: Apply Gendarme's ProtectCallToEventDelegatesRule
+
2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
* System.Net.Sockets/SocketAsyncEventArgs.cs: Implement
}
socket = null;
access = 0;
+
+ if (disposing)
+ GC.SuppressFinalize (this);
}
public override int EndRead (IAsyncResult ar)
// network streams are non-buffered, this is a no-op
}
+#if !NET_2_0
void IDisposable.Dispose ()
{
Dispose (true);
- GC.SuppressFinalize (this);
}
+#endif
public override int Read ([In,Out] byte [] buffer, int offset, int size)
{
if (e == null)
return;
- if (e.Completed != null)
- e.Completed (e.curSocket, e);
+ EventHandler<SocketAsyncEventArgs> handler = e.Completed;
+ if (handler != null)
+ handler (e.curSocket, e);
}
public void SetBuffer (int offset, int count)
+2010-01-29 Mike Kestner <mkestner@novell.com>
+
+ * HttpUtility.cs: port more of the methods from System.Web file.
+ * WebUtility.cs: new 4.0 class.
+
+2010-01-21 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * IPEndPoint.cs: When throwing an ArgumentException in Create()
+ because of a mismatch in the address family, use a more informative
+ message. Patch by Juho Vähä-Herttu<juhovh@iki.fi>.
+ Fixes #505105.
+
+2010-01-21 Sebastien Pouliot <sebastien@ximian.com>
+
+ * CookieContainer.cs: Fix to cloning and expiration. Patch
+ by Tom Philpot <tom.philpot@logos.com>
+
2010-01-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
* HttpWebRequest.cs: when the server returns several different
using System.Globalization;
using System.Runtime.Serialization;
using System.Text;
+using System.Text.RegularExpressions;
namespace System.Net
{
if (cookie.Value.Length > maxCookieSize)
throw new CookieException ("value is larger than MaxCookieSize.");
- AddCookie (cookie);
+ // .NET's Add (Cookie) is fundamentally broken and does not copy properties
+ // like Secure, HttpOnly and Expires so we clone the parts that .NET
+ // does keep before calling AddCookie
+ Cookie c = new Cookie (cookie.Name, cookie.Value);
+ c.Path = (cookie.Path.Length == 0) ? "/" : cookie.Path;
+ c.Domain = cookie.Domain;
+ c.ExactDomain = cookie.ExactDomain;
+ c.Version = cookie.Version;
+
+ AddCookie (c);
}
void AddCookie (Cookie cookie)
c.Domain = cookie.Domain;
c.ExactDomain = cookie.ExactDomain;
c.Version = cookie.Version;
+ c.Expires = cookie.Expires;
+ c.CommentUri = cookie.CommentUri;
+ c.Comment = cookie.Comment;
+ c.Discard = cookie.Discard;
+ c.HttpOnly = cookie.HttpOnly;
+ c.Secure = cookie.Secure;
cookies.Add (c);
CheckExpiration ();
return;
// Cookies must be separated by ',' (like documented on MSDN)
+ // but expires uses DAY, DD-MMM-YYYY HH:MM:SS GMT, so simple ',' search is wrong.
+ // See http://msdn.microsoft.com/en-us/library/aa384321%28VS.85%29.aspx
string [] jar = cookieHeader.Split (',');
- foreach (string cookie in jar) {
+ string tmpCookie;
+ for (int i = 0; i < jar.Length; i++) {
+ tmpCookie = jar [i];
+
+ if (jar.Length > i + 1
+ && Regex.IsMatch (jar[i],
+ @".*expires\s*=\s*(Mon|Tue|Wed|Thu|Fri|Sat|Sun)",
+ RegexOptions.IgnoreCase)
+ && Regex.IsMatch (jar[i+1],
+ @"\s\d{2}-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{4} \d{2}:\d{2}:\d{2} GMT",
+ RegexOptions.IgnoreCase)) {
+ tmpCookie = new StringBuilder (tmpCookie).Append (",").Append (jar [++i]).ToString ();
+ }
+
try {
- Cookie c = Parse (cookie);
+ Cookie c = Parse (tmpCookie);
// add default values from URI if missing from the string
if (c.Path.Length == 0) {
c.ExactDomain = true;
}
- Add (c);
+ AddCookie (c);
}
catch (Exception e) {
string msg = String.Format ("Could not parse cookies for '{0}'.", uri);
c.ExactDomain = false;
}
break;
+ case "expires":
+ case "$expires":
+ if (c.Expires == DateTime.MinValue)
+ c.Expires = DateTime.SpecifyKind (DateTime.ParseExact (value,
+ @"ddd, dd-MMM-yyyy HH:mm:ss G\MT", CultureInfo.InvariantCulture), DateTimeKind.Utc);
+ break;
+ case "httponly":
+ c.HttpOnly = true;
+ break;
+ case "secure":
+ c.Secure = true;
+ break;
default:
if (c.Name.Length == 0) {
c.Name = key;
+//
+// Copied from System.Web.HttpUtility and marked internal
//
-// System.Net.HttpUtility
-//
-// Author:
-// Gonzalo Paniagua Javier (gonzalo@novell.com)
+// Authors:
+// Patrik Torstensson (Patrik.Torstensson@labs2.com)
+// Wictor Wilén (decode/encode functions) (wictor@ibizkit.se)
+// Tim Coleman (tim@timcoleman.com)
+// Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
-// Copyright (c) 2005 Novell, Inc. (http://www.novell.com)
+// Copyright (C) 2005-2009 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
+
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.Specialized;
using System.Globalization;
using System.IO;
+using System.Security.Permissions;
using System.Text;
+
namespace System.Net {
- sealed class HttpUtility
+
+ internal sealed class HttpUtility
{
- private HttpUtility ()
+ sealed class HttpQSCollection : NameValueCollection
{
+ public override string ToString ()
+ {
+ int count = Count;
+ if (count == 0)
+ return "";
+ StringBuilder sb = new StringBuilder ();
+ string [] keys = AllKeys;
+ for (int i = 0; i < count; i++) {
+ sb.AppendFormat ("{0}={1}&", keys [i], this [keys [i]]);
+ }
+ if (sb.Length > 0)
+ sb.Length--;
+ return sb.ToString ();
+ }
+ }
+ #region Fields
+
+ static Hashtable entities;
+ static object lock_ = new object ();
+
+ #endregion // Fields
+
+ static Hashtable Entities {
+ get {
+ lock (lock_) {
+ if (entities == null)
+ InitEntities ();
+
+ return entities;
+ }
+ }
}
+
+ #region Constructors
- public static string UrlDecode (string s)
+ static void InitEntities ()
{
- return UrlDecode (s, null);
+ // Build the hash table of HTML entity references. This list comes
+ // from the HTML 4.01 W3C recommendation.
+ entities = new Hashtable ();
+ entities.Add ("nbsp", '\u00A0');
+ entities.Add ("iexcl", '\u00A1');
+ entities.Add ("cent", '\u00A2');
+ entities.Add ("pound", '\u00A3');
+ entities.Add ("curren", '\u00A4');
+ entities.Add ("yen", '\u00A5');
+ entities.Add ("brvbar", '\u00A6');
+ entities.Add ("sect", '\u00A7');
+ entities.Add ("uml", '\u00A8');
+ entities.Add ("copy", '\u00A9');
+ entities.Add ("ordf", '\u00AA');
+ entities.Add ("laquo", '\u00AB');
+ entities.Add ("not", '\u00AC');
+ entities.Add ("shy", '\u00AD');
+ entities.Add ("reg", '\u00AE');
+ entities.Add ("macr", '\u00AF');
+ entities.Add ("deg", '\u00B0');
+ entities.Add ("plusmn", '\u00B1');
+ entities.Add ("sup2", '\u00B2');
+ entities.Add ("sup3", '\u00B3');
+ entities.Add ("acute", '\u00B4');
+ entities.Add ("micro", '\u00B5');
+ entities.Add ("para", '\u00B6');
+ entities.Add ("middot", '\u00B7');
+ entities.Add ("cedil", '\u00B8');
+ entities.Add ("sup1", '\u00B9');
+ entities.Add ("ordm", '\u00BA');
+ entities.Add ("raquo", '\u00BB');
+ entities.Add ("frac14", '\u00BC');
+ entities.Add ("frac12", '\u00BD');
+ entities.Add ("frac34", '\u00BE');
+ entities.Add ("iquest", '\u00BF');
+ entities.Add ("Agrave", '\u00C0');
+ entities.Add ("Aacute", '\u00C1');
+ entities.Add ("Acirc", '\u00C2');
+ entities.Add ("Atilde", '\u00C3');
+ entities.Add ("Auml", '\u00C4');
+ entities.Add ("Aring", '\u00C5');
+ entities.Add ("AElig", '\u00C6');
+ entities.Add ("Ccedil", '\u00C7');
+ entities.Add ("Egrave", '\u00C8');
+ entities.Add ("Eacute", '\u00C9');
+ entities.Add ("Ecirc", '\u00CA');
+ entities.Add ("Euml", '\u00CB');
+ entities.Add ("Igrave", '\u00CC');
+ entities.Add ("Iacute", '\u00CD');
+ entities.Add ("Icirc", '\u00CE');
+ entities.Add ("Iuml", '\u00CF');
+ entities.Add ("ETH", '\u00D0');
+ entities.Add ("Ntilde", '\u00D1');
+ entities.Add ("Ograve", '\u00D2');
+ entities.Add ("Oacute", '\u00D3');
+ entities.Add ("Ocirc", '\u00D4');
+ entities.Add ("Otilde", '\u00D5');
+ entities.Add ("Ouml", '\u00D6');
+ entities.Add ("times", '\u00D7');
+ entities.Add ("Oslash", '\u00D8');
+ entities.Add ("Ugrave", '\u00D9');
+ entities.Add ("Uacute", '\u00DA');
+ entities.Add ("Ucirc", '\u00DB');
+ entities.Add ("Uuml", '\u00DC');
+ entities.Add ("Yacute", '\u00DD');
+ entities.Add ("THORN", '\u00DE');
+ entities.Add ("szlig", '\u00DF');
+ entities.Add ("agrave", '\u00E0');
+ entities.Add ("aacute", '\u00E1');
+ entities.Add ("acirc", '\u00E2');
+ entities.Add ("atilde", '\u00E3');
+ entities.Add ("auml", '\u00E4');
+ entities.Add ("aring", '\u00E5');
+ entities.Add ("aelig", '\u00E6');
+ entities.Add ("ccedil", '\u00E7');
+ entities.Add ("egrave", '\u00E8');
+ entities.Add ("eacute", '\u00E9');
+ entities.Add ("ecirc", '\u00EA');
+ entities.Add ("euml", '\u00EB');
+ entities.Add ("igrave", '\u00EC');
+ entities.Add ("iacute", '\u00ED');
+ entities.Add ("icirc", '\u00EE');
+ entities.Add ("iuml", '\u00EF');
+ entities.Add ("eth", '\u00F0');
+ entities.Add ("ntilde", '\u00F1');
+ entities.Add ("ograve", '\u00F2');
+ entities.Add ("oacute", '\u00F3');
+ entities.Add ("ocirc", '\u00F4');
+ entities.Add ("otilde", '\u00F5');
+ entities.Add ("ouml", '\u00F6');
+ entities.Add ("divide", '\u00F7');
+ entities.Add ("oslash", '\u00F8');
+ entities.Add ("ugrave", '\u00F9');
+ entities.Add ("uacute", '\u00FA');
+ entities.Add ("ucirc", '\u00FB');
+ entities.Add ("uuml", '\u00FC');
+ entities.Add ("yacute", '\u00FD');
+ entities.Add ("thorn", '\u00FE');
+ entities.Add ("yuml", '\u00FF');
+ entities.Add ("fnof", '\u0192');
+ entities.Add ("Alpha", '\u0391');
+ entities.Add ("Beta", '\u0392');
+ entities.Add ("Gamma", '\u0393');
+ entities.Add ("Delta", '\u0394');
+ entities.Add ("Epsilon", '\u0395');
+ entities.Add ("Zeta", '\u0396');
+ entities.Add ("Eta", '\u0397');
+ entities.Add ("Theta", '\u0398');
+ entities.Add ("Iota", '\u0399');
+ entities.Add ("Kappa", '\u039A');
+ entities.Add ("Lambda", '\u039B');
+ entities.Add ("Mu", '\u039C');
+ entities.Add ("Nu", '\u039D');
+ entities.Add ("Xi", '\u039E');
+ entities.Add ("Omicron", '\u039F');
+ entities.Add ("Pi", '\u03A0');
+ entities.Add ("Rho", '\u03A1');
+ entities.Add ("Sigma", '\u03A3');
+ entities.Add ("Tau", '\u03A4');
+ entities.Add ("Upsilon", '\u03A5');
+ entities.Add ("Phi", '\u03A6');
+ entities.Add ("Chi", '\u03A7');
+ entities.Add ("Psi", '\u03A8');
+ entities.Add ("Omega", '\u03A9');
+ entities.Add ("alpha", '\u03B1');
+ entities.Add ("beta", '\u03B2');
+ entities.Add ("gamma", '\u03B3');
+ entities.Add ("delta", '\u03B4');
+ entities.Add ("epsilon", '\u03B5');
+ entities.Add ("zeta", '\u03B6');
+ entities.Add ("eta", '\u03B7');
+ entities.Add ("theta", '\u03B8');
+ entities.Add ("iota", '\u03B9');
+ entities.Add ("kappa", '\u03BA');
+ entities.Add ("lambda", '\u03BB');
+ entities.Add ("mu", '\u03BC');
+ entities.Add ("nu", '\u03BD');
+ entities.Add ("xi", '\u03BE');
+ entities.Add ("omicron", '\u03BF');
+ entities.Add ("pi", '\u03C0');
+ entities.Add ("rho", '\u03C1');
+ entities.Add ("sigmaf", '\u03C2');
+ entities.Add ("sigma", '\u03C3');
+ entities.Add ("tau", '\u03C4');
+ entities.Add ("upsilon", '\u03C5');
+ entities.Add ("phi", '\u03C6');
+ entities.Add ("chi", '\u03C7');
+ entities.Add ("psi", '\u03C8');
+ entities.Add ("omega", '\u03C9');
+ entities.Add ("thetasym", '\u03D1');
+ entities.Add ("upsih", '\u03D2');
+ entities.Add ("piv", '\u03D6');
+ entities.Add ("bull", '\u2022');
+ entities.Add ("hellip", '\u2026');
+ entities.Add ("prime", '\u2032');
+ entities.Add ("Prime", '\u2033');
+ entities.Add ("oline", '\u203E');
+ entities.Add ("frasl", '\u2044');
+ entities.Add ("weierp", '\u2118');
+ entities.Add ("image", '\u2111');
+ entities.Add ("real", '\u211C');
+ entities.Add ("trade", '\u2122');
+ entities.Add ("alefsym", '\u2135');
+ entities.Add ("larr", '\u2190');
+ entities.Add ("uarr", '\u2191');
+ entities.Add ("rarr", '\u2192');
+ entities.Add ("darr", '\u2193');
+ entities.Add ("harr", '\u2194');
+ entities.Add ("crarr", '\u21B5');
+ entities.Add ("lArr", '\u21D0');
+ entities.Add ("uArr", '\u21D1');
+ entities.Add ("rArr", '\u21D2');
+ entities.Add ("dArr", '\u21D3');
+ entities.Add ("hArr", '\u21D4');
+ entities.Add ("forall", '\u2200');
+ entities.Add ("part", '\u2202');
+ entities.Add ("exist", '\u2203');
+ entities.Add ("empty", '\u2205');
+ entities.Add ("nabla", '\u2207');
+ entities.Add ("isin", '\u2208');
+ entities.Add ("notin", '\u2209');
+ entities.Add ("ni", '\u220B');
+ entities.Add ("prod", '\u220F');
+ entities.Add ("sum", '\u2211');
+ entities.Add ("minus", '\u2212');
+ entities.Add ("lowast", '\u2217');
+ entities.Add ("radic", '\u221A');
+ entities.Add ("prop", '\u221D');
+ entities.Add ("infin", '\u221E');
+ entities.Add ("ang", '\u2220');
+ entities.Add ("and", '\u2227');
+ entities.Add ("or", '\u2228');
+ entities.Add ("cap", '\u2229');
+ entities.Add ("cup", '\u222A');
+ entities.Add ("int", '\u222B');
+ entities.Add ("there4", '\u2234');
+ entities.Add ("sim", '\u223C');
+ entities.Add ("cong", '\u2245');
+ entities.Add ("asymp", '\u2248');
+ entities.Add ("ne", '\u2260');
+ entities.Add ("equiv", '\u2261');
+ entities.Add ("le", '\u2264');
+ entities.Add ("ge", '\u2265');
+ entities.Add ("sub", '\u2282');
+ entities.Add ("sup", '\u2283');
+ entities.Add ("nsub", '\u2284');
+ entities.Add ("sube", '\u2286');
+ entities.Add ("supe", '\u2287');
+ entities.Add ("oplus", '\u2295');
+ entities.Add ("otimes", '\u2297');
+ entities.Add ("perp", '\u22A5');
+ entities.Add ("sdot", '\u22C5');
+ entities.Add ("lceil", '\u2308');
+ entities.Add ("rceil", '\u2309');
+ entities.Add ("lfloor", '\u230A');
+ entities.Add ("rfloor", '\u230B');
+ entities.Add ("lang", '\u2329');
+ entities.Add ("rang", '\u232A');
+ entities.Add ("loz", '\u25CA');
+ entities.Add ("spades", '\u2660');
+ entities.Add ("clubs", '\u2663');
+ entities.Add ("hearts", '\u2665');
+ entities.Add ("diams", '\u2666');
+ entities.Add ("quot", '\u0022');
+ entities.Add ("amp", '\u0026');
+ entities.Add ("lt", '\u003C');
+ entities.Add ("gt", '\u003E');
+ entities.Add ("OElig", '\u0152');
+ entities.Add ("oelig", '\u0153');
+ entities.Add ("Scaron", '\u0160');
+ entities.Add ("scaron", '\u0161');
+ entities.Add ("Yuml", '\u0178');
+ entities.Add ("circ", '\u02C6');
+ entities.Add ("tilde", '\u02DC');
+ entities.Add ("ensp", '\u2002');
+ entities.Add ("emsp", '\u2003');
+ entities.Add ("thinsp", '\u2009');
+ entities.Add ("zwnj", '\u200C');
+ entities.Add ("zwj", '\u200D');
+ entities.Add ("lrm", '\u200E');
+ entities.Add ("rlm", '\u200F');
+ entities.Add ("ndash", '\u2013');
+ entities.Add ("mdash", '\u2014');
+ entities.Add ("lsquo", '\u2018');
+ entities.Add ("rsquo", '\u2019');
+ entities.Add ("sbquo", '\u201A');
+ entities.Add ("ldquo", '\u201C');
+ entities.Add ("rdquo", '\u201D');
+ entities.Add ("bdquo", '\u201E');
+ entities.Add ("dagger", '\u2020');
+ entities.Add ("Dagger", '\u2021');
+ entities.Add ("permil", '\u2030');
+ entities.Add ("lsaquo", '\u2039');
+ entities.Add ("rsaquo", '\u203A');
+ entities.Add ("euro", '\u20AC');
}
+ public HttpUtility ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ public static void HtmlAttributeEncode (string s, TextWriter output)
+ {
+ output.Write(HtmlAttributeEncode(s));
+ }
+
+ public static string HtmlAttributeEncode (string s)
+ {
+ if (null == s)
+ return null;
+
+ bool needEncode = false;
+ for (int i = 0; i < s.Length; i++) {
+ if (s [i] == '&' || s [i] == '"' || s [i] == '<') {
+ needEncode = true;
+ break;
+ }
+ }
+
+ if (!needEncode)
+ return s;
+
+ StringBuilder output = new StringBuilder ();
+ int len = s.Length;
+ for (int i = 0; i < len; i++)
+ switch (s [i]) {
+ case '&' :
+ output.Append ("&");
+ break;
+ case '"' :
+ output.Append (""");
+ break;
+ case '<':
+ output.Append ("<");
+ break;
+ default:
+ output.Append (s [i]);
+ break;
+ }
+
+ return output.ToString();
+ }
+
+ public static string UrlDecode (string str)
+ {
+ return UrlDecode(str, Encoding.UTF8);
+ }
+
static char [] GetChars (MemoryStream b, Encoding e)
{
return e.GetChars (b.GetBuffer (), 0, (int) b.Length);
}
+ static void WriteCharBytes (IList buf, char ch, Encoding e)
+ {
+ if (ch > 255) {
+ foreach (byte b in e.GetBytes (new char[] { ch }))
+ buf.Add (b);
+ } else
+ buf.Add ((byte)ch);
+ }
+
public static string UrlDecode (string s, Encoding e)
{
if (null == s)
if (s.IndexOf ('%') == -1 && s.IndexOf ('+') == -1)
return s;
-
+
if (e == null)
- e = Encoding.GetEncoding (28591);
-
- StringBuilder output = new StringBuilder ();
+ e = Encoding.UTF8;
+
long len = s.Length;
- NumberStyles hexa = NumberStyles.HexNumber;
- MemoryStream bytes = new MemoryStream ();
-
+ var bytes = new List <byte> ();
+ int xchar;
+ char ch;
+
for (int i = 0; i < len; i++) {
- if (s [i] == '%' && i + 2 < len) {
+ ch = s [i];
+ if (ch == '%' && i + 2 < len && s [i + 1] != '%') {
if (s [i + 1] == 'u' && i + 5 < len) {
- if (bytes.Length > 0) {
- output.Append (GetChars (bytes, e));
- bytes.SetLength (0);
- }
- output.Append ((char) Int32.Parse (s.Substring (i + 2, 4), hexa));
- i += 5;
- } else {
- bytes.WriteByte ((byte) Int32.Parse (s.Substring (i + 1, 2), hexa));
+ // unicode hex sequence
+ xchar = GetChar (s, i + 2, 4);
+ if (xchar != -1) {
+ WriteCharBytes (bytes, (char)xchar, e);
+ i += 5;
+ } else
+ WriteCharBytes (bytes, '%', e);
+ } else if ((xchar = GetChar (s, i + 1, 2)) != -1) {
+ WriteCharBytes (bytes, (char)xchar, e);
i += 2;
+ } else {
+ WriteCharBytes (bytes, '%', e);
}
continue;
}
- if (bytes.Length > 0) {
- output.Append (GetChars (bytes, e));
- bytes.SetLength (0);
+ if (ch == '+')
+ WriteCharBytes (bytes, ' ', e);
+ else
+ WriteCharBytes (bytes, ch, e);
+ }
+
+ byte[] buf = bytes.ToArray ();
+ bytes = null;
+ return e.GetString (buf);
+
+ }
+
+ public static string UrlDecode (byte [] bytes, Encoding e)
+ {
+ if (bytes == null)
+ return null;
+
+ return UrlDecode (bytes, 0, bytes.Length, e);
+ }
+
+ static int GetInt (byte b)
+ {
+ char c = (char) b;
+ if (c >= '0' && c <= '9')
+ return c - '0';
+
+ if (c >= 'a' && c <= 'f')
+ return c - 'a' + 10;
+
+ if (c >= 'A' && c <= 'F')
+ return c - 'A' + 10;
+
+ return -1;
+ }
+
+ static int GetChar (byte [] bytes, int offset, int length)
+ {
+ int value = 0;
+ int end = length + offset;
+ for (int i = offset; i < end; i++) {
+ int current = GetInt (bytes [i]);
+ if (current == -1)
+ return -1;
+ value = (value << 4) + current;
+ }
+
+ return value;
+ }
+
+ static int GetChar (string str, int offset, int length)
+ {
+ int val = 0;
+ int end = length + offset;
+ for (int i = offset; i < end; i++) {
+ char c = str [i];
+ if (c > 127)
+ return -1;
+
+ int current = GetInt ((byte) c);
+ if (current == -1)
+ return -1;
+ val = (val << 4) + current;
+ }
+
+ return val;
+ }
+
+ public static string UrlDecode (byte [] bytes, int offset, int count, Encoding e)
+ {
+ if (bytes == null)
+ return null;
+ if (count == 0)
+ return String.Empty;
+
+ if (bytes == null)
+ throw new ArgumentNullException ("bytes");
+
+ if (offset < 0 || offset > bytes.Length)
+ throw new ArgumentOutOfRangeException ("offset");
+
+ if (count < 0 || offset + count > bytes.Length)
+ throw new ArgumentOutOfRangeException ("count");
+
+ StringBuilder output = new StringBuilder ();
+ MemoryStream acc = new MemoryStream ();
+
+ int end = count + offset;
+ int xchar;
+ for (int i = offset; i < end; i++) {
+ if (bytes [i] == '%' && i + 2 < count && bytes [i + 1] != '%') {
+ if (bytes [i + 1] == (byte) 'u' && i + 5 < end) {
+ if (acc.Length > 0) {
+ output.Append (GetChars (acc, e));
+ acc.SetLength (0);
+ }
+ xchar = GetChar (bytes, i + 2, 4);
+ if (xchar != -1) {
+ output.Append ((char) xchar);
+ i += 5;
+ continue;
+ }
+ } else if ((xchar = GetChar (bytes, i + 1, 2)) != -1) {
+ acc.WriteByte ((byte) xchar);
+ i += 2;
+ continue;
+ }
+ }
+
+ if (acc.Length > 0) {
+ output.Append (GetChars (acc, e));
+ acc.SetLength (0);
}
- if (s [i] == '+') {
+ if (bytes [i] == '+') {
output.Append (' ');
} else {
- output.Append (s [i]);
+ output.Append ((char) bytes [i]);
+ }
+ }
+
+ if (acc.Length > 0) {
+ output.Append (GetChars (acc, e));
+ }
+
+ acc = null;
+ return output.ToString ();
+ }
+
+ public static byte [] UrlDecodeToBytes (byte [] bytes)
+ {
+ if (bytes == null)
+ return null;
+
+ return UrlDecodeToBytes (bytes, 0, bytes.Length);
+ }
+
+ public static byte [] UrlDecodeToBytes (string str)
+ {
+ return UrlDecodeToBytes (str, Encoding.UTF8);
+ }
+
+ public static byte [] UrlDecodeToBytes (string str, Encoding e)
+ {
+ if (str == null)
+ return null;
+
+ if (e == null)
+ throw new ArgumentNullException ("e");
+
+ return UrlDecodeToBytes (e.GetBytes (str));
+ }
+
+ public static byte [] UrlDecodeToBytes (byte [] bytes, int offset, int count)
+ {
+ if (bytes == null)
+ return null;
+ if (count == 0)
+ return new byte [0];
+
+ int len = bytes.Length;
+ if (offset < 0 || offset >= len)
+ throw new ArgumentOutOfRangeException("offset");
+
+ if (count < 0 || offset > len - count)
+ throw new ArgumentOutOfRangeException("count");
+
+ MemoryStream result = new MemoryStream ();
+ int end = offset + count;
+ for (int i = offset; i < end; i++){
+ char c = (char) bytes [i];
+ if (c == '+') {
+ c = ' ';
+ } else if (c == '%' && i < end - 2) {
+ int xchar = GetChar (bytes, i + 1, 2);
+ if (xchar != -1) {
+ c = (char) xchar;
+ i += 2;
+ }
}
- }
+ result.WriteByte ((byte) c);
+ }
+
+ return result.ToArray ();
+ }
+
+ public static string UrlEncode(string str)
+ {
+ return UrlEncode(str, Encoding.UTF8);
+ }
- if (bytes.Length > 0) {
- output.Append (GetChars (bytes, e));
+ public static string UrlEncode (string s, Encoding Enc)
+ {
+ if (s == null)
+ return null;
+
+ if (s == "")
+ return "";
+
+ bool needEncode = false;
+ int len = s.Length;
+ for (int i = 0; i < len; i++) {
+ char c = s [i];
+ if ((c < '0') || (c < 'A' && c > '9') || (c > 'Z' && c < 'a') || (c > 'z')) {
+ if (NotEncoded (c))
+ continue;
+
+ needEncode = true;
+ break;
+ }
}
- bytes = null;
+ if (!needEncode)
+ return s;
+
+ // avoided GetByteCount call
+ byte [] bytes = new byte[Enc.GetMaxByteCount(s.Length)];
+ int realLen = Enc.GetBytes (s, 0, s.Length, bytes, 0);
+ return Encoding.ASCII.GetString (UrlEncodeToBytes (bytes, 0, realLen));
+ }
+
+ public static string UrlEncode (byte [] bytes)
+ {
+ if (bytes == null)
+ return null;
+
+ if (bytes.Length == 0)
+ return "";
+
+ return Encoding.ASCII.GetString (UrlEncodeToBytes (bytes, 0, bytes.Length));
+ }
+
+ public static string UrlEncode (byte [] bytes, int offset, int count)
+ {
+ if (bytes == null)
+ return null;
+
+ if (bytes.Length == 0)
+ return "";
+
+ return Encoding.ASCII.GetString (UrlEncodeToBytes (bytes, offset, count));
+ }
+
+ public static byte [] UrlEncodeToBytes (string str)
+ {
+ return UrlEncodeToBytes (str, Encoding.UTF8);
+ }
+
+ public static byte [] UrlEncodeToBytes (string str, Encoding e)
+ {
+ if (str == null)
+ return null;
+
+ if (str == "")
+ return new byte [0];
+
+ byte [] bytes = e.GetBytes (str);
+ return UrlEncodeToBytes (bytes, 0, bytes.Length);
+ }
+
+ public static byte [] UrlEncodeToBytes (byte [] bytes)
+ {
+ if (bytes == null)
+ return null;
+
+ if (bytes.Length == 0)
+ return new byte [0];
+
+ return UrlEncodeToBytes (bytes, 0, bytes.Length);
+ }
+
+ static char [] hexChars = "0123456789abcdef".ToCharArray ();
+
+ static bool NotEncoded (char c)
+ {
+ return (c == '!' || c == '\'' || c == '(' || c == ')' || c == '*' || c == '-' || c == '.' || c == '_');
+ }
+
+ static void UrlEncodeChar (char c, Stream result, bool isUnicode) {
+ if (c > 255) {
+ //FIXME: what happens when there is an internal error?
+ //if (!isUnicode)
+ // throw new ArgumentOutOfRangeException ("c", c, "c must be less than 256");
+ int idx;
+ int i = (int) c;
+
+ result.WriteByte ((byte)'%');
+ result.WriteByte ((byte)'u');
+ idx = i >> 12;
+ result.WriteByte ((byte)hexChars [idx]);
+ idx = (i >> 8) & 0x0F;
+ result.WriteByte ((byte)hexChars [idx]);
+ idx = (i >> 4) & 0x0F;
+ result.WriteByte ((byte)hexChars [idx]);
+ idx = i & 0x0F;
+ result.WriteByte ((byte)hexChars [idx]);
+ return;
+ }
+
+ if (c > ' ' && NotEncoded (c)) {
+ result.WriteByte ((byte)c);
+ return;
+ }
+ if (c==' ') {
+ result.WriteByte ((byte)'+');
+ return;
+ }
+ if ( (c < '0') ||
+ (c < 'A' && c > '9') ||
+ (c > 'Z' && c < 'a') ||
+ (c > 'z')) {
+ if (isUnicode && c > 127) {
+ result.WriteByte ((byte)'%');
+ result.WriteByte ((byte)'u');
+ result.WriteByte ((byte)'0');
+ result.WriteByte ((byte)'0');
+ }
+ else
+ result.WriteByte ((byte)'%');
+
+ int idx = ((int) c) >> 4;
+ result.WriteByte ((byte)hexChars [idx]);
+ idx = ((int) c) & 0x0F;
+ result.WriteByte ((byte)hexChars [idx]);
+ }
+ else
+ result.WriteByte ((byte)c);
+ }
+
+ public static byte [] UrlEncodeToBytes (byte [] bytes, int offset, int count)
+ {
+ if (bytes == null)
+ return null;
+
+ int len = bytes.Length;
+ if (len == 0)
+ return new byte [0];
+
+ if (offset < 0 || offset >= len)
+ throw new ArgumentOutOfRangeException("offset");
+
+ if (count < 0 || count > len - offset)
+ throw new ArgumentOutOfRangeException("count");
+
+ MemoryStream result = new MemoryStream (count);
+ int end = offset + count;
+ for (int i = offset; i < end; i++)
+ UrlEncodeChar ((char)bytes [i], result, false);
+
+ return result.ToArray();
+ }
+
+ public static string UrlEncodeUnicode (string str)
+ {
+ if (str == null)
+ return null;
+
+ return Encoding.ASCII.GetString (UrlEncodeUnicodeToBytes (str));
+ }
+
+ public static byte [] UrlEncodeUnicodeToBytes (string str)
+ {
+ if (str == null)
+ return null;
+
+ if (str == "")
+ return new byte [0];
+
+ MemoryStream result = new MemoryStream (str.Length);
+ foreach (char c in str){
+ UrlEncodeChar (c, result, true);
+ }
+ return result.ToArray ();
+ }
+
+ /// <summary>
+ /// Decodes an HTML-encoded string and returns the decoded string.
+ /// </summary>
+ /// <param name="s">The HTML string to decode. </param>
+ /// <returns>The decoded text.</returns>
+ public static string HtmlDecode (string s)
+ {
+ if (s == null)
+ throw new ArgumentNullException ("s");
+
+ if (s.IndexOf ('&') == -1)
+ return s;
+
+ StringBuilder entity = new StringBuilder ();
+ StringBuilder output = new StringBuilder ();
+ int len = s.Length;
+ // 0 -> nothing,
+ // 1 -> right after '&'
+ // 2 -> between '&' and ';' but no '#'
+ // 3 -> '#' found after '&' and getting numbers
+ int state = 0;
+ int number = 0;
+ bool have_trailing_digits = false;
+
+ for (int i = 0; i < len; i++) {
+ char c = s [i];
+ if (state == 0) {
+ if (c == '&') {
+ entity.Append (c);
+ state = 1;
+ } else {
+ output.Append (c);
+ }
+ continue;
+ }
+
+ if (c == '&') {
+ state = 1;
+ if (have_trailing_digits) {
+ entity.Append (number.ToString (CultureInfo.InvariantCulture));
+ have_trailing_digits = false;
+ }
+
+ output.Append (entity.ToString ());
+ entity.Length = 0;
+ entity.Append ('&');
+ continue;
+ }
+
+ if (state == 1) {
+ if (c == ';') {
+ state = 0;
+ output.Append (entity.ToString ());
+ output.Append (c);
+ entity.Length = 0;
+ } else {
+ number = 0;
+ if (c != '#') {
+ state = 2;
+ } else {
+ state = 3;
+ }
+ entity.Append (c);
+ }
+ } else if (state == 2) {
+ entity.Append (c);
+ if (c == ';') {
+ string key = entity.ToString ();
+ if (key.Length > 1 && Entities.ContainsKey (key.Substring (1, key.Length - 2)))
+ key = Entities [key.Substring (1, key.Length - 2)].ToString ();
+
+ output.Append (key);
+ state = 0;
+ entity.Length = 0;
+ }
+ } else if (state == 3) {
+ if (c == ';') {
+ if (number > 65535) {
+ output.Append ("&#");
+ output.Append (number.ToString (CultureInfo.InvariantCulture));
+ output.Append (";");
+ } else {
+ output.Append ((char) number);
+ }
+ state = 0;
+ entity.Length = 0;
+ have_trailing_digits = false;
+ } else if (Char.IsDigit (c)) {
+ number = number * 10 + ((int) c - '0');
+ have_trailing_digits = true;
+ } else {
+ state = 2;
+ if (have_trailing_digits) {
+ entity.Append (number.ToString (CultureInfo.InvariantCulture));
+ have_trailing_digits = false;
+ }
+ entity.Append (c);
+ }
+ }
+ }
+
+ if (entity.Length > 0) {
+ output.Append (entity.ToString ());
+ } else if (have_trailing_digits) {
+ output.Append (number.ToString (CultureInfo.InvariantCulture));
+ }
+ return output.ToString ();
+ }
+
+ /// <summary>
+ /// Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream.
+ /// </summary>
+ /// <param name="s">The HTML string to decode</param>
+ /// <param name="output">The TextWriter output stream containing the decoded string. </param>
+ public static void HtmlDecode(string s, TextWriter output)
+ {
+ if (s != null)
+ output.Write (HtmlDecode (s));
+ }
+
+ /// <summary>
+ /// HTML-encodes a string and returns the encoded string.
+ /// </summary>
+ /// <param name="s">The text string to encode. </param>
+ /// <returns>The HTML-encoded text.</returns>
+ public static string HtmlEncode (string s)
+ {
+ if (s == null)
+ return null;
+
+ bool needEncode = false;
+ for (int i = 0; i < s.Length; i++) {
+ char c = s [i];
+ if (c == '&' || c == '"' || c == '<' || c == '>' || c > 159) {
+ needEncode = true;
+ break;
+ }
+ }
+
+ if (!needEncode)
+ return s;
+
+ StringBuilder output = new StringBuilder ();
+
+ int len = s.Length;
+ for (int i = 0; i < len; i++)
+ switch (s [i]) {
+ case '&' :
+ output.Append ("&");
+ break;
+ case '>' :
+ output.Append (">");
+ break;
+ case '<' :
+ output.Append ("<");
+ break;
+ case '"' :
+ output.Append (""");
+ break;
+ default:
+ // MS starts encoding with &# from 160 and stops at 255.
+ // We don't do that. One reason is the 65308/65310 unicode
+ // characters that look like '<' and '>'.
+#if TARGET_JVM
+ if (s [i] > 159 && s [i] < 256) {
+#else
+ if (s [i] > 159) {
+#endif
+ output.Append ("&#");
+ output.Append (((int) s [i]).ToString (CultureInfo.InvariantCulture));
+ output.Append (";");
+ } else {
+ output.Append (s [i]);
+ }
+ break;
+ }
return output.ToString ();
}
+
+ /// <summary>
+ /// HTML-encodes a string and sends the resulting output to a TextWriter output stream.
+ /// </summary>
+ /// <param name="s">The string to encode. </param>
+ /// <param name="output">The TextWriter output stream containing the encoded string. </param>
+ public static void HtmlEncode(string s, TextWriter output)
+ {
+ if (s != null)
+ output.Write (HtmlEncode (s));
+ }
+
+ public static string UrlPathEncode (string s)
+ {
+ if (s == null || s.Length == 0)
+ return s;
+
+ MemoryStream result = new MemoryStream ();
+ int length = s.Length;
+ for (int i = 0; i < length; i++) {
+ UrlPathEncodeChar (s [i], result);
+ }
+ return Encoding.ASCII.GetString (result.ToArray ());
+ }
+
+ static void UrlPathEncodeChar (char c, Stream result)
+ {
+ if (c < 33 || c > 126) {
+ byte [] bIn = Encoding.UTF8.GetBytes (c.ToString ());
+ for (int i = 0; i < bIn.Length; i++) {
+ result.WriteByte ((byte) '%');
+ int idx = ((int) bIn [i]) >> 4;
+ result.WriteByte ((byte) hexChars [idx]);
+ idx = ((int) bIn [i]) & 0x0F;
+ result.WriteByte ((byte) hexChars [idx]);
+ }
+ }
+ else if (c == ' ') {
+ result.WriteByte ((byte) '%');
+ result.WriteByte ((byte) '2');
+ result.WriteByte ((byte) '0');
+ }
+ else
+ result.WriteByte ((byte) c);
+ }
+
+ public static NameValueCollection ParseQueryString (string query)
+ {
+ return ParseQueryString (query, Encoding.UTF8);
+ }
+
+ public static NameValueCollection ParseQueryString (string query, Encoding encoding)
+ {
+ if (query == null)
+ throw new ArgumentNullException ("query");
+ if (encoding == null)
+ throw new ArgumentNullException ("encoding");
+ if (query.Length == 0 || (query.Length == 1 && query[0] == '?'))
+ return new NameValueCollection ();
+ if (query[0] == '?')
+ query = query.Substring (1);
+
+ NameValueCollection result = new HttpQSCollection ();
+ ParseQueryString (query, encoding, result);
+ return result;
+ }
+
+ internal static void ParseQueryString (string query, Encoding encoding, NameValueCollection result)
+ {
+ if (query.Length == 0)
+ return;
+
+ string decoded = HtmlDecode (query);
+ int decodedLength = decoded.Length;
+ int namePos = 0;
+ bool first = true;
+ while (namePos <= decodedLength) {
+ int valuePos = -1, valueEnd = -1;
+ for (int q = namePos; q < decodedLength; q++) {
+ if (valuePos == -1 && decoded [q] == '=') {
+ valuePos = q + 1;
+ } else if (decoded [q] == '&') {
+ valueEnd = q;
+ break;
+ }
+ }
+
+ if (first) {
+ first = false;
+ if (decoded [namePos] == '?')
+ namePos++;
+ }
+
+ string name, value;
+ if (valuePos == -1) {
+ name = null;
+ valuePos = namePos;
+ } else {
+ name = UrlDecode (decoded.Substring (namePos, valuePos - namePos - 1), encoding);
+ }
+ if (valueEnd < 0) {
+ namePos = -1;
+ valueEnd = decoded.Length;
+ } else {
+ namePos = valueEnd + 1;
+ }
+ value = UrlDecode (decoded.Substring (valuePos, valueEnd - valuePos), encoding);
+
+ result.Add (name, value);
+ if (namePos == -1)
+ break;
+ }
+ }
+ #endregion // Methods
}
}
-#endif
throw new ArgumentNullException ("socketAddress");
if (socketAddress.Family != AddressFamily)
- throw new ArgumentException ("socketAddress");
+ throw new ArgumentException ("The IPEndPoint was created using " + AddressFamily +
+ " AddressFamily but SocketAddress contains " + socketAddress.Family +
+ " instead, please use the same type.");
SocketAddress sockaddr = socketAddress;
int size =sockaddr.Size;
static PropertyInfo piServer;
static PropertyInfo piTrustFailure;
+#if MONOTOUCH
+ static MethodInfo start_wwan;
+
+ static WebConnection ()
+ {
+ Type type = Type.GetType ("MonoTouch.ObjCRuntime.Runtime, monotouch");
+ start_wwan = type.GetMethod ("StartWWAN");
+ }
+#endif
+
public WebConnection (WebConnectionGroup group, ServicePoint sPoint)
{
this.sPoint = sPoint;
IPHostEntry hostEntry = sPoint.HostEntry;
if (hostEntry == null) {
- status = sPoint.UsesProxy ? WebExceptionStatus.ProxyNameResolutionFailure :
- WebExceptionStatus.NameResolutionFailure;
- return;
+#if MONOTOUCH
+ if (start_wwan != null) {
+ start_wwan.Invoke (null, new object [1] { sPoint.Address });
+ hostEntry = sPoint.HostEntry;
+ }
+ if (hostEntry == null) {
+#endif
+ status = sPoint.UsesProxy ? WebExceptionStatus.ProxyNameResolutionFailure :
+ WebExceptionStatus.NameResolutionFailure;
+ return;
+#if MONOTOUCH
+ }
+#endif
}
WebConnectionData data = Data;
--- /dev/null
+//\r
+// System.Net.WebUtility\r
+//\r
+// Author: Mike Kestner <mkestner@novell.com>\r
+//\r
+//\r
+// Permission is hereby granted, free of charge, to any person obtaining\r
+// a copy of this software and associated documentation files (the\r
+// "Software"), to deal in the Software without restriction, including\r
+// without limitation the rights to use, copy, modify, merge, publish,\r
+// distribute, sublicense, and/or sell copies of the Software, and to\r
+// permit persons to whom the Software is furnished to do so, subject to\r
+// the following conditions:\r
+// \r
+// The above copyright notice and this permission notice shall be\r
+// included in all copies or substantial portions of the Software.\r
+// \r
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+//\r
+\r
+#if NET_4_0\r
+using System;\r
+using System.IO;\r
+using System.Runtime.Serialization;\r
+\r
+namespace System.Net \r
+{\r
+\r
+ public static class WebUtility \r
+ {\r
+ \r
+ public static string HtmlDecode (string value)\r
+ {\r
+ return HttpUtility.HtmlDecode (value);\r
+ }\r
+ \r
+ public static void HtmlDecode (string value, TextWriter output)\r
+ {\r
+ output.Write (HtmlDecode (value));\r
+ }\r
+ \r
+ public static string HtmlEncode (string value)\r
+ {\r
+ return HttpUtility.HtmlEncode (value);\r
+ }\r
+ \r
+ public static void HtmlEncode (string value, TextWriter output)\r
+ {\r
+ output.Write (HtmlEncode (value));\r
+ }\r
+ }\r
+}\r
+#endif\r
public enum CipherAlgorithmType
{
None = 0,
+ Null = 0x6000,
Aes = 0x6611,
Aes128 = 0x660e,
Aes192 = 0x660f,
\r
int gcount = m.Groups.Count;\r
for (int gindex = 1; gindex < gcount; gindex++) {\r
- Group grp = m.Groups [gindex];\r
- splits.Add (input.Substring (grp.Index, grp.Length));\r
+ Group grp = m.Groups [gindex];
+ if (grp.Length > 0)\r
+ splits.Add (input.Substring (grp.Index, grp.Length));\r
}\r
\r
if (regex.RightToLeft)\r
+2010-02-03 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * BaseMachine.cs (Split): Don't add empty strings if they don't come from
+ the first capture group. Fixes #566117.
+
2010-01-12 Miguel de Icaza <miguel@novell.com>
* Regex.cs: Re-enable the new regex compiler as the bug seems to
System.Net/WebRequest.cs
System.Net/WebRequestMethods.cs
System.Net/WebResponse.cs
+System.Net/WebUtility.cs
System/NewsStyleUriParser.cs
System.Security.AccessControl/SemaphoreAccessRule.cs
System.Security.AccessControl/SemaphoreAuditRule.cs
+2010-01-27 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * Uri.cs: In IsWellFormedOriginalString(), call to our internal
+ EscapeString() method since we need to tell it to *not* escape '#'
+ (hex). Fixes #549135.
+
2009-11-30 Sebastien Pouliot <sebastien@ximian.com>
* Uri.cs: Hide protected EscapeString and Unescape for SL2/3
public bool IsWellFormedOriginalString ()
{
// funny, but it does not use the Parser's IsWellFormedOriginalString().
- return EscapeString (OriginalString) == OriginalString;
+ // Also, it seems we need to *not* escape hex.
+ return EscapeString (OriginalString, false, false, true) == OriginalString;
}
// static methods
System.IO/FileSystemWatcherTest.cs
System.IO.Compression/DeflateStreamTest.cs
System.IO.Compression/GzipStreamTest.cs
+System.IO.Ports/SerialPortTest.cs
System.Net/CookieCollectionTest.cs
System.Net/CookieContainerTest.cs
System.Net/CookieTest.cs
System.Net/WebProxyTest.cs
System.Net/WebRequestTest.cs
System.Net/WebClientTest.cs
+System.Net/WebUtilityTest.cs
System.Net.Configuration/ConnectionManagementSectionTest.cs
System.Net.Configuration/HttpWebRequestElementTest.cs
System.Net.Configuration/WebRequestModulesSectionTest.cs
System.Text.RegularExpressions/RegexCompilationInfoCas.cs
System.Text.RegularExpressions/RegexRunnerCas.cs
System.Text.RegularExpressions/RegexRunnerFactoryCas.cs
+System.Text.RegularExpressions/SplitTests.cs
System.Threading/SemaphoreCas.cs
System.Threading/SemaphoreFullExceptionCas.cs
System.Threading/SemaphoreTest.cs
+2010-02-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * System.IO.Ports: New test directory.
+
+2010-01-29 Mike Kestner <mkestner@novell.com>
+
+ * System.Net/WebUtilityTest.cs: port of tests from System.Web.
+
2009-05-14 Jonathan Pryor <jpryor@novell.com>
* test-config-file: Revert the prior change, as this breaks 1.0
public void Enumerator_Current ()
{
var e1 = new SortedDictionary<int,int>.Enumerator ();
- Assert.IsFalse (Throws (delegate { var x = e1.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e1.Current; GC.KeepAlive (x);}));
var d = new SortedDictionary<int,int> ();
var e2 = d.GetEnumerator ();
- Assert.IsFalse (Throws (delegate { var x = e2.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e2.Current; GC.KeepAlive (x);}));
e2.MoveNext ();
- Assert.IsFalse (Throws (delegate { var x = e2.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e2.Current; GC.KeepAlive (x);}));
e2.Dispose ();
- Assert.IsFalse (Throws (delegate { var x = e2.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e2.Current; GC.KeepAlive (x);}));
var e3 = ((IEnumerable<KeyValuePair<int,int>>) d).GetEnumerator ();
- Assert.IsFalse (Throws (delegate { var x = e3.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e3.Current; GC.KeepAlive (x);}));
e3.MoveNext ();
- Assert.IsFalse (Throws (delegate { var x = e3.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e3.Current; GC.KeepAlive (x);}));
e3.Dispose ();
- Assert.IsFalse (Throws (delegate { var x = e3.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e3.Current; GC.KeepAlive (x);}));
var e4 = ((IEnumerable) d).GetEnumerator ();
- Assert.IsTrue (Throws (delegate { var x = e4.Current; }));
+ Assert.IsTrue (Throws (delegate { var x = e4.Current; GC.KeepAlive (x);}));
e4.MoveNext ();
- Assert.IsTrue (Throws (delegate { var x = e4.Current; }));
+ Assert.IsTrue (Throws (delegate { var x = e4.Current; GC.KeepAlive (x);}));
((IDisposable) e4).Dispose ();
- Assert.IsTrue (Throws (delegate { var x = e4.Current; }));
+ Assert.IsTrue (Throws (delegate { var x = e4.Current; GC.KeepAlive (x);}));
}
[Test]
public void KeyEnumerator_Current ()
{
var e1 = new SortedDictionary<int,int>.KeyCollection.Enumerator ();
- Assert.IsFalse (Throws (delegate { var x = e1.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e1.Current; GC.KeepAlive (x); }));
var d = new SortedDictionary<int,int> ().Keys;
var e2 = d.GetEnumerator ();
- Assert.IsFalse (Throws (delegate { var x = e2.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e2.Current; GC.KeepAlive (x); }));
e2.MoveNext ();
- Assert.IsFalse (Throws (delegate { var x = e2.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e2.Current; GC.KeepAlive (x); }));
e2.Dispose ();
- Assert.IsFalse (Throws (delegate { var x = e2.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e2.Current; GC.KeepAlive (x); }));
var e3 = ((IEnumerable<int>) d).GetEnumerator ();
- Assert.IsFalse (Throws (delegate { var x = e3.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e3.Current; GC.KeepAlive (x); }));
e3.MoveNext ();
- Assert.IsFalse (Throws (delegate { var x = e3.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e3.Current; GC.KeepAlive (x); }));
e3.Dispose ();
- Assert.IsFalse (Throws (delegate { var x = e3.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e3.Current; GC.KeepAlive (x); }));
var e4 = ((IEnumerable) d).GetEnumerator ();
- Assert.IsTrue (Throws (delegate { var x = e4.Current; }));
+ Assert.IsTrue (Throws (delegate { var x = e4.Current; GC.KeepAlive (x); }));
e4.MoveNext ();
- Assert.IsTrue (Throws (delegate { var x = e4.Current; }));
+ Assert.IsTrue (Throws (delegate { var x = e4.Current; GC.KeepAlive (x); }));
((IDisposable) e4).Dispose ();
- Assert.IsTrue (Throws (delegate { var x = e4.Current; }));
+ Assert.IsTrue (Throws (delegate { var x = e4.Current; GC.KeepAlive (x); }));
}
[Test]
public void ValueEnumerator_Current ()
{
var e1 = new SortedDictionary<int,int>.ValueCollection.Enumerator ();
- Assert.IsFalse (Throws (delegate { var x = e1.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e1.Current; GC.KeepAlive (x); }));
var d = new SortedDictionary<int,int> ().Values;
var e2 = d.GetEnumerator ();
- Assert.IsFalse (Throws (delegate { var x = e2.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e2.Current; GC.KeepAlive (x); }));
e2.MoveNext ();
- Assert.IsFalse (Throws (delegate { var x = e2.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e2.Current; GC.KeepAlive (x); }));
e2.Dispose ();
- Assert.IsFalse (Throws (delegate { var x = e2.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e2.Current; GC.KeepAlive (x); }));
var e3 = ((IEnumerable<int>) d).GetEnumerator ();
- Assert.IsFalse (Throws (delegate { var x = e3.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e3.Current; GC.KeepAlive (x); }));
e3.MoveNext ();
- Assert.IsFalse (Throws (delegate { var x = e3.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e3.Current; GC.KeepAlive (x); }));
e3.Dispose ();
- Assert.IsFalse (Throws (delegate { var x = e3.Current; }));
+ Assert.IsFalse (Throws (delegate { var x = e3.Current; GC.KeepAlive (x); }));
var e4 = ((IEnumerable) d).GetEnumerator ();
- Assert.IsTrue (Throws (delegate { var x = e4.Current; }));
+ Assert.IsTrue (Throws (delegate { var x = e4.Current; GC.KeepAlive (x); }));
e4.MoveNext ();
- Assert.IsTrue (Throws (delegate { var x = e4.Current; }));
+ Assert.IsTrue (Throws (delegate { var x = e4.Current; GC.KeepAlive (x); }));
((IDisposable) e4).Dispose ();
- Assert.IsTrue (Throws (delegate { var x = e4.Current; }));
+ Assert.IsTrue (Throws (delegate { var x = e4.Current; GC.KeepAlive (x); }));
}
}
{
Assert.IsTrue (converter.CanConvertTo (typeof (string)), "#1");
Assert.IsFalse (converter.CanConvertTo (typeof (object)), "#2");
+ Assert.IsTrue (converter.CanConvertTo (typeof (int)), "#3");
}
[Test]
+2010-02-05 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * MaskedTextProviderTest.cs: New tests for ToString and
+ ToDisplayString, specifically when IsPassword is true.
+
+2010-01-15 Alexandre Gomes <alexmipego@gmail.com>
+
+ * ByteConverterTests.cs:
+ * DoubleConverterTests.cs:
+ * Int32ConverterTests.cs:
+ * Int16ConverterTests.cs:
+ * Int64ConverterTests.cs:
+ * SingleConverterTests.cs:
+ * UInt32ConverterTests.cs:
+ * SByteConverterTests.cs:
+ * UInt16ConverterTests.cs:
+ * UInt64ConverterTests.cs: Added tests to verify CanConvertTo when
+ targeting primitive types.
+
2009-09-29 Alan McGovern <amcgovern@novell.com>
* CategoryAttributeTest.cs: Added new test file.
{
Assert.IsTrue (converter.CanConvertTo (typeof (string)), "#1");
Assert.IsFalse (converter.CanConvertTo (typeof (object)), "#2");
+ Assert.IsTrue (converter.CanConvertTo (typeof (int)), "#3");
}
[Test]
{
Assert.IsTrue (converter.CanConvertTo (typeof (string)), "#1");
Assert.IsFalse (converter.CanConvertTo (typeof (object)), "#2");
+ Assert.IsTrue (converter.CanConvertTo (typeof (int)), "#3");
}
[Test]
{
Assert.IsTrue (converter.CanConvertTo (typeof (string)), "#1");
Assert.IsFalse (converter.CanConvertTo (typeof (object)), "#2");
+ Assert.IsTrue (converter.CanConvertTo (typeof (int)), "#3");
}
[Test]
{
Assert.IsTrue (converter.CanConvertTo (typeof (string)), "#1");
Assert.IsFalse (converter.CanConvertTo (typeof (object)), "#2");
+ Assert.IsTrue (converter.CanConvertTo (typeof (int)), "#3");
}
[Test]
Assert.AreEqual (false, mtp.VerifyEscapeChar ('\x20', 1), "#0");
MaskedTextProviderTest.AssertProperties (mtp, "VerifyEscapeCharTest", 1, true, false, 1, 0, CultureInfo.GetCultureInfo ("es-ES"), 1, true, false, false, 0, 3, @"abc", true, true, '\x0', '\x5F', true, true, true, @"abc", @"abc", @"abc", @"abc", @"a", @"abc", @"a");
}
+
+ [Test]
+ public void ToDisplayString ()
+ {
+ MaskedTextProvider mtp;
+
+ mtp = new MaskedTextProvider ("##-##");
+ mtp.PasswordChar = '*';
+ Assert.AreEqual ("__-__", mtp.ToDisplayString ());
+
+ mtp.Add ("666");
+ Assert.AreEqual ("**-*_", mtp.ToDisplayString ());
+ }
+
+ // Test the interaction between includePasswordChar and includePromptChar
+ // in a password mask
+ [Test]
+ public void ToString_PasswordTest ()
+ {
+ MaskedTextProvider mtp;
+
+ mtp = new MaskedTextProvider ("####");
+ mtp.PasswordChar = '*';
+ Assert.AreEqual ("____", mtp.ToString (true, true, true, 0, mtp.Length), "#A1");
+ Assert.AreEqual ("____", mtp.ToString (false, true, true, 0, mtp.Length), "#A2");
+
+ mtp.Add ("314");
+ Assert.AreEqual ("314_", mtp.ToString (true, true, true, 0, mtp.Length), "#B1");
+ Assert.AreEqual ("***_", mtp.ToString (false, true, true, 0, mtp.Length), "#B2");
+
+ mtp.Clear ();
+
+ mtp.InsertAt ("666", 1);
+ Assert.AreEqual ("_666", mtp.ToString (true, true, true, 0, mtp.Length), "#C1");
+ Assert.AreEqual ("_***", mtp.ToString (false, true, true, 0, mtp.Length), "#C2");
+ }
+
[Test]
public void ToString_False_FalseTest ()
{
Assert.AreEqual (" a", mtp.ToString (false, false), "#16");
mtp.InsertAt ('a', 9);
Assert.AreEqual (" a a", mtp.ToString (false, false), "#17");
+
+ mtp = new MaskedTextProvider ("aaa");
+ mtp.PasswordChar = '*';
+ mtp.InsertAt ('a', 2);
+ Assert.AreEqual (" a", mtp.ToString (false, false), "#18");
}
[Test]
public void ToString_bool_bool_bool_int_int_Test00043 ()
{
Assert.IsTrue (converter.CanConvertTo (typeof (string)), "#1");
Assert.IsFalse (converter.CanConvertTo (typeof (object)), "#2");
+ Assert.IsTrue (converter.CanConvertTo (typeof (int)), "#3");
}
[Test]
{
Assert.IsTrue (converter.CanConvertTo (typeof (string)), "#1");
Assert.IsFalse (converter.CanConvertTo (typeof (object)), "#2");
+ Assert.IsTrue (converter.CanConvertTo (typeof (int)), "#3");
}
[Test]
{
Assert.IsTrue (converter.CanConvertTo (typeof (string)), "#1");
Assert.IsFalse (converter.CanConvertTo (typeof (object)), "#2");
+ Assert.IsTrue (converter.CanConvertTo (typeof (int)), "#3");
}
[Test]
{
Assert.IsTrue (converter.CanConvertTo (typeof (string)), "#1");
Assert.IsFalse (converter.CanConvertTo (typeof (object)), "#2");
+ Assert.IsTrue (converter.CanConvertTo (typeof (int)), "#3");
}
[Test]
{
Assert.IsTrue (converter.CanConvertTo (typeof (string)), "#1");
Assert.IsFalse (converter.CanConvertTo (typeof (object)), "#2");
+ Assert.IsTrue (converter.CanConvertTo (typeof (int)), "#3");
}
[Test]
--- /dev/null
+2010-02-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * SerialPortTest.cs: New file.
+
--- /dev/null
+//
+// SerialPortTest.cs: Test cases for SerialPort.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+// Copyright (c) 2010 Novell, Inc. (http://www.novell.com)
+//
+// Author:
+// Carlos Alberto Cortez <calberto.cortez@gmail.com>
+//
+
+using System;
+using System.IO;
+using System.IO.Ports;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.IO.Ports
+{
+ [TestFixture]
+ public class SerialPortTest
+ {
+ [Category ("NotWorking")]
+ [Test]
+ public void DiscardNull ()
+ {
+ SerialPort sp = new SerialPort ();
+ Assert.AreEqual (false, sp.IsOpen, "#A1");
+ Assert.AreEqual (false, sp.DiscardNull, "#A2");
+
+ sp.DiscardNull = true;
+ Assert.AreEqual (true, sp.DiscardNull, "#B1");
+
+ sp.DiscardNull = false;
+ Assert.AreEqual (false, sp.DiscardNull, "#C1");
+ }
+ }
+}
+
+2010-01-21 Sebastien Pouliot <sebastien@ximian.com>
+
+ * CookieContainerTest.cs: Additional test cases from Tom Philpot
+
2010-01-15 Jonathan Pobst <monkey@jpobst.com>
* HttpWebRequestTest.cs: Mark test WriteServerAborts as
Assert.AreEqual (CookieContainer.DefaultCookieLimit, cc.Count, "Count");
// so one (yes '1' ;-) was removed
}
+
+ [Test]
+ public void SaveAndLoadViaAddUriCookie ()
+ {
+ Cookie cookie = new Cookie ("name", "value")
+ {
+ Domain = ".example.com",
+ Expires = new DateTime (2015, 1, 1, 0, 0, 0, DateTimeKind.Utc),
+ HttpOnly = true,
+ Secure = true,
+ };
+
+ Uri uri = new Uri ("https://www.example.com/path/file");
+ CookieContainer container = new CookieContainer ();
+ container.Add (uri, cookie);
+ CookieCollection collection = container.GetCookies (uri);
+ Assert.AreEqual (collection.Count, 1, "#A1");
+ Cookie cloned = collection [0];
+
+ Assert.AreEqual (cookie.Comment, cloned.Comment, "#A2");
+ Assert.AreEqual (cookie.CommentUri, cloned.CommentUri, "#A3");
+ Assert.AreEqual (cookie.Domain, cloned.Domain, "#A4");
+ Assert.AreEqual (cookie.Discard, cloned.Discard, "#A5");
+ Assert.AreEqual (cookie.Expired, cloned.Expired, "#A6");
+ Assert.AreEqual (cookie.Expires.ToUniversalTime (), cloned.Expires.ToUniversalTime (), "#A7");
+ Assert.AreEqual (cookie.HttpOnly, cloned.HttpOnly, "#A8");
+ Assert.AreEqual (cookie.Name, cloned.Name, "#A9");
+ Assert.AreEqual (cookie.Path, cloned.Path, "#A10");
+ Assert.AreEqual (cookie.Port, cloned.Port, "#A11");
+ Assert.AreEqual (cookie.Value, cloned.Value, "#A12");
+ Assert.AreEqual (cookie.Version, cloned.Version, "#A13");
+ Assert.AreEqual (cookie.Secure, cloned.Secure, "#A14");
+ }
+
+ [Test]
+ public void SaveAndLoadViaSetCookies ()
+ {
+ Cookie cookie = new Cookie ("name", "value")
+ {
+ Domain = ".example.com",
+ Expires = new DateTime (2015, 1, 1, 0, 0, 0, DateTimeKind.Utc),
+ HttpOnly = true,
+ Secure = true,
+ };
+
+ Uri uri = new Uri ("https://www.example.com/path/file");
+ CookieContainer container = new CookieContainer ();
+ container.SetCookies (uri, "name=value; domain=.example.com; expires=Thu, 01-Jan-2015 00:00:00 GMT; HttpOnly; secure");
+ CookieCollection collection = container.GetCookies (uri);
+ Assert.AreEqual (collection.Count, 1, "#A1");
+ Cookie cloned = collection [0];
+
+ Assert.AreEqual (cookie.Comment, cloned.Comment, "#A2");
+ Assert.AreEqual (cookie.CommentUri, cloned.CommentUri, "#A3");
+ Assert.AreEqual (cookie.Domain, cloned.Domain, "#A4");
+ Assert.AreEqual (cookie.Discard, cloned.Discard, "#A5");
+ Assert.AreEqual (cookie.Expired, cloned.Expired, "#A6");
+ Assert.AreEqual (cookie.Expires.ToUniversalTime (), cloned.Expires.ToUniversalTime (), "#A7");
+ Assert.AreEqual (cookie.HttpOnly, cloned.HttpOnly, "#A8");
+ Assert.AreEqual (cookie.Name, cloned.Name, "#A9");
+ Assert.AreEqual (cookie.Path, "", "#A10");
+ Assert.AreEqual (cloned.Path, "/path/file", "#A11");
+ Assert.AreEqual (cookie.Port, cloned.Port, "#A12");
+ Assert.AreEqual (cookie.Value, cloned.Value, "#A13");
+ Assert.AreEqual (cookie.Version, cloned.Version, "#A14");
+ Assert.AreEqual (cookie.Secure, cloned.Secure, "#A15");
+ }
}
}
--- /dev/null
+//
+// System.Net.WebUtilityTest.cs
+//
+// copied and edited from System.Web.HttpUtilityTest.cs
+//
+// Author:
+// Sebastien Pouliot <sebastien@ximian.com>
+// Mike Kestner <mkestner@novell.com>
+//
+// Copyright (C) 2005, 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_0
+
+using System;
+using System.Text;
+using System.Net;
+using System.IO;
+using System.Collections.Specialized;
+
+using NUnit.Framework;
+
+namespace MonoTests.System.Net {
+
+ [TestFixture]
+ public class WebUtilityTest {
+
+ [Test]
+ public void HtmlEncode_LtGt ()
+ {
+ Assert.AreEqual ("<script>", WebUtility.HtmlEncode ("<script>"));
+ }
+
+ // Notes:
+ // * this is to avoid a regression that would cause Mono to
+ // fail item #3 of the XSS vulnerabilities listed at:
+ // http://it-project.ru/andir/docs/aspxvuln/aspxvuln.en.xml
+ // we didn't fall the first time so let's ensure we never will
+ // * The author notes that Microsoft has decided not to fix
+ // this issue (hence the NotDotNet category).
+
+ [Test]
+ [Category ("NotDotNet")]
+#if TARGET_JVM
+ [Ignore ("TD #6954")]
+#endif
+ public void HtmlEncode_XSS ()
+ {
+ string problem = "\xff1cscript\xff1e"; // unicode looks alike <script>
+ byte[] utf8data = Encoding.UTF8.GetBytes (problem);
+ Encoding win1251 = Encoding.GetEncoding ("windows-1251");
+ byte[] windata = Encoding.Convert (Encoding.UTF8, win1251, utf8data);
+ // now it's a real problem
+ Assert.AreEqual ("<script>", Encoding.ASCII.GetString (windata), "<script>");
+
+ string encoded = WebUtility.HtmlEncode (problem);
+ Assert.AreEqual ("<script>", encoded, "<script>");
+
+ utf8data = Encoding.UTF8.GetBytes (encoded);
+ windata = Encoding.Convert (Encoding.UTF8, win1251, utf8data);
+ Assert.AreEqual ("<script>", Encoding.ASCII.GetString (windata), "ok");
+ }
+
+ [Test]
+#if !TARGET_JVM
+ [Category ("NotWorking")]
+#endif
+ public void HtmlEncode () {
+ for (char c = char.MinValue; c < char.MaxValue; c++) {
+ String exp = HtmlEncode (c.ToString ());
+ String act = WebUtility.HtmlEncode (c.ToString ());
+ Assert.AreEqual (exp, act, "HtmlEncode " + c.ToString () + " [" + (int) c + "]");
+ }
+ }
+
+ string HtmlEncode (string s) {
+ if (s == null)
+ return null;
+
+ bool needEncode = false;
+ for (int i = 0; i < s.Length; i++) {
+ char c = s [i];
+ if (c == '&' || c == '"' || c == '<' || c == '>' || c > 159) {
+ needEncode = true;
+ break;
+ }
+ }
+
+ if (!needEncode)
+ return s;
+
+ StringBuilder output = new StringBuilder ();
+
+ int len = s.Length;
+ for (int i = 0; i < len; i++)
+ switch (s [i]) {
+ case '&':
+ output.Append ("&");
+ break;
+ case '>':
+ output.Append (">");
+ break;
+ case '<':
+ output.Append ("<");
+ break;
+ case '"':
+ output.Append (""");
+ break;
+ default:
+ // MS starts encoding with &# from 160 and stops at 255.
+ // We don't do that. One reason is the 65308/65310 unicode
+ // characters that look like '<' and '>'.
+ if (s [i] > 159 && s [i] < 256) {
+ output.Append ("&#");
+ output.Append (((int) s [i]).ToString ());
+ output.Append (";");
+ }
+ else {
+ output.Append (s [i]);
+ }
+ break;
+ }
+ return output.ToString ();
+ }
+
+
+ [Test]
+ public void EscapedCharacters ()
+ {
+ for (int i = 0; i < 256; i++) {
+ string str = new string ((char) i, 1);
+ string encoded = WebUtility.HtmlEncode (str);
+ if ((i > 159 && i < 256 ) || i == '&' || i == '<' || i == '>' || i == '"') {
+ if (encoded [0] != '&' || encoded [encoded.Length - 1] != ';')
+ Assert.Fail ("Failed for i = " + i);
+ } else if (encoded.Length != 1) {
+ Assert.Fail ("Wrong length for i = " + i);
+ }
+ }
+ }
+
+ [Test]
+ public void Decode1 ()
+ {
+ Assert.AreEqual ("\xE9", WebUtility.HtmlDecode ("é"));
+ }
+
+ [Test]
+ public void RoundTrip ()
+ {
+ string x = "<html>& hello+= world!";
+ string y = WebUtility.HtmlEncode (x);
+ string z = WebUtility.HtmlDecode (y);
+ Assert.AreEqual (x, z);
+ }
+
+ [Test]
+ public void LooksLikeEntity ()
+ {
+ string str = "<%# \"hola\" + \"/somepage.aspx?ItemID=\" + DataBinder.Eval(Container.DataItem,\"Country\")" +
+ " + \"&mid=\" + ModuleID + \"&pageindex=\" + Request.Params.Get(\"pageindex\") %>";
+ Assert.AreEqual (str, WebUtility.HtmlDecode (str));
+ }
+ }
+}
+#endif
+
if (RunningOnWindows ())
throw;
}
+ catch (DirectoryNotFoundException) {
+ }
catch (Exception e) {
Assert.Fail (e.ToString ());
}
+2010-02-03 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * SplitTests.cs: New tests for #566117.
+
2009-08-20 Raja R Harinath <harinath@hurrynot.org>
* RegexMatchTests.cs: Add some explicit numeric group tests.
--- /dev/null
+//
+// MatchTest.cs - Unit tests for System.Text.RegularExpressions.Match
+//
+// Author:
+// Sebastien Pouliot <sebastien@ximian.com>
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using NUnit.Framework;
+
+using System;
+using System.Text.RegularExpressions;
+
+namespace MonoTests.System.Text.RegularExpressions
+{
+ [TestFixture]
+ public class SpliTest {
+
+ static void TestSplit (string pattern, string text, params string[] res) {
+ var r = new Regex (pattern);
+ var a = r.Split (text);
+ if (a.Length != res.Length) {
+ Assert.AreEqual (res.Length, a.Length, "length");
+ }
+
+ for (int i = 0; i < res.Length; ++i) {
+ if (!a [i].Equals (res [i])) {
+ Assert.AreEqual (res [i], a [i], "idx_" + i);
+ }
+ }
+ }
+
+ [Test]
+ public void NoGroups () { TestSplit ("el", "hello", "h", "lo"); }
+
+ [Test]
+ public void SingleGroup () { TestSplit ( "(el)", "hello", "h", "el", "lo"); }
+
+ [Test]
+ public void TwoGroups () { TestSplit ("(el)|(xx)", "hello", "h", "el", "lo"); }
+
+ [Test]
+ public void TwoGroupsInverted () { TestSplit ("(cc)|(el)", "hello", "h", "el", "lo"); }
+
+ [Test]
+ public void TwoValidGroups () { TestSplit ("(el)|(lo)", "hello", "h", "el", "", "lo", ""); }
+
+ [Test]
+ public void ThreGroups () { TestSplit ("(el)|(xx)|(yy)", "hello", "h", "el", "lo"); }
+
+ }
+}
+
+2010-01-27 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * UriTest.cs: added an assertion in the IsWellFormedOriginalString
+ test case to test urls containing '#'.
+
2009-10-15 Atsushi Enomoto <atsushi@ximian.com>
* UriTest3.cs : added test for parsing short name with
Assert.IsTrue (Uri.IsWellFormedUriString ("http://www.go-mono.com/Main%20Page", UriKind.Absolute), "http/%20");
Assert.IsFalse (Uri.IsWellFormedUriString (null, UriKind.Absolute), "null");
Assert.IsFalse (Uri.IsWellFormedUriString ("data", UriKind.Absolute), "data");
+ Assert.IsTrue (Uri.IsWellFormedUriString ("http://www.go-mono.com/Main_Page#1", UriKind.Absolute), "http/hex");
}
[Test]
+2010-02-19 Alan McGovern <amcgovern@novell.com>
+
+ * System.IO.Packaging/PackUriHelper.cs: Commit a fix for #570648 so
+ that PackUris can be combined properly.
+
2009-11-21 Raja R Harinath <harinath@hurrynot.org>\r
\r
* System.Collections.ObjectModel/ObservableCollection.cs [NET_4_0]:\r
if (targetUri.IsAbsoluteUri)
throw new ArgumentException ("targetUri", "Absolute URIs are not supported");
- // Need to trim first 7 chars as they are: "file://"
- return new Uri (new Uri(sourcePartUri, targetUri).OriginalString.Substring(7), UriKind.Relative);
+ Uri uri = new Uri ("http://fake.com");
+ uri = new Uri (uri, sourcePartUri);
+ uri = new Uri (uri, targetUri);
+
+ // Trim out 'http://fake.com'
+ return new Uri (uri.OriginalString.Substring (15), UriKind.Relative);
}
}
[assembly: InternalsVisibleTo ("System.ServiceModel, PublicKey=0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9")]
[assembly: InternalsVisibleTo ("System.ServiceModel.Web, PublicKey=00240000048000009400000006020000002400005253413100040000010001008D56C76F9E8649383049F383C44BE0EC204181822A6C31CF5EB7EF486944D032188EA1D3920763712CCB12D75FB77E9811149E6148E5D32FBAAB37611C1878DDC19E20EF135D0CB2CFF2BFEC3D115810C3D9069638FE4BE215DBF795861920E5AB6F7DB2E2CEEF136AC23D5DD2BF031700AEC232F6C6B1C785B4305C123B37AB")]
[assembly: InternalsVisibleTo ("System.Xml, PublicKey=00240000048000009400000006020000002400005253413100040000010001008D56C76F9E8649383049F383C44BE0EC204181822A6C31CF5EB7EF486944D032188EA1D3920763712CCB12D75FB77E9811149E6148E5D32FBAAB37611C1878DDC19E20EF135D0CB2CFF2BFEC3D115810C3D9069638FE4BE215DBF795861920E5AB6F7DB2E2CEEF136AC23D5DD2BF031700AEC232F6C6B1C785B4305C123B37AB")]
- [assembly: InternalsVisibleTo ("Mono.CompilerServices.SymbolWriter, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977D2D03A8E6BEA7A2E74E8D1AFCC93E8851974952BB480A12C9134474D04062447C37E0E68C080536FCF3C3FBE2FF9C979CE998475E506E8CE82DD5B0F350DC10E93BF2EEECF874B24770C5081DBEA7447FDDAFA277B22DE47D6FFEA449674A4F9FCCF84D15069089380284DBDD35F46CDFF12A1BD78E4EF0065D016DF")]
#else
[assembly: Guid ("BED7F4EA-1A96-11D2-8F08-00A0C9A6186D")]
#endif
+2010-02-09 Sebastien Pouliot <sebastien@ximian.com>
+
+ * AssemblyInfo.cs: Mono.CompilerServices.SymbolWriter does not
+ need to access mscorlib.dll internals anymore (ArrayList and
+ Hashtable)
+
2009-11-30 Andrés G. Aragoneses <aaragoneses@novell.com>
* AssemblyInfo.cs: Remove the MOON_A11Y_INTERNAL_HACK define
+2010-02-09 Sebastien Pouliot <sebastien@ximian.com>
+
+ * net_2_1_raw_corlib.dll.sources: Add Mono.CompilerServices.
+ SymbolWriter source files directly into mscorlib 2.1
+
+2010-02-02 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * corlib.dll.sources: Add System.Threading.Tasks/SimpleConcurrentBag.cs
+ and System.Threading.Tasks/UnobservedTaskExceptionEventArgs.cs
+
+2010-01-26 Marek Habersack <mhabersack@novell.com>
+
+ * net_2_1_raw_corlib.dll.sources: added System.IO/SearchOption.cs
+ to fix the build.
+
2009-12-03 Marek Habersack <mhabersack@novell.com>
* corlib.dll.sources: added
--- /dev/null
+//
+// Microsoft.Win32.SafeHandles.SafeRegistryHandle
+//
+// Author
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_0
+using System;
+using System.Runtime.InteropServices;
+using System.Runtime.ConstrainedExecution;
+
+namespace Microsoft.Win32.SafeHandles {
+
+ public sealed class SafeRegistryHandle : SafeHandleZeroOrMinusOneIsInvalid, IDisposable {
+ public SafeRegistryHandle (IntPtr preexistingHandle, bool ownsHandle) : base (ownsHandle)
+ {
+ handle = preexistingHandle;
+ }
+
+ protected override bool ReleaseHandle ()
+ {
+ throw new NotImplementedException ();
+ }
+ }
+}
+#endif
+
+2010-02-08 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * UnixRegistryApi.cs: When retrieving the registry keys from file in a
+ unix system, if the value returned by a SecurityElement is null,
+ use String.Empty, since at this point we know that this registry key
+ *exists* and *cannot* have a null value, as specified in the public
+ api.
+ Fixes #543206.
+
2009-11-21 Miguel de Icaza <miguel@novell.com>
* RegistryKey.cs: Implement a GetValueKind and a handful of
--- /dev/null
+//
+// Microsoft.Win32.RegistryOptions.cs
+//
+// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_0
+
+using System;
+namespace Microsoft.Win32 {
+ [Flags]
+ [Serializable]
+ public enum RegistryOptions {
+ None,
+ Volatile
+ }
+}
+
+#endif
+
--- /dev/null
+//
+// Microsoft.Win32.RegistryView.cs
+//
+// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_0
+
+using System;
+namespace Microsoft.Win32 {
+ [Serializable]
+ public enum RegistryView {
+ Default,
+ Registry64 = 0x100,
+ Registry32 = 0x200
+ }
+}
+
+#endif
+
values [name] = Convert.FromBase64String (se.Text);
break;
case "string":
- values [name] = se.Text;
+ values [name] = se.Text == null ? String.Empty : se.Text;
break;
case "expand":
values [name] = new ExpandString (se.Text);
+2010-02-18 Gabriel Burt <gabriel.burt@gmail.com>
+
+ * Normalization.cs: Implement algorithmic Hangul decomposition; Calling
+ string.Normalize on Korean characters now works properly (bnc#480152).
+ This reduces the number of errors in 'make test' from 27k to 4.8k.
+
+ * StringNormalizationTestSource.cs:
+ * Makefile: Use the local, working copy of Normalization etc,so as to make
+ modifying Normalization.cs and then testing your changes with 'make test'
+ possible. Also, fix building/running of tests, patch by Alexander
+ Kojevnikov.
+
2009-09-18 Atsushi Enomoto <atsushi@ximian.com>
* Normalization.cs : Handle blocked characters which are not
CB_CLASS_TABLE = downloaded/DerivedCombiningClass.txt
CP932_TABLE = downloaded/CP932.TXT
UCA_DATA = downloaded/core.zip
-NORM_TEST = downloaded/NormalizationTest.txt
+NORM_TEST_TABLE = downloaded/NormalizationTest.txt
NORMGEN_FILENAME = create-normalization-source
COLL_ELEM_FILENAME = create-collation-element-table
MSTABLEGEN = create-mscompat-collation-table
MSCOMPAT_FILENAME = MSCompatUnicodeTableGenerated.cs
NORM_FILENAME = NormalizationGenerated.cs
-NORM_TEST_CS = StringNormalizationTest.cs
+NORM_TEST = StringNormalizationTest
NORM_TESTGEN = create-normalization-tests
all : collation normalization
collation : $(MSCOMPAT_FILENAME)
-norm-test : $(NORM_TEST_CS) $(NORM_TEST)
- $(CS2COMPILE) $(NORM_TEST_CS) -d:TEST_STANDALONE
+norm-test : $(NORM_TEST_TABLE) $(NORM_TEST).cs
+ $(CS2COMPILE) -unsafe $(NORM_TEST).cs $(NORM_FILENAME) NormalizationTableUtil.cs CodePointIndexer.cs -d:TEST_STANDALONE
+ $(RUNTIME) $(NORM_TEST).exe
distclean :
make clean
- rm $(UCA_TABLE) $(NORM_TABLE) $(CB_CLASS_TABLE) $(CP932_TABLE) $(DERIV_CORE_PROP_TABLE) $(SCRIPTS_TABLE) $(NORM_TEST)
+ rm $(UCA_TABLE) $(NORM_TABLE) $(CB_CLASS_TABLE) $(CP932_TABLE) $(DERIV_CORE_PROP_TABLE) $(SCRIPTS_TABLE) $(NORM_TEST_TABLE)
clean : clean-collation clean-normalization clean-mscompat clean-normtest
rm -f $(MSCOMPAT_FILENAME) $(MSTABLEGEN).exe*
clean-normtest :
- rm -f $(NORM_TEST_CS) $(NORM_TESTGEN).exe*
+ rm -f $(NORM_TEST).* $(NORM_TESTGEN).exe*
# collation element table
CollationElementTable.cs : $(COLL_ELEM_FILENAME).exe CollationElementTable.template $(UCA_TABLE)
touch downloaded/CP932.TXT
$(UCA_DATA) :
+ rm -f core.zip
wget http://unicode.org/Public/cldr/1.3.0/core.zip
+ rm -fr common dtd
unzip core.zip
- mv core.zip common downloaded
- touch core.zip
+ rm -fr downloaded/common
+ mv common downloaded
+ mv core.zip downloaded
+ touch downloaded/core.zip
-$(NORM_TEST) : downloaded/NormalizationTest.txt
- wget wget http://www.unicode.org/Public/UNIDATA/NormalizationTest.txt
+$(NORM_TEST_TABLE) : downloaded/NormalizationTest.txt
+ wget http://www.unicode.org/Public/UNIDATA/NormalizationTest.txt
mv NormalizationTest.txt downloaded/
touch downloaded/NormalizationTest.txt
#StringNormalizationTest.cs
-$(NORM_TEST_CS) : StringNormalizationTestSource.cs $(NORM_TESTGEN).cs
+$(NORM_TEST).cs : $(NORM_TESTGEN).cs
$(CSCOMPILE) $(NORM_TESTGEN).cs
- $(RUNTIME) ./$(NORM_TESTGEN).exe > $(NORM_TEST_CS)
+ $(RUNTIME) ./$(NORM_TESTGEN).exe > $(NORM_TEST).cs
}
*/
- public static void GetCanonical (int c, int [] buf, int bufIdx)
+ const int HangulSBase = 0xAC00, HangulLBase = 0x1100,
+ HangulVBase = 0x1161, HangulTBase = 0x11A7,
+ HangulLCount = 19, HangulVCount = 21, HangulTCount = 28,
+ HangulNCount = HangulVCount * HangulTCount, // 588
+ HangulSCount = HangulLCount * HangulNCount; // 11172
+
+ private static bool GetCanonicalHangul (int s, int [] buf, int bufIdx)
{
- for (int i = CharMapIdx (c); mappedChars [i] != 0; i++)
- buf [bufIdx++] = mappedChars [i];
+ int idx = s - HangulSBase;
+ if (idx < 0 || idx >= HangulSCount) {
+ return false;
+ }
+
+ int L = HangulLBase + idx / HangulNCount;
+ int V = HangulVBase + (idx % HangulNCount) / HangulTCount;
+ int T = HangulTBase + idx % HangulTCount;
+
+ buf [bufIdx++] = L;
+ buf [bufIdx++] = V;
+ if (T != HangulTBase) {
+ buf [bufIdx++] = T;
+ }
buf [bufIdx] = (char) 0;
+ return true;
+ }
+
+ public static void GetCanonical (int c, int [] buf, int bufIdx)
+ {
+ if (!GetCanonicalHangul (c, buf, bufIdx)) {
+ for (int i = CharMapIdx (c); mappedChars [i] != 0; i++)
+ buf [bufIdx++] = mappedChars [i];
+ buf [bufIdx] = (char) 0;
+ }
}
public static bool IsNormalized (string source, int type)
using System.Collections;
using System.Text;
+using Mono.Globalization.Unicode;
+
namespace MonoTests.System
{
public class StringNormalizationTest
void TestString (Testcase tc, string expected, NormalizationForm f)
{
- string actual = tc.Source.Normalize (f);
+ string input = tc.Source;
+ string actual = null;
+ switch (f) {
+ default:
+ actual = Normalization.Normalize (input, 0); break;
+ case NormalizationForm.FormD:
+ actual = Normalization.Normalize (input, 1); break;
+ case NormalizationForm.FormKC:
+ actual = Normalization.Normalize (input, 2); break;
+ case NormalizationForm.FormKD:
+ actual = Normalization.Normalize (input, 3); break;
+ }
+
if (actual != expected)
Console.WriteLine ("Error: expected {0} but was {1} (for {2},type{3} form {4})",
expected, actual, tc.Source, tc.TestType, f);
+2010-02-02 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * ConcurrentDictionary.cs:
+ * ConcurrentQueue.cs:
+ * ConcurrentStack.cs:
+ * Partitioner.cs: Port to .NET 4 beta 2 API
+
+ * ConcurrentSkipList.cs: Use Monitor for locking
+
2009-08-19 Jérémie Laval <jeremie.laval@gmail.com>
* Partitioner.cs: Fix infinite recursion when calling Create
ConcurrentSkipList<Basket> container
= new ConcurrentSkipList<Basket> ((value) => value[0].GetHashCode ());
int count;
- int stamp = int.MinValue;
IEqualityComparer<TKey> comparer;
public ConcurrentDictionary () : this (EqualityComparer<TKey>.Default)
}
public bool TryAdd (TKey key, TValue value)
- {
- Interlocked.Increment (ref count);
- Interlocked.Increment (ref stamp);
-
+ {
Basket basket;
// Add a value to an existing basket
if (TryGetBasket (key, out basket)) {
// Add a new basket
basket = new Basket ();
basket.Add (new Pair (key, value));
- return container.TryAdd (basket);
+
+ if (container.TryAdd (basket)) {
+ Interlocked.Increment (ref count);
+ return true;
+ } else {
+ return false;
+ }
}
+ Interlocked.Increment (ref count);
+
return true;
}
Add (pair.Key, pair.Value);
}
+ public TValue AddOrUpdate (TKey key, Func<TKey, TValue> addValueFactory, Func<TKey, TValue, TValue> updateValueFactory)
+ {
+ Basket basket;
+ TValue temp;
+
+ if (!TryGetBasket (key, out basket)) {
+ Add (key, (temp = addValueFactory (key)));
+ } else {
+ lock (basket) {
+ Pair pair = basket.Find ((p) => comparer.Equals (p.Key, key));
+ if (pair == null)
+ throw new InvalidOperationException ("pair is null, shouldn't be");
+ pair.Value = (temp = updateValueFactory (key, pair.Value));
+ }
+ }
+
+ return temp;
+ }
+
+ public TValue AddOrUpdate (TKey key, TValue addValue, Func<TKey, TValue, TValue> updateValueFactory)
+ {
+ return AddOrUpdate (key, (_) => addValue, updateValueFactory);
+ }
+
TValue GetValue (TKey key)
{
TValue temp;
if (pair == null)
throw new InvalidOperationException ("pair is null, shouldn't be");
pair.Value = value;
- Interlocked.Increment (ref stamp);
}
}
}
+ public TValue GetOrAdd (TKey key, Func<TKey, TValue> valueFactory)
+ {
+ Basket basket;
+ TValue temp = default (TValue);
+
+ if (TryGetBasket (key, out basket)) {
+ Pair pair = null;
+ lock (basket) {
+ pair = basket.Find ((p) => comparer.Equals (p.Key, key));
+ if (pair != null)
+ temp = pair.Value;
+ }
+
+ if (pair == null)
+ Add (key, (temp = valueFactory (key)));
+ } else {
+ Add (key, (temp = valueFactory (key)));
+ }
+
+ return temp;
+ }
+
+ public TValue GetOrAdd (TKey key, TValue value)
+ {
+ return GetOrAdd (key, (_) => value);
+ }
+
public bool TryRemove(TKey key, out TValue value)
{
value = default (TValue);
{
public class ConcurrentQueue<T> : IProducerConsumerCollection<T>, IEnumerable<T>, ICollection,
- IEnumerable, ISerializable, IDeserializationCallback
+ IEnumerable
{
class Node
{
Enqueue (item);
}
- [MonoTODO]
- protected ConcurrentQueue (SerializationInfo info, StreamingContext context)
- {
- throw new NotImplementedException ();
- }
-
public void Enqueue (T item)
{
Interlocked.Increment (ref count);
Enqueue (item);
return true;
}
-
- /// <summary>
- /// </summary>
- /// <returns></returns>
+
public bool TryDequeue (out T value)
{
value = default (T);
return true;
}
- /// <summary>
- /// </summary>
- /// <returns></returns>
public bool TryPeek (out T value)
{
if (IsEmpty) {
return dest;
}
- [MonoTODO]
- protected virtual void GetObjectData (SerializationInfo info, StreamingContext context)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- void ISerializable.GetObjectData (SerializationInfo info, StreamingContext context)
- {
- GetObjectData (info, context);
- }
-
bool ICollection.IsSynchronized {
get { return true; }
}
- [MonoTODO]
- protected virtual void OnDeserialization (object sender)
- {
- throw new NotImplementedException ();
- }
-
- void IDeserializationCallback.OnDeserialization (object sender)
- {
- OnDeserialization (sender);
- }
-
bool IProducerConsumerCollection<T>.TryTake (out T item)
{
return TryDequeue (out item);
public readonly Node[] Nexts;
public volatile bool Marked;
public volatile bool FullyLinked;
- public readonly SpinLock SpinLock;
+ public readonly object Lock;
public Node (int key, T value, int heightValue)
{
Value = value;
TopLayer = heightValue;
Nexts = new Node [heightValue + 1];
- SpinLock = new SpinLock (false);
+ Lock = new object ();
Marked = FullyLinked = false;
}
}
if (!isMarked) {
toDelete = succs [found];
topLayer = toDelete.TopLayer;
- bool taken = false;
- do {
- toDelete.SpinLock.Enter (ref taken);
- } while (!taken);
+ Monitor.Enter (toDelete.Lock);
// Now that we have the lock, check if the node hasn't already been marked
if (toDelete.Marked) {
- toDelete.SpinLock.Exit (true);
+ Monitor.Exit (toDelete.Lock);
return false;
}
toDelete.Marked = true;
for (int layer = topLayer; layer >= 0; layer--) {
preds [layer].Nexts [layer] = toDelete.Nexts [layer];
}
- toDelete.SpinLock.Exit (true);
+ Monitor.Exit (toDelete.Lock);
} finally {
Unlock (preds, highestLocked);
}
return false;
try {
- bool taken = false;
- do {
- succs [found].SpinLock.Enter (ref taken);
- } while (!taken);
+ Monitor.Enter (succs [found].Lock);
Node node = succs [found];
if (node.FullyLinked && !node.Marked) {
value = node.Value;
return true;
}
} finally {
- succs [found].SpinLock.Exit (true);
+ Monitor.Exit (succs [found].Lock);
}
return false;
void Unlock(Node[] preds, int highestLocked)
{
for (int i = 0; i <= highestLocked; i++) {
- preds [i].SpinLock.Exit (true);
+ Monitor.Exit (preds [i].Lock);
}
}
succ = succs [layer];
if (pred != prevPred) {
// Possible optimization : limit topLayer to the first refused lock
- bool taken = false;
- do {
- pred.SpinLock.Enter (ref taken);
- } while (!taken);
+ Monitor.Enter (pred.Lock);
highestLocked = layer;
prevPred = pred;
}
public class ConcurrentStack<T> : IProducerConsumerCollection<T>, IEnumerable<T>,
- ICollection, IEnumerable, ISerializable, IDeserializationCallback
+ ICollection, IEnumerable
{
class Node
{
Push (item);
}
- [MonoTODO]
- protected ConcurrentStack (SerializationInfo info, StreamingContext context)
- {
- throw new NotImplementedException ();
- }
-
bool IProducerConsumerCollection<T>.TryAdd (T elem)
{
Push (elem);
}
}
- [MonoTODO]
- protected virtual void GetObjectData (SerializationInfo info, StreamingContext context)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- void ISerializable.GetObjectData (SerializationInfo info, StreamingContext context)
- {
- GetObjectData (info, context);
- }
-
bool ICollection.IsSynchronized {
get { return true; }
}
-
- [MonoTODO]
- protected virtual void OnDeserialization (object sender)
- {
- throw new NotImplementedException ();
- }
- void IDeserializationCallback.OnDeserialization (object sender)
- {
- OnDeserialization (sender);
- }
-
bool IProducerConsumerCollection<T>.TryTake (out T item)
{
return TryPop (out item);
return new EnumerablePartitioner<TSource> (source);
}
- public static OrderablePartitioner<TSource> Create<TSource> (TSource[] source, bool loadBalance)
+ public static OrderablePartitioner<TSource> Create<TSource> (TSource[] source, bool loadBalance)
{
return Create ((IList<TSource>)source, loadBalance);
}
- public static OrderablePartitioner<TSource> Create<TSource> (IList<TSource> source, bool loadBalance)
+ public static OrderablePartitioner<TSource> Create<TSource> (IList<TSource> source, bool loadBalance)
{
return new ListPartitioner<TSource> (source);
}
+
+ [MonoTODO("What range size is supposed to be in context and what the result returned looks like")]
+ public static OrderablePartitioner<Tuple<int, int>> Create (int fromInclusive,
+ int toExclusive)
+ {
+ return Create (fromInclusive, toExclusive, 1);
+ }
+
+ [MonoTODO("What range size is supposed to be in context and what the result returned looks like")]
+ public static OrderablePartitioner<Tuple<int, int>> Create (int fromInclusive,
+ int toExclusive,
+ int rangeSize)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO("What range size is supposed to be in context and what the result returned looks like")]
+ public static OrderablePartitioner<Tuple<long, long>> Create (long fromInclusive,
+ long toExclusive)
+ {
+ return Create (fromInclusive, toExclusive, 1);
+ }
+
+ [MonoTODO("What range size is supposed to be in context and what the result returned looks like")]
+ public static OrderablePartitioner<Tuple<long, long>> Create (long fromInclusive,
+ long toExclusive,
+ long rangeSize)
+ {
+ throw new NotImplementedException ();
+ }
}
public abstract class Partitioner<TSource>
--- /dev/null
+#if NET_4_0
+#define USE_MONITOR
+//
+// EnumerablePartitioner.cs
+//
+// Author:
+// Jérémie "Garuma" Laval <jeremie.laval@gmail.com>
+//
+// Copyright (c) 2009 Jérémie "Garuma" Laval
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Collections.Generic;
+
+namespace System.Collections.Concurrent
+{
+ internal class EnumerablePartitioner<T> : OrderablePartitioner<T>
+ {
+ IEnumerable<T> source;
+#if USE_MONITOR
+ object syncLock = new object ();
+#endif
+ const int InitialPartitionSize = 1;
+ const int PartitionMultiplier = 2;
+
+ int index = 0;
+
+ public EnumerablePartitioner (IEnumerable<T> source) : base (true, false, true)
+ {
+ this.source = source;
+ }
+
+ public override IList<IEnumerator<KeyValuePair<long, T>>> GetOrderablePartitions (int partitionCount)
+ {
+ if (partitionCount <= 0)
+ throw new ArgumentOutOfRangeException ("partitionCount");
+
+ IEnumerator<KeyValuePair<long, T>>[] enumerators
+ = new IEnumerator<KeyValuePair<long, T>>[partitionCount];
+
+ IEnumerator<T> src = source.GetEnumerator ();
+
+ for (int i = 0; i < enumerators.Length; i++) {
+ enumerators[i] = GetPartitionEnumerator (src);
+ }
+
+ return enumerators;
+ }
+
+ IEnumerator<KeyValuePair<long, T>> GetPartitionEnumerator (IEnumerator<T> src)
+ {
+ int count = InitialPartitionSize;
+ List<T> list = new List<T> ();
+
+ while (true) {
+ list.Clear ();
+ int ind = -1;
+
+ lock (syncLock) {
+ ind = index;
+
+ for (int i = 0; i < count; i++) {
+ if (!src.MoveNext ()) {
+ if (list.Count == 0)
+ yield break;
+ else
+ break;
+ }
+
+ list.Add (src.Current);
+ index++;
+ }
+ }
+
+ for (int i = 0; i < list.Count; i++)
+ yield return new KeyValuePair<long, T> (ind + i, list[i]);
+
+ count *= PartitionMultiplier;
+ }
+ }
+ }
+}
+#endif
\ No newline at end of file
--- /dev/null
+#if NET_4_0
+//
+// ListPartitioner.cs
+//
+// Author:
+// Jérémie "Garuma" Laval <jeremie.laval@gmail.com>
+//
+// Copyright (c) 2009 Jérémie "Garuma" Laval
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Collections.Generic;
+
+namespace System.Collections.Concurrent
+{
+ internal class ListPartitioner<T> : OrderablePartitioner<T>
+ {
+ IList<T> source;
+
+ public ListPartitioner (IList<T> source) : base (true, true, true)
+ {
+ this.source = source;
+ }
+
+ public override IList<IEnumerator<KeyValuePair<long, T>>> GetOrderablePartitions (int partitionCount)
+ {
+ if (partitionCount <= 0)
+ throw new ArgumentOutOfRangeException ("partitionCount");
+
+ IEnumerator<KeyValuePair<long, T>>[] enumerators
+ = new IEnumerator<KeyValuePair<long, T>>[partitionCount];
+
+ int count = (source.Count >= partitionCount) ? source.Count / partitionCount : 1;
+
+ for (int i = 0; i < enumerators.Length; i++) {
+ if (i != enumerators.Length - 1)
+ enumerators[i] = GetEnumeratorForRange (i * count, i * count + count);
+ else
+ enumerators[i] = GetEnumeratorForRange (i * count, source.Count);
+ }
+
+ return enumerators;
+ }
+
+ IEnumerator<KeyValuePair<long, T>> GetEnumeratorForRange (int startIndex, int lastIndex)
+ {
+ if (startIndex >= source.Count)
+ return GetEmpty ();
+
+ return GetEnumeratorForRangeInternal (startIndex, lastIndex);
+ }
+
+ IEnumerator<KeyValuePair<long, T>> GetEmpty ()
+ {
+ yield break;
+ }
+
+ IEnumerator<KeyValuePair<long, T>> GetEnumeratorForRangeInternal (int startIndex, int lastIndex)
+ {
+ for (int i = startIndex; i < lastIndex; i++) {
+ yield return new KeyValuePair<long, T> (i, source[i]);
+ }
+ }
+ }
+}
+#endif
\ No newline at end of file
+++ /dev/null
-#if NET_4_0
-#define USE_MONITOR
-//
-// EnumerablePartitioner.cs
-//
-// Author:
-// Jérémie "Garuma" Laval <jeremie.laval@gmail.com>
-//
-// Copyright (c) 2009 Jérémie "Garuma" Laval
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.Collections.Generic;
-
-namespace System.Collections.Concurrent
-{
- internal class EnumerablePartitioner<T> : OrderablePartitioner<T>
- {
- IEnumerable<T> source;
-#if USE_MONITOR
- object syncLock = new object ();
-#endif
- const int InitialPartitionSize = 1;
- const int PartitionMultiplier = 2;
-
- int index = 0;
-
- public EnumerablePartitioner (IEnumerable<T> source) : base (true, false, true)
- {
- this.source = source;
- }
-
- public override IList<IEnumerator<KeyValuePair<long, T>>> GetOrderablePartitions (int partitionCount)
- {
- if (partitionCount <= 0)
- throw new ArgumentOutOfRangeException ("partitionCount");
-
- IEnumerator<KeyValuePair<long, T>>[] enumerators
- = new IEnumerator<KeyValuePair<long, T>>[partitionCount];
-
- IEnumerator<T> src = source.GetEnumerator ();
-
- for (int i = 0; i < enumerators.Length; i++) {
- enumerators[i] = GetPartitionEnumerator (src);
- }
-
- return enumerators;
- }
-
- IEnumerator<KeyValuePair<long, T>> GetPartitionEnumerator (IEnumerator<T> src)
- {
- int count = InitialPartitionSize;
- List<T> list = new List<T> ();
-
- while (true) {
- list.Clear ();
- int ind = -1;
-
- lock (syncLock) {
- ind = index;
-
- for (int i = 0; i < count; i++) {
- if (!src.MoveNext ()) {
- if (list.Count == 0)
- yield break;
- else
- break;
- }
-
- list.Add (src.Current);
- index++;
- }
- }
-
- for (int i = 0; i < list.Count; i++)
- yield return new KeyValuePair<long, T> (ind + i, list[i]);
-
- count *= PartitionMultiplier;
- }
- }
- }
-}
-#endif
\ No newline at end of file
+++ /dev/null
-#if NET_4_0
-//
-// ListPartitioner.cs
-//
-// Author:
-// Jérémie "Garuma" Laval <jeremie.laval@gmail.com>
-//
-// Copyright (c) 2009 Jérémie "Garuma" Laval
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.Collections.Generic;
-
-namespace System.Collections.Concurrent
-{
- internal class ListPartitioner<T> : OrderablePartitioner<T>
- {
- IList<T> source;
-
- public ListPartitioner (IList<T> source) : base (true, true, true)
- {
- this.source = source;
- }
-
- public override IList<IEnumerator<KeyValuePair<long, T>>> GetOrderablePartitions (int partitionCount)
- {
- if (partitionCount <= 0)
- throw new ArgumentOutOfRangeException ("partitionCount");
-
- IEnumerator<KeyValuePair<long, T>>[] enumerators
- = new IEnumerator<KeyValuePair<long, T>>[partitionCount];
-
- int count = (source.Count >= partitionCount) ? source.Count / partitionCount : 1;
-
- for (int i = 0; i < enumerators.Length; i++) {
- if (i != enumerators.Length - 1)
- enumerators[i] = GetEnumeratorForRange (i * count, i * count + count);
- else
- enumerators[i] = GetEnumeratorForRange (i * count, source.Count);
- }
-
- return enumerators;
- }
-
- IEnumerator<KeyValuePair<long, T>> GetEnumeratorForRange (int startIndex, int lastIndex)
- {
- if (startIndex >= source.Count)
- return GetEmpty ();
-
- return GetEnumeratorForRangeInternal (startIndex, lastIndex);
- }
-
- IEnumerator<KeyValuePair<long, T>> GetEmpty ()
- {
- yield break;
- }
-
- IEnumerator<KeyValuePair<long, T>> GetEnumeratorForRangeInternal (int startIndex, int lastIndex)
- {
- for (int i = startIndex; i < lastIndex; i++) {
- yield return new KeyValuePair<long, T> (i, source[i]);
- }
- }
- }
-}
-#endif
\ No newline at end of file
+2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * EqualityComparer.cs: (Equals) the arguments are checked to be
+ the correct type.
+
+2010-01-24 Robert Jordan <robertj@gmx.net>
+
+ * Dictionary.cs: Fix deserialization compatibility with MS.NET.
+ Fixes bug #474009.
+
+2010-01-20 Miguel de Icaza <miguel@novell.com>
+
+ * Dictionary.cs: Always create the keys, fixes compatibility
+ between Mono and .NET. Patch from John Lenz <jlenz2@math.uiuc.edu>
+
2009-12-06 Chris Toshok <toshok@ximian.com>
* KeyValuePair.cs: we need setters for Key and Value so they can
}
[Serializable]
+#if MONOTOUCH
+ internal
+#endif
sealed class GenericComparer <T> : Comparer <T> where T : IComparable<T> {
public override int Compare (T x, T y)
{
info.AddValue ("Version", generation);
info.AddValue ("Comparer", hcp);
- KeyValuePair<TKey, TValue> [] data = null;
- if (count > 0) {
- data = new KeyValuePair<TKey,TValue> [count];
+ // MS.NET expects either *no* KeyValuePairs field (when count = 0)
+ // or a non-null KeyValuePairs field. We don't omit the field to
+ // remain compatible with older monos, but we also doesn't serialize
+ // it as null to make MS.NET happy.
+ KeyValuePair<TKey, TValue> [] data = new KeyValuePair<TKey,TValue> [count];
+ if (count > 0)
CopyTo (data, 0);
- }
info.AddValue ("HashSize", table.Length);
info.AddValue ("KeyValuePairs", data);
}
if (serialization_info == null)
return;
- generation = serialization_info.GetInt32 ("Version");
- hcp = (IEqualityComparer<TKey>) serialization_info.GetValue ("Comparer", typeof (IEqualityComparer<TKey>));
+ int hashSize = 0;
+ KeyValuePair<TKey, TValue> [] data = null;
+
+ // We must use the enumerator because MS.NET doesn't
+ // serialize "KeyValuePairs" for count = 0.
+ SerializationInfoEnumerator e = serialization_info.GetEnumerator ();
+ while (e.MoveNext ()) {
+ switch (e.Name) {
+ case "Version":
+ generation = (int) e.Value;
+ break;
+
+ case "Comparer":
+ hcp = (IEqualityComparer<TKey>) e.Value;
+ break;
+
+ case "HashSize":
+ hashSize = (int) e.Value;
+ break;
- int hashSize = serialization_info.GetInt32 ("HashSize");
- KeyValuePair<TKey, TValue> [] data =
- (KeyValuePair<TKey, TValue> [])
- serialization_info.GetValue ("KeyValuePairs", typeof (KeyValuePair<TKey, TValue> []));
+ case "KeyValuePairs":
+ data = (KeyValuePair<TKey, TValue> []) e.Value;
+ break;
+ }
+ }
+ if (hcp == null)
+ hcp = EqualityComparer<TKey>.Default;
if (hashSize < INITIAL_SIZE)
hashSize = INITIAL_SIZE;
InitArrays (hashSize);
bool IEqualityComparer.Equals (object x, object y)
{
+ if (!(x is T))
+ throw new ArgumentException ("Argument is not compatible", "x");
+ if (!(y is T))
+ throw new ArgumentException ("Argument is not compatible", "y");
return Equals ((T)x, (T)y);
}
}
[Serializable]
+#if MONOTOUCH
+ internal
+#endif
sealed class GenericEqualityComparer <T> : EqualityComparer <T> where T : IEquatable <T> {
public override int GetHashCode (T obj)
+2010-02-22 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * MemoryStream.cs: When setting Capacity, don't create a new buffer if
+ the new expected value is the same as the current one.
+
+2010-02-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * StreamWriter.cs:
+ * FileStream.cs: if flushing fails when disposing the stream, make
+ sure it is closed before throwing the exception. Fixes bug #579146.
+
+2010-01-31 Zoltan Varga <vargaz@gmail.com>
+
+ * Directory.cs (Exists): Never throw an exception. Fixes #565152.
+
+2010-01-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * UnmanagedMemoryStream.cs: fix a regression from my previous patch.
+
+2010-01-26 Marek Habersack <mhabersack@novell.com>
+
+ * SearchOption.cs: included in 2.1 build as internal to fix
+ the build.
+
+2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * DirectoryInfo.cs: new overload for GetFileSystemInfos().
+
+2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * UnmanagedMemoryStream.cs: add the SafeBuffer overloads.
+
+2010-01-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * StreamReader.cs: When detecting the encoding we usually check the
+ four first bytes looking for either UTF32 or UTF8 BOM, since they share
+ the first two bytes, but if we happen to have less than 4 bytes at
+ detection time, just check for Unicode and use it as the current
+ encoding - this is exactly what .Net does, and it is specially visible
+ with NetworkStream.
+ Fixes #534137.
+
2010-01-19 Alan McGovern <amcgovern@novell.com>
* BufferedStream.cs: Patch by Tom Philpot to optimise ReadByte and
WriteByte significantly by making them fulfill their request by
bool exists;
exists = MonoIO.ExistsDirectory (path, out error);
- if (error != MonoIOError.ERROR_SUCCESS &&
- error != MonoIOError.ERROR_PATH_NOT_FOUND &&
- error != MonoIOError.ERROR_INVALID_HANDLE &&
- error != MonoIOError.ERROR_ACCESS_DENIED) {
-
- // INVALID_HANDLE might happen if the file is moved
- // while testing for the existence, a kernel issue
- // according to Larry Ewing.
-
- throw MonoIO.GetException (path, error);
- }
-
- return(exists);
+ /* This should not throw exceptions */
+ return exists;
}
public static DateTime GetLastAccessTime (string path)
}
public FileSystemInfo [] GetFileSystemInfos (string searchPattern)
+ {
+ return GetFileSystemInfos (searchPattern, SearchOption.TopDirectoryOnly);
+ }
+
+#if NET_4_0
+ public
+#endif
+ FileSystemInfo [] GetFileSystemInfos (string searchPattern, SearchOption searchOption)
{
if (searchPattern == null)
throw new ArgumentNullException ("searchPattern");
-
+ if (searchOption != SearchOption.TopDirectoryOnly && searchOption != SearchOption.AllDirectories)
+ throw new ArgumentOutOfRangeException ("searchOption", "Must be TopDirectoryOnly or AllDirectories");
if (!Directory.Exists (FullPath))
throw new IOException ("Invalid directory");
+
+ List<FileSystemInfo> infos = new List<FileSystemInfo> ();
+ InternalGetFileSystemInfos (searchPattern, searchOption, infos);
+ return infos.ToArray ();
+ }
+
+ void InternalGetFileSystemInfos (string searchPattern, SearchOption searchOption, List<FileSystemInfo> infos)
+ {
+ // UnauthorizedAccessExceptions might happen here and break everything for SearchOption.AllDirectories
string [] dirs = Directory.GetDirectories (FullPath, searchPattern);
string [] files = Directory.GetFiles (FullPath, searchPattern);
- FileSystemInfo[] infos = new FileSystemInfo [dirs.Length + files.Length];
- int i = 0;
- foreach (string dir in dirs)
- infos [i++] = new DirectoryInfo (dir);
- foreach (string file in files)
- infos [i++] = new FileInfo (file);
+ Array.ForEach<string> (dirs, (dir) => { infos.Add (new DirectoryInfo (dir)); });
+ Array.ForEach<string> (files, (file) => { infos.Add (new FileInfo (file)); });
+ if (dirs.Length == 0 || searchOption == SearchOption.TopDirectoryOnly)
+ return;
- return infos;
+ foreach (string dir in dirs) {
+ DirectoryInfo dinfo = new DirectoryInfo (dir);
+ dinfo.InternalGetFileSystemInfos (searchPattern, searchOption, infos);
+ }
}
// directory management methods
protected override void Dispose (bool disposing)
{
+ Exception exc = null;
if (handle != MonoIO.InvalidHandle) {
- FlushBuffer ();
+ try {
+ FlushBuffer ();
+ } catch (Exception e) {
+ exc = e;
+ }
if (owner) {
MonoIOError error;
buf = null;
GC.SuppressFinalize (this);
}
+ if (exc != null)
+ throw exc;
}
#if !NET_2_1
throw new ArgumentOutOfRangeException ("value",
"New capacity cannot be negative or less than the current capacity " + value + " " + capacity);
+ if (value == internalBuffer.Length)
+ return;
+
byte [] newBuffer = null;
if (value != 0) {
newBuffer = new byte [value];
}
#if NET_4_0
- public override void ObjectInvariant ()
+ protected override void ObjectInvariant ()
{
}
#endif
using System.Runtime.InteropServices;
namespace System.IO {
-
+#if !NET_2_1 || MONOTOUCH
[ComVisible (true)]
[Serializable]
- public enum SearchOption {
+ public
+#endif
+ enum SearchOption {
TopDirectoryOnly = 0,
AllDirectories = 1
}
destination.Write (buffer, 0, nread);
}
- public virtual void ObjectInvariant ()
+ protected virtual void ObjectInvariant ()
{
}
#endif
this.encoding = Encoding.BigEndianUnicode;
return 2;
}
+ if (input_buffer [0] == 0xff && input_buffer [1] == 0xfe && count < 4) {
+ // If we don't have enough bytes we can't check for UTF32, so use Unicode
+ this.encoding = Encoding.Unicode;
+ return 2;
+ }
if (count < 3)
return 0;
\r
protected override void Dispose (bool disposing) \r
{\r
+ Exception exc = null;\r
if (!DisposedAlready && disposing && internalStream != null) {\r
- Flush();\r
+ try {\r
+ Flush();\r
+ } catch (Exception e) {\r
+ exc = e;\r
+ }\r
DisposedAlready = true;\r
- internalStream.Close ();\r
+ try {\r
+ internalStream.Close ();\r
+ } catch (Exception e) {\r
+ if (exc == null)\r
+ exc = e;\r
+ }\r
}\r
\r
internalStream = null;\r
byte_buf = null;\r
internalEncoding = null;\r
decode_buf = null;\r
+ if (exc != null)\r
+ throw exc;\r
}\r
\r
public override void Flush ()\r
IntPtr initial_pointer;
long initial_position;
long current_position;
+#if NET_4_0
+ SafeBuffer safebuffer;
+#endif
internal event EventHandler Closed;
}
[CLSCompliantAttribute(false)]
- public unsafe UnmanagedMemoryStream (byte *pointer, long length)
+ public unsafe UnmanagedMemoryStream (byte *pointer, long length) :
+ this (pointer, length, length, FileAccess.Read)
{
- Initialize (pointer, length, length, FileAccess.Read);
}
[CLSCompliantAttribute(false)]
public unsafe UnmanagedMemoryStream (byte *pointer, long length, long capacity, FileAccess access)
{
+ closed = true;
Initialize (pointer, length, capacity, access);
}
-
+
+#if NET_4_0
+ public UnmanagedMemoryStream (SafeBuffer buffer, long offset, long length) :
+ this (buffer, offset, length, FileAccess.Read)
+ {
+ }
+
+ public UnmanagedMemoryStream (SafeBuffer buffer, long offset, long length, FileAccess access)
+ {
+ closed = true;
+ Initialize (buffer, offset, length, access);
+ }
+#endif
#endregion
#region Properties
[CLSCompliantAttribute (false)]
public unsafe byte* PositionPointer {
get {
+#if NET_4_0
+ if (safebuffer != null)
+ throw new NotSupportedException ("Not supported when using SafeBuffer");
+#endif
if (closed)
throw new ObjectDisposedException("The stream is closed");
if (current_position >= length)
return (byte *) initial_pointer + current_position;
}
set {
+#if NET_4_0
+ if (safebuffer != null)
+ throw new NotSupportedException ("Not supported when using SafeBuffer");
+#endif
if (closed)
throw new ObjectDisposedException("The stream is closed");
if (fileaccess == FileAccess.Write)
throw new NotSupportedException("Stream does not support reading");
- else {
- if (current_position >= length)
- return (0);
- else {
- int progress = current_position + count < length ? count : (int) (length - current_position);
- Marshal.Copy (new IntPtr (initial_pointer.ToInt64 () + current_position), buffer, offset, progress);
- current_position += progress;
- return progress;
+
+ if (current_position >= length)
+ return 0;
+
+ int progress = current_position + count < length ? count : (int) (length - current_position);
+#if NET_4_0
+ if (safebuffer != null) {
+ unsafe {
+ byte *ptr = null;
+ try {
+ safebuffer.AcquirePointer (ref ptr);
+ Marshal.Copy (new IntPtr (ptr + current_position), buffer, offset, progress);
+ } finally {
+ if (ptr != null)
+ safebuffer.ReleasePointer ();
+ }
}
+ } else
+#endif
+ {
+ Marshal.Copy (new IntPtr (initial_pointer.ToInt64 () + current_position), buffer, offset, progress);
}
+ current_position += progress;
+ return progress;
}
public override int ReadByte ()
if (fileaccess== FileAccess.Write)
throw new NotSupportedException("Stream does not support reading");
- else {
- if (current_position >= length)
- return (-1);
+
+ if (current_position >= length)
+ return (-1);
+
+#if NET_4_0
+ if (safebuffer != null) {
+ unsafe {
+ byte *ptr = null;
+ try {
+ safebuffer.AcquirePointer (ref ptr);
+ return (int) Marshal.ReadByte (new IntPtr (ptr), (int) current_position++);
+ } finally {
+ if (ptr != null)
+ safebuffer.ReleasePointer ();
+ }
+ }
+ } else
+#endif
+ {
return (int) Marshal.ReadByte(initial_pointer, (int) current_position++);
}
}
public override void SetLength (long value)
{
+#if NET_4_0
+ if (safebuffer != null)
+ throw new NotSupportedException ("Not supported when using SafeBuffer");
+#endif
if (closed)
throw new ObjectDisposedException("The stream is closed");
if (value < 0)
throw new NotSupportedException ("Unable to expand length of this stream beyond its capacity.");
if (fileaccess == FileAccess.Read)
throw new NotSupportedException ("Stream does not support writing.");
- else {
- unsafe {
- // use Marshal.WriteByte since that allow us to start writing
- // from the current position
- for (int i = 0; i < count; i++)
- Marshal.WriteByte (initial_pointer, (int) current_position++, buffer [offset + i]);
- if (current_position > length)
- length = current_position;
+#if NET_4_0
+ if (safebuffer != null) {
+ unsafe {
+ byte *dest = null;
+ try {
+ safebuffer.AcquirePointer (ref dest);
+ fixed (byte *src = buffer) {
+ dest += current_position;
+ String.memcpy (dest, src + offset, count);
+ }
+ } finally {
+ if (dest != null)
+ safebuffer.ReleasePointer ();
+ }
+ }
+ } else
+#endif
+ {
+ unsafe {
+ fixed (byte *src = buffer) {
+ byte *dest = (byte *) initial_pointer + current_position;
+ String.memcpy (dest, src + offset, count);
+ }
}
}
+ current_position += count;
+ if (current_position > length)
+ length = current_position;
}
public override void WriteByte (byte value)
throw new NotSupportedException("The current position is at the end of the capacity of the stream");
if (fileaccess == FileAccess.Read)
throw new NotSupportedException("Stream does not support writing.");
- else {
+
+#if NET_4_0
+ if (safebuffer != null) {
+ unsafe {
+ byte *dest = null;
+ try {
+ safebuffer.AcquirePointer (ref dest);
+ dest += current_position++;
+ *dest = value;
+ } finally {
+ if (dest != null)
+ safebuffer.ReleasePointer ();
+ }
+ }
+ } else
+#endif
+ {
unsafe {
- Marshal.WriteByte(initial_pointer, (int)current_position, value);
- current_position++;
- if (current_position > length)
- length = current_position;
+ byte *dest = (byte *) initial_pointer + (int) current_position++;
+ *dest = value;
}
}
+ if (current_position > length)
+ length = current_position;
}
[CLSCompliant (false)]
throw new ArgumentOutOfRangeException("length", "The length cannot be greater than the capacity.");
if ((access < FileAccess.Read) || (access > FileAccess.ReadWrite))
throw new ArgumentOutOfRangeException ("access", "Enum value was out of legal range.");
+ if (!closed)
+ throw new InvalidOperationException ("Called Initialize twice");
fileaccess = access;
this.length = length;
initial_pointer = new IntPtr ((void*)pointer);
closed = false;
}
+
+#if NET_4_0
+ protected void Initialize (SafeBuffer buffer, long offset, long length, FileAccess access)
+ {
+ if (buffer == null)
+ throw new ArgumentNullException ("buffer");
+
+ if (offset < 0)
+ throw new ArgumentOutOfRangeException ("offset");
+
+ if (length < 0)
+ throw new ArgumentOutOfRangeException ("length");
+
+ ulong blength = buffer.ByteLength;
+ if ((blength - (ulong) length) < (ulong) offset)
+ throw new ArgumentException ("Invalid offset and/or length");
+
+ if (access < FileAccess.Read || access > FileAccess.ReadWrite)
+ throw new ArgumentOutOfRangeException ("access");
+
+ if (!closed)
+ throw new InvalidOperationException ("Called Initialize twice");
+
+ this.length = length;
+ this.capacity = length;
+ this.fileaccess = access;
+ this.safebuffer = buffer;
+ initial_position = offset;
+ current_position = offset;
+ closed = false;
+ }
+#endif
#endregion
}
}
+2010-02-09 Sebastien Pouliot <sebastien@ximian.com>
+
+ * ModuleBuilder.cs: Do not use reflection to create SymbolWriterImpl
+ for Moonlight since the code is bundled inside mscorlib.dll to avoid
+ having a non-platform assembly poking the internals of mscorlib.dll
+
+2010-01-30 Zoltan Varga <vargaz@gmail.com>
+
+ * CustomAttributeBuilder.cs (Initialize): Add more argument checking to avoid
+ assertions in the runtime. Fixes #574353.
+
2010-01-19 Rodrigo Kumpera <rkumpera@novell.com>
* EventOnTypeBuilderInst.cs: Fix build.
return true;
}
+ private bool IsValidParam (object o, Type paramType)
+ {
+ Type t = o.GetType ();
+ if (!IsValidType (t))
+ return false;
+ if (paramType == typeof (object)) {
+ if (t.IsArray && t.GetArrayRank () == 1)
+ return IsValidType (t.GetElementType ());
+ if (!t.IsPrimitive && !typeof (Type).IsAssignableFrom (t) && t != typeof (string) && !t.IsEnum)
+ return false;
+ }
+ return true;
+ }
+
private void Initialize (ConstructorInfo con, object [] constructorArgs,
PropertyInfo [] namedProperties, object [] propertyValues,
FieldInfo [] namedFields, object [] fieldValues)
Type paramType = pi.ParameterType;
if (!IsValidType (paramType))
throw new ArgumentException ("Argument " + i + " does not have a valid type.");
- if (constructorArgs [i] != null)
+ if (constructorArgs [i] != null) {
if (!(paramType is TypeBuilder) && !paramType.IsEnum && !paramType.IsInstanceOfType (constructorArgs [i]))
if (!paramType.IsArray)
throw new ArgumentException ("Value of argument " + i + " does not match parameter type: " + paramType + " -> " + constructorArgs [i]);
+ if (!IsValidParam (constructorArgs [i], paramType))
+ throw new ArgumentException ("Cannot emit a CustomAttribute with argument of type " + constructorArgs [i].GetType () + ".");
+ }
}
i ++;
}
}
if (emitSymbolInfo) {
+#if NET_2_1 && !MONOTOUCH
+ symbolWriter = new Mono.CompilerServices.SymbolWriter.SymbolWriterImpl (this);
+#else
Assembly asm = Assembly.LoadWithPartialName ("Mono.CompilerServices.SymbolWriter");
if (asm == null)
throw new ExecutionEngineException ("The assembly for default symbol writer cannot be loaded");
throw new ExecutionEngineException ("The type that implements the default symbol writer interface cannot be found");
symbolWriter = (ISymbolWriter) Activator.CreateInstance (t, new object[] { this });
+#endif
string fileName = fqname;
if (assemblyb.AssemblyDir != null)
fileName = Path.Combine (assemblyb.AssemblyDir, fileName);
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Collections;
+using System.Collections.Generic;
using System.Configuration.Assemblies;
using Mono.Security;
Assembly assembly;
try {
- assembly = AppDomain.CurrentDomain.LoadSatellite (aname);
+ assembly = AppDomain.CurrentDomain.LoadSatellite (aname, false);
if (assembly != null)
return assembly;
} catch (FileNotFoundException) {
return other._mono_assembly == _mono_assembly;
}
+#if NET_4_0
+ public virtual IList<CustomAttributeData> GetCustomAttributesData () {
+ return CustomAttributeData.GetCustomAttributes (this);
+ }
+#endif
+
#if !NET_2_1 || MONOTOUCH
// Code Access Security
+2010-02-11 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MethodBody.cs: Add v4 bits.
+
+2010-02-11 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MethodBase.cs: Add some v4 bits.
+
+2010-02-11 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MemberInfo.cs: Add GetCustomAttributesData.
+
+ * Assembly.cs:
+ * MemberInfo.cs:
+ * Module.cs:
+ * MonoEvent.cs:
+ * MonoField.cs:
+ * MonoMethod.cs:
+ * MonoProperty.cs:
+ * ParameterInfo.cs: Implement GetCustomAttributesData.
+
+2010-02-11 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MemberInfo.cs: Add some v4 bits.
+
+2010-02-11 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MethodImplAttributes.cs: Add NoOptimization flag.
+
+2010-02-11 Marek Habersack <mhabersack@novell.com>
+
+ * ConstructorInfo.cs, EventInfo.cs, FieldInfo.cs: fix 4.0 equality
+ and inequality operators by casting the passed parameters to
+ object. Failing to do so leads to infinite recursion calling the
+ operator.
+
+2010-02-10 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * FieldInfo.cs: Add some v4 bits.
+
+2010-02-10 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * EventInfo.cs: Add some v4 bits.
+
+2010-02-10 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * ConstructorInfo.cs: Add some v4 bits.
+
+2010-02-10 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * PropertyInfo.cs: Remove a pair of MonoTODO.
+
+ * MonoProperty.cs: Implement GetConstantValue and GetRawConstantValue.
+
+2010-02-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MonoMethod.cs (GetParameters): Must return a copy instead of the interned array.
+
+ * MonoMethod.cs (Invoke): Skip array clone in GetParameters.
+
+ * MonoProperty.cs (GetIndexParameters): Properly handle write-only indexed properties.
+ Return a ParameterInfo object bound to the properly and not to the method.
+
+ * ParameterInfo.cs: Add new constructor that copies all fields but Member.
+
+ * ParameterInfo.cs (MetadataToken): Properly handle tokens of non-method members.
+
+2010-01-31 Zoltan Varga <vargaz@gmail.com>
+
+ * MonoGenericClass.cs: Fix a warning.
+
+2010-01-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * Assembly.cs: GetSatelliteAssembly: Ask LoadSatellite to not throw
+ exceptions, since we ignore them anyway.
+
2010-01-05 Rodrigo Kumpera <rkumpera@novell.com>
* ParameterInfo.cs (DefaultProperty): Fix small typo.
{
return this.Invoke (parameters);
}
+
+#if NET_4_0
+ public override bool Equals (object obj)
+ {
+ return obj == this;
+ }
+
+ public override int GetHashCode ()
+ {
+ return base.GetHashCode ();
+ }
+
+ public static bool operator == (ConstructorInfo left, ConstructorInfo right)
+ {
+ if ((object)left == (object)right)
+ return true;
+ if ((object)left == null ^ (object)right == null)
+ return false;
+ return left.Equals (right);
+ }
+
+ public static bool operator != (ConstructorInfo left, ConstructorInfo right)
+ {
+ if ((object)left == (object)right)
+ return false;
+ if ((object)left == null ^ (object)right == null)
+ return true;
+ return !left.Equals (right);
+ }
+#endif
+
}
}
remove.Invoke (target, new object [] {handler});
}
+#if NET_4_0
+ public override bool Equals (object obj)
+ {
+ return obj == this;
+ }
+
+ public override int GetHashCode ()
+ {
+ return base.GetHashCode ();
+ }
+
+ public static bool operator == (EventInfo left, EventInfo right)
+ {
+ if ((object)left == (object)right)
+ return true;
+ if ((object)left == null ^ (object)right == null)
+ return false;
+ return left.Equals (right);
+ }
+
+ public static bool operator != (EventInfo left, EventInfo right)
+ {
+ if ((object)left == (object)right)
+ return false;
+ if ((object)left == null ^ (object)right == null)
+ return true;
+ return !left.Equals (right);
+ }
+#endif
+
void _EventInfo.GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
{
throw new NotImplementedException ();
throw new NotSupportedException ("This non-CLS method is not implemented.");
}
+
+#if NET_4_0
+ public override bool Equals (object obj)
+ {
+ return obj == this;
+ }
+
+ public override int GetHashCode ()
+ {
+ return base.GetHashCode ();
+ }
+
+ public static bool operator == (FieldInfo left, FieldInfo right)
+ {
+ if ((object)left == (object)right)
+ return true;
+ if ((object)left == null ^ (object)right == null)
+ return false;
+ return left.Equals (right);
+ }
+
+ public static bool operator != (FieldInfo left, FieldInfo right)
+ {
+ if ((object)left == (object)right)
+ return false;
+ if ((object)left == null ^ (object)right == null)
+ return true;
+ return !left.Equals (right);
+ }
+#endif
void _FieldInfo.GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
{
throw new NotImplementedException ();
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security.Permissions;
+using System.Collections.Generic;
namespace System.Reflection {
get;
}
+#if NET_4_0
+ public override bool Equals (object obj)
+ {
+ return obj == this;
+ }
+
+ public override int GetHashCode ()
+ {
+ return base.GetHashCode ();
+ }
+
+ public static bool operator == (MemberInfo left, MemberInfo right)
+ {
+ if ((object)left == (object)right)
+ return true;
+ if ((object)left == null ^ (object)right == null)
+ return false;
+ return left.Equals (right);
+ }
+
+ public static bool operator != (MemberInfo left, MemberInfo right)
+ {
+ if ((object)left == (object)right)
+ return false;
+ if ((object)left == null ^ (object)right == null)
+ return true;
+ return !left.Equals (right);
+ }
+
+ public virtual IList<CustomAttributeData> GetCustomAttributesData () {
+ throw new NotImplementedException ();
+ }
+#endif
+
void _MemberInfo.GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
{
throw new NotImplementedException ();
throw new NotSupportedException ();
}
+
+#if NET_4_0
+ public override bool Equals (object obj)
+ {
+ return obj == this;
+ }
+
+ public override int GetHashCode ()
+ {
+ return base.GetHashCode ();
+ }
+
+ public static bool operator == (MethodBase left, MethodBase right)
+ {
+ if ((object)left == (object)right)
+ return true;
+ if ((object)left == null ^ (object)right == null)
+ return false;
+ return left.Equals (right);
+ }
+
+ public static bool operator != (MethodBase left, MethodBase right)
+ {
+ if ((object)left == (object)right)
+ return false;
+ if ((object)left == null ^ (object)right == null)
+ return true;
+ return !left.Equals (right);
+ }
+#endif
+
void _MethodBase.GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
{
throw new NotImplementedException ();
namespace System.Reflection {
[ComVisible (true)]
- public sealed class MethodBody {
+ public
+#if !NET_4_0
+ sealed
+#endif
+ class MethodBody {
#pragma warning disable 649
#region Sync with reflection.h
ExceptionHandlingClause[] clauses;
#endregion
#pragma warning restore 649
- internal MethodBody () {
+#if NET_4_0
+ protected
+#else
+ internal
+#endif
+ MethodBody () {
}
- public IList<ExceptionHandlingClause> ExceptionHandlingClauses {
+ public
+#if NET_4_0
+ virtual
+#endif
+ IList<ExceptionHandlingClause> ExceptionHandlingClauses {
get {
return Array.AsReadOnly<ExceptionHandlingClause> (clauses);
}
}
- public IList<LocalVariableInfo> LocalVariables {
+ public
+#if NET_4_0
+ virtual
+#endif
+ IList<LocalVariableInfo> LocalVariables {
get {
return Array.AsReadOnly<LocalVariableInfo> (locals);
}
}
- public bool InitLocals {
+ public
+#if NET_4_0
+ virtual
+#endif
+ bool InitLocals {
get {
return init_locals;
}
}
- public int LocalSignatureMetadataToken {
+ public
+#if NET_4_0
+ virtual
+#endif
+ int LocalSignatureMetadataToken {
get {
return sig_token;
}
}
- public int MaxStackSize {
+
+ public
+#if NET_4_0
+ virtual
+#endif
+ int MaxStackSize {
get {
return max_stack;
}
}
- public byte[] GetILAsByteArray () {
+ public
+#if NET_4_0
+ virtual
+#endif
+ byte[] GetILAsByteArray () {
return il;
}
}
/// </summary>
NoInlining = 8,
+ /// <summary>
+ /// </summary>
+ NoOptimization = 64,
+
/// <summary>
/// </summary>
MaxMethodImplVal = 65535,
using System.Runtime.CompilerServices;
using System.Security;
using System.Security.Permissions;
+using System.Collections.Generic;
namespace System.Reflection {
return res;
}
+#if NET_4_0
+ public virtual IList<CustomAttributeData> GetCustomAttributesData () {
+ return CustomAttributeData.GetCustomAttributes (this);
+ }
+#endif
+
internal static Type MonoDebugger_ResolveType (Module module, int token)
{
ResolveTokenError error;
//
using System;
+using System.Collections.Generic;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
MemberInfoSerializationHolder.Serialize (info, Name, ReflectedType,
ToString(), MemberTypes.Event);
}
+
+#if NET_4_0
+ public override IList<CustomAttributeData> GetCustomAttributesData () {
+ return CustomAttributeData.GetCustomAttributes (this);
+ }
+#endif
}
}
//
using System;
+using System.Collections.Generic;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[MethodImplAttribute(MethodImplOptions.InternalCall)]
public override extern object GetRawConstantValue ();
+#if NET_4_0
+ public override IList<CustomAttributeData> GetCustomAttributesData () {
+ return CustomAttributeData.GetCustomAttributes (this);
+ }
+#endif
+
void CheckGeneric () {
if (DeclaringType.ContainsGenericParameters)
throw new InvalidOperationException ("Late bound operations cannot be performed on fields with types for which Type.ContainsGenericParameters is true.");
return tb.GetConstructorsInternal (flags);
}
+ /*
MethodInfo[] GetMethodsFromGTD (BindingFlags bf)
{
TypeBuilder tb = generic_type as TypeBuilder;
return res;
}
+ */
FieldInfo[] GetFieldsFromGTD (BindingFlags bf)
{
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System.Collections.Generic;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
public override ParameterInfo[] GetParameters ()
{
- return MonoMethodInfo.GetParametersInfo (mhandle, this);
+ ParameterInfo[] src = MonoMethodInfo.GetParametersInfo (mhandle, this);
+ ParameterInfo[] res = new ParameterInfo [src.Length];
+ src.CopyTo (res, 0);
+ return res;
}
/*
{
if (binder == null)
binder = Binder.DefaultBinder;
- ParameterInfo[] pinfo = GetParameters ();
+ /*Avoid allocating an array every time*/
+ ParameterInfo[] pinfo = MonoMethodInfo.GetParametersInfo (mhandle, this);
if ((parameters == null && pinfo.Length != 0) || (parameters != null && parameters.Length != pinfo.Length))
throw new TargetParameterCountException ("parameters do not match signature");
public override MethodBody GetMethodBody () {
return GetMethodBody (mhandle);
}
+
+#if NET_4_0
+ public override IList<CustomAttributeData> GetCustomAttributesData () {
+ return CustomAttributeData.GetCustomAttributes (this);
+ }
+#endif
}
internal class MonoCMethod : ConstructorInfo, ISerializable
{
MemberInfoSerializationHolder.Serialize ( info, Name, ReflectedType, ToString(), MemberTypes.Constructor);
}
+
+#if NET_4_0
+ public override IList<CustomAttributeData> GetCustomAttributesData () {
+ return CustomAttributeData.GetCustomAttributes (this);
+ }
+#endif
}
}
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System.Collections.Generic;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal static extern Type[] GetTypeModifiers (MonoProperty prop, bool optional);
+ [MethodImplAttribute (MethodImplOptions.InternalCall)]
+ internal static extern object get_default_value (MonoProperty prop);
}
[Flags]
public override ParameterInfo[] GetIndexParameters()
{
- CachePropertyInfo (PInfo.GetMethod);
- if (info.get_method != null)
- return info.get_method.GetParameters ();
- return new ParameterInfo [0];
+ CachePropertyInfo (PInfo.GetMethod | PInfo.SetMethod);
+ ParameterInfo[] res;
+ if (info.get_method != null) {
+ res = info.get_method.GetParameters ();
+ } else if (info.set_method != null) {
+ ParameterInfo[] src = info.set_method.GetParameters ();
+ res = new ParameterInfo [src.Length - 1];
+ Array.Copy (src, res, res.Length);
+ } else
+ return new ParameterInfo [0];
+
+ for (int i = 0; i < res.Length; ++i) {
+ ParameterInfo pinfo = res [i];
+ res [i] = new ParameterInfo (pinfo, this);
+ }
+ return res;
}
public override MethodInfo GetSetMethod (bool nonPublic)
return null;
}
+
+ /*TODO verify for attribute based default values, just like ParameterInfo*/
+ public override object GetConstantValue ()
+ {
+ return MonoPropertyInfo.get_default_value (this);
+ }
+
+ public override object GetRawConstantValue() {
+ return MonoPropertyInfo.get_default_value (this);
+ }
+
// According to MSDN the inherit parameter is ignored here and
// the behavior always defaults to inherit = false
//
MemberInfoSerializationHolder.Serialize (info, Name, ReflectedType,
ToString(), MemberTypes.Property);
}
+
+#if NET_4_0
+ public override IList<CustomAttributeData> GetCustomAttributesData () {
+ return CustomAttributeData.GetCustomAttributes (this);
+ }
+#endif
}
}
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
+using System.Collections.Generic;
namespace System.Reflection
{
protected int PositionImpl;
protected ParameterAttributes AttrsImpl;
private UnmanagedMarshal marshalAs;
+ //ParameterInfo parent;
protected ParameterInfo () {
}
}
}
+ /*FIXME this constructor looks very broken in the position parameter*/
internal ParameterInfo (ParameterInfo pinfo, Type type, MemberInfo member, int position) {
this.ClassImpl = type;
this.MemberImpl = member;
}
}
+ internal ParameterInfo (ParameterInfo pinfo, MemberInfo member) {
+ this.ClassImpl = pinfo.ParameterType;
+ this.MemberImpl = member;
+ this.NameImpl = pinfo.Name;
+ this.PositionImpl = pinfo.Position;
+ this.AttrsImpl = pinfo.Attributes;
+ //this.parent = pinfo;
+ }
+
/* to build a ParameterInfo for the return type of a method */
internal ParameterInfo (Type type, MemberInfo member, UnmanagedMarshal marshalAs) {
this.ClassImpl = type;
get {return PositionImpl;}
}
- public extern int MetadataToken {
- [MethodImplAttribute (MethodImplOptions.InternalCall)]
- get;
+ [MethodImplAttribute (MethodImplOptions.InternalCall)]
+ extern int GetMetadataToken ();
+
+ public int MetadataToken {
+ get {
+ if (MemberImpl is PropertyInfo) {
+ PropertyInfo prop = (PropertyInfo)MemberImpl;
+ MethodInfo mi = prop.GetGetMethod (true);
+ if (mi == null)
+ mi = prop.GetSetMethod (true);
+ /*TODO expose and use a GetParametersNoCopy()*/
+ return mi.GetParameters () [PositionImpl].MetadataToken;
+ } else if (MemberImpl is MethodBase) {
+ return GetMetadataToken ();
+ }
+ throw new ArgumentException ("Can't produce MetadataToken for member of type " + MemberImpl.GetType ());
+ }
}
public virtual object[] GetCustomAttributes (bool inherit)
}
}
+#if NET_4_0
+ public virtual IList<CustomAttributeData> GetCustomAttributesData () {
+ return CustomAttributeData.GetCustomAttributes (this);
+ }
+#endif
+
void _ParameterInfo.GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
{
throw new NotImplementedException ();
return Type.EmptyTypes;
}
- [MonoTODO("Not implemented")]
public virtual object GetConstantValue () {
throw new NotImplementedException ();
}
- [MonoTODO("Not implemented")]
public virtual object GetRawConstantValue() {
throw new NotImplementedException ();
}
+
+Fri Feb 12 19:03:11 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * ReferenceAssemblyAttribute.cs: new attribute in 4.0.
+
+Fri Feb 12 18:39:57 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * RuntimeHelpers.cs: implemented EnsureSufficientExecutionStack ().
+
2010-01-05 Rodrigo Kumpera <rkumpera@novell.com>
* DateTimeConstantAttribute.cs: Add internal Ticks property.
--- /dev/null
+//
+// System.Runtime.CompilerServices.ReferenceAssemblyAttribute
+//
+// Author: Paolo Molaro (lupus@ximian.com)
+//
+// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+using System;
+using System.Runtime.InteropServices;
+
+#if NET_4_0
+
+namespace System.Runtime.CompilerServices {
+
+ [AttributeUsage (AttributeTargets.Assembly, AllowMultiple=false)]
+ public sealed class ReferenceAssemblyAttribute : Attribute
+ {
+ string description;
+
+ public ReferenceAssemblyAttribute () : this ("") {
+ }
+
+ public ReferenceAssemblyAttribute (string description)
+ {
+ if (description == null)
+ throw new ArgumentNullException ("description");
+ this.description = description;
+ }
+
+ public string Description
+ {
+ get {
+ return description;
+ }
+ }
+
+ }
+}
+
+#endif
+
RunClassConstructor (type.Value);
}
+#if NET_4_0
+ [MethodImplAttribute (MethodImplOptions.InternalCall)]
+ static extern bool SufficientExecutionStack ();
+
+ [ReliabilityContract (Consistency.WillNotCorruptState, Cer.MayFail)]
+ public static void EnsureSufficientExecutionStack ()
+ {
+ if (SufficientExecutionStack ())
+ return;
+ throw new InsufficientExecutionStackException ();
+ }
+#endif
+
[MonoTODO("Currently a no-op")]
public static void ExecuteCodeWithGuaranteedCleanup (TryCode code, CleanupCode backoutCode, Object userData)
{
+2010-02-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * RemotingServices.cs (InternalExecuteMessage): Properly
+ handle generic methods. We can't call MakeGenericMethod on
+ a non GMD method.
+
2009-11-18 Marek Safar <marek.safar@gmail.com>
* RemotingServices.cs: Delay heavyweight GUID initialization.
if (reqMsg.MethodBase.IsGenericMethod) {
Type[] genericArguments = reqMsg.MethodBase.GetGenericArguments ();
- method = ((MethodInfo)method).MakeGenericMethod (genericArguments);
+ MethodInfo gmd = ((MethodInfo)method).GetGenericMethodDefinition ();
+ method = gmd.MakeGenericMethod (genericArguments);
}
object oldContext = CallContext.SetCurrentCallContext (reqMsg.LogicalCallContext);
--- /dev/null
+//
+// Author:
+// Atsushi Enomoto <atsushi@ximian.com>
+//
+// Copyright (C) 2008 Novell Inc. http://novell.com
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_4_0
+using System;
+
+namespace System.Runtime
+{
+ [AttributeUsageAttribute(AttributeTargets.Assembly, Inherited = false)]
+ public sealed class AssemblyTargetedPatchBandAttribute : Attribute
+ {
+ public string TargetedPatchBand {
+ get;
+ private set;
+ }
+
+ public AssemblyTargetedPatchBandAttribute (string targetedPatchBand)
+ {
+ TargetedPatchBand = targetedPatchBand;
+ }
+ }
+}
+#endif
+
+Fri Feb 12 19:09:44 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * TargetedPatchingOptOutAttribute.cs: new attribute in 4.0.
+
+2010-02-12 Marek Habersack <mhabersack@novell.com>
+
+ * AssemblyTargetedPatchBandAttribute.cs: added
+
2008-07-06 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
* GCLatencyMode.cs: Add missing attribute
--- /dev/null
+//
+// System.Runtime.TargetedPatchingOptOutAttribute
+//
+// Author: Paolo Molaro (lupus@ximian.com)
+//
+// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+
+using System;
+using System.Runtime.InteropServices;
+
+#if NET_4_0
+
+namespace System.Runtime {
+
+ [AttributeUsage (AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=false, Inherited = false)]
+ public sealed class TargetedPatchingOptOutAttribute : Attribute
+ {
+ string reason;
+
+ public TargetedPatchingOptOutAttribute () : this ("") {
+ }
+
+ public TargetedPatchingOptOutAttribute (string reason)
+ {
+ if (reason == null)
+ throw new ArgumentNullException ("reason");
+ this.reason = reason;
+ }
+
+ public string Reason
+ {
+ get {
+ return reason;
+ }
+ }
+
+ }
+}
+
+#endif
+
public override int GetBytes (char[] chars, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
- // well, yes, I know this #if is ugly, but I think it is the simplest switch.
EncoderFallbackBuffer buffer = null;
char [] fallback_chars = null;
ref EncoderFallbackBuffer buffer,
ref char [] fallback_chars)
{
- if (chars == null)
+ if (chars == null)
throw new ArgumentNullException ("chars");
- if (bytes == null)
- throw new ArgumentNullException ("bytes");
-
- if (charIndex < 0 || charIndex > chars.Length)
- throw new ArgumentOutOfRangeException ("charIndex", _("ArgRange_Array"));
-
- if (charCount < 0 || charCount > (chars.Length - charIndex))
- throw new ArgumentOutOfRangeException ("charCount", _("ArgRange_Array"));
-
- if (byteIndex < 0 || byteIndex > bytes.Length)
- throw new ArgumentOutOfRangeException ("byteIndex", _("ArgRange_Array"));
-
- if ((bytes.Length - byteIndex) < charCount)
- throw new ArgumentException (_("Arg_InsufficientSpace"));
-
- int count = charCount;
- char ch;
- while (count-- > 0) {
- ch = chars [charIndex++];
- if (ch < (char)0x80) {
- bytes [byteIndex++] = (byte)ch;
- } else {
- if (buffer == null)
- buffer = EncoderFallback.CreateFallbackBuffer ();
- if (Char.IsSurrogate (ch) && count > 1 &&
- Char.IsSurrogate (chars [charIndex]))
- buffer.Fallback (ch, chars [charIndex], charIndex++ - 1);
- else
- buffer.Fallback (ch, charIndex - 1);
- if (fallback_chars == null || fallback_chars.Length < buffer.Remaining)
- fallback_chars = new char [buffer.Remaining];
- for (int i = 0; i < fallback_chars.Length; i++)
- fallback_chars [i] = buffer.GetNextChar ();
- byteIndex += GetBytes (fallback_chars, 0,
- fallback_chars.Length, bytes, byteIndex,
- ref buffer, ref fallback_chars);
+ unsafe {
+ fixed (char *cptr = chars) {
+ return InternalGetBytes (cptr, chars.Length, charIndex, charCount, bytes, byteIndex, ref buffer, ref fallback_chars);
}
}
- return charCount;
}
// Convenience wrappers for "GetBytes".
public override int GetBytes (String chars, int charIndex, int charCount, byte[] bytes, int byteIndex)
{
-// I know this #if is ugly, but I think it is the simplest switch.
EncoderFallbackBuffer buffer = null;
char [] fallback_chars = null;
return GetBytes (chars, charIndex, charCount, bytes, byteIndex,
ref EncoderFallbackBuffer buffer,
ref char [] fallback_chars)
{
- if (chars == null) {
+ if (chars == null)
throw new ArgumentNullException ("chars");
+
+ unsafe {
+ fixed (char *cptr = chars) {
+ return InternalGetBytes (cptr, chars.Length, charIndex, charCount, bytes, byteIndex, ref buffer, ref fallback_chars);
+ }
}
- if (bytes == null) {
+ }
+
+ unsafe int InternalGetBytes (char *chars, int charLength, int charIndex, int charCount,
+ byte[] bytes, int byteIndex,
+ ref EncoderFallbackBuffer buffer,
+ ref char [] fallback_chars)
+ {
+ if (bytes == null)
throw new ArgumentNullException ("bytes");
- }
- if (charIndex < 0 || charIndex > chars.Length) {
+ if (charIndex < 0 || charIndex > charLength)
throw new ArgumentOutOfRangeException ("charIndex", _("ArgRange_StringIndex"));
- }
- if (charCount < 0 || charCount > (chars.Length - charIndex)) {
+ if (charCount < 0 || charCount > (charLength - charIndex))
throw new ArgumentOutOfRangeException ("charCount", _("ArgRange_StringRange"));
- }
- if (byteIndex < 0 || byteIndex > bytes.Length) {
+ if (byteIndex < 0 || byteIndex > bytes.Length)
throw new ArgumentOutOfRangeException ("byteIndex", _("ArgRange_Array"));
- }
- if ((bytes.Length - byteIndex) < charCount) {
+ if ((bytes.Length - byteIndex) < charCount)
throw new ArgumentException (_("Arg_InsufficientSpace"));
- }
+
int count = charCount;
char ch;
while (count-- > 0) {
// Get the characters that result from decoding a byte buffer.
public override int GetChars (byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex)
{
-// well, yes, I know this #if is ugly, but I think it is the simplest switch.
DecoderFallbackBuffer buffer = null;
return GetChars (bytes, byteIndex, byteCount, chars,
charIndex, ref buffer);
+2010-02-02 Jb Evain <jbevain@novell.com>
+
+ * ASCIIEncoding.cs, Latin1Encoding.cs: remove duplicated code.
+
2009-12-09 Chris Toshok <toshok@ximian.com>
* Encoding.cs (get_Default): moonlight defaults to UTF8, not
ref EncoderFallbackBuffer buffer,
ref char [] fallback_chars)
{
- if (chars == null) {
+ if (chars == null)
throw new ArgumentNullException ("chars");
- }
- if (bytes == null) {
- throw new ArgumentNullException ("bytes");
- }
- if (charIndex < 0 || charIndex > chars.Length) {
- throw new ArgumentOutOfRangeException ("charIndex", _("ArgRange_Array"));
- }
- if (charCount < 0 || charCount > (chars.Length - charIndex)) {
- throw new ArgumentOutOfRangeException ("charCount", _("ArgRange_Array"));
- }
- if (byteIndex < 0 || byteIndex > bytes.Length) {
- throw new ArgumentOutOfRangeException ("byteIndex", _("ArgRange_Array"));
- }
- if ((bytes.Length - byteIndex) < charCount) {
- throw new ArgumentException (_("Arg_InsufficientSpace"));
- }
- int count = charCount;
- char ch;
- while (count-- > 0) {
- ch = chars [charIndex++];
- if (ch < (char)0x0100) {
- bytes [byteIndex++] = (byte)ch;
- } else if (ch >= '\uFF01' && ch <= '\uFF5E') {
- bytes [byteIndex++] = (byte)(ch - 0xFEE0);
- } else {
- if (buffer == null)
- buffer = EncoderFallback.CreateFallbackBuffer ();
- if (Char.IsSurrogate (ch) && count > 1 &&
- Char.IsSurrogate (chars [charIndex]))
- buffer.Fallback (ch, chars [charIndex], charIndex++ - 1);
- else
- buffer.Fallback (ch, charIndex - 1);
- if (fallback_chars == null || fallback_chars.Length < buffer.Remaining)
- fallback_chars = new char [buffer.Remaining];
- for (int i = 0; i < fallback_chars.Length; i++)
- fallback_chars [i] = buffer.GetNextChar ();
- byteIndex += GetBytes (fallback_chars, 0,
- fallback_chars.Length, bytes, byteIndex,
- ref buffer, ref fallback_chars);
+
+ unsafe {
+ fixed (char *cptr = chars) {
+ return InternalGetBytes (cptr, chars.Length, charIndex, charCount, bytes, byteIndex, ref buffer, ref fallback_chars);
}
}
- return charCount;
}
// Convenience wrappers for "GetBytes".
ref EncoderFallbackBuffer buffer,
ref char [] fallback_chars)
{
- if (s == null) {
+ if (s == null)
throw new ArgumentNullException ("s");
+
+ unsafe {
+ fixed (char *chars = s) {
+ return InternalGetBytes (chars, s.Length, charIndex, charCount, bytes, byteIndex, ref buffer, ref fallback_chars);
+ }
}
- if (bytes == null) {
+ }
+
+ unsafe int InternalGetBytes (char *chars, int charLength, int charIndex, int charCount,
+ byte[] bytes, int byteIndex,
+ ref EncoderFallbackBuffer buffer,
+ ref char [] fallback_chars)
+ {
+ if (bytes == null)
throw new ArgumentNullException ("bytes");
- }
- if (charIndex < 0 || charIndex > s.Length) {
- throw new ArgumentOutOfRangeException ("charIndex", _("ArgRange_StringIndex"));
- }
- if (charCount < 0 || charCount > (s.Length - charIndex)) {
- throw new ArgumentOutOfRangeException ("charCount", _("ArgRange_StringRange"));
- }
- if (byteIndex < 0 || byteIndex > bytes.Length) {
+ if (charIndex < 0 || charIndex > charLength)
+ throw new ArgumentOutOfRangeException ("charIndex", _("ArgRange_Array"));
+ if (charCount < 0 || charCount > (charLength - charIndex))
+ throw new ArgumentOutOfRangeException ("charCount", _("ArgRange_Array"));
+ if (byteIndex < 0 || byteIndex > bytes.Length)
throw new ArgumentOutOfRangeException ("byteIndex", _("ArgRange_Array"));
- }
- if ((bytes.Length - byteIndex) < charCount) {
+ if ((bytes.Length - byteIndex) < charCount)
throw new ArgumentException (_("Arg_InsufficientSpace"));
- }
+
int count = charCount;
char ch;
while (count-- > 0) {
- ch = s [charIndex++];
+ ch = chars [charIndex++];
if (ch < (char)0x0100) {
bytes [byteIndex++] = (byte)ch;
} else if (ch >= '\uFF01' && ch <= '\uFF5E') {
if (buffer == null)
buffer = EncoderFallback.CreateFallbackBuffer ();
if (Char.IsSurrogate (ch) && count > 1 &&
- Char.IsSurrogate (s [charIndex]))
- buffer.Fallback (ch, s [charIndex], charIndex++ - 1);
+ Char.IsSurrogate (chars [charIndex]))
+ buffer.Fallback (ch, chars [charIndex], charIndex++ - 1);
else
buffer.Fallback (ch, charIndex - 1);
if (fallback_chars == null || fallback_chars.Length < buffer.Remaining)
+2010-02-23 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * Task.cs: Fix for continuation processing not happening
+ in case of Faulted or Canceled.
+
+2010-02-02 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * Task.cs: Fix autocomplete mistake (s/Exception/exception/).
+ Let continuation processing happens at the right moment when
+ task has child.
+
+2010-02-02 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * Future.cs:
+ * Parallel.cs:
+ * ParallelLoopState.cs:
+ * Task.cs:
+ * TaskCompletionSource.cs:
+ * TaskContinuationOptions.cs:
+ * TaskCreationOptions.cs:
+ * TaskFactory.cs:
+ * TaskScheduler.cs:
+ * UnobservedTaskExceptionEventArgs.cs: Port to .NET 4 beta 2 API
+ * SimpleConcurrentBag.cs: Add a simpler implementation of ConcurrentBag
+ for use with parallel loops as ConcurrentBag was moved to System
+
2009-08-19 Jérémie Laval <jeremie.laval@gmail.com>
* Task.cs: Refactor Wait methods.
}
}
- public new Exception Exception {
- get {
- return base.Exception;
- }
- internal set {
- base.Exception = value;
- }
- }
-
public static new TaskFactory<TResult> Factory {
get {
return factory;
}
- public Task (Func<TResult> function, TaskCreationOptions options) : this ((o) => function (), null, options)
+ public Task (Func<TResult> function, CancellationToken token)
+ : this ((o) => function (), null, token, TaskCreationOptions.None)
+ {
+
+ }
+
+ public Task (Func<TResult> function, TaskCreationOptions options)
+ : this ((o) => function (), null, CancellationToken.None, options)
+ {
+
+ }
+
+ public Task (Func<TResult> function, CancellationToken token, TaskCreationOptions options)
+ : this ((o) => function (), null, token, options)
{
}
}
+ public Task (Func<object, TResult> function, object state, CancellationToken token)
+ : this (function, state, token, TaskCreationOptions.None)
+ {
+
+ }
+
public Task (Func<object, TResult> function, object state, TaskCreationOptions options)
- : base (null, state, options)
+ : this (function, state, CancellationToken.None, options)
+ {
+
+ }
+
+ public Task (Func<object, TResult> function, object state, CancellationToken token, TaskCreationOptions options)
+ : base (null, state, token, options)
{
this.function = function;
this.state = state;
public Task ContinueWith (Action<Task<TResult>> a, TaskContinuationOptions options)
{
- return ContinueWith (a, options, TaskScheduler.Current);
+ return ContinueWith (a, CancellationToken.None, options, TaskScheduler.Current);
+ }
+
+ public Task ContinueWith (Action<Task<TResult>> a, CancellationToken token)
+ {
+ return ContinueWith (a, token, TaskContinuationOptions.None, TaskScheduler.Current);
}
public Task ContinueWith (Action<Task<TResult>> a, TaskScheduler scheduler)
{
- return ContinueWith (a, TaskContinuationOptions.None, scheduler);
+ return ContinueWith (a, CancellationToken.None, TaskContinuationOptions.None, scheduler);
}
- public Task ContinueWith (Action<Task<TResult>> a, TaskContinuationOptions options, TaskScheduler scheduler)
+ public Task ContinueWith (Action<Task<TResult>> a, CancellationToken token,
+ TaskContinuationOptions options, TaskScheduler scheduler)
{
- Task t = new Task ((o) => a ((Task<TResult>)o), this, TaskCreationOptions.None);
+ Task t = new Task ((o) => a ((Task<TResult>)o), this, token, GetCreationOptions (options));
ContinueWithCore (t, options, scheduler);
return t;
return ContinueWith<TNewResult> (a, TaskContinuationOptions.None);
}
+ public Task<TNewResult> ContinueWith<TNewResult> (Func<Task<TResult>, TNewResult> a, CancellationToken token)
+ {
+ return ContinueWith<TNewResult> (a, token, TaskContinuationOptions.None, TaskScheduler.Current);
+ }
+
public Task<TNewResult> ContinueWith<TNewResult> (Func<Task<TResult>, TNewResult> a, TaskContinuationOptions options)
{
- return ContinueWith<TNewResult> (a, options, TaskScheduler.Current);
+ return ContinueWith<TNewResult> (a, CancellationToken.None, options, TaskScheduler.Current);
}
public Task<TNewResult> ContinueWith<TNewResult> (Func<Task<TResult>, TNewResult> a, TaskScheduler scheduler)
{
- return ContinueWith<TNewResult> (a, TaskContinuationOptions.None, scheduler);
+ return ContinueWith<TNewResult> (a, CancellationToken.None, TaskContinuationOptions.None, scheduler);
}
- public Task<TNewResult> ContinueWith<TNewResult> (Func<Task<TResult>, TNewResult> a, TaskContinuationOptions options,
+ public Task<TNewResult> ContinueWith<TNewResult> (Func<Task<TResult>, TNewResult> a, CancellationToken token,
+ TaskContinuationOptions options,
TaskScheduler scheduler)
{
- Task<TNewResult> t = new Task<TNewResult> ((o) => a ((Task<TResult>)o), this, TaskCreationOptions.None);
+ Task<TNewResult> t = new Task<TNewResult> ((o) => a ((Task<TResult>)o), this, token, GetCreationOptions (options));
ContinueWithCore (t, options, scheduler);
return t;
namespace System.Threading.Tasks
{
- internal class ThreadWorker: IDisposable
+ internal class ThreadWorker : IDisposable
{
static Random r = new Random ();
{
this.others = others;
-// if (!string.IsNullOrEmpty (Environment.GetEnvironmentVariable ("USE_CYCLIC"))) {
-// Console.WriteLine ("Using cyclic deque");
-// this.dDeque = new CyclicDeque<Task> ();
-// } else {
-// this.dDeque = new DynamicDeque<Task> ();
-// }
this.dDeque = new CyclicDeque<Task> ();
this.sharedWorkQueue = sharedWorkQueue;
// Almost same as above but with an added predicate and treating one item at a time.
// It's used by Scheduler Participate(...) method for special waiting case like
// Task.WaitAll(someTasks) or Task.WaitAny(someTasks)
+ // Predicate should be really fast and not blocking as it is called a good deal of time
+ // Also, the method skip tasks that are LongRunning to avoid blocking (Task are not LongRunning by default)
public static void WorkerMethod (Func<bool> predicate, IProducerConsumerCollection<Task> sharedWorkQueue,
ThreadWorker[] others)
{
// Dequeue only one item as we have restriction
if (sharedWorkQueue.TryTake (out value)) {
if (value != null) {
- value.Execute (null);
+ if (CheckTaskFitness (value))
+ value.Execute (null);
+ else
+ sharedWorkQueue.TryAdd (value);
}
}
if (other.dDeque.PopTop (out value) == PopResult.Succeed) {
if (value != null) {
- value.Execute (null);
+ if (CheckTaskFitness (value))
+ value.Execute (null);
+ else
+ sharedWorkQueue.TryAdd (value);
}
}
}
}
+ static bool CheckTaskFitness (Task t)
+ {
+ return (t.CreationOptions | TaskCreationOptions.LongRunning) > 0;
+ }
+
public bool Finished {
get {
- return started == 0;
+ return started == 0;
}
}
return scheduler.MaximumConcurrencyLevel;
}
+ static int GetBestWorkerNumber (int from, int to, ParallelOptions options, out int step)
+ {
+ int num = Math.Min (GetBestWorkerNumber (),
+ options != null && options.MaxDegreeOfParallelism != -1 ? options.MaxDegreeOfParallelism : int.MaxValue);
+ // Integer range that each task process
+ step = Math.Min (5, (to - from) / num);
+ if (step <= 0)
+ step = 1;
+
+ return num;
+ }
+
static void HandleExceptions (IEnumerable<Task> tasks)
{
HandleExceptions (tasks, null);
{
List<Exception> exs = new List<Exception> ();
foreach (Task t in tasks) {
- if (t.Exception != null && !(t.Exception is TaskCanceledException))
+ if (t.Exception != null)
exs.Add (t.Exception);
}
}
}
- static void InitTasks (Task[] tasks, Action action, int count)
- {
- InitTasks (tasks, count, () => Task.Factory.StartNew (action, TaskCreationOptions.DetachedFromParent));
- }
-
- static void InitTasks (Task[] tasks, Action action, int count, TaskScheduler scheduler)
- {
- InitTasks (tasks, count, () => Task.Factory.StartNew (action, TaskCreationOptions.DetachedFromParent, scheduler));
- }
-
- static void InitTasks (Task[] tasks, int count, Func<Task> taskCreator)
+ static void InitTasks (Task[] tasks, int count, Action action, ParallelOptions options)
{
+ TaskCreationOptions creation = TaskCreationOptions.LongRunning;
+
for (int i = 0; i < count; i++) {
- tasks [i] = taskCreator ();
+ if (options == null)
+ tasks [i] = Task.Factory.StartNew (action, creation);
+ else
+ tasks [i] = Task.Factory.StartNew (action, options.CancellationToken, creation, options.TaskScheduler);
}
}
#region For
{
return For<TLocal> (from, to, null, init, action, destruct);
}
+
- [MonoTODO]
public static ParallelLoopResult For<TLocal> (int from, int to, ParallelOptions options,
Func<TLocal> init,
Func<int, ParallelLoopState, TLocal, TLocal> action,
throw new ArgumentNullException ("action");
// Number of task to be launched (normally == Env.ProcessorCount)
- int num = Math.Min (GetBestWorkerNumber (),
- options != null && options.MaxDegreeOfParallelism != -1 ? options.MaxDegreeOfParallelism : int.MaxValue);
- // Integer range that each task process
- int step = Math.Min (5, (to - from) / num);
- if (step <= 0)
- step = 1;
-
- throw new NotImplementedException ();
-/*
+ int step;
+ int num = GetBestWorkerNumber (from, to, options, out step);
+
// Each worker put the indexes it's responsible for here
// so that other worker may steal if they starve.
- ConcurrentBag<int> bag = new ConcurrentBag<int> ();
+ SimpleConcurrentBag<int> bag = new SimpleConcurrentBag<int> (num);
Task[] tasks = new Task [num];
ParallelLoopState.ExternalInfos infos = new ParallelLoopState.ExternalInfos ();
+ Func<ParallelLoopState, bool> cancellationTokenTest = (s) => {
+ if (options != null && options.CancellationToken.IsCancellationRequested) {
+ s.Stop ();
+ return true;
+ }
+ return false;
+ };
+
+ Func<int, bool> breakTest = (i) => infos.LowestBreakIteration != null && infos.LowestBreakIteration > i;
+
int currentIndex = from;
-
+
Action workerMethod = delegate {
int index, actual;
TLocal local = (init == null) ? default (TLocal) : init ();
- ParallelLoopState state = new ParallelLoopState (tasks, infos);
+ ParallelLoopState state = new ParallelLoopState (infos);
+ int workIndex = bag.GetNextIndex ();
try {
- while ((index = Interlocked.Add (ref currentIndex, step) - step) < to) {
+ while (currentIndex < to && (index = Interlocked.Add (ref currentIndex, step) - step) < to) {
if (infos.IsStopped.Value)
return;
- if (options != null && options.CancellationToken.IsCancellationRequested) {
- state.Stop ();
+ if (cancellationTokenTest (state))
return;
- }
for (int i = index; i < to && i < index + step; i++)
- bag.Add (i);
+ bag.Add (workIndex, i);
- for (int i = index; i < to && i < index + step && bag.TryTake (out actual); i++) {
+ for (int i = index; i < to && i < index + step && bag.TryTake (workIndex, out actual); i++) {
if (infos.IsStopped.Value)
return;
- if (options != null && options.CancellationToken.IsCancellationRequested) {
- state.Stop ();
+ if (cancellationTokenTest (state))
return;
- }
- if (infos.LowestBreakIteration != null && infos.LowestBreakIteration > actual)
+ if (breakTest (actual))
return;
state.CurrentIteration = actual;
}
}
- while (bag.TryTake (out actual)) {
+ while (bag.TrySteal (workIndex, out actual)) {
if (infos.IsStopped.Value)
return;
- if (options != null && options.CancellationToken.IsCancellationRequested) {
- state.Stop ();
+ if (cancellationTokenTest (state))
return;
- }
- if (infos.LowestBreakIteration != null && infos.LowestBreakIteration > actual)
+ if (breakTest (actual))
continue;
state.CurrentIteration = actual;
destruct (local);
}
};
-
- if (options != null && options.TaskScheduler != null)
- InitTasks (tasks, workerMethod, num, options.TaskScheduler);
- else
- InitTasks (tasks, workerMethod, num);
+
+ InitTasks (tasks, num, workerMethod, options);
try {
Task.WaitAll (tasks);
HandleExceptions (tasks, infos);
}
- return new ParallelLoopResult (infos.LowestBreakIteration, !(infos.IsStopped.Value || infos.IsExceptional));
-*/
+ return new ParallelLoopResult (infos.LowestBreakIteration, !(infos.IsStopped.Value || infos.IsExceptional));
}
#endregion
#region Foreach
- [MonoTODO]
static ParallelLoopResult ForEach<TSource, TLocal> (Func<int, IList<IEnumerator<TSource>>> enumerable, ParallelOptions options,
Func<TLocal> init, Func<TSource, ParallelLoopState, TLocal, TLocal> action,
Action<TLocal> destruct)
Task[] tasks = new Task[num];
ParallelLoopState.ExternalInfos infos = new ParallelLoopState.ExternalInfos ();
- throw new NotImplementedException ();
-/*
- ConcurrentBag<TSource> bag = new ConcurrentBag<TSource> ();
+ SimpleConcurrentBag<TSource> bag = new SimpleConcurrentBag<TSource> (num);
const int bagCount = 5;
IList<IEnumerator<TSource>> slices = enumerable (num);
+
int sliceIndex = 0;
+
+ Func<ParallelLoopState, bool> cancellationTokenTest = (s) => {
+ if (options != null && options.CancellationToken.IsCancellationRequested) {
+ s.Stop ();
+ return true;
+ }
+ return false;
+ };
Action workerMethod = delegate {
IEnumerator<TSource> slice = slices[Interlocked.Increment (ref sliceIndex) - 1];
TLocal local = (init != null) ? init () : default (TLocal);
- ParallelLoopState state = new ParallelLoopState (tasks, infos);
+ ParallelLoopState state = new ParallelLoopState (infos);
+ int workIndex = bag.GetNextIndex ();
try {
bool cont = true;
if (infos.IsStopped.Value)
return;
- if (options != null && options.CancellationToken.IsCancellationRequested) {
- state.Stop ();
+ if (cancellationTokenTest (state))
return;
- }
for (int i = 0; i < bagCount && (cont = slice.MoveNext ()); i++) {
- bag.Add (slice.Current);
+ bag.Add (workIndex, slice.Current);
}
- for (int i = 0; i < bagCount && bag.TryTake (out element); i++) {
+ for (int i = 0; i < bagCount && bag.TryTake (workIndex, out element); i++) {
if (infos.IsStopped.Value)
return;
- if (options != null && options.CancellationToken.IsCancellationRequested) {
- state.Stop ();
+ if (cancellationTokenTest (state))
return;
- }
local = action (element, state, local);
}
}
- while (bag.TryTake (out element)) {
+ while (bag.TrySteal (workIndex, out element)) {
if (infos.IsStopped.Value)
return;
- if (options != null && options.CancellationToken.IsCancellationRequested) {
- state.Stop ();
+ if (cancellationTokenTest (state))
return;
- }
local = action (element, state, local);
}
}
};
- if (options != null && options.TaskScheduler != null)
- InitTasks (tasks, workerMethod, num, options.TaskScheduler);
- else
- InitTasks (tasks, workerMethod, num);
+ InitTasks (tasks, num, workerMethod, options);
try {
Task.WaitAll (tasks);
}
return new ParallelLoopResult (infos.LowestBreakIteration, !(infos.IsStopped.Value || infos.IsExceptional));
- */
+
}
public static ParallelLoopResult ForEach<TSource> (IEnumerable<TSource> enumerable, Action<TSource> action)
init, (e, s, l) => action (e.Value, s, e.Key, l), destruct);
}
#endregion
-
- /* Disabled as this is an API addition
- #region While
- public static void While (Func<bool> predicate, Action body)
- {
- if (body == null)
- throw new ArgumentNullException ("body");
- if (predicate == null)
- throw new ArgumentNullException ("predicate");
-
- int num = GetBestWorkerNumber ();
-
- Task[] tasks = new Task [num];
-
- Action action = delegate {
- while (predicate ())
- body ();
- };
-
- InitTasks (tasks, action, num);
- Task.WaitAll (tasks);
- HandleExceptions (tasks);
- }
-
- #endregion
- */
#region Invoke
public static void Invoke (params Action[] actions)
if (actions == null)
throw new ArgumentNullException ("actions");
- Invoke (actions, (Action a) => Task.Factory.StartNew (a, TaskCreationOptions.None, parallelOptions.TaskScheduler));
+ Invoke (actions, (Action a) => Task.Factory.StartNew (a, CancellationToken.None, TaskCreationOptions.None, parallelOptions.TaskScheduler));
}
static void Invoke (Action[] actions, Func<Action, Task> taskCreator)
public long? LowestBreakIteration;
}
- Task[] tasks;
ExternalInfos extInfos;
- internal ParallelLoopState (Task[] tasks, ExternalInfos extInfos)
+ internal ParallelLoopState (ExternalInfos extInfos)
{
- this.tasks = tasks;
this.extInfos = extInfos;
}
public void Stop ()
{
- bool result = extInfos.IsStopped.Exchange (true);
- if (!result) {
- foreach (var t in tasks) {
- if (t == null)
- continue;
- t.Cancel ();
- }
- }
+ extInfos.IsStopped.Exchange (true);
}
}
--- /dev/null
+#if NET_4_0
+//
+// SimpleConcurrentBag.cs
+//
+// Author:
+// Jérémie "Garuma" Laval <jeremie.laval@gmail.com>
+//
+// Copyright (c) 2009 Jérémie "Garuma" Laval
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Threading;
+
+namespace System.Threading.Tasks
+{
+
+ internal class SimpleConcurrentBag<T>
+ {
+ readonly IDequeOperations<T>[] deques;
+ readonly bool unique;
+ int index = -1;
+
+ [ThreadStatic]
+ int stealIndex;
+
+ public SimpleConcurrentBag (int num)
+ {
+ deques = new CyclicDeque<T>[num];
+ for (int i = 0; i < deques.Length; i++) {
+ deques[i] = new CyclicDeque<T> ();
+ }
+ unique = num <= 1;
+ }
+
+ public int GetNextIndex ()
+ {
+ return Interlocked.Increment (ref index);
+ }
+
+ public bool TryTake (int index, out T value)
+ {
+ value = default (T);
+
+ return deques[index].PopBottom (out value) == PopResult.Succeed;
+ }
+
+ public bool TrySteal (int index, out T value)
+ {
+ value = default (T);
+
+ if (unique)
+ return false;
+
+ const int roundThreshold = 3;
+
+ for (int round = 0; round < roundThreshold; ++round) {
+ if (stealIndex == index)
+ stealIndex = (stealIndex + 1) % deques.Length;
+
+ if (deques[(stealIndex = (stealIndex + 1) % deques.Length)].PopTop (out value) == PopResult.Succeed)
+ return true;
+ }
+
+ return false;
+ }
+
+ public void Add (int index, T value)
+ {
+ deques[index].PushBottom (value);
+ }
+ }
+}
+#endif
[System.ThreadStatic]
static Action<Task> childWorkAdder;
+ Task parent;
+
static int id = -1;
static TaskFactory defaultFactory = new TaskFactory ();
CountdownEvent childTasks = new CountdownEvent (1);
- Task parent = current;
-
int taskId;
- bool respectParentCancellation;
TaskCreationOptions taskCreationOptions;
IScheduler scheduler;
TaskScheduler taskScheduler;
- volatile Exception exception;
- volatile bool exceptionObserved;
- volatile TaskStatus status;
+ volatile AggregateException exception;
+ volatile bool exceptionObserved;
+ volatile TaskStatus status;
Action<object> action;
object state;
EventHandler completed;
- CancellationTokenSource src = new CancellationTokenSource ();
-
+ CancellationToken token;
public Task (Action action) : this (action, TaskCreationOptions.None)
- {
-
+ {
}
- public Task (Action action, TaskCreationOptions options) : this ((o) => action (), null, options)
+ public Task (Action action, TaskCreationOptions options) : this (action, CancellationToken.None, options)
+ {
+ }
+
+ public Task (Action action, CancellationToken token) : this (action, token, TaskCreationOptions.None)
+ {
+ }
+
+ public Task (Action action, CancellationToken token, TaskCreationOptions options)
+ : this ((o) => action (), null, token, options)
{
-
}
public Task (Action<object> action, object state) : this (action, state, TaskCreationOptions.None)
- {
-
+ {
}
public Task (Action<object> action, object state, TaskCreationOptions options)
+ : this (action, state, CancellationToken.None, options)
+ {
+ }
+
+ public Task (Action<object> action, object state, CancellationToken token)
+ : this (action, state, token, TaskCreationOptions.None)
+ {
+ }
+
+ public Task (Action<object> action, object state, CancellationToken token, TaskCreationOptions options)
{
this.taskCreationOptions = options;
- this.action = action == null ? EmptyFunc : action;
- this.state = state;
- this.taskId = Interlocked.Increment (ref id);
- this.status = TaskStatus.Created;
+ this.action = action == null ? EmptyFunc : action;
+ this.state = state;
+ this.taskId = Interlocked.Increment (ref id);
+ this.status = TaskStatus.Created;
+ this.token = token;
// Process taskCreationOptions
- if (CheckTaskOptions (taskCreationOptions, TaskCreationOptions.DetachedFromParent))
- parent = null;
- else if (parent != null)
- parent.AddChild ();
-
- respectParentCancellation =
- CheckTaskOptions (taskCreationOptions, TaskCreationOptions.RespectParentCancellation);
+ if (CheckTaskOptions (taskCreationOptions, TaskCreationOptions.AttachedToParent)) {
+ parent = current;
+ if (parent != null)
+ parent.AddChild ();
+ }
}
~Task ()
public Task ContinueWith (Action<Task> a, TaskContinuationOptions kind)
{
- return ContinueWith (a, kind, TaskScheduler.Current);
+ return ContinueWith (a, CancellationToken.None, kind, TaskScheduler.Current);
+ }
+
+ public Task ContinueWith (Action<Task> a, CancellationToken token)
+ {
+ return ContinueWith (a, token, TaskContinuationOptions.None, TaskScheduler.Current);
}
public Task ContinueWith (Action<Task> a, TaskScheduler scheduler)
{
- return ContinueWith (a, TaskContinuationOptions.None, scheduler);
+ return ContinueWith (a, CancellationToken.None, TaskContinuationOptions.None, scheduler);
}
- public Task ContinueWith (Action<Task> a, TaskContinuationOptions kind, TaskScheduler scheduler)
+ public Task ContinueWith (Action<Task> a, CancellationToken token, TaskContinuationOptions kind, TaskScheduler scheduler)
{
- Task continuation = new Task ((o) => a ((Task)o), this, GetCreationOptions (kind));
+ Task continuation = new Task ((o) => a ((Task)o), this, token, GetCreationOptions (kind));
ContinueWithCore (continuation, kind, scheduler);
return continuation;
}
public Task<TResult> ContinueWith<TResult> (Func<Task, TResult> a, TaskContinuationOptions options)
{
- return ContinueWith<TResult> (a, options, TaskScheduler.Current);
+ return ContinueWith<TResult> (a, CancellationToken.None, options, TaskScheduler.Current);
+ }
+
+ public Task<TResult> ContinueWith<TResult> (Func<Task, TResult> a, CancellationToken token)
+ {
+ return ContinueWith<TResult> (a, token, TaskContinuationOptions.None, TaskScheduler.Current);
}
public Task<TResult> ContinueWith<TResult> (Func<Task, TResult> a, TaskScheduler scheduler)
{
- return ContinueWith<TResult> (a, TaskContinuationOptions.None, scheduler);
+ return ContinueWith<TResult> (a, CancellationToken.None, TaskContinuationOptions.None, scheduler);
}
- public Task<TResult> ContinueWith<TResult> (Func<Task, TResult> a, TaskContinuationOptions kind, TaskScheduler scheduler)
+ public Task<TResult> ContinueWith<TResult> (Func<Task, TResult> a, CancellationToken token,
+ TaskContinuationOptions kind, TaskScheduler scheduler)
{
- Task<TResult> t = new Task<TResult> ((o) => a ((Task)o), this, GetCreationOptions (kind));
+ Task<TResult> t = new Task<TResult> ((o) => a ((Task)o), this, token, GetCreationOptions (kind));
ContinueWithCore (t, kind, scheduler);
if (!launched.Value && !launched.Exchange (true)) {
if (!ContinuationStatusCheck (kind)) {
- continuation.Cancel ();
continuation.CancelReal ();
continuation.Dispose ();
void CheckAndSchedule (Task continuation, TaskContinuationOptions options, TaskScheduler scheduler)
{
- if (options == TaskContinuationOptions.None || (options & TaskContinuationOptions.ExecuteSynchronously) > 0) {
+ if (options == TaskContinuationOptions.None || (options & TaskContinuationOptions.ExecuteSynchronously) > 0)
continuation.ThreadStart ();
- } else {
+ else
continuation.Start (scheduler);
- }
}
- static TaskCreationOptions GetCreationOptions (TaskContinuationOptions kind)
+ internal TaskCreationOptions GetCreationOptions (TaskContinuationOptions kind)
{
TaskCreationOptions options = TaskCreationOptions.None;
- if ((kind & TaskContinuationOptions.DetachedFromParent) > 0)
- options |= TaskCreationOptions.DetachedFromParent;
- if ((kind & TaskContinuationOptions.RespectParentCancellation) > 0)
- options |= TaskCreationOptions.RespectParentCancellation;
+ if ((kind & TaskContinuationOptions.AttachedToParent) > 0)
+ options |= TaskCreationOptions.AttachedToParent;
+ if ((kind & TaskContinuationOptions.PreferFairness) > 0)
+ options |= TaskCreationOptions.PreferFairness;
+ if ((kind & TaskContinuationOptions.LongRunning) > 0)
+ options |= TaskCreationOptions.LongRunning;
return options;
}
status = TaskStatus.WaitingToRun;
// If worker is null it means it is a local one, revert to the old behavior
- if (current == null || childWorkAdder == null || parent == null
- || CheckTaskOptions (taskCreationOptions, TaskCreationOptions.PreferFairness)) {
-
+ if (childWorkAdder == null || CheckTaskOptions (taskCreationOptions, TaskCreationOptions.PreferFairness)) {
scheduler.AddWork (this);
-
} else {
/* Like the semantic of the ABP paper describe it, we add ourselves to the bottom
* of our Parent Task's ThreadWorker deque. It's ok to do that since we are in
current = this;
TaskScheduler.Current = taskScheduler;
- if (!src.IsCancellationRequested
- && (!respectParentCancellation || (respectParentCancellation && parent != null && !parent.IsCanceled))) {
+ if (!token.IsCancellationRequested) {
status = TaskStatus.Running;
try {
InnerInvoke ();
} catch (Exception e) {
- exception = e;
+ exception = new AggregateException (e);
status = TaskStatus.Faulted;
+ if (taskScheduler.FireUnobservedEvent (exception).Observed)
+ exceptionObserved = true;
}
} else {
- AcknowledgeCancellation ();
+ CancelReal ();
}
Finish ();
internal void ChildCompleted ()
{
childTasks.Signal ();
- if (childTasks.IsSet && status == TaskStatus.WaitingForChildrenToComplete)
+ if (childTasks.IsSet && status == TaskStatus.WaitingForChildrenToComplete) {
status = TaskStatus.RanToCompletion;
+
+ // Let continuation creation process
+ EventHandler tempCompleted = completed;
+ if (tempCompleted != null)
+ tempCompleted (this, EventArgs.Empty);
+ }
}
internal virtual void InnerInvoke ()
// Don't override Canceled or Faulted
if (status == TaskStatus.Running) {
- if (childTasks.IsSet )
+ if (childTasks.IsSet)
status = TaskStatus.RanToCompletion;
else
status = TaskStatus.WaitingForChildrenToComplete;
}
-
- // Call the event in the correct style
- EventHandler tempCompleted = completed;
- if (tempCompleted != null)
- tempCompleted (this, EventArgs.Empty);
+
+ if (status != TaskStatus.WaitingForChildrenToComplete) {
+ // Let continuation creation process
+ EventHandler tempCompleted = completed;
+ if (tempCompleted != null)
+ tempCompleted (this, EventArgs.Empty);
+ }
// Reset the current thingies
current = null;
TaskScheduler.Current = null;
// Tell parent that we are finished
- if (!CheckTaskOptions (taskCreationOptions, TaskCreationOptions.DetachedFromParent) && parent != null){
+ if (CheckTaskOptions (taskCreationOptions, TaskCreationOptions.AttachedToParent) && parent != null){
parent.ChildCompleted ();
}
}
#endregion
- #region Cancel and Wait related methods
- public void AcknowledgeCancellation ()
- {
- if (this != current)
- throw new InvalidOperationException ("The Task object is different from the currently executing"
- + "task or the current task hasn't been "
- + "marked for cancellation.");
-
- CancelReal ();
- }
+ #region Cancel and Wait related method
internal void CancelReal ()
{
- exception = new TaskCanceledException (this);
+ exception = new AggregateException (new TaskCanceledException (this));
status = TaskStatus.Canceled;
}
- public void Cancel ()
- {
- src.Cancel ();
- }
-
- public void CancelAndWait ()
- {
- Cancel ();
- Wait ();
- }
-
- public void CancelAndWait (CancellationToken token)
- {
- Cancel ();
- Wait (token);
- }
-
- public bool CancelAndWait (TimeSpan ts)
- {
- Cancel ();
- return Wait (ts);
- }
-
- public bool CancelAndWait (int millisecondsTimeout)
- {
- Cancel ();
- return Wait (millisecondsTimeout);
- }
-
- public bool CancelAndWait (int millisecondsTimeout, CancellationToken token)
- {
- Cancel ();
- return Wait (millisecondsTimeout, token);
- }
-
public void Wait ()
{
if (scheduler == null)
throw new InvalidOperationException ("The Task hasn't been Started and thus can't be waited on");
scheduler.ParticipateUntil (this);
- if (exception != null && !(exception is TaskCanceledException))
+ if (exception != null)
throw exception;
}
public bool Wait (TimeSpan ts)
{
- return Wait ((int)ts.TotalMilliseconds);
+ return Wait ((int)ts.TotalMilliseconds, CancellationToken.None);
}
public bool Wait (int millisecondsTimeout)
{
- Watch sw = Watch.StartNew ();
- return Wait (() => sw.ElapsedMilliseconds >= millisecondsTimeout, null);
+ return Wait (millisecondsTimeout, CancellationToken.None);
}
public bool Wait (int millisecondsTimeout, CancellationToken token)
return Wait (() => sw.ElapsedMilliseconds >= millisecondsTimeout, token);
}
- bool Wait (Func<bool> stopFunc, CancellationToken? token)
+ bool Wait (Func<bool> stopFunc, CancellationToken token)
{
if (scheduler == null)
throw new InvalidOperationException ("The Task hasn't been Started and thus can't be waited on");
bool result = scheduler.ParticipateUntil (this, delegate {
- if (token.HasValue && token.Value.IsCancellationRequested)
+ if (token.IsCancellationRequested)
throw new OperationCanceledException ("The CancellationToken has had cancellation requested.");
-
return (stopFunc != null) ? stopFunc () : false;
});
- if (exception != null && !(exception is TaskCanceledException))
+ if (exception != null)
throw exception;
return !result;
}
}
- public static Task Current {
- get {
- return current;
- }
- }
-
- public CancellationToken CancellationToken {
+ public static int? CurrentId {
get {
- return src.Token;
+ Task t = current;
+ return t == null ? (int?)null : t.Id;
}
}
- public Exception Exception {
+ public AggregateException Exception {
get {
exceptionObserved = true;
}
}
- public bool IsCancellationRequested {
- get {
- return src.IsCancellationRequested;
- }
- }
-
public bool IsCompleted {
get {
return status == TaskStatus.RanToCompletion ||
}
}
- public Task Parent {
- get {
- return parent;
- }
- }
-
public TaskCreationOptions CreationOptions {
get {
return taskCreationOptions;
// THE SOFTWARE.
using System;
+using System.Collections.Generic;
namespace System.Threading.Tasks
{
public void SetCanceled ()
{
- if (!ApplyOperation (TaskStatus.Canceled, () => { source.Cancel (); source.CancelReal (); }))
+ if (!ApplyOperation (TaskStatus.Canceled, source.CancelReal))
ThrowInvalidException ();
}
public void SetException (Exception e)
{
- if (!ApplyOperation (TaskStatus.Faulted, () => source.Exception = e))
+ SetException (new Exception[] { e });
+ }
+
+ public void SetException (IEnumerable<Exception> e)
+ {
+ if (!ApplyOperation (TaskStatus.Faulted, () => source.Exception = new AggregateException (e)))
ThrowInvalidException ();
}
public bool TrySetCanceled ()
{
- return ApplyOperation (TaskStatus.Canceled, () => { source.Cancel (); source.CancelReal (); });
+ return ApplyOperation (TaskStatus.Canceled, source.CancelReal);
}
public bool TrySetException (Exception e)
{
- return ApplyOperation (TaskStatus.Faulted, () => source.Exception = e);
+ return TrySetException (new Exception[] { e });
+ }
+
+
+ public bool TrySetException (IEnumerable<Exception> e)
+ {
+ return ApplyOperation (TaskStatus.Faulted, () => source.Exception = new AggregateException (e));
}
public bool TrySetResult (TResult result)
{
None = 0x0,
PreferFairness = 0x1,
- RespectParentCancellation = 0x2,
LongRunning = 0x4,
- DetachedFromParent = 0x8,
+ AttachedToParent = 0x8,
ExecuteSynchronously = 0x10,
NotOnRanToCompletion = 0x20,
NotOnFaulted = 0x40,
{
None = 0x0,
PreferFairness = 0x1,
- RespectParentCancellation = 0x2,
LongRunning = 0x8,
- DetachedFromParent = 0x10
+ AttachedToParent = 0x10
}
}
#endif
{
TaskScheduler scheduler;
TaskCreationOptions options;
- TaskContinuationOptions contOptions;
+ TaskContinuationOptions contOptions;
+ CancellationToken token;
#region ctors
- public TaskFactory () : this (TaskScheduler.Current, TaskCreationOptions.None, TaskContinuationOptions.None)
+ public TaskFactory ()
+ : this (CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Current)
+ {
+ }
+
+ public TaskFactory (CancellationToken token)
+ : this (token, TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Current)
{
}
-
- public TaskFactory (TaskScheduler scheduler) : this (scheduler, TaskCreationOptions.None, TaskContinuationOptions.None)
+
+ public TaskFactory (TaskScheduler scheduler)
+ : this (CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, scheduler)
{
}
public TaskFactory (TaskCreationOptions options, TaskContinuationOptions contOptions)
- : this (TaskScheduler.Current, options, contOptions)
+ : this (CancellationToken.None, options, contOptions, TaskScheduler.Current)
{
}
- public TaskFactory (TaskScheduler scheduler, TaskCreationOptions options, TaskContinuationOptions contOptions)
+ public TaskFactory (CancellationToken token, TaskCreationOptions options, TaskContinuationOptions contOptions,
+ TaskScheduler scheduler)
{
+ this.token = token;
this.scheduler = scheduler;
this.options = options;
this.contOptions = contOptions;
#region StartNew for Task
public Task StartNew (Action action)
{
- return StartNew (action, options, scheduler);
+ return StartNew (action, token, options, scheduler);
}
- public Task StartNew (Action action, TaskCreationOptions options)
+ public Task StartNew (Action action, CancellationToken token)
{
- return StartNew (action, options, scheduler);
+ return StartNew (action, token, options, scheduler);
}
- public Task StartNew (Action action, TaskCreationOptions options, TaskScheduler scheduler)
+ public Task StartNew (Action action, TaskCreationOptions options)
{
- return StartNew ((o) => action (), null, options, scheduler);
+ return StartNew (action, token, options, scheduler);
}
public Task StartNew (Action<object> action, object state)
{
- return StartNew (action, state, options, scheduler);
+ return StartNew (action, state, token, options, scheduler);
+ }
+
+ public Task StartNew (Action<object> action, object state, CancellationToken token)
+ {
+ return StartNew (action, state, token, options, scheduler);
}
public Task StartNew (Action<object> action, object state, TaskCreationOptions options)
{
- return StartNew (action, state, options, scheduler);
+ return StartNew (action, state, token, options, scheduler);
+ }
+
+ public Task StartNew (Action action, CancellationToken token, TaskCreationOptions options, TaskScheduler scheduler)
+ {
+ return StartNew ((o) => action (), null, token, options, scheduler);
}
- public Task StartNew (Action<object> action, object state, TaskCreationOptions options, TaskScheduler scheduler)
+ public Task StartNew (Action<object> action, object state, CancellationToken token, TaskCreationOptions options,
+ TaskScheduler scheduler)
{
Task t = new Task (action, state, options);
t.Start (scheduler);
#region StartNew for Task<TResult>
public Task<TResult> StartNew<TResult> (Func<TResult> function)
{
- return StartNew<TResult> (function, options, scheduler);
+ return StartNew<TResult> (function, token, options, scheduler);
}
public Task<TResult> StartNew<TResult> (Func<TResult> function, TaskCreationOptions options)
{
- return StartNew<TResult> (function, options, scheduler);
+ return StartNew<TResult> (function, token, options, scheduler);
+ }
+
+ public Task<TResult> StartNew<TResult> (Func<TResult> function, CancellationToken token)
+ {
+ return StartNew<TResult> (function, token, options, scheduler);
}
- public Task<TResult> StartNew<TResult> (Func<TResult> function, TaskCreationOptions options, TaskScheduler scheduler)
+ public Task<TResult> StartNew<TResult> (Func<TResult> function,
+ CancellationToken token,
+ TaskCreationOptions options,
+ TaskScheduler scheduler)
{
- return StartNew<TResult> ((o) => function (), null, options, scheduler);
+ return StartNew<TResult> ((o) => function (), null, token, options, scheduler);
}
public Task<TResult> StartNew<TResult> (Func<object, TResult> function, object state)
{
- return StartNew<TResult> (function, state, options, scheduler);
+ return StartNew<TResult> (function, state, token, options, scheduler);
+ }
+
+ public Task<TResult> StartNew<TResult> (Func<object, TResult> function, object state, CancellationToken token)
+ {
+ return StartNew<TResult> (function, state, token, options, scheduler);
}
public Task<TResult> StartNew<TResult> (Func<object, TResult> function, object state, TaskCreationOptions options)
{
- return StartNew<TResult> (function, state, options, scheduler);
+ return StartNew<TResult> (function, state, token, options, scheduler);
}
- public Task<TResult> StartNew<TResult> (Func<object, TResult> function, object state, TaskCreationOptions options,
+ public Task<TResult> StartNew<TResult> (Func<object, TResult> function, object state,
+ CancellationToken token,
+ TaskCreationOptions options,
TaskScheduler scheduler)
{
- Task<TResult> t = new Task<TResult> (function, state, options);
+ Task<TResult> t = new Task<TResult> (function, state, token, options);
t.Start (scheduler);
return t;
[MonoTODO]
public Task ContinueWhenAny (Task[] tasks, Action<Task> continuationAction)
{
- return ContinueWhenAny (tasks, continuationAction, contOptions, scheduler);
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
+ }
+
+ [MonoTODO]
+ public Task ContinueWhenAny (Task[] tasks, Action<Task> continuationAction, CancellationToken token)
+ {
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
}
[MonoTODO]
public Task ContinueWhenAny (Task[] tasks, Action<Task> continuationAction, TaskContinuationOptions continuationOptions)
{
- return ContinueWhenAny (tasks, continuationAction, continuationOptions, scheduler);
+ return ContinueWhenAny (tasks, continuationAction, token, continuationOptions, scheduler);
}
[MonoTODO]
- public Task ContinueWhenAny (Task[] tasks, Action<Task> continuationAction, TaskContinuationOptions continuationOptions,
- TaskScheduler scheduler)
+ public Task ContinueWhenAny (Task[] tasks, Action<Task> continuationAction, CancellationToken token,
+ TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
{
throw new NotImplementedException ();
}
+ [MonoTODO]
+ public Task ContinueWhenAny<TAntecedentResult> (Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction)
+ {
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
+ }
+
+ [MonoTODO]
+ public Task ContinueWhenAny<TAntecedentResult> (Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction,
+ CancellationToken token)
+ {
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
+ }
+
+ [MonoTODO]
+ public Task ContinueWhenAny<TAntecedentResult> (Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction,
+ TaskContinuationOptions continuationOptions)
+ {
+ return ContinueWhenAny (tasks, continuationAction, token, continuationOptions, scheduler);
+ }
+
+ [MonoTODO]
+ public Task ContinueWhenAny<TAntecedentResult> (Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>> continuationAction,
+ CancellationToken token, TaskContinuationOptions continuationOptions,
+ TaskScheduler scheduler)
+ {
+ return ContinueWhenAny ((Task[]) tasks, (o) => continuationAction ((Task<TAntecedentResult>)o),
+ token, continuationOptions, scheduler);
+ }
+
[MonoTODO]
public Task<TResult> ContinueWhenAny<TResult> (Task[] tasks, Func<Task, TResult> continuationAction)
{
- return ContinueWhenAny (tasks, continuationAction, contOptions);
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
+ }
+
+ [MonoTODO]
+ public Task<TResult> ContinueWhenAny<TResult> (Task[] tasks, Func<Task, TResult> continuationAction,
+ CancellationToken token)
+ {
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
}
[MonoTODO]
public Task<TResult> ContinueWhenAny<TResult> (Task[] tasks, Func<Task, TResult> continuationAction,
TaskContinuationOptions continuationOptions)
{
- return ContinueWhenAny (tasks, continuationAction, continuationOptions, scheduler);
+ return ContinueWhenAny (tasks, continuationAction, token, continuationOptions, scheduler);
}
[MonoTODO]
public Task<TResult> ContinueWhenAny<TResult> (Task[] tasks, Func<Task, TResult> continuationAction,
+ CancellationToken token,
TaskContinuationOptions continuationOptions,
TaskScheduler scheduler)
{
throw new NotImplementedException ();
}
+ [MonoTODO]
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>, TResult> continuationAction)
+ {
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
+ }
+
+ [MonoTODO]
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>, TResult> continuationAction,
+ CancellationToken token)
+ {
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
+ }
+
+ [MonoTODO]
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>, TResult> continuationAction,
+ TaskContinuationOptions continuationOptions)
+ {
+ return ContinueWhenAny (tasks, continuationAction, token, continuationOptions, scheduler);
+ }
+
+ [MonoTODO]
+ public Task<TResult> ContinueWhenAny<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>, TResult> continuationAction,
+ CancellationToken token,
+ TaskContinuationOptions continuationOptions,
+ TaskScheduler scheduler)
+ {
+ return ContinueWhenAny<TResult> ((Task[])tasks, (t) => continuationAction((Task<TAntecedentResult>)t), token, continuationOptions, scheduler);
+ }
+
public Task ContinueWhenAll (Task[] tasks, Action<Task[]> continuationFunction)
{
- return ContinueWhenAll (tasks, continuationFunction, contOptions);
+ return ContinueWhenAll (tasks, continuationFunction, token, contOptions, scheduler);
+ }
+
+ public Task ContinueWhenAll (Task[] tasks, Action<Task[]> continuationFunction, CancellationToken token)
+ {
+ return ContinueWhenAll (tasks, continuationFunction, token, contOptions, scheduler);
}
public Task ContinueWhenAll (Task[] tasks, Action<Task[]> continuationFunction,
TaskContinuationOptions continuationOptions)
{
- return ContinueWhenAll (tasks, continuationFunction, continuationOptions, scheduler);
+ return ContinueWhenAll (tasks, continuationFunction, token, continuationOptions, scheduler);
}
- public Task ContinueWhenAll (Task[] tasks, Action<Task[]> continuationFunction,
+ public Task ContinueWhenAll (Task[] tasks, Action<Task[]> continuationFunction, CancellationToken token,
TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
{
CountdownEvent evt = new CountdownEvent (tasks.Length);
- Task cont = new Task ((o) => continuationFunction ((Task[])o), tasks, options);
+ Task cont = new Task ((o) => continuationFunction ((Task[])o), tasks, token, options);
foreach (Task t in tasks)
t.ContinueWithCore (cont, continuationOptions, scheduler, evt.Signal);
return cont;
}
-
+
+ public Task ContinueWhenAll<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Action<Task<TAntecedentResult>[]> continuationFunction)
+ {
+ return ContinueWhenAll (tasks, continuationFunction, token, contOptions, scheduler);
+ }
+
+ public Task ContinueWhenAll<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Action<Task<TAntecedentResult>[]> continuationFunction, CancellationToken token)
+ {
+ return ContinueWhenAll (tasks, continuationFunction, token, contOptions, scheduler);
+ }
+
+ public Task ContinueWhenAll<TAntecedentResult> (Task<TAntecedentResult>[] tasks, Action<Task<TAntecedentResult>[]> continuationFunction,
+ TaskContinuationOptions continuationOptions)
+ {
+ return ContinueWhenAll (tasks, continuationFunction, token, continuationOptions, scheduler);
+ }
+
+ public Task ContinueWhenAll<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Action<Task<TAntecedentResult>[]> continuationFunction,
+ CancellationToken token, TaskContinuationOptions continuationOptions,
+ TaskScheduler scheduler)
+ {
+ return ContinueWhenAll ((Task[]) tasks, (o) => continuationFunction (tasks), token,
+ continuationOptions, scheduler);
+ }
public Task<TResult> ContinueWhenAll<TResult> (Task[] tasks, Func<Task[], TResult> continuationFunction)
{
- return ContinueWhenAll<TResult> (tasks, continuationFunction, contOptions);
+ return ContinueWhenAll<TResult> (tasks, continuationFunction, token, contOptions, scheduler);
}
public Task<TResult> ContinueWhenAll<TResult> (Task[] tasks, Func<Task[], TResult> continuationFunction,
TaskContinuationOptions continuationOptions)
{
- return ContinueWhenAll<TResult> (tasks, continuationFunction, continuationOptions, scheduler);
+ return ContinueWhenAll<TResult> (tasks, continuationFunction, token, continuationOptions, scheduler);
+ }
+
+ public Task<TResult> ContinueWhenAll<TResult> (Task[] tasks, Func<Task[], TResult> continuationFunction,
+ CancellationToken token)
+ {
+ return ContinueWhenAll<TResult> (tasks, continuationFunction, token, contOptions, scheduler);
}
public Task<TResult> ContinueWhenAll<TResult> (Task[] tasks, Func<Task[], TResult> continuationFunction,
+ CancellationToken token,
TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
{
CountdownEvent evt = new CountdownEvent (tasks.Length);
- Task<TResult> cont = new Task<TResult> ((o) => continuationFunction ((Task[])o), tasks, options);
+ Task<TResult> cont = new Task<TResult> ((o) => continuationFunction ((Task[])o), tasks, token, options);
foreach (Task t in tasks)
t.ContinueWithCore (cont, continuationOptions, scheduler, evt.Signal);
return cont;
}
+
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>[], TResult> continuationFunction)
+ {
+ return ContinueWhenAll<TAntecedentResult, TResult> (tasks, continuationFunction, token, contOptions, scheduler);
+ }
+
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>[], TResult> continuationFunction,
+ TaskContinuationOptions continuationOptions)
+ {
+ return ContinueWhenAll<TAntecedentResult, TResult> (tasks, continuationFunction, token, continuationOptions, scheduler);
+ }
+
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>[], TResult> continuationFunction,
+ CancellationToken token)
+ {
+ return ContinueWhenAll<TAntecedentResult, TResult> (tasks, continuationFunction, token, contOptions, scheduler);
+ }
+
+ public Task<TResult> ContinueWhenAll<TAntecedentResult, TResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>[], TResult> continuationFunction,
+ CancellationToken token,
+ TaskContinuationOptions continuationOptions,
+ TaskScheduler scheduler)
+ {
+ return ContinueWhenAll<TResult> ((Task[]) tasks,
+ (o) => continuationFunction (tasks),
+ token,
+ continuationOptions, scheduler);
+ }
#endregion
return options;
}
}
+
+ public CancellationToken CancellationToken {
+ get {
+ return token;
+ }
+ }
}
public class TaskFactory<TResult>
TaskScheduler scheduler;
TaskCreationOptions options;
TaskContinuationOptions contOptions;
+ CancellationToken token;
TaskFactory parent;
#region ctors
- public TaskFactory () : this (TaskScheduler.Current, TaskCreationOptions.None, TaskContinuationOptions.None)
+ public TaskFactory ()
+ : this (CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Current)
{
}
- public TaskFactory (TaskScheduler scheduler) : this (scheduler, TaskCreationOptions.None, TaskContinuationOptions.None)
+ public TaskFactory (TaskScheduler scheduler)
+ : this (CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, scheduler)
+ {
+ }
+
+ public TaskFactory (CancellationToken token)
+ : this (token, TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Current)
{
}
public TaskFactory (TaskCreationOptions options, TaskContinuationOptions contOptions)
- : this (TaskScheduler.Current, options, contOptions)
+ : this (CancellationToken.None, options, contOptions, TaskScheduler.Current)
{
}
- public TaskFactory (TaskScheduler scheduler, TaskCreationOptions options, TaskContinuationOptions contOptions)
+ public TaskFactory (CancellationToken token, TaskCreationOptions options, TaskContinuationOptions contOptions,
+ TaskScheduler scheduler)
{
+ this.token = token;
this.scheduler = scheduler;
this.options = options;
this.contOptions = contOptions;
- this.parent = new TaskFactory (scheduler, options, contOptions);
+
+ this.parent = new TaskFactory (token, options, contOptions, scheduler);
}
+
#endregion
#region StartNew for Task<TResult>
public Task<TResult> StartNew (Func<TResult> function)
{
- return StartNew (function, options, scheduler);
+ return StartNew (function, token, options, scheduler);
}
public Task<TResult> StartNew (Func<TResult> function, TaskCreationOptions options)
{
- return StartNew (function, options, scheduler);
+ return StartNew (function, token, options, scheduler);
}
- public Task<TResult> StartNew (Func<TResult> function, TaskCreationOptions options, TaskScheduler scheduler)
+ public Task<TResult> StartNew (Func<TResult> function, CancellationToken token)
{
- return StartNew ((o) => function (), null, options, scheduler);
+ return StartNew (function, token, options, scheduler);
+ }
+
+ public Task<TResult> StartNew (Func<TResult> function,
+ CancellationToken token,
+ TaskCreationOptions options,
+ TaskScheduler scheduler)
+ {
+ return StartNew ((o) => function (), null, token, options, scheduler);
}
public Task<TResult> StartNew (Func<object, TResult> function, object state)
{
- return StartNew (function, state, options, scheduler);
+ return StartNew (function, state, token, options, scheduler);
}
public Task<TResult> StartNew (Func<object, TResult> function, object state, TaskCreationOptions options)
{
- return StartNew (function, state, options, scheduler);
+ return StartNew (function, state, token, options, scheduler);
}
- public Task<TResult> StartNew (Func<object, TResult> function, object state, TaskCreationOptions options,
+ public Task<TResult> StartNew (Func<object, TResult> function, object state, CancellationToken token)
+ {
+ return StartNew (function, state, token, options, scheduler);
+ }
+
+ public Task<TResult> StartNew (Func<object, TResult> function, object state,
+ CancellationToken token,
+ TaskCreationOptions options,
TaskScheduler scheduler)
{
- return parent.StartNew<TResult> (function, state, options, scheduler);
+ return parent.StartNew<TResult> (function, state, token, options, scheduler);
}
#endregion
#region Continue
+
[MonoTODO]
- public Task ContinueWhenAny (Task<TResult>[] tasks, Action<Task<TResult>> continuationAction)
+ public Task<TResult> ContinueWhenAny (Task[] tasks,
+ Func<Task, TResult> continuationAction)
{
- return ContinueWhenAny (tasks, continuationAction, contOptions, scheduler);
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
}
[MonoTODO]
- public Task ContinueWhenAny (Task<TResult>[] tasks, Action<Task<TResult>> continuationAction,
- TaskContinuationOptions continuationOptions)
+ public Task<TResult> ContinueWhenAny (Task[] tasks,
+ Func<Task, TResult> continuationAction,
+ CancellationToken token)
+ {
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
+ }
+
+ [MonoTODO]
+ public Task<TResult> ContinueWhenAny (Task[] tasks,
+ Func<Task, TResult> continuationAction,
+ TaskContinuationOptions continuationOptions)
{
- return ContinueWhenAny (tasks, continuationAction, continuationOptions, scheduler);
+ return ContinueWhenAny (tasks, continuationAction, token, continuationOptions, scheduler);
}
[MonoTODO]
- public Task ContinueWhenAny (Task<TResult>[] tasks, Action<Task<TResult>> continuationAction,
- TaskContinuationOptions continuationOptions,
- TaskScheduler scheduler)
+ public Task<TResult> ContinueWhenAny (Task[] tasks,
+ Func<Task, TResult> continuationAction,
+ CancellationToken token,
+ TaskContinuationOptions continuationOptions,
+ TaskScheduler scheduler)
{
- throw new NotImplementedException ();
+ throw new NotImplementedException ();
}
[MonoTODO]
- public Task<TNewResult> ContinueWhenAny<TNewResult> (Task<TResult>[] tasks, Func<Task<TResult>, TNewResult> continuationAction)
+ public Task<TResult> ContinueWhenAny<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>, TResult> continuationAction)
{
- return ContinueWhenAny (tasks, continuationAction, contOptions);
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
}
[MonoTODO]
- public Task<TNewResult> ContinueWhenAny<TNewResult> (Task<TResult>[] tasks, Func<Task<TResult>, TNewResult> continuationAction,
- TaskContinuationOptions continuationOptions)
+ public Task<TResult> ContinueWhenAny<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>, TResult> continuationAction,
+ CancellationToken token)
{
- return ContinueWhenAny (tasks, continuationAction, continuationOptions, scheduler);
+ return ContinueWhenAny (tasks, continuationAction, token, contOptions, scheduler);
+ }
+
+ [MonoTODO]
+ public Task<TResult> ContinueWhenAny<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>, TResult> continuationAction,
+ TaskContinuationOptions continuationOptions)
+ {
+ return ContinueWhenAny (tasks, continuationAction, token, continuationOptions, scheduler);
}
[MonoTODO]
- public Task<TNewResult> ContinueWhenAny<TNewResult> (Task<TResult>[] tasks, Func<Task<TResult>, TNewResult> continuationAction,
- TaskContinuationOptions continuationOptions,
- TaskScheduler scheduler)
+ public Task<TResult> ContinueWhenAny<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>, TResult> continuationAction,
+ CancellationToken token,
+ TaskContinuationOptions continuationOptions,
+ TaskScheduler scheduler)
{
throw new NotImplementedException ();
}
- public Task ContinueWhenAll (Task<TResult>[] tasks, Action<Task<TResult>[]> continuationFunction)
+ public Task<TResult> ContinueWhenAll (Task[] tasks,
+ Func<Task[], TResult> continuationFunction)
{
- return ContinueWhenAll (tasks, continuationFunction, contOptions);
+ return ContinueWhenAll (tasks, continuationFunction, token, contOptions, scheduler);
}
- public Task ContinueWhenAll (Task<TResult>[] tasks, Action<Task<TResult>[]> continuationFunction,
- TaskContinuationOptions continuationOptions)
+ public Task<TResult> ContinueWhenAll (Task[] tasks,
+ Func<Task[], TResult> continuationFunction,
+ TaskContinuationOptions continuationOptions)
{
- return ContinueWhenAll (tasks, continuationFunction, continuationOptions, scheduler);
+ return ContinueWhenAll (tasks, continuationFunction, token, continuationOptions, scheduler);
}
- public Task ContinueWhenAll (Task<TResult>[] tasks, Action<Task<TResult>[]> continuationFunction,
- TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
+ public Task<TResult> ContinueWhenAll (Task[] tasks,
+ Func<Task[], TResult> continuationFunction,
+ CancellationToken token)
+ {
+ return ContinueWhenAll (tasks, continuationFunction, token, contOptions, scheduler);
+ }
+
+ public Task<TResult> ContinueWhenAll (Task[] tasks,
+ Func<Task[], TResult> continuationFunction,
+ CancellationToken token,
+ TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
{
CountdownEvent evt = new CountdownEvent (tasks.Length);
- Task cont = new Task ((o) => continuationFunction ((Task<TResult>[])o), tasks, options);
+ Task<TResult> cont = new Task<TResult> ((o) => continuationFunction (tasks), tasks, token, options);
foreach (Task t in tasks)
t.ContinueWithCore (cont, continuationOptions, scheduler, evt.Signal);
return cont;
}
- public Task<TNewResult> ContinueWhenAll<TNewResult> (Task<TResult>[] tasks,
- Func<Task<TResult>[], TNewResult> continuationFunction)
+ public Task<TResult> ContinueWhenAll<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>[], TResult> continuationFunction)
+ {
+ return ContinueWhenAll (tasks, continuationFunction, token, contOptions, scheduler);
+ }
+
+ public Task<TResult> ContinueWhenAll<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>[], TResult> continuationFunction,
+ TaskContinuationOptions continuationOptions)
{
- return ContinueWhenAll (tasks, continuationFunction, contOptions);
+ return ContinueWhenAll (tasks, continuationFunction, token, continuationOptions, scheduler);
}
- public Task<TNewResult> ContinueWhenAll<TNewResult> (Task<TResult>[] tasks,
- Func<Task<TResult>[], TNewResult> continuationFunction,
- TaskContinuationOptions continuationOptions)
+ public Task<TResult> ContinueWhenAll<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>[], TResult> continuationFunction,
+ CancellationToken token)
{
- return ContinueWhenAll (tasks, continuationFunction, continuationOptions, scheduler);
+ return ContinueWhenAll (tasks, continuationFunction, token, contOptions, scheduler);
}
- public Task<TNewResult> ContinueWhenAll<TNewResult> (Task<TResult>[] tasks,
- Func<Task<TResult>[], TNewResult> continuationFunction,
- TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
+ public Task<TResult> ContinueWhenAll<TAntecedentResult> (Task<TAntecedentResult>[] tasks,
+ Func<Task<TAntecedentResult>[], TResult> continuationFunction,
+ CancellationToken token,
+ TaskContinuationOptions continuationOptions, TaskScheduler scheduler)
{
CountdownEvent evt = new CountdownEvent (tasks.Length);
- Task<TNewResult> cont = new Task<TNewResult> ((o) => continuationFunction ((Task<TResult>[])o), tasks, options);
+ Task<TResult> cont = new Task<TResult> ((o) => continuationFunction (tasks), tasks, token, options);
foreach (Task t in tasks)
t.ContinueWithCore (cont, continuationOptions, scheduler, evt.Signal);
return options;
}
}
+
+ public CancellationToken CancellationToken {
+ get {
+ return token;
+ }
+ }
}
}
#endif
int id;
static int lastId = int.MinValue;
+ public static event EventHandler<UnobservedTaskExceptionEventArgs> UnobservedTaskException;
+
protected TaskScheduler ()
{
this.id = Interlocked.Increment (ref lastId);
}
- // FIXME: Probably not correct
+ // FIXME: Probably not correct
public static TaskScheduler FromCurrentSynchronizationContext ()
{
return Current;
public static TaskScheduler Current {
get {
- if (Task.Current != null && currentScheduler != null)
+ if (currentScheduler != null)
return currentScheduler;
return defaultScheduler;
}
protected abstract bool TryExecuteTaskInline (Task task, bool taskWasPreviouslyQueued);
+
+ internal UnobservedTaskExceptionEventArgs FireUnobservedEvent (AggregateException e)
+ {
+ UnobservedTaskExceptionEventArgs args = new UnobservedTaskExceptionEventArgs (e);
+
+ EventHandler<UnobservedTaskExceptionEventArgs> temp = UnobservedTaskException;
+ if (temp == null)
+ return args;
+
+ temp (this, args);
+
+ return args;
+ }
}
}
#endif
--- /dev/null
+#if NET_4_0 || BOOTSTRAP_NET_4_0
+//
+// UnobservedTaskExceptionEventArgs.cs
+//
+// Author:
+// Jérémie "Garuma" Laval <jeremie.laval@gmail.com>
+//
+// Copyright (c) 2010 Jérémie "Garuma" Laval
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+namespace System.Threading.Tasks
+{
+ public class UnobservedTaskExceptionEventArgs : EventArgs
+ {
+ AggregateException exception;
+ bool wasObserved;
+
+ public UnobservedTaskExceptionEventArgs (AggregateException exception)
+ {
+ this.exception = exception;
+ }
+
+ public AggregateException Exception {
+ get {
+ return exception;
+ }
+ }
+
+ public bool Observed {
+ get {
+ return wasObserved;
+ }
+ }
+
+ public void SetObserved ()
+ {
+ wasObserved = true;
+ }
+ }
+}
+
+#endif
+//
\ No newline at end of file
-#if NET_4_0 || BOOTSTRAP_NET_4_0
-//
+//
// CancellationToken.cs
-//
+//
// Author:
// Jérémie "Garuma" Laval <jeremie.laval@gmail.com>
-//
+//
// Copyright (c) 2009 Jérémie "Garuma" Laval
-//
+//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
-//
+//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
-//
+//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
using System.Threading;
using System.Collections.Generic;
+#if NET_4_0 || BOOTSTRAP_NET_4_0
namespace System.Threading
{
public struct CancellationToken
// dummy, this is actually set by CancellationTokenSource when the token is created
Source = null;
}
-
+
+ public static CancellationToken None {
+ get {
+ return CancellationTokenSource.NoneSource.Token;
+ }
+ }
+
public CancellationTokenRegistration Register (Action callback)
{
return Register (callback, false);
}
-
+
public CancellationTokenRegistration Register (Action callback, bool useSynchronizationContext)
{
if (callback == null)
throw new ArgumentNullException ("callback");
-
+
return Source.Register (callback, useSynchronizationContext);
}
-
+
public CancellationTokenRegistration Register (Action<object> callback, object state)
{
return Register (callback, state, false);
}
-
+
public CancellationTokenRegistration Register (Action<object> callback, object state, bool useSynchronizationContext)
{
if (callback == null)
throw new ArgumentNullException ("callback");
-
+
return Register (() => callback (state), useSynchronizationContext);
}
+ public void ThrowIfCancellationRequested ()
+ {
+ Source.ThrowIfCancellationRequested ();
+ }
+
public bool Equals (CancellationToken other)
{
return this.Source == other.Source;
}
-
+
public override bool Equals (object obj)
{
return (obj is CancellationToken) ? Equals ((CancellationToken)obj) : false;
}
-
+
public override int GetHashCode ()
{
return Source.GetHashCode ();
}
-
+
public static bool operator == (CancellationToken lhs, CancellationToken rhs)
{
return lhs.Equals (rhs);
}
-
+
public static bool operator != (CancellationToken lhs, CancellationToken rhs)
{
return !lhs.Equals (rhs);
}
-
+
public bool CanBeCanceled {
get {
return true;
}
}
-
+
public bool IsCancellationRequested {
get {
return Source.IsCancellationRequested;
}
}
-
+
public WaitHandle WaitHandle {
get {
return Source.WaitHandle;
}
}
-
+
internal CancellationTokenSource Source {
get;
set;
namespace System.Threading
{
- public class CancellationTokenSource : IDisposable
+ public sealed class CancellationTokenSource : IDisposable
{
volatile bool canceled;
volatile bool processed;
ManualResetEvent handle = new ManualResetEvent (false);
-//#if USE_MONITOR
object syncRoot = new object ();
-//#endif
+
+ internal static readonly CancellationTokenSource NoneSource = new CancellationTokenSource ();
public void Cancel ()
{
public CancellationToken Token {
get {
- CancellationToken token = new CancellationToken (canceled);
- token.Source = this;
-
- return token;
+ return CreateToken ();
}
}
}
+ internal void ThrowIfCancellationRequested ()
+ {
+ if (canceled)
+ throw new OperationCanceledException (CreateToken ());
+ }
+
CancellationTokenRegistration GetTokenReg ()
{
CancellationTokenRegistration registration
return registration;
}
+
+ CancellationToken CreateToken ()
+ {
+ CancellationToken tk = new CancellationToken (canceled);
+ tk.Source = this;
+
+ return tk;
+ }
}
}
#endif
+2010-02-08 Zoltan Varga <vargaz@gmail.com>
+
+ * WaitHandle.cs (CheckArray): Check that the handles array is not null.
+ Fixes #576039.
+
+2010-02-02 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * CancellationToken.cs:
+ * CancellationTokenSource.cs:
+ * ManualResetEventSlim.cs:
+ * SemaphoreSlim.cs:
+ * SpinLock.cs:
+ * SpinWait.cs:
+ * ThreadLocal.cs: Port to .NET 4 beta 2 API
+
2009-12-09 Jb Evain <jbevain@novell.com>
* ThreadPool.cs (QueueUserWorkItem): properly throw
using System.Diagnostics;
namespace System.Threading
-{
+{
public class ManualResetEventSlim : IDisposable
{
- const int defaultSpinCount = 20;
const int isSet = 1;
const int isNotSet = 0;
- readonly int spinCount;
- readonly SpinWait sw = new SpinWait ();
+ const int defaultSpinCount = 20;
int state;
+ readonly int spinCount;
+
+ ManualResetEvent handle;
-
- public ManualResetEventSlim () : this(false, 20)
+ public ManualResetEventSlim () : this(false, defaultSpinCount)
{
}
-
- public ManualResetEventSlim (bool initState) : this (initState, 20)
+
+ public ManualResetEventSlim (bool initState) : this (initState, defaultSpinCount)
{
}
-
+
public ManualResetEventSlim (bool initState, int spinCount)
{
+ if (spinCount < 0)
+ throw new ArgumentOutOfRangeException ("spinCount is less than 0", "spinCount");
+
this.state = initState ? isSet : isNotSet;
this.spinCount = spinCount;
+ this.handle = new ManualResetEvent (initState);
}
-
+
public bool IsSet {
get {
return state == isSet;
return spinCount;
}
}
-
+
public void Reset ()
{
Interlocked.Exchange (ref state, isNotSet);
}
-
+
public void Set ()
{
Interlocked.Exchange (ref state, isSet);
}
-
+
public void Wait ()
{
- // First spin
- for (int i = 0; i < spinCount && state == isNotSet; i++)
- sw.SpinOnce ();
-
- // Then, fallback to classic Sleep's yielding
- while (state == isNotSet)
- Thread.Sleep (0);
- }
-
+ Wait (CancellationToken.None);
+ }
+
public bool Wait (int millisecondsTimeout)
+ {
+ return Wait (millisecondsTimeout, CancellationToken.None);
+ }
+
+ public bool Wait (TimeSpan ts)
+ {
+ return Wait ((int)ts.TotalMilliseconds, CancellationToken.None);
+ }
+
+ public void Wait (CancellationToken token)
+ {
+ Wait (-1, token);
+ }
+
+ public bool Wait (int millisecondsTimeout, CancellationToken token)
{
if (millisecondsTimeout < -1)
throw new ArgumentOutOfRangeException ("millisecondsTimeout",
"millisecondsTimeout is a negative number other than -1");
-
- if (millisecondsTimeout == -1) {
- Wait ();
- return true;
- }
-
+
Watch s = Watch.StartNew ();
-
- // First spin
- for (int i = 0; i < spinCount && state == isNotSet; i++) {
- if (s.ElapsedMilliseconds >= millisecondsTimeout)
- return false;
-
- sw.SpinOnce ();
- }
-
- // Then, fallback to classic Sleep's yielding
+ SpinWait sw = new SpinWait ();
+ int count = 0;
+
while (state == isNotSet) {
- if (s.ElapsedMilliseconds >= millisecondsTimeout)
+ if (token.IsCancellationRequested)
+ return false;
+
+ if (millisecondsTimeout > -1 && s.ElapsedMilliseconds > millisecondsTimeout)
return false;
-
- sw.SpinOnce ();
+
+ if (count < spinCount) {
+ sw.SpinOnce ();
+ count++;
+ } else {
+ Thread.Sleep (0);
+ }
}
-
+
return true;
}
-
- public bool Wait (TimeSpan ts)
+
+ public bool Wait (TimeSpan ts, CancellationToken token)
{
- return Wait ((int)ts.TotalMilliseconds);
+ return Wait ((int)ts.TotalMilliseconds, token);
}
-
- [MonoTODO]
+
public WaitHandle WaitHandle {
get {
- return null;
+ return handle;
}
}
-
- #region IDisposable implementation
+
+ #region IDisposable implementation
public void Dispose ()
{
Dispose(true);
}
-
+
protected virtual void Dispose(bool managedRes)
{
-
+
}
- #endregion
-
+ #endregion
+
}
}
#endif
-#if NET_4_0
// SemaphoreSlim.cs
//
// Copyright (c) 2008 Jérémie "Garuma" Laval
using System;
using System.Diagnostics;
+#if NET_4_0
namespace System.Threading
{
public class SemaphoreSlim : IDisposable
{
readonly int max;
-
int currCount;
-
bool isDisposed;
-
- SpinWait wait = new SpinWait ();
-
+
+ ManualResetEvent handle;
+
public SemaphoreSlim (int initial) : this (initial, int.MaxValue)
{
}
-
+
public SemaphoreSlim (int initial, int max)
{
if (initial < 0 || initial > max || max < 0)
throw new ArgumentOutOfRangeException ("The initial argument is negative, initial is greater than max, or max is not positive.");
-
+
this.max = max;
this.currCount = initial;
+ this.handle = new ManualResetEvent (initial == 0);
}
-
+
~SemaphoreSlim ()
{
Dispose(false);
}
-
+
public void Dispose ()
{
Dispose(true);
}
-
+
protected virtual void Dispose (bool managedRes)
{
isDisposed = true;
}
-
+
void CheckState ()
{
if (isDisposed)
throw new ObjectDisposedException ("The SemaphoreSlim has been disposed.");
}
-
+
public int CurrentCount {
get {
return currCount;
}
}
-
+
public int Release ()
{
return Release(1);
}
-
+
public int Release (int releaseCount)
{
CheckState ();
- if (releaseCount < 0)
- throw new ArgumentOutOfRangeException ("releaseCount", " The releaseCount must be positive.");
-
+ if (releaseCount < 1)
+ throw new ArgumentOutOfRangeException ("releaseCount", "releaseCount is less than 1");
+
// As we have to take care of the max limit we resort to CAS
int oldValue, newValue;
do {
newValue = (currCount + releaseCount);
newValue = newValue > max ? max : newValue;
} while (Interlocked.CompareExchange (ref currCount, newValue, oldValue) != oldValue);
-
+
+ handle.Reset ();
+
return oldValue;
}
-
+
public void Wait ()
{
- CheckState ();
- do {
- int result = Interlocked.Decrement (ref currCount);
- if (result >= 0)
- break;
-
- // We revert back the operation
- Interlocked.Increment (ref currCount);
- while (Thread.VolatileRead (ref currCount) <= 0) {
- wait.SpinOnce ();
- }
- } while (true);
+ Wait (CancellationToken.None);
}
-
+
public bool Wait (TimeSpan ts)
{
- CheckState();
- return Wait ((int)ts.TotalMilliseconds);
+ return Wait ((int)ts.TotalMilliseconds, CancellationToken.None);
}
-
+
public bool Wait (int millisecondsTimeout)
+ {
+ return Wait (millisecondsTimeout, CancellationToken.None);
+ }
+
+ public void Wait (CancellationToken token)
+ {
+ Wait (-1, token);
+ }
+
+ public bool Wait (TimeSpan ts, CancellationToken token)
+ {
+ CheckState();
+ return Wait ((int)ts.TotalMilliseconds, token);
+ }
+
+ public bool Wait (int millisecondsTimeout, CancellationToken token)
{
CheckState ();
if (millisecondsTimeout < -1)
throw new ArgumentOutOfRangeException ("millisecondsTimeout",
"millisecondsTimeout is a negative number other than -1");
- if (millisecondsTimeout == -1) {
- Wait ();
- return true;
- }
-
+
+ Watch sw = Watch.StartNew ();
+
+ Func<bool> stopCondition =
+ () => token.IsCancellationRequested || (millisecondsTimeout >= 0 && sw.ElapsedMilliseconds > millisecondsTimeout);
+
do {
- int result = Interlocked.Decrement (ref currCount);
- if (result >= 0)
+ bool shouldWait;
+ int result;
+
+ do {
+ if (stopCondition ())
+ return false;
+
+ shouldWait = true;
+ result = currCount;
+
+ if (result > 0)
+ shouldWait = false;
+ else
+ break;
+ } while (Interlocked.CompareExchange (ref currCount, result - 1, result) != result);
+
+ if (!shouldWait) {
+ if (result == 1)
+ handle.Set ();
break;
-
- // We revert back the operation
- result = Interlocked.Increment (ref currCount);
- Watch sw = Watch.StartNew ();
+ }
+
+ SpinWait wait = new SpinWait ();
+
while (Thread.VolatileRead (ref currCount) <= 0) {
- if (sw.ElapsedMilliseconds > millisecondsTimeout) {
- sw.Stop ();
+ if (stopCondition ())
return false;
- }
+
wait.SpinOnce ();
}
} while (true);
-
+
return true;
}
-
- [MonoTODO ("Cf CountdownEvent for ManualResetEvent usage")]
+
public WaitHandle AvailableWaitHandle {
get {
- return null;
+ return handle;
}
}
}
-#if NET_4_0
// SpinLock.cs
//
// Copyright (c) 2008 Jérémie "Garuma" Laval
using System;
using System.Runtime.ConstrainedExecution;
+#if NET_4_0
namespace System.Threading
{
public struct SpinLock
public void Enter (ref bool lockTaken)
{
+ if (lockTaken)
+ throw new ArgumentException ("lockTaken", "lockTaken must be initialized to false");
+ if (isThreadOwnerTrackingEnabled && IsHeldByCurrentThread)
+ throw new LockRecursionException ();
+
try {
Enter ();
lockTaken = lockState == isOwned && Thread.CurrentThread.ManagedThreadId == threadWhoTookLock;
{
int result = Interlocked.Exchange (ref lockState, isOwned);
- //Thread.BeginCriticalRegion();
while (result == isOwned) {
- // If resource available, set it to in-use and return
- if (result == isFree) {
- result = Interlocked.Exchange (ref lockState, isOwned);
- if (result == isFree)
- break;
- }
+ sw.SpinOnce ();
// Efficiently spin, until the resource looks like it might
// be free. NOTE: Just reading here (as compared to repeatedly
// calling Exchange) improves performance because writing
// forces all CPUs to update this value
- //while (Thread.VolatileRead (ref lockState) == isOwned) {
- sw.SpinOnce ();
- //}
+ result = Thread.VolatileRead (ref lockState);
+
+ if (result == isFree) {
+ result = Interlocked.Exchange (ref lockState, isOwned);
+ if (result == isFree)
+ break;
+ }
}
CheckAndSetThreadId ();
bool TryEnter ()
{
- //Thread.BeginCriticalRegion();
-
// If resource available, set it to in-use and return
if (Interlocked.Exchange (ref lockState, isOwned) == isFree) {
CheckAndSetThreadId ();
public void TryEnter (ref bool lockTaken)
{
- try {
- lockTaken = TryEnter ();
- } catch {
- lockTaken = false;
- }
+ TryEnter (-1, ref lockTaken);
}
public void TryEnter (TimeSpan timeout, ref bool lockTaken)
public void TryEnter (int milliSeconds, ref bool lockTaken)
{
- //Thread.BeginCriticalRegion();
+ if (milliSeconds < -1)
+ throw new ArgumentOutOfRangeException ("milliSeconds", "millisecondsTimeout is a negative number other than -1");
+ if (lockTaken)
+ throw new ArgumentException ("lockTaken", "lockTaken must be initialized to false");
+ if (isThreadOwnerTrackingEnabled && IsHeldByCurrentThread)
+ throw new LockRecursionException ();
Watch sw = Watch.StartNew ();
- while (sw.ElapsedMilliseconds < milliSeconds) {
- TryEnter (ref lockTaken);
+ while (milliSeconds == -1 || sw.ElapsedMilliseconds < milliSeconds) {
+ lockTaken = TryEnter ();
}
+
sw.Stop ();
}
- //[ReliabilityContractAttribute]
public void Exit ()
{
Exit (false);
}
public void Exit (bool flushReleaseWrites)
- {
+ {
+ if (isThreadOwnerTrackingEnabled && !IsHeldByCurrentThread)
+ throw new SynchronizationLockException ("Current thread is not the owner of this lock");
+
threadWhoTookLock = int.MinValue;
// Mark the resource as available
} else {
Interlocked.Exchange (ref lockState, isFree);
}
- //Thread.EndCriticalRegion();
}
}
namespace System.Threading
{
-
+
public struct SpinWait
{
// The number of step until SpinOnce yield on multicore machine
- const int step = 20;
+ const int step = 5;
static readonly bool isSingleCpu = (Environment.ProcessorCount == 1);
-
+
int ntime;
-
- public void SpinOnce ()
+
+ public void SpinOnce ()
{
// On a single-CPU system, spinning does no good
if (isSingleCpu) {
}
}
}
-
+
public static void SpinUntil (Func<bool> predicate)
{
SpinWait sw = new SpinWait ();
while (!predicate ())
sw.SpinOnce ();
}
-
+
public static bool SpinUntil (Func<bool> predicate, TimeSpan ts)
{
return SpinUntil (predicate, (int)ts.TotalMilliseconds);
}
-
+
public static bool SpinUntil (Func<bool> predicate, int milliseconds)
{
SpinWait sw = new SpinWait ();
Watch watch = Watch.StartNew ();
-
+
while (!predicate ()) {
if (watch.ElapsedMilliseconds > milliseconds)
return false;
sw.SpinOnce ();
}
-
+
return true;
}
-
+
void Yield ()
{
// Replace sched_yield by Thread.Sleep(0) which does almost the same thing
// (going back in kernel mode and yielding) but avoid the branching and unmanaged bridge
Thread.Sleep (0);
}
-
+
public void Reset ()
{
ntime = 0;
}
-
+
public bool NextSpinWillYield {
get {
return isSingleCpu ? true : ntime % step == 0;
}
}
-
+
public int Count {
get {
return ntime;
{
[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true,
ExternalThreading = true)]
- public class ThreadLocal<T>
+ public class ThreadLocal<T> : IDisposable
{
readonly Func<T> initializer;
LocalDataStoreSlot localStore;
this.initializer = initializer;
}
+ public void Dispose ()
+ {
+ Dispose(true);
+ }
+
+ protected virtual void Dispose (bool dispManagedRes)
+ {
+
+ }
+
public bool IsValueCreated {
get {
return IsInitializedThreadLocal ();
[SecurityPermission (SecurityAction.Demand, ControlThread=true)]
public static extern bool SetMinThreads (int workerThreads, int completionPortThreads);
- [MonoTODO("The max number of threads cannot be decreased.")]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[SecurityPermission (SecurityAction.Demand, ControlThread=true)]
public static extern bool SetMaxThreads (int workerThreads, int completionPortThreads);
if (length > 64)
throw new NotSupportedException ("Too many handles");
+ if (handles.Length == 0) {
+ // MS throws different exceptions from the different methods.
+ if (waitAll)
+ throw new ArgumentNullException ("waitHandles");
+ else
+ throw new ArgumentException ();
+ }
+
#if false
//
// Although we should thrown an exception if this is an STA thread,
GC.SuppressFinalize (this);
}
+#if NET_4_0
+ public void Dispose ()
+ {
+ Close ();
+ }
+#endif
+
public const int WaitTimeout = 258;
//
if (type.IsValueType)
return CreateInstanceInternal (type);
- throw new MissingMethodException (Locale.GetText ("Default constructor not found."),
- ".ctor() of " + type.FullName);
+ throw new MissingMethodException (Locale.GetText ("Default constructor not found for type " +
+ type.FullName + "."));
}
return ctor.Invoke (null);
return this.Message;
}
- const string baseMessage = "Exception(s) occurred while inside the Parallel loop. {0}.";
+ const string baseMessage = "Exception(s) occurred : {0}.";
static string GetFormattedMessage (string customMessage, IEnumerable<Exception> inner)
{
System.Text.StringBuilder finalMessage
[MethodImplAttribute (MethodImplOptions.InternalCall)]
private extern AppDomainSetup getSetup ();
+#if NET_2_1
+ internal
+#endif
AppDomainSetup SetupInformationNoCopy {
get { return getSetup (); }
}
return Activator.CreateInstance (assemblyName, typeName, activationAttributes);
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public ObjectHandle CreateInstance (string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr,
Binder binder, object[] args, CultureInfo culture, object[] activationAttributes,
Evidence securityAttributes)
return (oh != null) ? oh.Unwrap () : null;
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public object CreateInstanceAndUnwrap (string assemblyName, string typeName, bool ignoreCase,
BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture,
object[] activationAttributes, Evidence securityAttributes)
return Activator.CreateInstanceFrom (assemblyFile, typeName, activationAttributes);
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public ObjectHandle CreateInstanceFrom (string assemblyFile, string typeName, bool ignoreCase,
BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture,
object[] activationAttributes, Evidence securityAttributes)
return (oh != null) ? oh.Unwrap () : null;
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public object CreateInstanceFromAndUnwrap (string assemblyName, string typeName, bool ignoreCase,
BindingFlags bindingAttr, Binder binder, object[] args,
CultureInfo culture, object[] activationAttributes,
return DefineDynamicAssembly (name, access, null, null, null, null, null, false);
}
+#if NET_4_0
+ [Obsolete ("Declarative security for assembly level is no longer enforced")]
+#endif
public AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, Evidence evidence)
{
return DefineDynamicAssembly (name, access, null, evidence, null, null, null, false);
return DefineDynamicAssembly (name, access, dir, null, null, null, null, false);
}
+#if NET_4_0
+ [Obsolete ("Declarative security for assembly level is no longer enforced")]
+#endif
public AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, string dir,
Evidence evidence)
{
return DefineDynamicAssembly (name, access, dir, evidence, null, null, null, false);
}
+#if NET_4_0
+ [Obsolete ("Declarative security for assembly level is no longer enforced")]
+#endif
public AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access,
PermissionSet requiredPermissions,
PermissionSet optionalPermissions,
refusedPermissions, false);
}
+#if NET_4_0
+ [Obsolete ("Declarative security for assembly level is no longer enforced")]
+#endif
public AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, Evidence evidence,
PermissionSet requiredPermissions,
PermissionSet optionalPermissions,
refusedPermissions, false);
}
+#if NET_4_0
+ [Obsolete ("Declarative security for assembly level is no longer enforced")]
+#endif
public AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, string dir,
PermissionSet requiredPermissions,
PermissionSet optionalPermissions,
refusedPermissions, false);
}
+#if NET_4_0
+ [Obsolete ("Declarative security for assembly level is no longer enforced")]
+#endif
public AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, string dir,
Evidence evidence,
PermissionSet requiredPermissions,
refusedPermissions, false);
}
+#if NET_4_0
+ [Obsolete ("Declarative security for assembly level is no longer enforced")]
+#endif
public AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, string dir,
Evidence evidence,
PermissionSet requiredPermissions,
}
// NET 3.5 method
+#if NET_4_0
+ [Obsolete ("Declarative security for assembly level is no longer enforced")]
+#endif
public AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, string dir,
Evidence evidence,
PermissionSet requiredPermissions,
return ExecuteAssembly (assemblyFile, null, null);
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public int ExecuteAssembly (string assemblyFile, Evidence assemblySecurity)
{
return ExecuteAssembly (assemblyFile, assemblySecurity, null);
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public int ExecuteAssembly (string assemblyFile, Evidence assemblySecurity, string[] args)
{
Assembly a = Assembly.LoadFrom (assemblyFile, assemblySecurity);
return ExecuteAssemblyInternal (a, args);
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public int ExecuteAssembly (string assemblyFile, Evidence assemblySecurity, string[] args, byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm)
{
Assembly a = Assembly.LoadFrom (assemblyFile, assemblySecurity, hashValue, hashAlgorithm);
return Load (assemblyRef, null);
}
- internal Assembly LoadSatellite (AssemblyName assemblyRef)
+ internal Assembly LoadSatellite (AssemblyName assemblyRef, bool throwOnError)
{
if (assemblyRef == null)
throw new ArgumentNullException ("assemblyRef");
Assembly result = LoadAssembly (assemblyRef.FullName, null, false);
- if (result == null)
+ if (result == null && throwOnError)
throw new FileNotFoundException (null, assemblyRef.Name);
return result;
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public Assembly Load (AssemblyName assemblyRef, Evidence assemblySecurity)
{
if (assemblyRef == null)
return Load (assemblyString, null, false);
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public Assembly Load (string assemblyString, Evidence assemblySecurity)
{
return Load (assemblyString, assemblySecurity, false);
[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal extern Assembly LoadAssemblyRaw (byte[] rawAssembly, byte[] rawSymbolStore, Evidence securityEvidence, bool refonly);
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public Assembly Load (byte[] rawAssembly, byte[] rawSymbolStore, Evidence securityEvidence)
{
return Load (rawAssembly, rawSymbolStore, securityEvidence, false);
return assembly;
}
#if !NET_2_1 || MONOTOUCH
+#if NET_4_0
+ [Obsolete ("AppDomain policy levels are obsolete")]
+#endif
[SecurityPermission (SecurityAction.Demand, ControlPolicy = true)]
public void SetAppDomainPolicy (PolicyLevel domainPolicy)
{
return ExecuteAssemblyByName (assemblyName, null, null);
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public int ExecuteAssemblyByName (string assemblyName, Evidence assemblySecurity)
{
return ExecuteAssemblyByName (assemblyName, assemblySecurity, null);
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public int ExecuteAssemblyByName (string assemblyName, Evidence assemblySecurity, params string[] args)
{
Assembly a = Assembly.Load (assemblyName, assemblySecurity);
return ExecuteAssemblyInternal (a, args);
}
+#if NET_4_0
+ [Obsolete ("Use an overload that does not take an Evidence parameter")]
+#endif
public int ExecuteAssemblyByName (AssemblyName assemblyName, Evidence assemblySecurity, params string[] args)
{
Assembly a = Assembly.Load (assemblyName, assemblySecurity);
// FIXME: We are doing way to many double/triple exception checks for the overloaded functions"
public abstract class Array : ICloneable, ICollection, IList, IEnumerable
#if NET_4_0
- , IStructuralComparable
+ , IStructuralComparable, IStructuralEquatable
#endif
{
// Constructor
}
#if NET_4_0
- public int CompareTo (object other, IComparer comparer)
+ int IStructuralComparable.CompareTo (object other, IComparer comparer)
{
if (other == null)
return 1;
throw new ArgumentException ("Not of the same length", "other");
if (Rank > 1)
- throw new ArgumentException ("Array must be single dimentional");
+ throw new ArgumentException ("Array must be single dimensional");
- if (Rank > 1 || arr.Rank > 1)
- throw new ArgumentException ("Array must be single dimentional", "other");
+ if (arr.Rank > 1)
+ throw new ArgumentException ("Array must be single dimensional", "other");
for (int i = 0; i < len; ++i) {
object a = GetValue (i);
}
return 0;
}
+
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
+ {
+ Array o = other as Array;
+ if (o == null || o.Length != Length)
+ return false;
+
+ if (Object.ReferenceEquals (other, this))
+ return true;
+
+ for (int i = 0; i < Length; i++) {
+ object this_item = this.GetValue (i);
+ object other_item = o.GetValue (i);
+ if (!comparer.Equals (this_item, other_item))
+ return false;
+ }
+ return true;
+ }
+
+
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
+ {
+ if (comparer == null)
+ throw new ArgumentNullException ("comparer");
+
+ int hash = 0;
+ for (int i = 0; i < Length; i++)
+ hash = ((hash << 7) + hash) ^ GetValue (i).GetHashCode ();
+ return hash;
+ }
#endif
[ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
}
}
- public static void qsort<T, U> (T[] array, U[] items, int low0, int high0) where T : IComparable<T>
+ private static void qsort<T, U> (T[] array, U[] items, int low0, int high0) where T : IComparable<T>
{
int low = low0;
int high = high0;
+2010-02-23 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Type.cs: Use the right kind of annotations.
+
+2010-02-23 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Type.cs: Implement new v4 GetEnumNames ().
+
+2010-02-22 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Type.cs: Implement new v4 GetEnumUnderlyingType ().
+
+2010-02-22 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Type.cs: Implement new v4 GetTypeCodeImpl ().
+
+2010-02-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Type.cs: Implement new v4 behavior for Equals.
+
+Fri Feb 19 09:05:36 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * Decimal.cs: fixed Remainder (bug #576341).
+
+2010-02-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * Environment.cs: implement SystemPageSize.
+
+Fri Feb 12 18:38:01 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * InsufficientExecutionStackException.cs: new exception type in 4.0.
+
+2010-02-11 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MonoType.cs: Implement GetCustomAttributesData.
+
+2010-02-06 Chris Toshok <toshok@ximian.com>
+
+ * AppDomain.cs (SetupInformationNoCopy): make this internal for
+ moonlight.
+
+2010-02-02 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * AggregateException.cs:
+ * OperationCanceledException.cs: Port to .NET 4 beta 2 API
+
+2010-01-31 Zoltan Varga <vargaz@gmail.com>
+
+ * Enum.cs: Fix a warning.
+
+2010-01-29 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * Version.cs: Implement Parse and TryParse.
+
+2010-01-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * AppDomain.cs: LoadSatellite: add a boolean parameter specifiying
+ whether we should throw on exceptions or not.
+
+2010-01-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * TimeSpan.cs: TryParse: Handle null values to not throw ANEs.
+
+2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * Array.cs: updates to the API from beta2.
+ * _AppDomain.cs: no GetLifeTimeService() in 4.0
+
+2010-01-25 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * Enum.cs: Implement TryParse and do the required refactoring of our
+ Parse method to support it.
+
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Single.cs : parse MaxValue and PositiveInfinity as expected.
+ Patch by Tiaan Geldenhuys.
+
+2010-01-21 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * Activator.cs: When calling CreateInstance() and no default .ctor is
+ found for the type, don't pass the member argument to the
+ MissingMethodException, to have a better and simpler error message.
+ Fixes #396986.
+
+2010-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * Tuples.cs: explicitly implement IStructural*.
+
2010-01-17 Carlos Alberto Cortez <calberto.cortez@gmail.com>
* UInt64.cs: Implement a lightweight version of the Parse method for
{
[Serializable]
[ComVisible (true)]
+#if !NET_4_0
[Obsolete ("this type is obsoleted in 2.0 profile")]
+#endif
public class ContextMarshalException : SystemException
{
const int Result = unchecked ((int)0x80131504);
[StructLayout (LayoutKind.Auto)]
public struct DateTime : IFormattable, IConvertible, IComparable, IComparable<DateTime>, IEquatable <DateTime>
{
+#if MONOTOUCH
+ static DateTime () {
+ if (MonoTouchAOTHelper.FalseFlag) {
+ var comparer = new System.Collections.Generic.GenericComparer <DateTime> ();
+ var eqcomparer = new System.Collections.Generic.GenericEqualityComparer <DateTime> ();
+ }
+ }
+#endif
private TimeSpan ticks;
DateTimeKind kind;
[StructLayout (LayoutKind.Auto)]
public struct DateTimeOffset : IComparable, IFormattable, ISerializable, IDeserializationCallback, IComparable<DateTimeOffset>, IEquatable<DateTimeOffset>
{
+#if MONOTOUCH
+ static DateTimeOffset () {
+ if (MonoTouchAOTHelper.FalseFlag) {
+ var comparer = new System.Collections.Generic.GenericComparer <DateTimeOffset> ();
+ var eqcomparer = new System.Collections.Generic.GenericEqualityComparer <DateTimeOffset> ();
+ }
+ }
+#endif
public static readonly DateTimeOffset MaxValue = new DateTimeOffset (DateTime.MaxValue, TimeSpan.Zero);
public static readonly DateTimeOffset MinValue = new DateTimeOffset (DateTime.MinValue, TimeSpan.Zero);
result = d1;
}
else {
- if (decimalIntDiv (out result, ref d1, ref d2) != 0)
+ if (decimalDiv (out result, ref d1, ref d2) != 0)
throw new OverflowException ();
+ result = Decimal.Truncate (result);
// FIXME: not really performant here
result = d1 - result * d2;
if (value.Length == 0)
throw new ArgumentException ("An empty string is not considered a valid value.");
+ object result;
+ if (!Parse (enumType, value, ignoreCase, out result))
+ throw new ArgumentException (String.Format ("The requested value '{0}' was not found.", value));
+
+ return result;
+ }
+
+ static bool Parse<TEnum> (Type enumType, string value, bool ignoreCase, out TEnum result)
+ {
+ result = default (TEnum);
+
MonoEnumInfo info;
MonoEnumInfo.GetInfo (enumType, out info);
// is 'value' a named constant?
int loc = FindName (info.name_hash, info.names, value, ignoreCase);
- if (loc >= 0)
- return info.values.GetValue (loc);
+ if (loc >= 0) {
+ result = (TEnum) info.values.GetValue (loc);
+ return true;
+ }
TypeCode typeCode = ((Enum) info.values.GetValue (0)).GetTypeCode ();
for (int i = 0; i < names.Length; ++i) {
loc = FindName (info.name_hash, info.names, names [i].Trim (), ignoreCase);
if (loc < 0)
- throw new ArgumentException ("The requested value was not found.");
+ return false;
+
retVal |= GetValue (info.values.GetValue (loc), typeCode);
}
- return ToObject (enumType, retVal);
+ result = (TEnum) ToObject (enumType, retVal);
+ return true;
}
// is 'value' a number?
switch (typeCode) {
case TypeCode.SByte:
sbyte sb;
- if (SByte.TryParse (value, out sb))
- return ToObject (enumType, sb);
+ if (!SByte.TryParse (value, out sb))
+ return false;
+ result = (TEnum) ToObject (enumType, sb);
break;
case TypeCode.Byte:
byte b;
- if (Byte.TryParse (value, out b))
- return ToObject (enumType, b);
+ if (!Byte.TryParse (value, out b))
+ return false;
+ result = (TEnum) ToObject (enumType, b);
break;
case TypeCode.Int16:
short i16;
- if (Int16.TryParse (value, out i16))
- return ToObject (enumType, i16);
+ if (!Int16.TryParse (value, out i16))
+ return false;
+ result = (TEnum) ToObject (enumType, i16);
break;
case TypeCode.UInt16:
ushort u16;
- if (UInt16.TryParse (value, out u16))
- return ToObject (enumType, u16);
+ if (!UInt16.TryParse (value, out u16))
+ return false;
+ result = (TEnum) ToObject (enumType, u16);
break;
case TypeCode.Int32:
int i32;
- if (Int32.TryParse (value, out i32))
- return ToObject (enumType, i32);
+ if (!Int32.TryParse (value, out i32))
+ return false;
+ result = (TEnum) ToObject (enumType, i32);
break;
case TypeCode.UInt32:
uint u32;
- if (UInt32.TryParse (value, out u32))
- return ToObject (enumType, u32);
+ if (!UInt32.TryParse (value, out u32))
+ return false;
+ result = (TEnum) ToObject (enumType, u32);
break;
case TypeCode.Int64:
long i64;
- if (Int64.TryParse (value, out i64))
- return ToObject (enumType, i64);
+ if (!Int64.TryParse (value, out i64))
+ return false;
+ result = (TEnum) ToObject (enumType, i64);
break;
case TypeCode.UInt64:
ulong u64;
- if (UInt64.TryParse (value, out u64))
- return ToObject (enumType, u64);
+ if (!UInt64.TryParse (value, out u64))
+ return false;
+ result = (TEnum) ToObject (enumType, u64);
break;
default:
break;
}
- throw new ArgumentException (String.Format ("The requested value '{0}' was not found.", value));
+
+ return true;
}
+#if BOOTSTRAP_NET_4_0 || NET_4_0
+ public static bool TryParse<TEnum> (string value, out TEnum result) where TEnum : struct
+ {
+ return TryParse (value, false, out result);
+ }
+
+ public static bool TryParse<TEnum> (string value, bool ignoreCase, out TEnum result) where TEnum : struct
+ {
+ Type tenum_type = typeof (TEnum);
+ result = default (TEnum);
+
+ if (value == null || value.Trim ().Length == 0 || !tenum_type.IsEnum)
+ return false;
+
+ return Parse (tenum_type, value, ignoreCase, out result);
+ }
+#endif
+
[MethodImplAttribute (MethodImplOptions.InternalCall)]
private extern int compare_value_to (object other);
ProgramFiles = 0x26,
MyPictures = 0x27,
CommonProgramFiles = 0x2b,
+#if NET_4_0
+ MyVideos = 0x0e,
+ NetworkShortcuts = 0x13,
+ Fonts = 0x14,
+ CommonStartMenu = 0x16,
+ CommonPrograms = 0x17,
+ CommonStartup = 0x18,
+ CommonDesktopDirectory = 0x19,
+ PrinterShortcuts = 0x1b,
+ Windows = 0x24,
+ UserProfile = 0x28,
+ SystemX86 = 0x29,
+ ProgramFilesX86 = 0x2a,
+ CommonProgramFilesX86 = 0x2c,
+ CommonTemplates = 0x2d,
+ CommonDocuments = 0x2e,
+ CommonAdminTools = 0x2f,
+ AdminTools = 0x30,
+ CommonMusic = 0x35,
+ CommonPictures = 0x36,
+ CommonVideos = 0x37,
+ Resources = 0x38,
+ LocalizedResources = 0x39,
+ CommonOemLinks = 0x3a,
+ CDBurning = 0x3b,
+#endif
+ }
+
+#if NET_4_0
+ public
+#endif
+ enum SpecialFolderOption {
+ None = 0,
+ DoNotVerify = 0x4000,
+ Create = 0x8000
}
/// <summary>
/// folder specified by the "folder" parameter
/// </summary>
public static string GetFolderPath (SpecialFolder folder)
+ {
+ return GetFolderPath (folder, SpecialFolderOption.None);
+ }
+#if NET_4_0
+ [MonoTODO ("Figure out the folder path for all the new values in SpecialFolder. Use the 'option' argument.")]
+ public
+#endif
+ static string GetFolderPath(SpecialFolder folder, SpecialFolderOption option)
{
string dir = null;
[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal static extern void InternalSetEnvironmentVariable (string variable, string value);
- [MonoTODO ("Not implemented")]
[SecurityPermission (SecurityAction.LinkDemand, UnmanagedCode=true)]
public static void FailFast (string message)
{
throw new NotImplementedException ();
}
#endif
+#if NET_4_0
+ [SecurityCritical]
+ public static void FailFast (string message, Exception exception)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public static bool Is64BitOperatingSystem {
+ get { return IntPtr.Size == 8; } // FIXME: is this good enough?
+ }
+
+ public static bool Is64BitProcess {
+ get { return Is64BitOperatingSystem; }
+ }
+
+ public static int SystemPageSize {
+ get { return GetPageSize (); }
+ }
+#endif
public static extern int ProcessorCount {
[EnvironmentPermission (SecurityAction.Demand, Read="NUMBER_OF_PROCESSORS")]
[MethodImplAttribute (MethodImplOptions.InternalCall)]
internal extern static string internalGetHome ();
+ [MethodImplAttribute (MethodImplOptions.InternalCall)]
+ internal extern static int GetPageSize ();
+
static internal bool IsUnix {
get {
int platform = (int) Environment.Platform;
[StructLayout (LayoutKind.Sequential)]
[ComVisible (true)]
public struct Guid : IFormattable, IComparable, IComparable<Guid>, IEquatable<Guid> {
+#if MONOTOUCH
+ static Guid () {
+ if (MonoTouchAOTHelper.FalseFlag) {
+ var comparer = new System.Collections.Generic.GenericComparer <Guid> ();
+ var eqcomparer = new System.Collections.Generic.GenericEqualityComparer <Guid> ();
+ }
+ }
+#endif
private int _a; //_timeLow;
private short _b; //_timeMid;
private short _c; //_timeHighAndVersion;
--- /dev/null
+//
+// InsufficientExecutionStackException.cs
+//
+// Author: Paolo Molaro (lupus@ximian.com)
+//
+// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_4_0
+
+using System;
+
+namespace System {
+
+ [Serializable]
+ public sealed class InsufficientExecutionStackException : SystemException
+ {
+ public InsufficientExecutionStackException ()
+ : base ("Insufficient execution stack")
+ {
+ }
+
+ public InsufficientExecutionStackException (string message)
+ : base (message)
+ {
+ }
+
+ public InsufficientExecutionStackException (string message, Exception innerException)
+ : base (message, innerException)
+ {
+ }
+ }
+}
+
+#endif
+
--- /dev/null
+using System;
+
+#if MONOTOUCH
+namespace System {
+ internal class MonoTouchAOTHelper {
+ internal static bool FalseFlag = false;
+ }
+}
+#endif
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
+using System.Collections.Generic;
using System.Globalization;
using System.Reflection;
using System.Runtime.CompilerServices;
return res;
}
+#if NET_4_0
+ public override IList<CustomAttributeData> GetCustomAttributesData () {
+ return CustomAttributeData.GetCustomAttributes (this);
+ }
+#endif
+
static MethodBase CheckMethodSecurity (MethodBase mb)
{
#if NET_2_1
//
// System.OperationCanceledException.cs
//
-
+// Authors:
+// Zoltan Varga <vargaz@freemail.hu>
+// Jérémie Laval <jeremie.laval@gmail.com>
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
using System.Runtime.Serialization;
using System.Runtime.InteropServices;
+using System.Threading;
namespace System
{
public class OperationCanceledException : SystemException
{
const int Result = unchecked ((int)0x8013153b);
+#if NET_4_0 || BOOTSTRAP_NET_4_0
+ CancellationToken? token;
+#endif
// Constructors
public OperationCanceledException ()
: base (info, context)
{
}
+
+#if NET_4_0 || BOOTSTRAP_NET_4_0
+ public OperationCanceledException (CancellationToken token)
+ : this ()
+ {
+ this.token = token;
+ }
+
+ public OperationCanceledException (string message, CancellationToken token)
+ : this (message)
+ {
+ this.token = token;
+ }
+
+ public OperationCanceledException (string message, Exception innerException, CancellationToken token)
+ : base (message, innerException)
+ {
+ this.token = token;
+ }
+
+ public CancellationToken CancellationToken {
+ get {
+ if (token == null)
+ return CancellationToken.None;
+ return token.Value;
+ }
+ private set {
+ token = value;
+ }
+ }
+#endif
}
}
public const float PositiveInfinity = 1.0f / 0.0f;
public const float NegativeInfinity = -1.0f / 0.0f;
+ // Maximum allowed rounding-error so that float.MaxValue can round-trip successfully; calculated
+ // using: (double.Parse (float.MaxValue.ToString ("r")) - (double) float.MaxValue).ToString ("r")
+ private const double MaxValueEpsilon = 3.6147112457961776e29d;
+
internal float m_value;
public int CompareTo (object value)
{
double parsed_value = Double.Parse (
s, (NumberStyles.Float | NumberStyles.AllowThousands), null);
- if (parsed_value > (double) float.MaxValue)
+ if (parsed_value - (double) float.MaxValue > MaxValueEpsilon && (!double.IsPositiveInfinity (parsed_value)))
throw new OverflowException();
return (float) parsed_value;
{
double parsed_value = Double.Parse (
s, (NumberStyles.Float | NumberStyles.AllowThousands), provider);
- if (parsed_value > (double) float.MaxValue)
+ if (parsed_value - (double) float.MaxValue > MaxValueEpsilon && (!double.IsPositiveInfinity (parsed_value)))
throw new OverflowException();
return (float) parsed_value;
public static float Parse (string s, NumberStyles style)
{
double parsed_value = Double.Parse (s, style, null);
- if (parsed_value > (double) float.MaxValue)
+ if (parsed_value - (double) float.MaxValue > MaxValueEpsilon && (!double.IsPositiveInfinity (parsed_value)))
throw new OverflowException();
return (float) parsed_value;
public static float Parse (string s, NumberStyles style, IFormatProvider provider)
{
double parsed_value = Double.Parse (s, style, provider);
- if (parsed_value > (double) float.MaxValue)
+ if (parsed_value - (double) float.MaxValue > MaxValueEpsilon && (!double.IsPositiveInfinity (parsed_value)))
throw new OverflowException();
return (float) parsed_value;
if (!Double.Parse (s, style, provider, true, out parsed_value, out exc)) {
result = 0;
return false;
- } else if (parsed_value > (double) float.MaxValue) {
+ } else if (parsed_value - (double) float.MaxValue > MaxValueEpsilon && (!double.IsPositiveInfinity (parsed_value))) {
result = 0;
return false;
}
[System.Runtime.InteropServices.ComVisible (true)]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable <TimeSpan>
{
+#if MONOTOUCH
+ static TimeSpan () {
+ if (MonoTouchAOTHelper.FalseFlag) {
+ var comparer = new System.Collections.Generic.GenericComparer <TimeSpan> ();
+ var eqcomparer = new System.Collections.Generic.GenericEqualityComparer <TimeSpan> ();
+ }
+ }
+#endif
public static readonly TimeSpan MaxValue = new TimeSpan (long.MaxValue);
public static readonly TimeSpan MinValue = new TimeSpan (long.MinValue);
public static readonly TimeSpan Zero = new TimeSpan (0L);
public static bool TryParse (string s, out TimeSpan result)
{
+ if (s == null) {
+ result = TimeSpan.Zero;
+ return false;
+ }
try {
result = Parse (s);
return true;
{
public static class Tuple
{
- public static Tuple<T1, T2, T3, T4, T5, T6, T7, T8> Create<T1, T2, T3, T4, T5, T6, T7, T8>
+ public static Tuple<T1, T2, T3, T4, T5, T6, T7, Tuple<T8>> Create<T1, T2, T3, T4, T5, T6, T7, T8>
(
T1 item1,
T2 item2,
T5 item5,
T6 item6,
T7 item7,
- T8 item8) {
- return new Tuple<T1, T2, T3, T4, T5, T6, T7, T8> (item1, item2, item3, item4, item5, item6, item7, item8);
+ Tuple<T8> item8) {
+ return new Tuple<T1, T2, T3, T4, T5, T6, T7, Tuple<T8>> (item1, item2, item3, item4, item5, item6, item7, item8);
}
public static Tuple<T1, T2, T3, T4, T5, T6, T7> Create<T1, T2, T3, T4, T5, T6, T7>
get { return item1; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
return comparer.GetHashCode (item1);
}
get { return item2; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return item3; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return item4; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3, T4>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return item5; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3, T4, T5>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return item6; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3, T4, T5, T6>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return item7; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3, T4, T5, T6, T7>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
get { return rest; }
}
- public int CompareTo (object obj)
+ int IComparable.CompareTo (object obj)
{
- return CompareTo (obj, Comparer<object>.Default);
+ return ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);
}
- [MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }
+ [MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)
+ {
+ throw new NotImplementedException ();
+ }
public override bool Equals (object obj)
{
- return Equals (obj, EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);
}
- public bool Equals (object other, IEqualityComparer comparer)
+ bool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)
{
var t = other as Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>;
if (t == null) {
public override int GetHashCode ()
{
- return GetHashCode (EqualityComparer<object>.Default);
+ return ((IStructuralEquatable) this).GetHashCode (EqualityComparer<object>.Default);
}
- public int GetHashCode (IEqualityComparer comparer)
+ int IStructuralEquatable.GetHashCode (IEqualityComparer comparer)
{
int h = comparer.GetHashCode (item1);
h = (h << 5) - h + comparer.GetHashCode (item2);
return String.Format ("({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7})", item1, item2, item3, item4, item5, item6, item7, rest);
}
}
+
}
#endif
}
Console.WriteLine ();
- Console.WriteLine ("\t\tpublic int CompareTo (object obj)");
+ Console.WriteLine ("\t\tint IComparable.CompareTo (object obj)");
Console.WriteLine ("\t\t{");
- Console.WriteLine ("\t\t\treturn CompareTo (obj, Comparer<object>.Default);");
+ Console.WriteLine ("\t\t\treturn ((IStructuralComparable) this).CompareTo (obj, Comparer<object>.Default);");
Console.WriteLine ("\t\t}");
Console.WriteLine ();
- Console.WriteLine ("\t\t[MonoTODO] public int CompareTo (object other, IComparer comparer) { throw new NotImplementedException (); }");
+ Console.WriteLine ("\t\t[MonoTODO] int IStructuralComparable.CompareTo (object other, IComparer comparer)");
+ Console.WriteLine ("\t\t{");
+ Console.WriteLine ("\t\t\tthrow new NotImplementedException ();");
+ Console.WriteLine ("\t\t}");
Console.WriteLine ();
Console.WriteLine ("\t\tpublic override bool Equals (object obj)");
Console.WriteLine ("\t\t{");
- Console.WriteLine ("\t\t\treturn Equals (obj, EqualityComparer<object>.Default);");
+ Console.WriteLine ("\t\t\treturn ((IStructuralEquatable) this).Equals (obj, EqualityComparer<object>.Default);");
Console.WriteLine ("\t\t}");
Console.WriteLine ();
- Console.WriteLine ("\t\tpublic bool Equals (object other, IEqualityComparer comparer)");
+ Console.WriteLine ("\t\tbool IStructuralEquatable.Equals (object other, IEqualityComparer comparer)");
Console.WriteLine ("\t\t{");
Console.WriteLine ("\t\t\tvar t = other as {0};", type_name);
Console.WriteLine ("\t\t\tif (t == null) {");
Console.WriteLine ("\t\t}");
Console.WriteLine ();
- Console.WriteLine ("\t\tpublic int GetHashCode (IEqualityComparer comparer)");
+ Console.WriteLine ("\t\tint IStructuralEquatable.GetHashCode (IEqualityComparer comparer)");
Console.WriteLine ("\t\t{");
if (arity == 1) {
Console.WriteLine ("\t\t\treturn comparer.GetHashCode ({0});", GetItemName (arity));
public override bool Equals (object o)
{
+#if NET_4_0
+ return Equals (o as Type);
+#else
if (o == this)
return true;
+
Type me = UnderlyingSystemType;
if (me == null)
return false;
return me.EqualsInternal (o as Type);
+#endif
}
- public bool Equals (Type o) {
+#if NET_4_0
+ public virtual bool Equals (Type o)
+ {
+#else
+ public bool Equals (Type o)
+ {
+
if (o == this)
return true;
+#endif
if (o == null)
return false;
Type me = UnderlyingSystemType;
{
return !Object.ReferenceEquals (left, right);
}
+
+ [MonoInternalNote ("Reimplement this in MonoType for bonus speed")]
+ public virtual Type GetEnumUnderlyingType () {
+ if (!IsEnum)
+ throw new ArgumentException ("Type is not an enumeration", "enumType");
+
+ var fields = GetFields (BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
+
+ if (fields == null || fields.Length != 1)
+ throw new ArgumentException ("An enum must have exactly one instance field", "enumType");
+
+ return fields [0].FieldType;
+ }
+
+ [MonoInternalNote ("Reimplement this in MonoType for bonus speed")]
+ public virtual string[] GetEnumNames () {
+ if (!IsEnum)
+ throw new ArgumentException ("Type is not an enumeration", "enumType");
+
+ var fields = GetFields (BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static);
+
+ string [] result = new string [fields.Length];
+ for (int i = 0; i < fields.Length; ++i)
+ result [i] = fields [i].Name;
+
+ return result;
+ }
#endif
[MethodImplAttribute(MethodImplOptions.InternalCall)]
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal extern static TypeCode GetTypeCodeInternal (Type type);
- public static TypeCode GetTypeCode (Type type) {
+#if NET_4_0
+ protected virtual
+#endif
+ TypeCode GetTypeCodeImpl () {
+ Type type = this;
if (type is MonoType)
return GetTypeCodeInternal (type);
- if (type == null)
- /* MS.NET returns this */
- return TypeCode.Empty;
type = type.UnderlyingSystemType;
return GetTypeCodeInternal (type);
}
+ public static TypeCode GetTypeCode (Type type) {
+ if (type == null)
+ /* MS.NET returns this */
+ return TypeCode.Empty;
+ return type.GetTypeCodeImpl ();
+ }
+
[MonoTODO("This operation is currently not supported by Mono")]
public static Type GetTypeFromCLSID (Guid clsid)
{
--- /dev/null
+//
+// System.TypeAccessException.cs
+//
+// Authors:
+// Gonzalo Paniagua Javier (gonzalo@novell.com)
+//
+// Copyright (c) 2010 Novell, Inc. http://www.novell.com
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_4_0
+using System.Runtime.Serialization;
+using System.Runtime.InteropServices;
+
+namespace System
+{
+ [Serializable]
+ [ComVisible (true)]
+ public class TypeAccessException : TypeLoadException
+ {
+ const int Result = unchecked ((int)0x80131522); // FIXME: this code is probably wrong
+
+ // Constructors
+ public TypeAccessException ()
+ : base (Locale.GetText ("Attempt to access the type failed."))
+ {
+ HResult = Result;
+ }
+
+ public TypeAccessException (string message)
+ : base (message)
+ {
+ HResult = Result;
+ }
+
+ public TypeAccessException (string message, Exception inner)
+ : base (message, inner)
+ {
+ HResult = Result;
+ }
+
+ protected TypeAccessException (SerializationInfo info, StreamingContext context)
+ : base (info, context)
+ {
+ }
+ }
+}
+#endif
+
return v1.CompareTo (v2) <= 0;
}
+#if BOOSTRAP_NET_4_0 || NET_4_0
+ public static Version Parse (string input)
+ {
+ // Exactly the same as calling Version(string) .ctor
+ return new Version (input);
+ }
+
+ // Implemented the TryParse separated from the Parse impl due to its
+ // small size, and because the Parse one depends on the exceptions thrown by
+ // Int32.Parse to match .Net, and detecting such exceptions here is not worth it.
+ public static bool TryParse (string input, out Version result)
+ {
+ int n;
+ string [] vals;
+ int [] values; // actual parsed values
+
+ result = null;
+
+ if (input == null)
+ return false;
+
+ vals = input.Split (new Char [] {'.'});
+ n = vals.Length;
+
+ if (n < 2 || n > 4)
+ return false;
+
+ values = new int [n];
+ for (int i = 0; i < n; i++) {
+ int part;
+ if (!Int32.TryParse (vals [i], out part) || part < 0)
+ return false;
+
+ values [i] = part;
+ }
+
+ result = new Version ();
+ if (n > 0)
+ result._Major = values [0];
+ if (n > 1)
+ result._Minor = values [1];
+ if (n > 2)
+ result._Build = values [2];
+ if (n > 3)
+ result._Revision = values [3];
+
+ return true;
+ }
+#endif
+
// a very gentle way to construct a Version object which takes
// the first four numbers in a string as the version
internal static Version CreateFromString (string info)
object GetData (string name);
int GetHashCode();
+#if !NET_4_0
[SecurityPermission (SecurityAction.LinkDemand, Infrastructure = true)]
object GetLifetimeService ();
+#endif
Type GetType ();
+2010-02-02 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * CollectionStressTestHelper.cs:
+ * ConcurrentBagTests.cs:
+ * ConcurrentDictionaryTests.cs:
+ * ConcurrentQueueTests.cs:
+ * ConcurrentSkipListTests.cs:
+ * ConcurrentStackTests.cs:
+ * ParallelConcurrentQueueTests.cs:
+ * ParallelConcurrentStackTests.cs: Update namespaces and tested methods
+
2009-08-11 Jérémie Laval <jeremie.laval@gmail.com>
* BlockingCollectionTests.cs: Moved file.
using NUnit;
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Collections.Concurrent
{
public enum CheckOrderingType {
InOrder,
using NUnit;
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Collections.Concurrent
{
[TestFixture]
public class ConcurrentBagTests
using NUnit;
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Collections.Concurrent
{
[TestFixture]
public class ConcurrentDictionaryTests
int own = Interlocked.Increment (ref index);
while (!map.TryAdd ("monkey" + own.ToString (), 3));
+
}, 4);
Assert.AreEqual (7, map.Count);
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Collections.Concurrent
{
using NUnit;
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Collections.Concurrent
{
[TestFixtureAttribute]
public class ConcurrentSkipListTests
using System.Collections.Concurrent;
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Collections.Concurrent
{
[TestFixture()]
public class ConcurrentStackTests
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Collections.Concurrent
{
[TestFixture()]
public class ParallelConcurrentQueueTests
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Collections.Concurrent
{
[TestFixture()]
+2010-01-24 Robert Jordan <robertj@gmx.net>
+
+ * DictionaryTest.cs: Add test case for bug #474009.
+
2009-09-22 Raja R Harinath <harinath@hurrynot.org>
* DictionaryTest.cs (ICollectionCopyTo): Test various odd
ICollection c = d.Values;
c.CopyTo (new MyClass [1], 0);
}
+
+ [Test] // bug 474009
+ public void DeserializeEmptyDictionary ()
+ {
+ // contains a Dictionary<string, int> with Count = 0
+ // serialized with MS.NET 3.5
+ string data =
+@"AAEAAAD/////AQAAAAAAAAAEAQAAAOEBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuRGljdGlv
+bmFyeWAyW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJl
+PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50MzIs
+IG1zY29ybGliLCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9r
+ZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAwAAAAdWZXJzaW9uCENvbXBhcmVyCEhhc2hTaXplAAMACJIB
+U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuR2VuZXJpY0VxdWFsaXR5Q29tcGFyZXJgMVtbU3lz
+dGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQ
+dWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0IAAAAAAkCAAAAAAAAAAQCAAAAkgFTeXN0
+ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5HZW5lcmljRXF1YWxpdHlDb21wYXJlcmAxW1tTeXN0ZW0u
+U3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1Ymxp
+Y0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQAAAAAL";
+
+ var stream = new MemoryStream (Convert.FromBase64String (data));
+ var fmt = new BinaryFormatter ();
+ var dict = (Dictionary <string, int>) fmt.Deserialize (stream);
+ Assert.AreEqual (0, dict.Count);
+ }
+
+ [Test]
+ public void DeserializeNonEmptyDictionary ()
+ {
+ // contains a Dictionary<string, int> with Count = 2
+ // and dict [i.ToString()] == i for each i.
+ // serialized with MS.NET 3.5
+ string data =
+@"AAEAAAD/////AQAAAAAAAAAEAQAAAOEBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuRGljdGlv
+bmFyeWAyW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj0yLjAuMC4wLCBDdWx0dXJl
+PW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldLFtTeXN0ZW0uSW50MzIs
+IG1zY29ybGliLCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9r
+ZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBAAAAAdWZXJzaW9uCENvbXBhcmVyCEhhc2hTaXplDUtleVZh
+bHVlUGFpcnMAAwADCJIBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuR2VuZXJpY0VxdWFsaXR5
+Q29tcGFyZXJgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249Mi4wLjAuMCwgQ3Vs
+dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0I5QFTeXN0ZW0u
+Q29sbGVjdGlvbnMuR2VuZXJpYy5LZXlWYWx1ZVBhaXJgMltbU3lzdGVtLlN0cmluZywgbXNjb3Js
+aWIsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdh
+NWM1NjE5MzRlMDg5XSxbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj0yLjAuMC4wLCBD
+dWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXVtdAgAAAAkC
+AAAAAwAAAAkDAAAABAIAAACSAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkdlbmVyaWNFcXVh
+bGl0eUNvbXBhcmVyYDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTIuMC4wLjAs
+IEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAAAAAAcD
+AAAAAAEAAAACAAAAA+MBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuS2V5VmFsdWVQYWlyYDJb
+W1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9bmV1dHJh
+bCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5JbnQzMiwgbXNjb3Js
+aWIsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdh
+NWM1NjE5MzRlMDg5XV0E/P///+MBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuS2V5VmFsdWVQ
+YWlyYDJbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTIuMC4wLjAsIEN1bHR1cmU9
+bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV0sW1N5c3RlbS5JbnQzMiwg
+bXNjb3JsaWIsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tl
+bj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAAA2tleQV2YWx1ZQEACAYFAAAAATAAAAAAAfr////8////
+BgcAAAABMQEAAAAL";
+ var stream = new MemoryStream (Convert.FromBase64String (data));
+ var fmt = new BinaryFormatter ();
+ var dict = (Dictionary <string, int>) fmt.Deserialize (stream);
+ Assert.AreEqual (2, dict.Count);
+ for (int i = 0; i < dict.Count; i++)
+ Assert.AreEqual (i, dict[i.ToString ()]);
+ }
}
}
+2010-02-22 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * MemoryStreamTest.cs: Add a new test for Capacity.
+
+2010-01-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * StreamReaderTest.cs: New test for encoding detection.
+
2010-01-03 Carlos Alberto Cortez <calberto.cortez@gmail.com>
* MemoryStreamTest.cs: Activate ZeroingOnExpandTest as we have fixed
ms.SetLength (10);
}
- [Test] // bug #327053
+ [Test]
+ public void Capacity ()
+ {
+ MemoryStream ms = new MemoryStream ();
+
+ Assert.AreEqual (0, ms.Capacity, "#A1");
+ Assert.AreEqual (0, ms.GetBuffer ().Length, "#A2");
+
+ ms.WriteByte ((byte)'6');
+ Assert.AreEqual (256, ms.Capacity, "#B1");
+ Assert.AreEqual (256, ms.GetBuffer ().Length, "#B2");
+
+ // Shrink
+ ms.Capacity = 100;
+ Assert.AreEqual (100, ms.Capacity, "#C1");
+ Assert.AreEqual (100, ms.GetBuffer ().Length, "#C2");
+
+ // Grow
+ ms.Capacity = 120;
+ Assert.AreEqual (120, ms.Capacity, "#D1");
+ Assert.AreEqual (120, ms.GetBuffer ().Length, "#D2");
+
+ // Grow the buffer, reduce length -so we have a dirty area-
+ // and then we assign capacity to the same. The idea is that we should
+ // avoid creating a new internal buffer it's not needed.
+
+ ms = new MemoryStream ();
+ ms.Capacity = 8;
+ byte [] buff = new byte [] { 0x01, 0x02, 0x03, 0x04, 0x05 };
+ ms.Write (buff, 0, buff.Length);
+ Assert.AreEqual (8, ms.Capacity, "#E1");
+ Assert.AreEqual (8, ms.GetBuffer ().Length, "#E2");
+
+ // Reduce *length*, not capacity
+ byte [] buff_copy = ms.GetBuffer ();
+ ms.SetLength (3);
+ Assert.AreEqual (3, ms.Length, "#F1");
+ Assert.AreEqual (true, AreBuffersEqual (buff_copy, ms.GetBuffer ()), "#F2");
+
+ // Set Capacity to the very same value it has now
+ ms.Capacity = ms.Capacity;
+ Assert.AreEqual (true, AreBuffersEqual (buff_copy, ms.GetBuffer ()), "#G1"); // keep the same buffer
+
+ // Finally, growing it discards the prev buff
+ ms.Capacity = ms.Capacity + 1;
+ Assert.AreEqual (false, AreBuffersEqual (buff_copy, ms.GetBuffer ()), "#H1");
+ }
+
+ bool AreBuffersEqual (byte [] buff1, byte [] buff2)
+ {
+ if ((buff1 == null) != (buff2 == null))
+ return false;
+
+ if (buff1.Length != buff2.Length)
+ return false;
+
+ for (int i = 0; i < buff1.Length; i++)
+ if (buff1 [i] != buff2 [i])
+ return false;
+
+ return true;
+ }
+
+ [Test] // bug #327053
public void ZeroingOnExpand ()
{
byte [] values = { 3, 2, 1 };
#endif
}
+ // This is a special case, where the StreamReader has less than 4 bytes at
+ // encoding detection time, so it tries to check for Unicode encoding, instead of
+ // waiting for more bytes to test against the UTF32 BOM.
+ [Test]
+ public void EncodingDetectionUnicode ()
+ {
+ byte [] bytes = new byte [3];
+ bytes [0] = 0xff;
+ bytes [1] = 0xfe;
+ bytes [2] = 0;
+ MemoryStream inStream = new MemoryStream (bytes);
+ StreamReader reader = new StreamReader (inStream, Encoding.UTF8, true);
+
+ // It should start with the encoding we used in the .ctor
+ Assert.AreEqual (Encoding.UTF8, reader.CurrentEncoding, "#A1");
+
+ reader.Read ();
+ //reader.Read ();
+ Assert.AreEqual (Encoding.Unicode, reader.CurrentEncoding, "#B1");
+
+ reader.Close ();
+ }
+
private bool CheckEncodingDetected(Encoding encoding)
{
MemoryStream outStream = new MemoryStream();
+2010-02-02 Zoltan Varga <vargaz@gmail.com>
+
+ * DynamicMethodTest.cs: Add a test for #575955.
+
+2010-01-30 Zoltan Varga <vargaz@gmail.com>
+
+ * CustomAttributeBuilderTest.cs: Add a test for #574353.
+
+2010-01-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * TypeBuilderTest.cs: Add tests for #572660.
+
2010-01-03 Zoltan Varga <vargaz@gmail.com>
* ILGeneratorTest.cs: Add a test for #564411.
null // <-- here is the error
);
}
+
+ class C {
+ public C (object i) {
+ }
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void ObjectParam_UserDefinedClass ()
+ {
+ var cab = new CustomAttributeBuilder(
+ typeof (C).GetConstructors ()[0],
+ new object[] { new C (1) });
+ }
}
}
IntInvoker hi = (IntInvoker) dm.CreateDelegate (typeof (IntInvoker));
Assert.AreEqual (99, hi (), "#1");
}
+
+ // #575955
+ [Test]
+ public void Module_GetMethod () {
+ AssemblyName assemblyName = new AssemblyName ();
+ assemblyName.Name = "foo";
+
+ AssemblyBuilder assembly =
+ AppDomain.CurrentDomain.DefineDynamicAssembly (
+ assemblyName, AssemblyBuilderAccess.RunAndSave);
+
+ ModuleBuilder module = assembly.DefineDynamicModule ("foo.dll");
+
+ var d = new DynamicMethod ("foo", typeof (int), new Type [] { typeof (int[,]) }, module);
+ var ig = d.GetILGenerator ();
+ ig.Emit (OpCodes.Ldarg_0);
+ ig.Emit (OpCodes.Ldc_I4, 1);
+ ig.Emit (OpCodes.Ldc_I4, 1);
+ ig.Emit (OpCodes.Call, module.GetArrayMethod (typeof (int[,]), "Get", CallingConventions.Standard, typeof (int), new Type [] { typeof (int), typeof (int) }));
+ ig.Emit (OpCodes.Ret);
+
+ var del = (Func<int[,], int>)d.CreateDelegate (typeof (Func<int[,], int>));
+ int[,] arr = new int [10, 10];
+ arr [1, 1] = 5;
+ Assert.AreEqual (5, del (arr));
+ }
}
}
}
#endif
#endif
+
+ //Test for #572660
+ [Test]
+ public void CircularArrayType()
+ {
+ var assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName("Test"), AssemblyBuilderAccess.RunAndSave);
+ var moduleBuilder = assemblyBuilder.DefineDynamicModule("Test", "Test.dll", true);
+ var typeBuilder = moduleBuilder.DefineType("Foo", TypeAttributes.Public);
+ var fieldBuilder = typeBuilder.DefineField("Foos", typeBuilder.MakeArrayType(), FieldAttributes.Public);
+
+ var fooType = typeBuilder.CreateType();
+ Assert.AreSame(fooType.MakeArrayType(), fooType.GetField("Foos").FieldType);
+ }
}
}
+2010-02-10 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * PropertyInfoTest.cs: Tests for default value.
+
+2010-02-10 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * PropertyInfoTest.cs: Tests for custom attributes from PropertyInfo::GetIndexParameters.
+
+2010-02-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * PropertyInfoTest.cs: Make tests for GetIndexParameters() work.
+
+2010-02-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * MethodInfoTest.cs: New test for GetParameters() returning the interned array.
+
+ * PropertyInfoTest.cs: New tests for GetIndexParameters().
+
2010-01-19 Rodrigo Kumpera <rkumpera@novell.com>
* MethodInfoTest.cs: Add a test for Invoke with generic variant
Assert.AreSame (mi2, mi4.GetGenericMethodDefinition (), "#C3");
}
+ public void TestMethod123(int a, int b) {}
+
+ [Test]
+ public void GetParametersDontReturnInternedArray ()
+ {
+ var method = typeof (MethodInfoTest).GetMethod ("TestMethod123");
+ var parms = method.GetParameters ();
+ Assert.AreNotSame (parms, method.GetParameters (), "#1");
+
+ parms [0] = null;
+ Assert.IsNotNull (method.GetParameters () [0], "#2");
+ }
+
[Test]
public void Bug354757 ()
{
using System;
using System.Reflection;
using System.Runtime.InteropServices;
+using System.Threading;
+using System.Reflection.Emit;
+using System.IO;
using NUnit.Framework;
}
}
+ static void RunTest (Type t, bool use_getter) {
+ var p = t.GetProperty ("Item");
+ var idx = p.GetIndexParameters ();
+ var m_args = t.GetMethod (use_getter ? "get_Item" : "set_Item").GetParameters ();
+
+ Assert.AreEqual (2, idx.Length, "#1");
+
+ Assert.AreEqual (typeof (double), idx [0].ParameterType, "#2");
+ Assert.AreEqual (p, idx [0].Member, "#3");
+ Assert.AreEqual ("a", idx [0].Name, "#4");
+ Assert.AreEqual (0, idx [0].Position, "#5");
+ Assert.AreEqual (m_args [0].MetadataToken, idx [0].MetadataToken, "#6");
+ Assert.AreEqual (ParameterAttributes.None, idx [0].Attributes, "#7");
+
+ Assert.AreEqual (typeof (string), idx [1].ParameterType, "#8");
+ Assert.AreEqual (p, idx [1].Member, "#9");
+ Assert.AreEqual ("b", idx [1].Name, "#10");
+ Assert.AreEqual (1, idx [1].Position, "#11");
+ Assert.AreEqual (m_args [1].MetadataToken, idx [1].MetadataToken, "#12");
+ Assert.AreEqual (ParameterAttributes.None, idx [1].Attributes, "#13");
+
+ var idx2 = p.GetIndexParameters ();
+
+ //No interning exposed
+ Assert.AreNotSame (idx, idx2, "#14");
+ Assert.AreNotSame (idx [0], idx2 [1], "#15");
+ }
+
+ [Test]
+ public void GetIndexParameterReturnsObjectsBoundToTheProperty ()
+ {
+ RunTest (typeof (TestA), false);
+ RunTest (typeof (TestB), true);
+ }
+
+ public class TestA {
+ public int this[double a, string b] {
+ set {}
+ }
+ }
+
+ public class TestB {
+ public int this[double a, string b] {
+ get { return 1; }
+ set {}
+ }
+ }
+
+ [Test]
+ public void GetIndexParameterReturnedObjectsCustomAttributes () {
+ var pa = typeof (TestC).GetProperty ("Item").GetIndexParameters () [0];
+ Assert.IsTrue (pa.IsDefined (typeof (ParamArrayAttribute), false), "#1");
+
+ var pb = typeof (TestD).GetProperty ("Item").GetIndexParameters () [0];
+ Assert.IsTrue (pb.IsDefined (typeof (ParamArrayAttribute), false), "#2");
+
+ Assert.AreEqual (1, Attribute.GetCustomAttributes (pa).Length, "#3");
+ Assert.AreEqual (1, Attribute.GetCustomAttributes (pb).Length, "#4");
+
+ Assert.AreEqual (0, pa.GetOptionalCustomModifiers ().Length, "#5");
+ Assert.AreEqual (0, pb.GetRequiredCustomModifiers ().Length, "#6");
+ }
+
+ public class TestC {
+ public int this[params double[] a] {
+ get { return 99; }
+ }
+ }
+
+ public class TestD {
+ public int this[params double[] a] {
+ set { }
+ }
+ }
+
+ static string CreateTempAssembly ()
+ {
+ FileStream f = null;
+ string path;
+ Random rnd;
+ int num = 0;
+
+ rnd = new Random ();
+ do {
+ num = rnd.Next ();
+ num++;
+ path = Path.Combine (Path.GetTempPath (), "tmp" + num.ToString ("x") + ".dll");
+
+ try {
+ f = new FileStream (path, FileMode.CreateNew);
+ } catch { }
+ } while (f == null);
+
+ f.Close ();
+
+
+ return "tmp" + num.ToString ("x") + ".dll";
+ }
+
+ public class TestE {
+ public int PropE {
+ get { return 99; }
+ }
+ }
+
+ [Test]
+ public void ConstantValue () {
+ /*This test looks scary because we can't generate a default value with C# */
+ var assemblyName = new AssemblyName ();
+ assemblyName.Name = "MonoTests.System.Reflection.Emit.PropertyInfoTest";
+ string an = CreateTempAssembly ();
+
+ var assembly = Thread.GetDomain ().DefineDynamicAssembly (assemblyName, AssemblyBuilderAccess.RunAndSave, Path.GetTempPath ());
+ var module = assembly.DefineDynamicModule ("module1", an);
+
+ var tb = module.DefineType ("Test", TypeAttributes.Public);
+ var prop = tb.DefineProperty ("Prop", PropertyAttributes.HasDefault, typeof (string), new Type [0]);
+
+ var getter = tb.DefineMethod ("get_Prop", MethodAttributes.Public, typeof (string), new Type [0]);
+ var ilgen = getter.GetILGenerator ();
+ ilgen.Emit (OpCodes.Ldnull);
+ ilgen.Emit (OpCodes.Ret);
+
+ var setter = tb.DefineMethod ("set_Prop", MethodAttributes.Public, null, new Type [1] { typeof (string) });
+ setter.GetILGenerator ().Emit (OpCodes.Ret);
+
+ prop.SetConstant ("test");
+ prop.SetGetMethod (getter);
+ prop.SetSetMethod (setter);
+
+ tb.CreateType ();
+
+ File.Delete (Path.Combine (Path.GetTempPath (), an));
+ assembly.Save (an);
+
+ var asm = Assembly.LoadFrom (Path.Combine (Path.GetTempPath (), an));
+ var t = asm.GetType ("Test");
+ var p = t.GetProperty ("Prop");
+ Assert.AreEqual ("test", p.GetConstantValue (), "#1");
+
+ File.Delete (Path.Combine (Path.GetTempPath (), an));
+
+ var pa = typeof (TestE).GetProperty ("PropE");
+ try {
+ pa.GetConstantValue ();
+ Assert.Fail ("#2");
+ } catch (InvalidOperationException) {
+ }
+ }
+
#if NET_2_0
public class A<T>
{
}
#endif
+
static bool HasAttribute (object [] attrs, Type attributeType)
{
foreach (object attr in attrs)
if (RunningOnWindows ())
throw;
}
+ catch (DirectoryNotFoundException) {
+ }
catch (Exception e) {
Assert.Fail (e.ToString ());
}
+2010-02-23 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * TaskTest.cs: Disable this since it deadlock corlib suite 100% of the times.
+
+2010-02-02 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * FutureTests.cs:
+ * ParallelTestHelper.cs:
+ * ParallelTests.cs:
+ * SnziTests.cs:
+ * TaskCompletionSourceTests.cs:
+ * TaskTest.cs: Update namespace and tested methods
+
2009-07-30 Jérémie Laval <jeremie.laval@gmail.com>
* FutureTests.cs:
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Threading.Tasks
{
[TestFixture]
public class FutureTests
Assert.IsTrue (result, "#2");
Assert.AreEqual (10, cont.Result);
}
-
- /* Not pertinent anymore
- * [Test]
- public void EmptyTaskTestCase()
- {
- Task<int> f = Task.Factory.StartNew<int>(delegate {});
- f.Value = 3;
-
- Assert.AreEqual(3, f.Value, "#1");
- }
-
- /*[Test, ExpectedExceptionAttribute()]
- public void ManualSetWhenFunctionProvidedTestCase()
- {
- Task<int> f = InitTestTask();
- f.Value = 2;
- }
-
- /*[Test, ExpectedExceptionAttribute()]
- public void ManualSetTwoTimesTestCase()
- {
- Task<int> f = Task.Factory.StartNew<int>();
- f.Value = 2;
- f.Value = 3;
- }*/
}
}
#endif
public static void Repeat (Action action, int numRun)
{
for (int i = 0; i < numRun; i++) {
- //Console.WriteLine ("Run " + i.ToString ());
action ();
}
}
[Test]
public void ParallelForTestCase ()
{
- ParallelTestHelper.Repeat (() => {
- int[] expected = Enumerable.Range (1, 1000).Select ((e) => e * 2).ToArray ();
+ int[] expected = Enumerable.Range (1, 1000).Select ((e) => e * 2).ToArray ();
+
+ ParallelTestHelper.Repeat (() => {
int[] actual = Enumerable.Range (1, 1000).ToArray ();
SpinWait sw = new SpinWait ();
IEnumerable<int> e = Enumerable.Repeat (1, 10);
Parallel.ForEach (e, delegate (int element) { throw new Exception ("foo"); });
}
-
- /* Disabled as this is an API addition
- [Test]
- public void ParallelWhileTestCase()
- {
- ParallelTestHelper.Repeat (() => {
- int i = 0;
- int count = 0;
-
- Parallel.While (() => Interlocked.Increment (ref i) <= 10, () => Interlocked.Increment (ref count));
-
- Assert.Greater(i, 10, "#1");
- Assert.AreEqual(10, count, "#2");
- });
- }*/
}
}
#endif
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Threading.Tasks
{
[TestFixtureAttribute]
public class SnziTests
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Threading.Tasks
{
[TestFixture]
public class TaskCompletionSourceTests
Assert.IsNotNull (completionSource.Task, "#1");
Assert.IsTrue (completionSource.TrySetException (e), "#2");
Assert.AreEqual (TaskStatus.Faulted, completionSource.Task.Status, "#3");
- Assert.AreEqual (e, completionSource.Task.Exception, "#4");
+ Assert.IsInstanceOfType (typeof (AggregateException), completionSource.Task.Exception, "#4.1");
+
+ AggregateException aggr = (AggregateException)completionSource.Task.Exception;
+ Assert.AreEqual (1, aggr.InnerExceptions.Count, "#4.2");
+ Assert.AreEqual (e, aggr.InnerExceptions[0], "#4.3");
+
Assert.IsFalse (completionSource.TrySetResult (42), "#5");
Assert.AreEqual (TaskStatus.Faulted, completionSource.Task.Status, "#6");
- Assert.AreEqual (e, completionSource.Task.Exception, "#7");
Assert.IsFalse (completionSource.TrySetCanceled (), "#8");
Assert.AreEqual (TaskStatus.Faulted, completionSource.Task.Status, "#9");
}
namespace MonoTests.System.Threading.Tasks
{
- [TestFixture()]
+ [TestFixture]
+ [Category ("NotWorking")] //This hangs on my 4-core machine 100% of the time
public class TaskTests
{
Task[] tasks;
[Test]
public void CancelTestCase()
{
- int count = 1;
- ParallelTestHelper.Repeat (delegate {
- bool result = false;
-
- Task t = new Task (delegate {
- result = true;
- });
- t.Cancel();
- Assert.IsTrue (t.IsCancellationRequested, "#-1");
- t.Start ();
+ bool result = false;
+
+ CancellationTokenSource src = new CancellationTokenSource ();
+
+ Task t = new Task (delegate {
+ result = true;
+ }, src.Token);
+ src.Cancel ();
+
+ t.Start ();
+ Exception ex = null;
+
+ try {
t.Wait ();
-
- Assert.IsInstanceOfType(typeof(TaskCanceledException), t.Exception, "#1 : " + count ++);
- TaskCanceledException ex = (TaskCanceledException)t.Exception;
- Assert.AreEqual(t, ex.Task, "#2");
- Assert.IsFalse(result, "#3");
- });
+ } catch (Exception e) {
+ ex = e;
+ }
+
+ Assert.IsNotNull (ex, "#1");
+ Assert.IsInstanceOfType (typeof(AggregateException), t.Exception, "#2");
+ Assert.AreEqual (t.Exception, ex, "#3");
+
+ AggregateException aggr = (AggregateException)ex;
+ Assert.AreEqual (1, aggr.InnerExceptions.Count, "#4");
+ Assert.IsInstanceOfType (typeof (OperationCanceledException), aggr.InnerExceptions[0], "#5");
}
[Test]
bool result = false;
bool taskResult = false;
- Task t = new Task(delegate { taskResult = true; });
- t.Cancel();
+ CancellationTokenSource src = new CancellationTokenSource ();
+ Task t = new Task(delegate { taskResult = true; }, src.Token);
+ src.Cancel ();
- Task cont = t.ContinueWith(delegate { result = true; }, TaskContinuationOptions.OnlyOnCanceled);
+ Task cont = t.ContinueWith (delegate { result = true; }, TaskContinuationOptions.OnlyOnCanceled);
t.Start();
- t.Wait();
cont.Wait();
Assert.IsFalse (taskResult, "#-1");
});
}
- /*[Test]
+ [Test]
public void ContinueWithOnFailedTestCase()
{
ParallelTestHelper.Repeat (delegate {
bool result = false;
- Task t = Task.Factory.StartNew(delegate {throw new Exception("foo"); });
- // Task cont = t.ContinueWith(delegate { result = true; }, TaskContinuationOptions.OnlyOnFaulted);
- // t.Wait();
- //cont.Wait();
+ Task t = Task.Factory.StartNew(delegate { throw new Exception("foo"); });
+ Task cont = t.ContinueWith(delegate { result = true; }, TaskContinuationOptions.OnlyOnFaulted);
+
+ cont.Wait();
- //Assert.IsNotNull (t.Exception, "#1");
- // Assert.IsNotNull (cont, "#2");
+ Assert.IsNotNull (t.Exception, "#1");
+ Assert.IsNotNull (cont, "#2");
Assert.IsTrue (result, "#3");
});
- }*/
+ }
[TestAttribute]
public void MultipleTaskTestCase()
Task.Factory.StartNew(delegate {
Thread.Sleep(50);
r1 = true;
- //Console.WriteLine("finishing 1");
- });
+ }, TaskCreationOptions.AttachedToParent);
Task.Factory.StartNew(delegate {
Thread.Sleep(300);
r2 = true;
- //Console.WriteLine("finishing 2");
- });
+ }, TaskCreationOptions.AttachedToParent);
Task.Factory.StartNew(delegate {
Thread.Sleep(150);
r3 = true;
- //Console.WriteLine("finishing 3");
- });
+ }, TaskCreationOptions.AttachedToParent);
});
t.Wait();
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Threading
{
[TestFixtureAttribute]
public class CancellationTokenTests
+2010-02-08 Zoltan Varga <vargaz@gmail.com>
+
+ * WaitHandleTest.cs: Add a test for #576039.
+
+2010-02-02 Jérémie Laval <jeremie.laval@gmail.com>
+
+ * CancellationTokenTests.cs:
+ * LazyInitTests.cs:
+ * ThreadLazyTests.cs: Update namespace and tested methods
+
2009-12-09 Jb Evain <jbevain@novell.com>
* ThreadTest.cs: add a test for a null callback passed to
using NUnit.Core;
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Threading
{
[TestFixtureAttribute]
public class LazyInitTests
using NUnit.Core;
using NUnit.Framework;
-namespace ParallelFxTests
+namespace MonoTests.System.Threading
{
[TestFixtureAttribute]
public class ThreadLazyTests
{
Assert.IsTrue (Single [0].WaitOne (TimeSpan.MaxValue), "WaitOne");
}
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void WaitAll_Empty ()
+ {
+ WaitHandle.WaitAll (new WaitHandle [0]);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void WaitAny_Empty ()
+ {
+ WaitHandle.WaitAny (new WaitHandle [0]);
+ }
+
}
}
int a = (int) array [0];
}
+ [Test]
+ public void SetValue_Nullable () {
+ Array array = Array.CreateInstance (typeof (int?), 7);
+
+ object o = 42;
+
+ array.SetValue (o, 0);
+ Assert.AreEqual (42, array.GetValue (0));
+
+ array.SetValue (null, 0);
+ Assert.AreEqual (null, array.GetValue (0));
+ }
+
#if NET_4_0
[Test]
[ExpectedException (typeof (ArgumentException))]
Assert.AreEqual (1, a.CompareTo (new int [] { 10, 19 }, Comparer<object>.Default));
}
+ [Test]
+ public void IStructuralEquatable_Equals ()
+ {
+ IStructuralEquatable array = new int[] {1, 2, 3};
+ IStructuralEquatable array2 = new int[] {1, 2, 3};
+ Assert.AreEqual (false, array.Equals (null, null));
+ Assert.AreEqual (true, array.Equals (array, null));
+ Assert.AreEqual (true, array.Equals (array2, EqualityComparer<int>.Default));
+ }
+
+ [Test]
+ [ExpectedException (typeof (NullReferenceException))]
+ public void IStructuralEquatable_Equals_NoComparer ()
+ {
+ IStructuralEquatable array = new int[] {1, 2, 3};
+ IStructuralComparable array2 = new int[] {1, 2, 3};
+ array.Equals (array2, null);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void IStructuralEquatable_Equals_ComparerThrows ()
+ {
+ IStructuralEquatable array = new int[] {1, 2, 3};
+ IStructuralComparable array2 = new int[] {1, 2, 3};
+ array.Equals (array2, EqualityComparer<long>.Default);
+ }
+
#endif
}
+2010-02-23 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * TypeTest.cs: Test new v4 GetEnumNames ().
+
+2010-02-22 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * TypeTest.cs: Test new v4 GetEnumUnderlyingType ().
+
+2010-02-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * TypeTest.cs: Test new v4 behavior for Equals.
+
+2010-01-29 Zoltan Varga <vargaz@gmail.com>
+
+ * Int32Test.cs: Fix a copy-paste error.
+
+2010-01-29 Zoltan Varga <vargaz@gmail.com>
+
+ * TypeTest.cs: Add a test for #574819.
+
+2010-01-29 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * VersionTest.cs: New tests for Parse and TryParse.
+
+2010-01-27 Zoltan Varga <vargaz@gmail.com>
+
+ * ValueTypeTest.cs: Add a test for Equals () + nullables.
+
+2010-01-25 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * EnumTest.cs: New tests for the new TryParse method.
+
+2010-01-25 Zoltan Varga <vargaz@gmail.com>
+
+ * ArrayTest.cs: Add a test for SetValue () + nullables.
+
+2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SingleTest.cs : test for parsing MaxValue and PositiveInfinity.
+ Patch by Tiaan Geldenhuys.
+
2010-01-19 Rodrigo Kumpera <rkumpera@novell.com>
* TypeTest.cs: Add test for GetGenericMethodDefinition of inflated
#endif
}
+ [Test]
+ public void Remainder2 ()
+ {
+ decimal a = 20.0M;
+ decimal b = 10.0M;
+ decimal c = 10.00M;
+
+ Assert.AreEqual (0.00m, a % c, "20.0M % 10.00M");
+
+ }
+
[Test]
[ExpectedException (typeof (DivideByZeroException))]
public void Divide_ByZero ()
Assert.AreEqual (TestingEnum3.Test, Enum.Parse (t1.GetType (), "18446744073709551615", false));
}
+#if NET_4_0
+ [Test]
+ public void TryParseErrors ()
+ {
+ TestingEnum result;
+ bool success;
+
+ success = Enum.TryParse<TestingEnum> (null, out result);
+ Assert.AreEqual (false, success, "#A1");
+ Assert.AreEqual (TestingEnum.This, result, "#A2");
+
+ success = Enum.TryParse<TestingEnum> ("WrongValue", out result);
+ Assert.AreEqual (false, success, "#B1");
+ Assert.AreEqual (TestingEnum.This, result, "#B2");
+
+ success = Enum.TryParse<TestingEnum> (String.Empty, out result);
+ Assert.AreEqual (false, success, "#C1");
+ Assert.AreEqual (TestingEnum.This, result, "#C2");
+
+ success = Enum.TryParse<TestingEnum> (" ", out result);
+ Assert.AreEqual (false, success, "#D1");
+ Assert.AreEqual (TestingEnum.This, result, "#D2");
+
+ // TryParse can accept any struct derived type
+ int n;
+ success = Enum.TryParse<int> ("31416", out n);
+ Assert.AreEqual (false, success, "#E1");
+ Assert.AreEqual (0, n, "#E2");
+ }
+
+ [Test]
+ public void TryParse ()
+ {
+ TestingEnum result;
+ bool success;
+
+ success = Enum.TryParse<TestingEnum> ("Is", out result);
+ Assert.AreEqual (true, success, "#A1");
+ Assert.AreEqual (TestingEnum.Is, result, "#A2");
+
+ success = Enum.TryParse<TestingEnum> ("100", out result);
+ Assert.AreEqual (true, success, "#C1");
+ Assert.AreEqual (((TestingEnum)100), result, "#C2");
+
+ success = Enum.TryParse<TestingEnum> ("is", out result);
+ Assert.AreEqual (false, success, "#D1");
+ Assert.AreEqual (TestingEnum.This, result, "#D2");
+
+ success = Enum.TryParse<TestingEnum> ("is", true, out result);
+ Assert.AreEqual (true, success, "#D1");
+ Assert.AreEqual (TestingEnum.Is, result, "#D2");
+ }
+#endif
+
[Test]
public void ToObject_EnumType_Int32 ()
{
Int32.Parse ("123", new DateTimeFormatInfo ());
- Assert.AreEqual (734561, Int64.Parse ("734561\0"), "C#43");
- Assert.AreEqual (734561, Int64.Parse ("734561\0\0\0 \0"), "C#44");
- Assert.AreEqual (734561, Int64.Parse ("734561\0\0\0 "), "C#45");
- Assert.AreEqual (734561, Int64.Parse ("734561\0\0\0"), "C#46");
+ Assert.AreEqual (734561, Int32.Parse ("734561\0"), "C#43");
+ Assert.AreEqual (734561, Int32.Parse ("734561\0\0\0 \0"), "C#44");
+ Assert.AreEqual (734561, Int32.Parse ("734561\0\0\0 "), "C#45");
+ Assert.AreEqual (734561, Int32.Parse ("734561\0\0\0"), "C#46");
}
[Test]
}
[Test]
- [Category ("NotWorking")]
public void ToString_Roundtrip ()
{
Assert.AreEqual (10.78f.ToString ("R", NumberFormatInfo.InvariantInfo), "10.78");
}
+ [Test]
+ public void Parse_Roundtrip ()
+ {
+ string maxVal = float.MaxValue.ToString ("r");
+ string minVal = float.MinValue.ToString ("r");
+ string epsilon = float.Epsilon.ToString ("r");
+ string nan = float.NaN.ToString ("r");
+ string negInf = float.NegativeInfinity.ToString ("r");
+ string posInf = float.PositiveInfinity.ToString ("r");
+
+ float result;
+ Assert.IsTrue (float.TryParse (maxVal, NumberStyles.Float, CultureInfo.InvariantCulture, out result), "MaxValue#1a");
+ Assert.AreEqual (float.MaxValue, result, "MaxValue#1b");
+ Assert.IsTrue (float.TryParse (minVal, NumberStyles.Float, CultureInfo.InvariantCulture, out result), "MinValue#1a");
+ Assert.AreEqual (float.MinValue, result, "MinValue#1b");
+ Assert.IsTrue (float.TryParse (epsilon, NumberStyles.Float, CultureInfo.InvariantCulture, out result), "Epsilon#1a");
+ Assert.AreEqual (float.Epsilon, result, "Epsilon#1b");
+ Assert.IsTrue (float.TryParse (nan, NumberStyles.Float, CultureInfo.InvariantCulture, out result), "NaN#1a");
+ Assert.AreEqual (float.NaN, result, "NaN#1b");
+ Assert.IsNaN (result, "NaN#1c");
+ Assert.IsTrue (float.TryParse (negInf, NumberStyles.Float, CultureInfo.InvariantCulture, out result), "-Inf#1a");
+ Assert.AreEqual (float.NegativeInfinity, result, "-Inf#1b");
+ Assert.IsTrue (float.TryParse (posInf, NumberStyles.Float, CultureInfo.InvariantCulture, out result), "+Inf#1a");
+ Assert.AreEqual (float.PositiveInfinity, result, "+Inf#1b");
+
+ Assert.AreEqual (float.MaxValue, float.Parse (maxVal), "MaxValue#2");
+ Assert.AreEqual (float.MinValue, float.Parse (minVal), "MinValue#2");
+ Assert.AreEqual (float.Epsilon, float.Parse (epsilon), "Epsilon#2");
+ Assert.AreEqual (float.NaN, float.Parse (nan), "NaN#2a");
+ Assert.IsNaN (float.Parse (nan), "NaN#2b");
+ Assert.AreEqual (float.NegativeInfinity, float.Parse (negInf), "-Inf#2");
+ Assert.AreEqual (float.PositiveInfinity, float.Parse (posInf), "+Inf#2");
+
+ Assert.AreEqual (float.MaxValue, float.Parse (maxVal, CultureInfo.InvariantCulture), "MaxValue#3");
+ Assert.AreEqual (float.MinValue, float.Parse (minVal, CultureInfo.InvariantCulture), "MinValue#3");
+ Assert.AreEqual (float.Epsilon, float.Parse (epsilon, CultureInfo.InvariantCulture), "Epsilon#3");
+ Assert.AreEqual (float.NaN, float.Parse (nan, CultureInfo.InvariantCulture), "NaN#3a");
+ Assert.IsNaN (float.Parse (nan, CultureInfo.InvariantCulture), "NaN#3b");
+ Assert.AreEqual (float.NegativeInfinity, float.Parse (negInf, CultureInfo.InvariantCulture), "-Inf#3");
+ Assert.AreEqual (float.PositiveInfinity, float.Parse (posInf, CultureInfo.InvariantCulture), "+Inf#3");
+
+ Assert.AreEqual (float.MaxValue, float.Parse (maxVal, NumberStyles.Float), "MaxValue#4");
+ Assert.AreEqual (float.MinValue, float.Parse (minVal, NumberStyles.Float), "MinValue#4");
+ Assert.AreEqual (float.Epsilon, float.Parse (epsilon, NumberStyles.Float), "Epsilon#4");
+ Assert.AreEqual (float.NaN, float.Parse (nan, NumberStyles.Float), "NaN#4a");
+ Assert.IsNaN (float.Parse (nan, NumberStyles.Float), "NaN#4b");
+ Assert.AreEqual (float.NegativeInfinity, float.Parse (negInf, NumberStyles.Float), "-Inf#4");
+ Assert.AreEqual (float.PositiveInfinity, float.Parse (posInf, NumberStyles.Float), "+Inf#4");
+
+ Assert.AreEqual (float.MaxValue, float.Parse (maxVal, NumberStyles.Float, CultureInfo.InvariantCulture), "MaxValue#5");
+ Assert.AreEqual (float.MinValue, float.Parse (minVal, NumberStyles.Float, CultureInfo.InvariantCulture), "MinValue#5");
+ Assert.AreEqual (float.Epsilon, float.Parse (epsilon, NumberStyles.Float, CultureInfo.InvariantCulture), "Epsilon#5");
+ Assert.AreEqual (float.NaN, float.Parse (nan, NumberStyles.Float, CultureInfo.InvariantCulture), "NaN#5a");
+ Assert.IsNaN (float.Parse (nan, NumberStyles.Float, CultureInfo.InvariantCulture), "NaN#5b");
+ Assert.AreEqual (float.NegativeInfinity, float.Parse (negInf, NumberStyles.Float, CultureInfo.InvariantCulture), "-Inf#5");
+ Assert.AreEqual (float.PositiveInfinity, float.Parse (posInf, NumberStyles.Float, CultureInfo.InvariantCulture), "+Inf#5");
+ }
+
#if NET_2_0
[Test] // bug #72221
[ExpectedException (typeof (ArgumentException))]
Assert.AreEqual (2, t2.Length);
}
+ [Test]
+ public void GetInterfacesGenericVarWithConstraints ()
+ {
+ var a = typeof (TypeTest).GetMethod ("GenericMethod");
+
+ var p = a.GetParameters ();
+ var i = p[0].ParameterType.GetElementType ();
+ i.GetInterfaces ();
+ }
+
+ public static void GenericMethod<T> (T[] arr) where T: IComparable<T> {
+ }
+
public int AField;
[Test]
Assert.AreEqual (typeof (IGetInterfaceMap <string>), res.InterfaceType);
Assert.AreEqual (typeof (string), res.InterfaceMethods [0].GetParameters () [0].ParameterType);
}
+
+
+ public class MyType : TypeDelegator {
+ public int eq, ust;
+
+ public override bool Equals (Type t) {
+ ++eq;
+ return base.Equals (t);
+ }
+
+ public override Type UnderlyingSystemType {
+ get {
+ ++ust;
+ return typeof (int);
+ }
+ }
+ }
+
+ [Test]
+ public void NewV4EqualsBehavior ()
+ {
+ var ta = new MyType ();
+ var tb = new MyType ();
+ object a = ta, b = tb;
+
+ a.Equals (a);
+ Assert.AreEqual (1, ta.eq, "#1");
+ Assert.AreEqual (2, ta.ust, "#2");
+ a.Equals (b);
+ Assert.AreEqual (2, ta.eq, "#3");
+ Assert.AreEqual (3, ta.ust, "#4");
+ Assert.AreEqual (0, tb.eq, "#5");
+ Assert.AreEqual (1, tb.ust, "#6");
+ }
+
+ public enum MyRealEnum : short {
+ A,B,C
+ }
+
+ public class MyEnum : TypeDelegator {
+ public bool is_enum { get; set; }
+ public int fields { get; set; }
+
+ public override bool IsSubclassOf (Type c) {
+ return c == typeof (Enum) && is_enum;
+ }
+
+ public override FieldInfo[] GetFields (BindingFlags bindingAttr) {
+ if (fields == 0)
+ return null;
+ FieldInfo[] res = new FieldInfo [fields];
+ for (int i = 0; i < fields; ++i) {
+ if ((bindingAttr & BindingFlags.Instance) != 0)
+ res [i] = typeof (MyRealEnum).GetField ("value__");
+ else
+ res [i] = typeof (MyRealEnum).GetField ("A");
+ }
+ return res;
+ }
+ }
+
+ [Test]
+ public void GetEnumUnderlyingType () {
+
+ try {
+ new MyEnum () { is_enum = false }.GetEnumUnderlyingType ();
+ Assert.Fail ("#1");
+ } catch (ArgumentException) {}
+
+ try {
+ new MyEnum () { is_enum = true, fields = 0 }.GetEnumUnderlyingType ();
+ Assert.Fail ("#2");
+ } catch (ArgumentException) {}
+
+ try {
+ new MyEnum () { is_enum = true, fields = 2 }.GetEnumUnderlyingType ();
+ Assert.Fail ("#3");
+ } catch (ArgumentException) {}
+
+ Assert.AreSame (typeof (short), new MyEnum () { is_enum = true, fields = 1 }.GetEnumUnderlyingType ());
+ }
+
+ [Test]
+ public void GetEnumNames () {
+ try {
+ new MyEnum () { is_enum = false }.GetEnumNames ();
+ Assert.Fail ("#1");
+ } catch (ArgumentException) {}
+
+ var res = new MyEnum () { is_enum = true, fields = 1 }.GetEnumNames ();
+ Assert.AreEqual (1, res.Length, "#2");
+ Assert.AreEqual ("A", res [0], "#3");
+
+ res = typeof (MyRealEnum).GetEnumNames ();
+ Assert.AreEqual (3, res.Length, "#4");
+ Assert.AreEqual ("A", res [0], "#5");
+ Assert.AreEqual ("B", res [1], "#6");
+ Assert.AreEqual ("C", res [2], "#7");
+ }
#endif
public abstract class Stream : IDisposable
}
}
+ struct NullableStruct {
+ public Nullable<int> f;
+ }
+
[TestFixture]
public class ValueTypeTest
{
Assert.AreEqual (a.Equals (b), true, "#01");
}
+ [Test]
+ public void TestEquals_Nullable ()
+ {
+ NullableStruct f1 = new NullableStruct { f = 5 };
+ NullableStruct f2 = new NullableStruct { f = 5 };
+ Assert.IsTrue (f1.Equals (f2));
+
+ f1 = new NullableStruct { f = null };
+ f2 = new NullableStruct { f = null };
+ Assert.IsTrue (f1.Equals (f2));
+
+ f1 = new NullableStruct { f = 1 };
+ f2 = new NullableStruct { f = 2 };
+ Assert.IsFalse (f1.Equals (f2));
+
+ f1 = new NullableStruct { f = 1 };
+ f2 = new NullableStruct { f = null };
+ Assert.IsFalse (f1.Equals (f2));
+ }
+
[Test]
public void TestGetHash ()
{
Assert.AreEqual (1, v1235.CompareTo (v1234), "1235-1234");
}
#endif
+
+#if BOOTSTRAP_NET_4_0 || NET_4_0
+ [Test]
+ public void Parse ()
+ {
+ Assert.AreEqual (new Version (1, 7), Version.Parse ("1.7"), "#A1");
+ Assert.AreEqual (new Version (1, 7, 3), Version.Parse ("1.7.3"), "#A2");
+ Assert.AreEqual (new Version (1, 7, 3, 4001), Version.Parse ("1.7.3.4001"), "#A3");
+ Assert.AreEqual (new Version (2, 9), Version.Parse (" 2.9 "), "#A4");
+ Assert.AreEqual (new Version (2, 9, 3), Version.Parse ("2. 9. 3"), "#A5");
+
+ try {
+ Version.Parse (null);
+ Assert.Fail ("#EXC1");
+ } catch (ArgumentNullException) {
+ }
+
+ try {
+ Version.Parse ("1");
+ Assert.Fail ("#EXC2");
+ } catch (ArgumentException) {
+ }
+
+ try {
+ Version.Parse ("1.4.7.8.9");
+ Assert.Fail ("#EXC3");
+ } catch (ArgumentException) {
+ }
+
+ try {
+ Version.Parse ("1.2.a.7");
+ Assert.Fail ("#EXC4");
+ } catch (FormatException) {
+ }
+
+ try {
+ Version.Parse ("1.2.");
+ Assert.Fail ("#EXC5");
+ } catch (FormatException) {
+ }
+
+ try {
+ Version.Parse ("1.2.0." + ((long)Int32.MaxValue + 1).ToString ());
+ Assert.Fail ("#EXC6");
+ } catch (OverflowException) {
+ }
+
+ try {
+ Version.Parse ("1.3.-6.0");
+ Assert.Fail ("#EXC7");
+ } catch (ArgumentOutOfRangeException) {
+ }
+ }
+
+ [Test]
+ public void TryParse ()
+ {
+ Version result;
+ bool success;
+
+ success = Version.TryParse ("1.7", out result);
+ Assert.AreEqual (new Version (1, 7), result, "#A1");
+ Assert.AreEqual (true, success, "#A2");
+
+ success = Version.TryParse ("1.7.3", out result);
+ Assert.AreEqual (new Version (1, 7, 3), result, "#B1");
+ Assert.AreEqual (true, success, "#B2");
+
+ success = Version.TryParse ("1.7.0.4001", out result);
+ Assert.AreEqual (new Version (1, 7, 0, 4001), result, "#C1");
+ Assert.AreEqual (true, success, "#C2");
+
+ success = Version.TryParse (" 2.9 ", out result);
+ Assert.AreEqual (new Version (2, 9), result, "#D1");
+ Assert.AreEqual (true, success, "#D2");
+
+ success = Version.TryParse ("2. 9. 3", out result);
+ Assert.AreEqual (new Version (2, 9, 3), result, "#E1");
+ Assert.AreEqual (true, success, "#E2");
+
+ //
+ // Errors
+ //
+ success = Version.TryParse (null, out result);
+ Assert.AreEqual (null, result, "#F1");
+ Assert.AreEqual (false, success, "#F2");
+
+ success = Version.TryParse ("1", out result);
+ Assert.AreEqual (null, result, "#G1");
+ Assert.AreEqual (false, success, "#G2");
+
+ success = Version.TryParse ("1.4.7.8.9", out result);
+ Assert.AreEqual (null, result, "#H1");
+ Assert.AreEqual (false, success, "#H2");
+
+ success = Version.TryParse ("1.2.a.7", out result);
+ Assert.AreEqual (null, result, "#I1");
+ Assert.AreEqual (false, success, "#I2");
+
+ success = Version.TryParse ("1.2.", out result);
+ Assert.AreEqual (null, result, "#J1");
+ Assert.AreEqual (false, success, "#J2");
+
+ success = Version.TryParse ("1.2.0." + ((long)Int32.MaxValue + 1).ToString (), out result);
+ Assert.AreEqual (null, result, "#K1");
+ Assert.AreEqual (false, success, "#K2");
+
+ success = Version.TryParse ("1.-6", out result);
+ Assert.AreEqual (null, result, "#L1");
+ Assert.AreEqual (false, success, "#L2");
+ }
+#endif
}
}
Microsoft.Win32/RegistryKeyPermissionCheck.cs
Microsoft.Win32/Registry.cs
Microsoft.Win32/RegistryHive.cs
+Microsoft.Win32/RegistryOptions.cs
Microsoft.Win32/RegistryValueKind.cs
Microsoft.Win32/RegistryValueOptions.cs
+Microsoft.Win32/RegistryView.cs
Microsoft.Win32/UnixRegistryApi.cs
Microsoft.Win32/Win32RegistryApi.cs
Microsoft.Win32/Win32ResultCode.cs
Microsoft.Win32.SafeHandles/SafeHandleZeroOrMinusOneIsInvalid.cs
Microsoft.Win32.SafeHandles/SafeHandleMinusOneIsInvalid.cs
Microsoft.Win32.SafeHandles/SafeFileHandle.cs
+Microsoft.Win32.SafeHandles/SafeRegistryHandle.cs
Microsoft.Win32.SafeHandles/SafeWaitHandle.cs
Mono.Globalization.Unicode/CodePointIndexer.cs
Mono.Globalization.Unicode/MSCompatUnicodeTable.cs
System/IFormatProvider.cs
System/IFormattable.cs
System/IndexOutOfRangeException.cs
+System/InsufficientExecutionStackException.cs
System/InsufficientMemoryException.cs
System/Int16.cs
System/Int32.cs
System/MonoCustomAttrs.cs
System/MonoListItem.cs
System/MonoType.cs
+System/MonoTouchAOTHelper.cs
System/MTAThreadAttribute.cs
System/MulticastDelegate.cs
System/MulticastNotSupportedException.cs
System/TimeoutException.cs
../../build/common/MonoTODOAttribute.cs
System/Type.cs
+System/TypeAccessException.cs
System/TypeCode.cs
System/TypedReference.cs
System/TypeInitializationException.cs
System.Resources/SatelliteContractVersionAttribute.cs
System.Resources/UltimateResourceFallbackLocation.cs
System.Resources/Win32Resources.cs
+System.Runtime/AssemblyTargetedPatchBandAttribute.cs
System.Runtime/GCLatencyMode.cs
System.Runtime/GCSettings.cs
System.Runtime/MemoryFailPoint.cs
+System.Runtime/TargetedPatchingOptOutAttribute.cs
System.Runtime.CompilerServices/AccessedThroughPropertyAttribute.cs
+System.Runtime.CompilerServices/ReferenceAssemblyAttribute.cs
System.Runtime.CompilerServices/CallConvCdecl.cs
System.Runtime.CompilerServices/CallConvFastcall.cs
System.Runtime.CompilerServices/CallConvThiscall.cs
System.Collections.Concurrent/Partitioner.cs
System.Collections.Concurrent/ConcurrentQueue.cs
System.Collections.Concurrent/ConcurrentSkipList.cs
-System.Collections.Concurrent/Partitionners/ListPartitioner.cs
-System.Collections.Concurrent/Partitionners/EnumerablePartitioner.cs
+System.Collections.Concurrent/Partitioners/ListPartitioner.cs
+System.Collections.Concurrent/Partitioners/EnumerablePartitioner.cs
System.Collections.Concurrent/IProducerConsumerCollection.cs
System.Collections.Concurrent/ConcurrentStack.cs
System.Threading/LazyInitializer.cs
System.Threading.Tasks/ParallelLoopResult.cs
System.Threading.Tasks/ParallelLoopState.cs
System/AggregateException.cs
+System.Threading.Tasks/SimpleConcurrentBag.cs
+System.Threading.Tasks/UnobservedTaskExceptionEventArgs.cs
#include net_2_1_raw_corlib.dll.sources
+
System.IO/MonoIOStat.cs
System.IO/Path.cs
System.IO/PathTooLongException.cs
+System.IO/SearchOption.cs
System.IO/SearchPattern.cs
System.IO/SeekOrigin.cs
System.IO/Stream.cs
System/Converter.cs
System/Predicate.cs
System.Collections.Generic/Comparer.cs
+../Mono.CompilerServices.SymbolWriter/MonoSymbolWriter.cs
+../Mono.CompilerServices.SymbolWriter/MonoSymbolTable.cs
+../Mono.CompilerServices.SymbolWriter/MonoSymbolFile.cs
+../Mono.CompilerServices.SymbolWriter/SymbolWriterImpl.cs
MONO_DIRS = \
$(classdir)/Commons.Xml.Relaxng/$(doc_en) \
$(classdir)/Mono.Cairo/$(doc_en) \
+ $(classdir)/Mono.Cecil/$(doc_en) \
$(classdir)/Mono.Data.SqliteClient/$(doc_en) \
$(classdir)/Mono.GetOptions/$(doc_en) \
$(classdir)/Mono.Options/$(doc_en) \
** Enhancing Completion
Code completion is a process that will be curated over time.
- Just like producing good error reports or warnings is an
- iterative process to find a good balance, the code completion
+ Just like producing good error reports and warnings is an
+ iterative process, to find a good balance, the code completion
engine in the compiler will require tuning to find the right
balance for the end user.
`--fatal' flag is passed to the compiler, the Report.Error
routine will throw an exception. This can be used to pinpoint
the location of the bug and examine the variables around the
- error location.
+ error location. If you pass a number to --fatal the exception
+ will only be thrown when the error count reaches the specified
+ count.
Warnings can be turned into errors by using the `--werror'
flag to the compiler.
-// CS0401: The new() constraint must be the last constraint specified
-// Line: 6
+// CS0401: The `new()' constraint must be the last constraint specified
+// Line: 4
-class Foo<T>
- where T : new (), new ()
+class Foo<T> where T : new (), new ()
{
}
// CS0451: The `new()' constraint cannot be used with the `struct' constraint
-// Line: 8
+// Line: 6
class C
{
- public static void Foo<T>() where T : struct, new ()
+ public static void Foo<T>() where T : struct, new ()
{
}
}
+2010-02-24 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #582579
+ * decl.cs (IsExposedFromAssembly): Use PartialContainer for parent
+ modifiers.
+
+2010-02-24 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #581804
+ * ecore.cs: Fixed type comparison.
+
+2010-02-08 Miguel de Icaza <miguel@novell.com>
+
+ * namespace.cs (CompletionGetTypesStartingWith): Do not include
+ private types in the completion results.
+
+ * cs-parser.jay: Bubble completions after "from x in ?" and "from x
+ ... let ?"
+
+2010-02-17 Marek Safar <marek.safar@gmail.com>
+
+ * generic.cs, field.cs, decl.cs, cs-parser.jay: Simplify special
+ constraint parsing.
+
+2010-02-14 Miguel de Icaza <miguel@novell.com>
+
+ * eval.cs: Do not do the report printer dance unless the user has
+ set the DescribeTypes feature.
+
+2010-02-10 Marek Safar <marek.safar@gmail.com>
+
+ * argument.cs, dynamic.cs, expression.cs: Track RC API changes.
+
+2010-02-08 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #577029
+ * anonymous.cs: Fixed TypeBuilder* check.
+
+2010-02-06 Miguel de Icaza <miguel@novell.com>
+
+ * eval.cs (CompileBlock): Also undo if there are problems during
+ semantic analysis, fixes various cases where invalid C# code would
+ be reported, but the internal changes would not be undone.
+
+2010-02-03 Miguel de Icaza <miguel@novell.com>
+
+ * driver.cs: Change the --fatal flag to allow a number to be
+ passed, this ignores the first N fatal errors. Useful to debug
+ errors that do not happen on the first hit.
+
+ * cs-parser.jay (invocation_expression): accept both the
+ CLOSE_PARENS and COMPLETE_COMPLETION, this allows completions
+ inside an invocation.
+
+ * driver.cs: Expose FatalErrors.
+
+ * eval.cs: Initialize the printer's Fatal property from the
+ Driver's FatalError flag, this allows csharp --fatal to work
+ again.
+
+ Add support for calling Describe (typeof (TYPE)) if the expression
+ entered is a TYPE.
+
+2010-02-02 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #574991
+ * rootcontext.cs, class.cs, driver.cs: Hide enhanced warnings behind
+ --lint.
+
+2010-02-02 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #575986
+ * expression.cs: Don't mutate typeof type definitions.
+
+2010-01-28 Marek Safar <marek.safar@gmail.com>
+
+ * decl.cs: Use only one set of modifiers.
+
+2010-01-26 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #573329
+ * eval.cs: Don't disable error reporting completely on silent mode.
+
+2010-01-25 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #573312
+ * constant.cs, expression.cs, ecore.cs: Emit correct offset for
+ pointer index of unknown size types greater than 2.
+
2010-01-15 Marek Safar <marek.safar@gmail.com>
* *.cs: Use only 1 member kind enum.
Type t = MutateGenericType (field.DeclaringType);
if (t != field.DeclaringType) {
field = TypeManager.DropGenericTypeArguments (field.DeclaringType).GetField (field.Name, TypeManager.AllMembers);
- if (TypeManager.IsBeingCompiled (field)) {
+
+ // HACK: TypeBuilder has to be used when a type is of TypeBuilder* but there is no
+ // way how to find out (use type comparison when this becomes an issue)
+ if (t.GetType ().FullName == "System.Reflection.MonoGenericClass") {
fs.MetaInfo = TypeBuilder.GetField (t, field);
} else {
fs.MetaInfo = FieldInfo.GetFieldFromHandle (field.FieldHandle, t.TypeHandle);
var constant = a.Expr as Constant;
if (constant != null && constant.IsLiteral) {
info_flags = new Binary (Binary.Operator.BitwiseOr, info_flags,
- new MemberAccess (new MemberAccess (binder, info_flags_enum, loc), "LiteralConstant", loc));
+ new MemberAccess (new MemberAccess (binder, info_flags_enum, loc), "Constant", loc));
} else if (a.ArgType == Argument.AType.Ref) {
info_flags = new Binary (Binary.Operator.BitwiseOr, info_flags,
new MemberAccess (new MemberAccess (binder, info_flags_enum, loc), "IsRef", loc));
// Check for internal or private fields that were never assigned
//
if (Report.WarningLevel >= 3) {
- CheckMemberUsage (properties, "property");
- CheckMemberUsage (methods, "method");
- CheckMemberUsage (constants, "constant");
+ if (RootContext.EnhancedWarnings) {
+ CheckMemberUsage (properties, "property");
+ CheckMemberUsage (methods, "method");
+ CheckMemberUsage (constants, "constant");
+ }
if (fields != null){
bool is_type_exposed = Kind == MemberKind.Struct || IsExposedFromAssembly ();
public readonly GenericMethod GenericMethod;
protected MemberBase (DeclSpace parent, GenericMethod generic,
- FullNamedExpression type, Modifiers mod, Modifiers allowed_mod, Modifiers def_mod,
+ FullNamedExpression type, Modifiers mod, Modifiers allowed_mod, Modifiers def_mod,
MemberName name, Attributes attrs)
: base (parent, name, attrs)
{
// statements even when the expression is incomplete (for example
// completing inside a lambda
//
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Reflection.Emit;
+using System.Text;
+using Mono.CSharp.Linq;
+
namespace Mono.CSharp {
- using System;
- using System.Collections.Generic;
- using System.Reflection;
- using System.Reflection.Emit;
- using System.Text;
//
// A common base class for Completing expressions, it
// Nothing
}
}
+
}
public virtual bool IsLiteral {
get { return false; }
}
+
+ public virtual bool IsOneInteger {
+ get { return false; }
+ }
//
// Returns true iff 1) the stack type of this is one of Object,
GetValue ().ToString (), TypeManager.CSharpName (target));
}
}
-
+
public abstract Constant Increment ();
}
}
}
+ public override bool IsOneInteger {
+ get {
+ return Value == 1;
+ }
+ }
+
public override bool IsNegative {
get {
return false;
}
}
+ public override bool IsOneInteger {
+ get {
+ return Value == 1;
+ }
+ }
+
public override bool IsZeroInteger {
get { return Value == 0; }
}
return Value < 0;
}
}
+
+ public override bool IsOneInteger {
+ get {
+ return Value == 1;
+ }
+ }
public override Constant ConvertExplicitly (bool in_checked_context, Type target_type)
{
return false;
}
}
+
+ public override bool IsOneInteger {
+ get {
+ return Value == 1;
+ }
+ }
public override bool IsZeroInteger {
get { return Value == 0; }
return Value < 0;
}
}
+
+ public override bool IsOneInteger {
+ get {
+ return Value == 1;
+ }
+ }
public override bool IsZeroInteger {
get { return Value == 0; }
return false;
}
}
+
+ public override bool IsOneInteger {
+ get {
+ return Value == 1;
+ }
+ }
public override bool IsZeroInteger {
get { return Value == 0; }
return Value < 0;
}
}
+
+ public override bool IsOneInteger {
+ get {
+ return Value == 1;
+ }
+ }
public override bool IsZeroInteger {
get { return Value == 0; }
return false;
}
}
+
+ public override bool IsOneInteger {
+ get {
+ return Value == 1;
+ }
+ }
public override bool IsZeroInteger {
get { return Value == 0; }
foreach (VariableDeclaration var in (List<VariableDeclaration>) $5) {
FixedField field = new FixedField (current_class, type, mod, var.identifier,
var.GetInitializer (type), (Attributes) $1, var.Location);
+
+ if (RootContext.Version < LanguageVersion.ISO_2)
+ Report.FeatureIsNotAvailable (GetLocation ($3), "fixed size buffers");
if (RootContext.Documentation != null) {
field.DocComment = Lexer.consume_doc_comment ();
| OPEN_PARENS_LAMBDA
;
+//
+// Use this production to accept closing parenthesis or
+// performing completion
+//
+close_parens
+ : CLOSE_PARENS
+ | COMPLETE_COMPLETION
+ ;
+
+
parenthesized_expression
: OPEN_PARENS expression CLOSE_PARENS
{
;
invocation_expression
- : primary_expression open_parens_any opt_argument_list CLOSE_PARENS
+ : primary_expression open_parens_any opt_argument_list close_parens
{
$$ = new Invocation ((Expression) $1, (Arguments) $3);
}
non_assignment_expression
: conditional_expression
| lambda_expression
- | query_expression
+ | query_expression
;
constant_expression
opt_type_parameter_constraints_clauses
: /* empty */ { $$ = null; }
| type_parameter_constraints_clauses
- { $$ = $1; }
+ {
+ $$ = $1;
+ }
;
type_parameter_constraints_clauses
- : type_parameter_constraints_clause {
+ : type_parameter_constraints_clause
+ {
var constraints = new List<Constraints> (1);
constraints.Add ((Constraints) $1);
$$ = constraints;
}
- | type_parameter_constraints_clauses type_parameter_constraints_clause {
+ | type_parameter_constraints_clauses type_parameter_constraints_clause
+ {
var constraints = (List<Constraints>) $1;
Constraints new_constraint = (Constraints)$2;
foreach (Constraints c in constraints) {
- if (new_constraint.TypeParameter == c.TypeParameter) {
- Report.Error (409, new_constraint.Location, "A constraint clause has already been specified for type parameter `{0}'",
- new_constraint.TypeParameter);
+ if (new_constraint.TypeParameter.Value == c.TypeParameter.Value) {
+ Report.Error (409, new_constraint.Location,
+ "A constraint clause has already been specified for type parameter `{0}'",
+ new_constraint.TypeParameter.Value);
}
}
;
type_parameter_constraints_clause
- : WHERE IDENTIFIER COLON type_parameter_constraints {
+ : WHERE IDENTIFIER COLON type_parameter_constraints
+ {
var lt = (Tokenizer.LocatedToken) $2;
- $$ = new Constraints (lt.Value, (List<object>) $4, lt.Location);
+ $$ = new Constraints (new SimpleMemberName (lt.Value, lt.Location), (List<FullNamedExpression>) $4, GetLocation ($1));
}
;
type_parameter_constraints
- : type_parameter_constraint {
- var constraints = new List<object> (1);
- constraints.Add ($1);
+ : type_parameter_constraint
+ {
+ var constraints = new List<FullNamedExpression> (1);
+ constraints.Add ((FullNamedExpression) $1);
$$ = constraints;
}
- | type_parameter_constraints COMMA type_parameter_constraint {
- var constraints = (List<object>) $1;
+ | type_parameter_constraints COMMA type_parameter_constraint
+ {
+ var constraints = (List<FullNamedExpression>) $1;
+ var prev = constraints [constraints.Count - 1] as SpecialContraintExpr;
+ if (prev != null && (prev.Constraint & SpecialConstraint.Constructor) != 0) {
+ Report.Error (401, GetLocation ($2), "The `new()' constraint must be the last constraint specified");
+ }
+
+ prev = $3 as SpecialContraintExpr;
+ if (prev != null) {
+ if ((prev.Constraint & (SpecialConstraint.Class | SpecialConstraint.Struct)) != 0) {
+ Report.Error (449, prev.Location, "The `class' or `struct' constraint must be the first constraint specified");
+ } else {
+ prev = constraints [0] as SpecialContraintExpr;
+ if (prev != null && (prev.Constraint & SpecialConstraint.Struct) != 0) {
+ Report.Error (451, GetLocation ($3), "The `new()' constraint cannot be used with the `struct' constraint");
+ }
+ }
+ }
- constraints.Add ($3);
+ constraints.Add ((FullNamedExpression) $3);
$$ = constraints;
}
;
type_parameter_constraint
: type
- | NEW OPEN_PARENS CLOSE_PARENS {
- $$ = SpecialConstraint.Constructor;
+ {
+ $$ = $1;
}
- | CLASS {
- $$ = SpecialConstraint.ReferenceType;
+ | NEW OPEN_PARENS CLOSE_PARENS
+ {
+ $$ = new SpecialContraintExpr (SpecialConstraint.Constructor, GetLocation ($1));
}
- | STRUCT {
- $$ = SpecialConstraint.ValueType;
+ | CLASS
+ {
+ $$ = new SpecialContraintExpr (SpecialConstraint.Class, GetLocation ($1));
+ }
+ | STRUCT
+ {
+ $$ = new SpecialContraintExpr (SpecialConstraint.Struct, GetLocation ($1));
}
;
// LINQ
query_expression
- : first_from_clause query_body
+ : first_from_clause query_body
{
lexer.query_parsing = false;
current_block.SetEndLocation (lexer.Location);
current_block = current_block.Parent;
}
+
+ // Bubble up COMPLETE_COMPLETION productions
+ | first_from_clause COMPLETE_COMPLETION {
+ lexer.query_parsing = false;
+ $$ = $1;
+
+ current_block.SetEndLocation (lexer.Location);
+ current_block = current_block.Parent;
+ }
+ | nested_from_clause COMPLETE_COMPLETION {
+ $$ = $1;
+ current_block.SetEndLocation (lexer.Location);
+ current_block = current_block.Parent;
+ }
;
first_from_clause
;
query_body
- : opt_query_body_clauses select_or_group_clause opt_query_continuation
+ : opt_query_body_clauses select_or_group_clause opt_query_continuation
{
Linq.AQueryClause head = (Linq.AQueryClause)$2;
$$ = head;
}
+ | opt_query_body_clauses COMPLETE_COMPLETION
;
select_or_group_clause
query_body_clause
: from_clause
- | let_clause
+ | let_clause
| where_clause
| join_clause
| orderby_clause
}
}
- class SimpleMemberName
+ public class SimpleMemberName
{
public string Value;
public Location Location;
AttributeTester.Report_ObsoleteMessage (oa, GetSignatureForError (), loc, Report);
}
- // Access level of a type.
- const int X = 1;
- enum AccessLevel
- { // Each column represents `is this scope larger or equal to Blah scope'
- // Public Assembly Protected
- Protected = (0 << 0) | (0 << 1) | (X << 2),
- Public = (X << 0) | (X << 1) | (X << 2),
- Private = (0 << 0) | (0 << 1) | (0 << 2),
- Internal = (0 << 0) | (X << 1) | (0 << 2),
- ProtectedOrInternal = (0 << 0) | (X << 1) | (X << 2),
- }
-
- static AccessLevel GetAccessLevelFromModifiers (Modifiers flags)
- {
- if ((flags & Modifiers.INTERNAL) != 0) {
-
- if ((flags & Modifiers.PROTECTED) != 0)
- return AccessLevel.ProtectedOrInternal;
- else
- return AccessLevel.Internal;
-
- } else if ((flags & Modifiers.PROTECTED) != 0)
- return AccessLevel.Protected;
- else if ((flags & Modifiers.PRIVATE) != 0)
- return AccessLevel.Private;
- else
- return AccessLevel.Public;
- }
-
//
// Returns the access level for type `t'
//
- static AccessLevel GetAccessLevelFromType (Type t)
+ static Modifiers GetAccessLevelFromType (Type type)
{
- if (t.IsPublic)
- return AccessLevel.Public;
- if (t.IsNestedPrivate)
- return AccessLevel.Private;
- if (t.IsNotPublic)
- return AccessLevel.Internal;
-
- if (t.IsNestedPublic)
- return AccessLevel.Public;
- if (t.IsNestedAssembly)
- return AccessLevel.Internal;
- if (t.IsNestedFamily)
- return AccessLevel.Protected;
- if (t.IsNestedFamORAssem)
- return AccessLevel.ProtectedOrInternal;
- if (t.IsNestedFamANDAssem)
- throw new NotImplementedException ("NestedFamANDAssem not implemented, cant make this kind of type from c# anyways");
-
- // nested private is taken care of
+ var ma = type.Attributes;
+ Modifiers mod;
+ switch (ma & TypeAttributes.VisibilityMask) {
+ case TypeAttributes.Public:
+ case TypeAttributes.NestedPublic:
+ mod = Modifiers.PUBLIC;
+ break;
+ case TypeAttributes.NestedPrivate:
+ mod = Modifiers.PRIVATE;
+ break;
+ case TypeAttributes.NestedFamily:
+ mod = Modifiers.PROTECTED;
+ break;
+ case TypeAttributes.NestedFamORAssem:
+ mod = Modifiers.PROTECTED | Modifiers.INTERNAL;
+ break;
+ default:
+ mod = Modifiers.INTERNAL;
+ break;
+ }
- throw new Exception ("I give up, what are you?");
+ return mod;
}
//
for (Type p_parent = null; p != null; p = p_parent) {
p_parent = p.DeclaringType;
- AccessLevel pAccess = GetAccessLevelFromType (p);
- if (pAccess == AccessLevel.Public)
+ var pAccess = GetAccessLevelFromType (p);
+ if (pAccess == Modifiers.PUBLIC)
continue;
bool same_access_restrictions = false;
for (MemberCore mc = this; !same_access_restrictions && mc != null && mc.Parent != null; mc = mc.Parent) {
- AccessLevel al = GetAccessLevelFromModifiers (mc.ModFlags);
+ var al = mc.ModFlags & Modifiers.AccessibilityMask;
switch (pAccess) {
- case AccessLevel.Internal:
- if (al == AccessLevel.Private || al == AccessLevel.Internal)
+ case Modifiers.INTERNAL:
+ if (al == Modifiers.PRIVATE || al == Modifiers.INTERNAL)
same_access_restrictions = TypeManager.IsThisOrFriendAssembly (Parent.Module.Assembly, p.Assembly);
break;
-
- case AccessLevel.Protected:
- if (al == AccessLevel.Protected) {
+
+ case Modifiers.PROTECTED:
+ if (al == Modifiers.PROTECTED) {
same_access_restrictions = mc.Parent.IsBaseType (p_parent);
break;
}
-
- if (al == AccessLevel.Private) {
+
+ if (al == Modifiers.PRIVATE) {
//
// When type is private and any of its parents derives from
// protected type then the type is accessible
}
break;
-
- case AccessLevel.ProtectedOrInternal:
- if (al == AccessLevel.Protected)
- same_access_restrictions = mc.Parent.IsBaseType (p_parent);
- else if (al == AccessLevel.Internal)
+
+ case Modifiers.PROTECTED | Modifiers.INTERNAL:
+ if (al == Modifiers.INTERNAL)
same_access_restrictions = TypeManager.IsThisOrFriendAssembly (Parent.Module.Assembly, p.Assembly);
- else if (al == AccessLevel.ProtectedOrInternal)
+ else if (al == Modifiers.PROTECTED)
+ same_access_restrictions = mc.Parent.IsBaseType (p_parent);
+ else if (al == (Modifiers.PROTECTED | Modifiers.INTERNAL))
same_access_restrictions = mc.Parent.IsBaseType (p_parent) &&
TypeManager.IsThisOrFriendAssembly (Parent.Module.Assembly, p.Assembly);
-
break;
-
- case AccessLevel.Private:
+
+ case Modifiers.PRIVATE:
//
// Both are private and share same parent
//
- if (al == AccessLevel.Private) {
+ if (al == Modifiers.PRIVATE) {
var decl = mc.Parent;
do {
same_access_restrictions = TypeManager.IsEqual (decl.TypeBuilder, p_parent);
if ((ModFlags & (Modifiers.PUBLIC | Modifiers.PROTECTED)) == 0)
return false;
- DeclSpace parentContainer = Parent;
+ DeclSpace parentContainer = Parent.PartialContainer;
while (parentContainer != null && parentContainer.ModFlags != 0) {
if ((parentContainer.ModFlags & (Modifiers.PUBLIC | Modifiers.PROTECTED)) == 0)
return false;
public bool IsBaseType (Type baseType)
{
- if (TypeManager.IsInterfaceType (baseType))
- throw new NotImplementedException ();
-
- Type type = TypeBuilder;
- while (type != null) {
- if (TypeManager.IsEqual (type, baseType))
- return true;
-
- type = type.BaseType;
- }
+ // We are called from RootDeclspace
+ if (TypeBuilder == null)
+ return false;
- return false;
+ return TypeManager.IsSubclassOf (TypeBuilder, baseType);
}
private Type LookupNestedTypeInHierarchy (string name)
--total;
continue;
}
- if (constraints_at.TypeParameter == name.Name) {
+ if (constraints_at.TypeParameter.Value == name.Name) {
constraints = constraints_at;
constraints_list.RemoveAt(ii);
break;
if (constraints_list != null && constraints_list.Count > 0) {
foreach (Constraints constraint in constraints_list) {
Report.Error(699, constraint.Location, "`{0}': A constraint references nonexistent type parameter `{1}'",
- GetSignatureForError (), constraint.TypeParameter);
+ GetSignatureForError (), constraint.TypeParameter.Value);
}
}
}
bool want_debugging_support;
bool parse_only;
bool timestamps;
- bool fatal_errors;
+ internal int fatal_errors;
//
// Whether to load the initial config file (what CSC.RSP has by default)
{
Console.WriteLine (
"Other flags in the compiler\n" +
- " --fatal Makes errors fatal\n" +
+ " --fatal[=COUNT] Makes errors after COUNT fatal\n" +
+ " --lint Enhanced warnings\n" +
" --parse Only parses the source file\n" +
- " --typetest Tests the tokenizer's built-in type parser\n" +
" --stacktrace Shows stack trace at error location\n" +
" --timestamp Displays time stamps of various compiler events\n" +
- " --expect-error X Expect that error X will be encountered\n" +
" -v Verbose parsing (for debugging the parser)\n" +
" --mcs-debug X Sets MCS debugging level to X\n");
}
}
link_paths.Add (args [++i]);
return true;
+
+ case "--lint":
+ RootContext.EnhancedWarnings = true;
+ return true;
case "--nostdlib":
Report.Warning (-29, 1, "Compatibility: Use -nostdlib instead of --nostdlib");
RootContext.StdLib = false;
return true;
- case "--fatal":
- fatal_errors = true;
- return true;
-
case "--nowarn":
Report.Warning (-29, 1, "Compatibility: Use -nowarn instead of --nowarn");
if ((i + 1) >= args.Length){
Report.Warning (-29, 1, "Compatibility: Use -noconfig option instead of --noconfig");
load_default_config = false;
return true;
+
+ default:
+ if (arg.StartsWith ("--fatal")){
+ if (arg.StartsWith ("--fatal=")){
+ if (!Int32.TryParse (arg.Substring (8), out fatal_errors))
+ fatal_errors = 1;
+ } else
+ fatal_errors = 1;
+ return true;
+ }
+ break;
}
return false;
RootContext.Optimize = false;
return true;
+ // TODO: Not supported by csc 3.5+
case "/incremental":
case "/incremental+":
case "/incremental-":
public Expression CreateCallSiteBinder (ResolveContext ec, Arguments args)
{
- Arguments binder_args = new Arguments (2);
+ Arguments binder_args = new Arguments (3);
flags |= ec.HasSet (ResolveContext.Options.CheckedScope) ? CSharpBinderFlags.CheckedContext : 0;
binder_args.Add (new Argument (new BinderFlags (flags, this)));
+ binder_args.Add (new Argument (new TypeOf (new TypeExpression (ec.CurrentType, loc), loc)));
binder_args.Add (new Argument (new TypeOf (new TypeExpression (type, loc), loc)));
return new Invocation (GetBinder ("Convert", loc), binder_args);
}
public Expression CreateCallSiteBinder (ResolveContext ec, Arguments args)
{
- Arguments binder_args = new Arguments (3);
+ Arguments binder_args = new Arguments (4);
MemberAccess sle = new MemberAccess (new MemberAccess (
new QualifiedAliasMember (QualifiedAliasMember.GlobalAlias, "System", loc), "Linq", loc), "Expressions", loc);
binder_args.Add (new Argument (new BinderFlags (flags, this)));
binder_args.Add (new Argument (new MemberAccess (new MemberAccess (sle, "ExpressionType", loc), name, loc)));
+ binder_args.Add (new Argument (new TypeOf (new TypeExpression (ec.CurrentType, loc), loc)));
binder_args.Add (new Argument (new ImplicitlyTypedArrayCreation ("[]", args.CreateDynamicBinderArguments (ec), loc)));
return new Invocation (GetBinder ("UnaryOperation", loc), binder_args);
public override bool IsNull {
get { return child.IsNull; }
}
+
+ public override bool IsOneInteger {
+ get { return child.IsOneInteger; }
+ }
public override bool IsZeroInteger {
get { return child.IsZeroInteger; }
bt = TypeManager.GetElementType (bt);
--b_idx;
}
-
- if (ct == bt)
+
+ if (TypeManager.IsEqual (ct, bt))
continue;
same = false;
InitAndGetStartupFiles (args);
}
+ internal static ReportPrinter SetPrinter (ReportPrinter report_printer)
+ {
+ return ctx.Report.SetPrinter (report_printer);
+ }
/// <summary>
/// Optional initialization for the Evaluator.
CompilerCallableEntryPoint.PartialReset ();
// Workaround for API limitation where full message printer cannot be passed
- ReportPrinter printer = MessageOutput == Console.Out || MessageOutput == Console.Error ?
- new ConsoleReportPrinter (MessageOutput) :
- new StreamReportPrinter (MessageOutput);
+ ReportPrinter printer;
+ if (MessageOutput == Console.Out || MessageOutput == Console.Error){
+ var console_reporter = new ConsoleReportPrinter (MessageOutput);
+ console_reporter.Fatal = driver.fatal_errors;
+ printer = console_reporter;
+ } else
+ printer = new StreamReportPrinter (MessageOutput);
ctx = new CompilerContext (new Report (printer));
RootContext.ToplevelTypes = new ModuleCompiled (ctx, true);
// Either null (on error) or the compiled method.
return compiled;
}
-
+
//
// Todo: Should we handle errors, or expect the calling code to setup
// the recording themselves?
// The code execution does not need to keep the compiler lock
//
object retval = typeof (NoValueSet);
-
+
try {
invoke_thread = System.Threading.Thread.CurrentThread;
invoking = true;
} catch (CompletionResult cr){
prefix = cr.BaseText;
return cr.Result;
- }
+ }
} finally {
parser.undo.ExecuteUndo ();
}
if (mode == ParseMode.GetCompletions)
parser.Lexer.CompleteOnEOF = true;
- bool disable_error_reporting;
+ ReportPrinter old_printer = null;
if ((mode == ParseMode.Silent || mode == ParseMode.GetCompletions) && CSharpParser.yacc_verbose_flag == 0)
- disable_error_reporting = true;
- else
- disable_error_reporting = false;
+ old_printer = SetPrinter (new StreamReportPrinter (TextWriter.Null));
- if (disable_error_reporting)
- ctx.Report.DisableReporting ();
try {
parser.parse ();
} finally {
parser = null;
}
- if (disable_error_reporting)
- ctx.Report.EnableReporting ();
+ if (old_printer != null)
+ SetPrinter (old_printer);
}
return parser;
}
}
RootContext.EmitCode ();
- if (Report.Errors != 0)
+ if (Report.Errors != 0){
+ undo.ExecuteUndo ();
return null;
+ }
RootContext.CloseTypes ();
GlobalRootNamespace.Instance.ComputeNamespaces (ctx);
}
}
-
+
+ /// <summary>
+ /// If true, turns type expressions into valid expressions
+ /// and calls the describe method on it
+ /// </summary>
+ public static bool DescribeTypeExpressions;
}
CloneContext cc = new CloneContext ();
Expression clone = source.Clone (cc);
- clone = clone.Resolve (ec);
- if (clone == null)
- return null;
-
+ //
+ // A useful feature for the REPL: if we can resolve the expression
+ // as a type, Describe the type;
+ //
+ if (Evaluator.DescribeTypeExpressions){
+ var old_printer = Evaluator.SetPrinter (new StreamReportPrinter (TextWriter.Null));
+ clone = clone.Resolve (ec);
+ if (clone == null){
+ clone = source.Clone (cc);
+ clone = clone.Resolve (ec, ResolveFlags.Type);
+ if (clone == null){
+ Evaluator.SetPrinter (old_printer);
+ clone = source.Clone (cc);
+ clone = clone.Resolve (ec);
+ return null;
+ }
+
+ Arguments args = new Arguments (1);
+ args.Add (new Argument (new TypeOf (source, Location)));
+ source = new Invocation (new SimpleName ("Describe", Location), args).Resolve (ec);
+ }
+ Evaluator.SetPrinter (old_printer);
+ } else {
+ clone = clone.Resolve (ec);
+ if (clone == null)
+ return null;
+ }
+
// This means its really a statement.
if (clone.Type == TypeManager.void_type){
source = source.Resolve (ec);
if (left == TypeManager.decimal_type)
return b.ResolveUserOperator (ec, b.left.Type, b.right.Type);
- var c = b.right as IntegralConstant;
+ var c = b.right as Constant;
if (c != null) {
if (c.IsDefaultValue && (b.oper == Operator.Addition || b.oper == Operator.BitwiseOr || b.oper == Operator.Subtraction))
- return ReducedExpression.Create (b.left, b);
+ return ReducedExpression.Create (b.left, b).Resolve (ec);
+ if ((b.oper == Operator.Multiply || b.oper == Operator.Division) && c.IsOneInteger)
+ return ReducedExpression.Create (b.left, b).Resolve (ec);
return b;
}
- c = b.left as IntegralConstant;
+ c = b.left as Constant;
if (c != null) {
if (c.IsDefaultValue && (b.oper == Operator.Addition || b.oper == Operator.BitwiseOr))
- return ReducedExpression.Create (b.right, b);
+ return ReducedExpression.Create (b.right, b).Resolve (ec);
+ if (b.oper == Operator.Multiply && c.IsOneInteger)
+ return ReducedExpression.Create (b.right, b).Resolve (ec);
return b;
}
public Expression CreateCallSiteBinder (ResolveContext ec, Arguments args)
{
- Arguments binder_args = new Arguments (3);
+ Arguments binder_args = new Arguments (4);
MemberAccess sle = new MemberAccess (new MemberAccess (
new QualifiedAliasMember (QualifiedAliasMember.GlobalAlias, "System", loc), "Linq", loc), "Expressions", loc);
binder_args.Add (new Argument (new EnumConstant (new IntLiteral ((int) flags, loc), TypeManager.binder_flags)));
binder_args.Add (new Argument (new MemberAccess (new MemberAccess (sle, "ExpressionType", loc), GetOperatorExpressionTypeName (), loc)));
+ binder_args.Add (new Argument (new TypeOf (new TypeExpression (ec.CurrentType, loc), loc)));
binder_args.Add (new Argument (new ImplicitlyTypedArrayCreation ("[]", args.CreateDynamicBinderArguments (ec), loc)));
return new Invocation (DynamicExpressionStatement.GetBinder ("BinaryOperation", loc), binder_args);
left.Emit (ec);
- Constant right_const = right as Constant;
+ var right_const = right as Constant;
if (right_const != null) {
//
// Optimize 0-based arithmetic
if (right_const.IsDefaultValue)
return;
- if (size != 0) {
- // TODO: Should be the checks resolve context sensitive?
- ResolveContext rc = new ResolveContext (ec.MemberContext);
- right = ConstantFold.BinaryFold (rc, Binary.Operator.Multiply, new IntConstant (size, right.Location).Resolve (rc), right_const, loc);
- if (right == null)
- return;
- } else {
- ig.Emit (OpCodes.Sizeof, element);
- right = EmptyExpression.Null;
- }
+ if (size != 0)
+ right = new IntConstant (size, right.Location);
+ else
+ right = new SizeOf (new TypeExpression (element, right.Location), right.Location);
+
+ // TODO: Should be the checks resolve context sensitive?
+ ResolveContext rc = new ResolveContext (ec.MemberContext, ResolveContext.Options.UnsafeScope);
+ right = new Binary (Binary.Operator.Multiply, right, right_const).Resolve (rc);
+ if (right == null)
+ return;
}
right.Emit (ec);
public override void MutateHoistedGenericType (AnonymousMethodStorey storey)
{
- typearg = storey.MutateType (typearg);
+ if (!TypeManager.IsGenericTypeDefinition (typearg))
+ typearg = storey.MutateType (typearg);
}
public Type TypeArgument {
Expression size_expr, Attributes attrs, Location loc):
base (parent, type, mod, AllowedModifiers, new MemberName (name, loc), attrs)
{
- if (RootContext.Version < LanguageVersion.ISO_2)
- Report.FeatureIsNotAvailable (loc, "fixed size buffers");
-
initializer = new ConstInitializer (this, size_expr);
}
using System.Globalization;
using System.Collections.Generic;
using System.Text;
-using System.Text.RegularExpressions;
namespace Mono.CSharp {
/// The type parameter can come from a generic type definition or from reflection.
/// </summary>
public abstract class GenericConstraints {
- public abstract string TypeParameter {
- get;
- }
-
public abstract GenericParameterAttributes Attributes {
get;
}
Type base_type;
Type class_constraint;
Type[] iface_constraints;
- string name;
public static GenericConstraints GetConstraints (Type t)
{
private ReflectionConstraints (string name, Type[] constraints, GenericParameterAttributes attrs)
{
- this.name = name;
this.attrs = attrs;
int interface_constraints_pos = 0;
}
}
- public override string TypeParameter
- {
- get { return name; }
- }
-
public override GenericParameterAttributes Attributes
{
get { return attrs; }
Contravariant = -1
}
+ [Flags]
public enum SpecialConstraint
{
- Constructor,
- ReferenceType,
- ValueType
+ None = 0,
+ Constructor = 1 << 2,
+ Class = 1 << 3,
+ Struct = 1 << 4
}
- /// <summary>
- /// Tracks the constraints for a type parameter from a generic type definition.
- /// </summary>
- public class Constraints : GenericConstraints {
- string name;
- List<object> constraints;
- Location loc;
-
- //
- // name is the identifier, constraints is an arraylist of
- // Expressions (with types) or `true' for the constructor constraint.
- //
- public Constraints (string name, List<object> constraints, Location loc)
+ public class SpecialContraintExpr : FullNamedExpression
+ {
+ public SpecialContraintExpr (SpecialConstraint constraint, Location loc)
{
- this.name = name;
- this.constraints = constraints;
this.loc = loc;
+ this.Constraint = constraint;
}
- public override string TypeParameter {
- get {
- return name;
- }
- }
+ public SpecialConstraint Constraint { get; private set; }
- public Constraints Clone ()
+ protected override Expression DoResolve (ResolveContext rc)
{
- return new Constraints (name, constraints, loc);
+ throw new NotImplementedException ();
}
+ }
+ //
+ // A set of parsed constraints for a type parameter
+ //
+ public class Constraints : GenericConstraints
+ {
+ SimpleMemberName tparam;
+ List<FullNamedExpression> constraints;
+ Location loc;
GenericParameterAttributes attrs;
TypeExpr class_constraint;
List<TypeExpr> iface_constraints;
Type effective_base_type;
bool resolved;
bool resolved_types;
+
+ //
+ // name is the identifier, constraints is an arraylist of
+ // Expressions (with types) or `true' for the constructor constraint.
+ //
+ public Constraints (SimpleMemberName tparam, List<FullNamedExpression> constraints, Location loc)
+ {
+ this.tparam = tparam;
+ this.constraints = constraints;
+ this.loc = loc;
+ }
+
+ #region Properties
+
+ public SimpleMemberName TypeParameter {
+ get {
+ return tparam;
+ }
+ }
+
+ #endregion
+
+ public Constraints Clone ()
+ {
+ return new Constraints (tparam, constraints, loc);
+ }
/// <summary>
/// Resolve the constraints - but only resolve things into Expression's, not
iface_constraints = new List<TypeExpr> (2); // TODO: Too expensive allocation
type_param_constraints = new List<TypeExpr> ();
- foreach (object obj in constraints) {
- if (HasConstructorConstraint) {
- Report.Error (401, loc,
- "The new() constraint must be the last constraint specified");
- return false;
- }
+ foreach (var obj in constraints) {
- if (obj is SpecialConstraint) {
- SpecialConstraint sc = (SpecialConstraint) obj;
+ if (obj is SpecialContraintExpr) {
+ SpecialConstraint sc = ((SpecialContraintExpr) obj).Constraint;
if (sc == SpecialConstraint.Constructor) {
if (!HasValueTypeConstraint) {
attrs |= GenericParameterAttributes.DefaultConstructorConstraint;
continue;
}
-
- Report.Error (451, loc, "The `new()' constraint " +
- "cannot be used with the `struct' constraint");
- return false;
- }
-
- if ((num_constraints > 0) || HasReferenceTypeConstraint || HasValueTypeConstraint) {
- Report.Error (449, loc, "The `class' or `struct' " +
- "constraint must be the first constraint specified");
- return false;
}
- if (sc == SpecialConstraint.ReferenceType)
+ if (sc == SpecialConstraint.Class)
attrs |= GenericParameterAttributes.ReferenceTypeConstraint;
else
attrs |= GenericParameterAttributes.NotNullableValueTypeConstraint;
}
int errors = Report.Errors;
- FullNamedExpression fn = ((Expression) obj).ResolveAsTypeStep (ec, false);
+ FullNamedExpression fn = obj.ResolveAsTypeStep (ec, false);
if (fn == null) {
if (errors != Report.Errors)
return false;
- NamespaceEntry.Error_NamespaceNotFound (loc, ((Expression)obj).GetSignatureForError (), Report);
+ NamespaceEntry.Error_NamespaceNotFound (loc, obj.GetSignatureForError (), Report);
return false;
}
Report.Error (405, loc,
"Duplicate constraint `{0}' for type " +
"parameter `{1}'.", iface_constraint.GetSignatureForError (),
- name);
+ tparam.Value);
return false;
}
Report.Error (405, loc,
"Duplicate constraint `{0}' for type " +
- "parameter `{1}'.", expr.GetSignatureForError (), name);
+ "parameter `{1}'.", expr.GetSignatureForError (), tparam.Value);
return false;
}
if (constraints.HasValueTypeConstraint) {
Report.Error (456, loc,
"Type parameter `{0}' has the `struct' constraint, so it cannot be used as a constraint for `{1}'",
- tparam.Name, name);
+ tparam.Name, this.tparam.Value);
return false;
}
!Convert.ImplicitReferenceConversionExists (e2, prevConstraint.Type)) {
Report.Error (455, loc,
"Type parameter `{0}' inherits conflicting constraints `{1}' and `{2}'",
- name, TypeManager.CSharpName (prevConstraint.Type), TypeManager.CSharpName (t2));
+ this.tparam.Value, TypeManager.CSharpName (prevConstraint.Type), TypeManager.CSharpName (t2));
return false;
}
}
return t;
}
- public override string TypeParameter {
- get { return gc.TypeParameter; }
- }
-
public override GenericParameterAttributes Attributes {
get { return gc.Attributes; }
}
-<?xml version="1.0" encoding="utf-8"?>\r
+<?xml version="1.0" encoding="utf-8"?>\r
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">\r
<PropertyGroup>\r
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
<DebugType>full</DebugType>\r
<Optimize>false</Optimize>\r
<OutputPath>.</OutputPath>\r
- <DefineConstants>DEBUG;TRACE;NET_2_0;MS_COMPATIBLE</DefineConstants>\r
+ <DefineConstants>DEBUG;TRACE;NET_2_0</DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
<UseVSHostingProcess>false</UseVSHostingProcess>\r
Type [] mtypes = a.GetTypes ();
foreach (Type t in mtypes){
+ if (t.IsNotPublic)
+ continue;
+
string f = t.FullName;
if (f.StartsWith (prefix) && (result == null || !result.ContainsKey (f))){
MD addin for "csharp"
+* Supporting class-level declarations
+
+ It currently has a few problems:
+
+ * Support for overwritting existing defined
+ classes is not supported.
+
+ * The usability is not as useful, since the defaults
+ for C# are still to make members private, we should
+ change this default to be public in those cases.
+
+ * The error lookup system lacks information from types, for
+ example this causes an unsupported call into a TypeBuilder:
+
+ csharp>class D { void DD () {} }
+ csharp>var d = new D ();
+ csharp>d.DD ();
+
+ Internal compiler error at Internal(1,1):: exception caught while emitting MethodBuilder [Class0::Host]
+ System.NotSupportedException: The invoked member is not supported in a dynamic module.
+ at System.Reflection.Emit.AssemblyBuilder.get_Location () [0x00000] in <filename unknown>:0
+ at Mono.CSharp.Report.SymbolRelatedToPreviousError (System.Reflection.MemberInfo mi) [0x00000] in
+ at Mono.CSharp.MethodGroupExpr.NoExactMatch (Mono.CSharp.ResolveContext ec,
+ Mono.CSharp.Arguments& Arguments, IDictionary`2 c
+
+
+ The above is caused by TypeManager.LookupDeclSpace (dt)
+ failing to return a value (it returns null) so our code
+ assumes we have an Assembly instead of an assemblybuilder.
+
+
+
+* Declaring a class twice produces an internal parse error:
+
+ class X {}
+ class X {}
+
+ The second declaration will no longer be parsed, so it could even
+ contain junk, and wont be flagged. We probably need to allow for
+ type redefinition in REPL modes, the exception from the second is:
+
+ csharp -v -v
+ > class X {}
+ > class X {}
+
+ System.ArgumentException: An element with the same key already exists in the dictionary.
+ at System.Collections.Generic.Dictionary`2[System.String,Mono.CSharp.DeclSpace].Add (System.String key, Mono.CSharp.DeclSpace value) [0x00000] in <filename unknown>:0
+ at Mono.CSharp.Namespace.AddDeclSpace (System.String name, Mono.CSharp.DeclSpace ds) [0x00000] in <filename unknown>:0
+ at Mono.CSharp.ModuleCompiled.AddMemberType (Mono.CSharp.DeclSpace ds) [0x00000] in <filename unknown>:0
+ at Mono.CSharp.TypeContainer.AddTypeContainer (Mono.CSharp.TypeContainer tc) [0x00000] in <filename unknown>:0
+ at Mono.CSharp.CSharpParser.push_current_class (Mono.CSharp.TypeContainer tc, System.Object partial_token) [0x00000] in <filename unknown>:0
+ at Mono.CSharp.CSharpParser.yyparse (yyInput yyLex) [0x00000] in <filename unknown>:0
+ at Mono.CSharp.CSharpParser.yyparse (yyInput yyLex, System.Object yyd) [0x00000] in <filename unknown>:0
+ at Mono.CSharp.CSharpParser.parse () [0x00000] in <filename unknown>:0
+
* Mix statements with other top-level declarations.
csharp> class Y {static void Main () {Console.WriteLine ("Foo"); }}
This is easy to implement, just retry the parse with a
semicolon, the question is whether this is a good idea to do
in the first place or not.
-
-* Tab Completion
-
- Implement tab completion on names, variables and type lookups.
-
- This could be implemented by having the TAB key force the
- expression to be evaluated with a special COMPLETE token
- at the end.
-
- Then the various productions (one by one) would have to
- add support for COMPLETE, and having Resolve methods be
- aware of this.
-
this.printer = printer;
return old;
}
-
+
public int WarningLevel {
get {
return warning_level;
//
// Generic base for any message writer
//
- public abstract class ReportPrinter
- {
+ public abstract class ReportPrinter {
/// <summary>
/// Whether to dump a stack trace on errors.
/// </summary>
{
}
- public bool Fatal { get; set; }
+ public int Fatal { get; set; }
static int NameToCode (string s)
{
return sb.ToString ();
}
+ int print_count;
public override void Print (AbstractMessage msg)
{
base.Print (msg);
if (Stacktrace)
Console.WriteLine (FriendlyStackTrace (new StackTrace (true)));
- if (Fatal)
+ if (++print_count == Fatal)
throw new Exception (msg.Text);
}
{
ISO_1 = 1,
ISO_2 = 2,
- V_3 = 3,
- V_4 = 4,
+ V_3 = 3,
+ V_4 = 4,
Future = 100,
Default = LanguageVersion.V_4,
public static bool VerifyClsCompliance = true;
public static bool Optimize = true;
public static LanguageVersion Version;
+ public static bool EnhancedWarnings;
public static MetadataVersion MetadataCompatibilityVersion;
Assert (binder.Operation, ExpressionType.Add, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.Add, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.LiteralConstant, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null) },
"ArgumentInfo");
Assert (arg, 3, "arg");
Assert (binder.Operation, ExpressionType.Add, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.LiteralConstant, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null) },
"ArgumentInfo");
Assert (arg, 3, "arg");
Assert (binder.Operation, ExpressionType.AddAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.AddAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.And, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.AndAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.Divide, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.DivideAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.Equal, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.ExclusiveOr, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.ExclusiveOrAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.GreaterThan, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.GreaterThanOrEqual, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.LeftShift, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.LeftShiftAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.LessThan, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.LessThanOrEqual, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.Modulo, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.ModuloAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.Multiply, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.MultiplyAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.NotEqual, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 4, "arg");
Assert (binder.Operation, ExpressionType.Or, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 2, "arg");
Assert (binder.Operation, ExpressionType.OrAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 2, "arg");
Assert (binder.Operation, ExpressionType.RightShift, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.RightShiftAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.Subtract, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
Assert (binder.Operation, ExpressionType.SubtractAssign, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, 1, "arg");
// Assert (binder.CallingContext, typeof (Tester), "CallingContext");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert ((IList<object>)args, new object[] { 0 }, "args");
// Assert (binder.CallingContext, typeof (Tester), "CallingContext");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null),
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null),
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
// Assert (binder.CallingContext, typeof (Tester), "CallingContext");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null)
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null),
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null)
}, "ArgumentInfo");
Assert ((IList<object>) args, new object[] { "foo", null }, "args");
// Assert (binder.CallingContext, typeof (Tester), "CallingContext");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null)},
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null)},
"ArgumentInfo");
// Assert (binder.Flags, CSharpCallFlags.None, "Flags");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType, null),
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.LiteralConstant, null),
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null),
}, "ArgumentInfo");
// Assert (binder.Flags, CSharpCallFlags.SimpleNameCall, "Flags");
Assert (binder.IgnoreCase, false, "IgnoreCase");
// Assert (binder.CallingContext, typeof (Tester), "CallingContext");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null)},
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null),
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null)},
"ArgumentInfo");
Assert ((IList<object>) args, new object[] { 0 }, "args");
// Assert (binder.CallingContext, typeof (Tester), "CallingContext");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null),
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null),
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType, null),
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType, null)
}, "ArgumentInfo");
// Assert (binder.CallingContext, typeof (Tester), "CallingContext");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.LiteralConstant, null) // CSC bug?
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.Constant, null) // CSC bug?
}, "ArgumentInfo");
Assert (value, d_const, "value");
Assert (binder.Operation, ExpressionType.Equal, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, null, "arg");
Assert (binder.Operation, ExpressionType.NotEqual, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, null, "arg");
Assert (binder.Operation, ExpressionType.And, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, null, "arg");
Assert (binder.Operation, ExpressionType.Or, "Operation");
AssertArgument (binder, new[] {
CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.None, null),
- CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.LiteralConstant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
+ CSharpArgumentInfo.Create (CSharpArgumentInfoFlags.Constant | CSharpArgumentInfoFlags.UseCompileTimeType, null) },
"ArgumentInfo");
Assert (arg, null, "arg");
if (res.Length != 4){
throw new Exception ("Epxected 4 completions (Capacity Chars Length MaxCapacity)");
}
+
+ // These should return "partial"
+ object eval_result;
+ bool result_set;
+ string sres = Evaluator.Evaluate ("1+", out eval_result, out result_set);
+ if (result_set)
+ throw new Exception ("No result should have been set");
+ if (sres != "1+")
+ throw new Exception ("The result should have been the input string, since we have a partial input");
+
}
}
}
}
+class A<U>
+{
+ public class Test<T>
+ {
+ public static Nested<T> Foo ()
+ {
+ return null;
+ }
+
+ public class Nested<X>
+ {
+ }
+ }
+}
+
class X
{
- static void Main ()
+ static int Main ()
{
Stack<int> stack = new Stack<int> (1);
INode<int> node = stack.GetNode ();
Stack<int>.Foo<int> foo = stack.GetFoo (7);
Stack<int>.Bar<int> bar = stack.GetBar (8);
+
+ A<bool>.Test<string>.Nested<string> v = A<bool>.Test<string>.Foo ();
+ return 0;
}
}
--- /dev/null
+class C<T>
+{
+ public virtual void CopyUnsafe(T[] value, params long[] fromIdx){}
+ public virtual bool CopyUnsafe(T[] value, long fromIdx) { return true; }
+
+ public virtual void CopyUnsafe(T[] value)
+ {
+ bool b = CopyUnsafe(value, 0);
+ }
+}
+
+class A
+{
+ public static void Main ()
+ {
+ }
+}
}
}
+interface IFoo<TOne,TTwo>
+{
+}
+
class Test
{
static Func<T[]> For<T> (List<T> list)
};
}
+ static Func<Type> TypeOf<T> (T t)
+ {
+ T l = t;
+ return () => {
+ l = t;
+ var e = typeof (Disposable <T>);
+ e = typeof (Disposable <>);
+ e = typeof (IFoo <,>);
+ return typeof (T);
+ };
+ }
+
static Func<T> Do<T> (T t)
{
T l = t;
var t10 = ArrayMultiMutate (new string [][] { new string [] { "a", "b", "c" }, new string [] { "1", "2", "3" }, new string [] { "A", "B", "C" }});
if (t10 () [2] [2] != null)
return 10;
+
+ var t11 = TypeOf ("b");
+ if (t11 () != typeof (string))
+ return 11;
Console.WriteLine ("OK");
return 0;
--- /dev/null
+// Compiler options: -t:library
+
+public class Call<T>
+{
+ public T Field;
+}
--- /dev/null
+// Compiler options: -r:gtest-anon-58-lib.dll
+
+using System;
+
+public class Test
+{
+ public X Foo<X> (bool b)
+ {
+ Call<X> foo = new Call<X> ();
+ if (b) {
+ Func<X> f = () => foo.Field;
+ return f ();
+ }
+
+ throw null;
+ }
+
+ public X FooNested<X> (bool b)
+ {
+ Call<Call<X>> foo = new Call<Call<X>> ();
+ foo.Field = new Call<X> ();
+ if (b) {
+ Func<Call<X>> f = () => foo.Field;
+ return f ().Field;
+ }
+
+ throw null;
+ }
+
+ public static int Main ()
+ {
+ var v = new Test ();
+ if (v.Foo<int>(true) != 0)
+ return 1;
+
+ if (v.FooNested<int>(true) != 0)
+ return 2;
+
+ return 0;
+ }
+}
--- /dev/null
+// Compiler options: -unsafe
+
+using System;
+using System.Runtime.InteropServices;
+
+class FixedTest
+{
+ [StructLayout (LayoutKind.Explicit)]
+ public unsafe struct Value
+ {
+ [FieldOffset (0)]
+ public void* p;
+ [FieldOffset (0)]
+ public double n;
+ [FieldOffset (0)]
+ public long i;
+ [FieldOffset (0)]
+ public bool b;
+ }
+
+ [StructLayout (LayoutKind.Sequential, Pack = 4)]
+ public unsafe struct TValue
+ {
+ public Value value;
+
+ public TValue (long x)
+ {
+ value = new Value ();
+ value.i = x;
+ }
+
+ public override string ToString ()
+ {
+ return value.i.ToString ();
+ }
+ }
+
+ public static unsafe int Main ()
+ {
+ TValue[] values = new TValue[10];
+ values[0] = new TValue (0L);
+ values[1] = new TValue (1000L);
+ values[2] = new TValue (1L);
+ Console.WriteLine ("values: {0} {1} {2}", values[0], values[1], values[2]);
+ fixed (TValue* vals = values) {
+ Console.WriteLine ("fixed: {0} {1} {2}", vals[0], vals[1], vals[2]);
+ if (vals[0].ToString () != "0")
+ return 1;
+
+ if (vals[1].ToString() != "1000")
+ return 2;
+
+ if (vals[2].ToString() != "1")
+ return 3;
+ }
+
+ Console.WriteLine ("ok");
+ return 0;
+ }
+}
--- /dev/null
+// Compiler options: -warnaserror
+
+using System;
+
+[assembly: CLSCompliant (true)]
+
+public partial class A
+{
+ public partial class PartialClass
+ {
+ public void Method1 (int arg)
+ {
+ }
+
+ [CLSCompliant (false)]
+ public void Method2 (uint arg)
+ {
+ }
+ }
+
+ public static void Main ()
+ {
+ }
+}
+
+partial class A
+{
+ /*public*/ partial class PartialClass
+ {
+ [CLSCompliant (false)]
+ public void Method3 (uint arg)
+ {
+ }
+ }
+}
<method name="Void .ctor()">
<size>7</size>
</method>
- <method name="Void Main()">
- <size>31</size>
+ </type>
+ <type name="A`1[U]">
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="A`1+Test`1[U,T]">
+ <method name="A`1+Test`1+Nested`1[U,T,T] Foo()">
+ <size>2</size>
+ </method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="A`1+Test`1+Nested`1[U,T,X]">
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="X">
+ <method name="Int32 Main()">
+ <size>39</size>
</method>
</type>
</test>
<size>7</size>
</method>
<method name="Boolean MoveNext()">
- <size>147</size>
+ <size>145</size>
</method>
<method name="Void Dispose()">
<size>8</size>
</method>
</type>
</test>
+ <test name="gtest-472.cs">
+ <type name="C`1[T]">
+ <method name="Void CopyUnsafe(T[], System.Int64[])">
+ <size>1</size>
+ </method>
+ <method name="Boolean CopyUnsafe(T[], Int64)">
+ <size>2</size>
+ </method>
+ <method name="Void CopyUnsafe(T[])">
+ <size>11</size>
+ </method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="A">
+ <method name="Void Main()">
+ <size>1</size>
+ </method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ </test>
<test name="gtest-anon-1.cs">
<type name="X">
<method name="Void .ctor()">
<size>26</size>
</method>
<method name="Int32 Main()">
- <size>431</size>
+ <size>468</size>
</method>
</type>
<type name="Test+<For>c__AnonStorey0`1[T]">
<size>23</size>
</method>
</type>
- <type name="Test+<Do>c__AnonStorey2`1[T]">
- <method name="Void .ctor()">
- <size>7</size>
+ <type name="Test">
+ <method name="Void ArrayMutate[T](T[])">
+ <size>27</size>
</method>
- <method name="T <>m__2()">
- <size>28</size>
+ <method name="System.Func`1[T[][]] ArrayMultiMutate[T](T[][])">
+ <size>26</size>
+ </method>
+ <method name="System.Func`1[System.Type] TypeOf[T](T)">
+ <size>38</size>
</method>
</type>
- <type name="Test+<Lock>c__AnonStorey3`1[T]">
+ <type name="Test+<TypeOf>c__AnonStorey2`1[T]">
+ <method name="System.Type <>m__2()">
+ <size>56</size>
+ </method>
<method name="Void .ctor()">
<size>7</size>
</method>
+ </type>
+ <type name="Test+<Do>c__AnonStorey3`1[T]">
<method name="T <>m__3()">
- <size>65</size>
+ <size>28</size>
</method>
- </type>
- <type name="Test+<Catch>c__AnonStorey4`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
+ </type>
+ <type name="Test+<Lock>c__AnonStorey4`1[T]">
<method name="T <>m__4()">
- <size>48</size>
+ <size>65</size>
</method>
- </type>
- <type name="Test+<Finally>c__AnonStorey5`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
+ </type>
+ <type name="Test+<Catch>c__AnonStorey5`1[T]">
<method name="T <>m__5()">
- <size>50</size>
+ <size>48</size>
</method>
- </type>
- <type name="Test+<Using>c__AnonStorey6`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
+ </type>
+ <type name="Test+<Finally>c__AnonStorey6`1[T]">
<method name="T <>m__6()">
+ <size>50</size>
+ </method>
+ <method name="Void .ctor()">
<size>7</size>
</method>
</type>
- <type name="Test+<Switch>c__AnonStorey7`1[T]">
+ <type name="Test+<Using>c__AnonStorey7`1[T]">
+ <method name="T <>m__7()">
+ <size>7</size>
+ </method>
<method name="Void .ctor()">
<size>7</size>
</method>
- <method name="T <>m__7()">
+ </type>
+ <type name="Test+<Switch>c__AnonStorey8`1[T]">
+ <method name="T <>m__8()">
<size>35</size>
</method>
- </type>
- <type name="Test+<ForForeach>c__AnonStorey8`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
- <method name="System.Collections.Generic.List`1[T] <>m__8()">
- <size>56</size>
- </method>
</type>
- <type name="Test">
- <method name="Void ArrayMutate[T](T[])">
- <size>27</size>
+ <type name="Test+<ForForeach>c__AnonStorey9`1[T]">
+ <method name="System.Collections.Generic.List`1[T] <>m__9()">
+ <size>56</size>
</method>
- </type>
- <type name="Test+<ArrayMutate>c__AnonStorey9`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
- <method name="Void <>m__9(Int32)">
- <size>36</size>
- </method>
</type>
- <type name="Test">
- <method name="System.Func`1[T[][]] ArrayMultiMutate[T](T[][])">
- <size>26</size>
+ <type name="Test+<ArrayMutate>c__AnonStoreyA`1[T]">
+ <method name="Void <>m__A(Int32)">
+ <size>36</size>
</method>
- </type>
- <type name="Test+<ArrayMultiMutate>c__AnonStoreyA`1[T]">
<method name="Void .ctor()">
<size>7</size>
</method>
- <method name="T[][] <>m__A()">
+ </type>
+ <type name="Test+<ArrayMultiMutate>c__AnonStoreyB`1[T]">
+ <method name="T[][] <>m__B()">
<size>48</size>
</method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
</type>
</test>
<test name="gtest-anon-25.cs">
</method>
</type>
</test>
+ <test name="gtest-anon-58.cs">
+ <type name="Test">
+ <method name="X Foo[X](Boolean)">
+ <size>45</size>
+ </method>
+ <method name="X FooNested[X](Boolean)">
+ <size>66</size>
+ </method>
+ <method name="Int32 Main()">
+ <size>36</size>
+ </method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="Test+<Foo>c__AnonStorey0`1[X]">
+ <method name="X <>m__0()">
+ <size>12</size>
+ </method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="Test+<FooNested>c__AnonStorey1`1[X]">
+ <method name="Call`1[X] <>m__1()">
+ <size>12</size>
+ </method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ </test>
<test name="gtest-anon-6.cs">
<type name="X">
<method name="Void .ctor()">
<size>17</size>
</method>
<method name="Int32 Main()">
- <size>84</size>
+ <size>86</size>
</method>
</type>
</test>
<size>73</size>
</method>
<method name="Void Or()">
- <size>137</size>
+ <size>129</size>
</method>
<method name="Int32 Main()">
<size>70</size>
<size>79</size>
</method>
<method name="Void TestOr(Boolean)">
- <size>92</size>
+ <size>88</size>
</method>
<method name="Void Test(Boolean)">
<size>13</size>
<size>11</size>
</method>
<method name="Void Main()">
- <size>169</size>
+ <size>167</size>
</method>
</type>
</test>
</method>
</type>
</test>
+ <test name="test-740.cs">
+ <type name="FixedTest">
+ <method name="Int32 Main()">
+ <size>318</size>
+ </method>
+ <method name="Void .ctor()">
+ <size>7</size>
+ </method>
+ </type>
+ <type name="FixedTest+TValue">
+ <method name="System.String ToString()">
+ <size>17</size>
+ </method>
+ <method name="Void .ctor(Int64)">
+ <size>28</size>
+ </method>
+ </type>
+ </test>
<test name="test-75.cs">
<type name="X">
<method name="Void .ctor()">
<size>7</size>
</method>
<method name="Boolean MoveNext()">
- <size>147</size>
+ <size>145</size>
</method>
<method name="Void Dispose()">
<size>8</size>
+2010-02-18 Marek Habersack <mhabersack@novell.com>
+
+ * Makefile (net_2_0_dirs): added mono-configuration-crypto
+
2010-01-12 Jonathan Pryor <jpryor@novell.com>
* Makefile: monodoc should only be built under the 2.0 profile.
prj2make \
mod \
installvst \
- lc
+ lc \
+ mono-configuration-crypto
net_2_1_dirs := \
compiler-tester
+2010-02-10 Marek Habersack <mhabersack@novell.com>
+
+ * mono-api-info.cs: added support for extracting and generating
+ TypeForwardedTo assembly attributes.
+
2009-06-03 Jb Evain <jbevain@novell.com>
* AssemblyResolver.cs: properly attach the resolver to the
throw new ArgumentNullException ("typeref");
TypeDefinition td = typeref.Resolve ();
+ if (td == null)
+ return false;
+
return td.IsPublic;
}
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
+using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using System.Text;
}
}
+ class TypeForwardedToData : BaseData
+ {
+ AssemblyDefinition ass;
+
+ public TypeForwardedToData (XmlDocument document, XmlNode parent, AssemblyDefinition ass)
+ : base (document, parent)
+ {
+ this.ass = ass;
+ }
+
+ public override void DoOutput ()
+ {
+ XmlNode natts = parent.SelectSingleNode("attributes");
+ if (natts == null) {
+ natts = document.CreateElement ("attributes", null);
+ parent.AppendChild (natts);
+ }
+
+ foreach (TypeReference tref in ass.MainModule.ExternTypes) {
+ TypeDefinition def = tref.Resolve ();
+ if (def == null)
+ continue;
+
+ if (((uint)def.Attributes & 0x200000u) == 0)
+ continue;
+
+ XmlNode node = document.CreateElement ("attribute");
+ AddAttribute (node, "name", typeof (TypeForwardedToAttribute).FullName);
+ XmlNode properties = node.AppendChild (document.CreateElement ("properties"));
+ XmlNode property = properties.AppendChild (document.CreateElement ("property"));
+ AddAttribute (property, "name", "Destination");
+ AddAttribute (property, "value", Utils.CleanupTypeName (tref));
+ natts.AppendChild (node);
+ }
+ }
+
+ public static void OutputForwarders (XmlDocument document, XmlNode parent, AssemblyDefinition ass)
+ {
+ TypeForwardedToData tftd = new TypeForwardedToData (document, parent, ass);
+ tftd.DoOutput ();
+ }
+ }
+
class AssemblyData : BaseData
{
AssemblyDefinition ass;
AddAttribute (nassembly, "name", aname.Name);
AddAttribute (nassembly, "version", aname.Version.ToString ());
parent.AppendChild (nassembly);
+ TypeForwardedToData.OutputForwarders (document, nassembly, ass);
AttributeData.OutputAttributes (document, nassembly, ass.CustomAttributes);
TypeDefinitionCollection typesCollection = ass.MainModule.Types;
if (typesCollection == null || typesCollection.Count == 0)
+2010-02-08 Miguel de Icaza <miguel@novell.com>
+
+ * getline.cs: Add support for ESC-letter to become Alt-letter.
+
+2010-02-05 Miguel de Icaza <miguel@novell.com>
+
+ * getline.cs (NextAvailable): Fix off-by-one error
+
+2010-02-04 Miguel de Icaza <miguel@novell.com>
+
+ * Take advantage of the Describe feature.
+
2009-12-16 Miguel de Icaza <miguel@novell.com>
* repl.cs: Avoid crash, fixes 554898
// Console needs a way of updating its position after things have been written
// behind its back (P/Invoke puts for example).
// System.Console needs to get the DELETE character, and report accordingly.
-// Typing before the program start causes the cursor position to be wrong
-// This is caused by Console not reading all the available data
-// before sending the report-position sequence and reading it back.
//
#if NET_2_0 || NET_1_1
#define IN_MCS_BUILD
ConsoleKeyInfo cki;
while (!done){
+ ConsoleModifiers mod;
+
cki = Console.ReadKey (true);
+ if (cki.Key == ConsoleKey.Escape){
+ cki = Console.ReadKey (true);
+ mod = ConsoleModifiers.Alt;
+ } else
+ mod = cki.Modifiers;
+
bool handled = false;
+
foreach (Handler handler in handlers){
ConsoleKeyInfo t = handler.CKI;
- if (t.Key == cki.Key && t.Modifiers == cki.Modifiers){
+ if (t.Key == cki.Key && t.Modifiers == mod){
handled = true;
handler.KeyHandler ();
last_handler = handler.KeyHandler;
public bool NextAvailable ()
{
int next = (cursor + 1) % history.Length;
- if (count == 0 || next > head)
+ if (count == 0 || next >= head)
return false;
return true;
string [] startup_files;
try {
startup_files = Evaluator.InitAndGetStartupFiles (args);
+ Evaluator.DescribeTypeExpressions = true;
Evaluator.InteractiveBaseClass = typeof (InteractiveBaseShell);
} catch {
return 1;
+2010-02-01 Jb Evain <jbevain@novell.com>
+
+ * MarkStep.cs: SoapHeader can either take a field or a property.
+
+2010-01-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * Makefile: Fetch Mono.Cecil.dll from whatever profile we happen to be
+ building in.
+
2010-01-14 Jb Evain <jbevain@novell.com>
* MarkStep.cs: preserve fields specified by the
<type fullname="System.Reflection.Emit.GenericTypeParameterBuilder" preserve="fields" />
<type fullname="System.Reflection.Emit.ILExceptionBlock" preserve="fields" />
<type fullname="System.Reflection.Emit.ILExceptionInfo" preserve="fields" />
- <type fullname="System.Reflection.Emit.ILGenerator" preserve="fields" />
+ <type fullname="System.Reflection.Emit.ILGenerator" preserve="fields">
+ <method name="Mono_GetCurrentOffset" />
+ </type>
<type fullname="System.Reflection.Emit.LocalBuilder" preserve="fields">
<method name="Mono_GetLocalIndex" />
</type>
PROGRAM_SNK = ../../class/mono.snk
-CECIL = $(topdir)/class/lib/net_2_0/Mono.Cecil.dll
+CECIL = $(topdir)/class/lib/$(PROFILE)/Mono.Cecil.dll
RESOURCES = \
Descriptors/mscorlib.xml \
void MarkSoapHeader (MethodDefinition method, CustomAttribute attribute)
{
- string field_name;
- if (!TryGetStringArgument (attribute, out field_name))
+ string member_name;
+ if (!TryGetStringArgument (attribute, out member_name))
return;
- MarkNamedField (method.DeclaringType, field_name);
+ MarkNamedField (method.DeclaringType, member_name);
+ MarkNamedProperty (method.DeclaringType, member_name);
}
void MarkNamedField (TypeDefinition type, string field_name)
}
}
+ void MarkNamedProperty (TypeDefinition type, string property_name)
+ {
+ if (!type.HasProperties)
+ return;
+
+ foreach (PropertyDefinition property in type.Properties) {
+ if (property.Name != property_name)
+ continue;
+
+ MarkMethod (property.GetMethod);
+ MarkMethod (property.SetMethod);
+ }
+ }
+
void MarkGenericParameterProvider (IGenericParameterProvider provider)
{
if (!provider.HasGenericParameters)
--- /dev/null
+thisdir = tools/mono-configuration-crypto
+SUBDIRS = lib cli
+include ../../build/rules.make
+
+all-local:
+
+install-local:
+
+dist-local:
+
+clean-local:
--- /dev/null
+thisdir = tools/mono-configuration-crypto/cli
+SUBDIRS =
+include ../../../build/rules.make
+
+LOCAL_MCS_FLAGS = -r:Mono.Security.dll \
+ -r:System.Security.dll \
+ -r:System.Configuration.dll \
+ -r:System.dll \
+ -r:$(topdir)/class/lib/$(PROFILE)/Mono.Configuration.Crypto.dll
+
+PROGRAM = mono-configuration-crypto.exe
+PROGRAM_INSTALL_DIR = $(mono_libdir)/mono/mono-configuration-crypto/$(FRAMEWORK_VERSION)
+
+include ../../../build/executable.make
--- /dev/null
+using System;
+
+namespace MonoConfigurationCrypto
+{
+ sealed class Config
+ {
+ public const string DefaultContainerName = "MonoFrameworkConfigurationKey";
+ public const uint DefaultKeySize = 1024;
+ public const string DefaultApplicationPhysicalPath = ".";
+ public const string DefaultConfigFileName = "Web.config";
+
+ public string ApplicationPhysicalPath {
+ get;
+ set;
+ }
+
+ public string ConfigSectionName {
+ get;
+ set;
+ }
+
+ public string ConfigFileName {
+ get;
+ set;
+ }
+
+ public string FileName {
+ get;
+ set;
+ }
+
+ public bool UseMachinePath {
+ get;
+ set;
+ }
+
+ public bool ShowHelp {
+ get;
+ set;
+ }
+
+ public string ContainerName {
+ get;
+ set;
+ }
+
+ public uint KeySize {
+ get;
+ set;
+ }
+
+ public bool Verbose {
+ get;
+ set;
+ }
+
+ public Config ()
+ {
+ ApplicationPhysicalPath = DefaultApplicationPhysicalPath;
+ ContainerName = DefaultContainerName;
+ ConfigFileName = DefaultContainerName;
+ KeySize = DefaultKeySize;
+ }
+ }
+}
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Reflection;
+
+using Mono.Options;
+using Mono.Configuration.Crypto;
+
+[assembly: AssemblyTitle ("mono-configuration-crypto")]
+[assembly: AssemblyDescription ("Mono configuration utility to manage encryption keys and encrypt/decrypt config file sections")]
+[assembly: AssemblyCompany (Consts.MonoCompany)]
+[assembly: AssemblyProduct ("Mono Configuration Cryptography Tools")]
+[assembly: AssemblyCopyright ("Copyright (c) 2010 Novell, Inc (http://novell.com, http://mono-project.com/)")]
+[assembly: AssemblyVersion (Consts.FxVersion)]
+
+namespace MonoConfigurationCrypto
+{
+ class MonoConfigurationCrypto
+ {
+ void Success ()
+ {
+ Console.WriteLine ("Success.");
+ }
+
+ void Failure (Exception ex, Config cfg)
+ {
+ Failure (ex, cfg, null);
+ }
+
+ void Failure (Config cfg, string message, params object[] parms)
+ {
+ Failure (null, cfg, message, parms);
+ }
+
+ void Failure (Exception ex, Config cfg, string message, params object[] parms)
+ {
+ if (!String.IsNullOrEmpty (message)) {
+ if (parms == null || parms.Length == 0)
+ Console.Error.WriteLine (message);
+ else
+ Console.Error.WriteLine (message, parms);
+ }
+
+ if (ex != null) {
+ if (cfg.Verbose)
+ Console.Error.WriteLine (ex.ToString ());
+ else
+ Console.Error.WriteLine (ex.Message);
+ }
+ Console.Error.WriteLine ("Failure.");
+ }
+
+ bool ListContainers (Config cfg)
+ {
+ try {
+ var kc = new KeyContainerCollection (cfg.UseMachinePath);
+ int count;
+ foreach (KeyContainer c in kc) {
+ count = c.Count;
+ Console.WriteLine ("{0} container '{1}' ({2} key{3})", c.Local ? "Local" : "Global", c.Name, count,
+ count == 1 ? String.Empty : "s");
+ }
+ } catch (Exception ex) {
+ Failure (ex, cfg);
+ }
+
+ return true;
+ }
+
+ string FindConfigFile (string path, string configFileName)
+ {
+ if (!Directory.Exists (path))
+ return null;
+
+ string fileName = null;
+ foreach (var s in Directory.GetFiles (path, "*.*", SearchOption.TopDirectoryOnly)) {
+ string fn = Path.GetFileName (s);
+ if (String.Compare (fn, configFileName, StringComparison.OrdinalIgnoreCase) == 0) {
+ fileName = fn;
+ break;
+ }
+ }
+
+ if (fileName == null)
+ return null;
+
+ return Path.Combine (path, fileName);
+ }
+
+ bool EncryptSection (Config cfg)
+ {
+ string configSection = cfg.ConfigSectionName;
+ string containerName = cfg.ContainerName;
+ string configFile = FindConfigFile (cfg.ApplicationPhysicalPath, cfg.ConfigFileName);
+
+ Console.WriteLine ("Encrypting section '{0}' in config file '{1}' using key container '{2}'...", configSection, configFile, containerName);
+
+ if (String.IsNullOrEmpty (configFile)) {
+ Failure (cfg, "No config file found in directory '{0}'", cfg.ApplicationPhysicalPath);
+ return true;
+ }
+
+ if (String.IsNullOrEmpty (configSection)) {
+ Failure (cfg, "No config section name specified.");
+ return true;
+ }
+
+ try {
+ var cs = new ConfigSection ();
+ cs.Encrypt (configFile, configSection, containerName, cfg.UseMachinePath);
+ Console.WriteLine ("Success.");
+ } catch (Exception ex) {
+ Failure (ex, cfg);
+ return true;
+ }
+
+ return false;
+ }
+
+ bool DecryptSection (Config cfg)
+ {
+ string configSection = cfg.ConfigSectionName;
+ string containerName = cfg.ContainerName;
+ string configFile = FindConfigFile (cfg.ApplicationPhysicalPath, cfg.ConfigFileName);
+
+ Console.WriteLine ("Decrypting section '{0}' in config file '{1}' using key container '{2}'...", configSection, configFile, containerName);
+
+ if (String.IsNullOrEmpty (configFile)) {
+ Failure (cfg, "No config file found in directory '{0}'", cfg.ApplicationPhysicalPath);
+ return true;
+ }
+
+ if (String.IsNullOrEmpty (configSection)) {
+ Failure (cfg, "No config section name specified.");
+ return true;
+ }
+
+ try {
+ var cs = new ConfigSection ();
+ cs.Decrypt (configFile, configSection, containerName, cfg.UseMachinePath);
+ Console.WriteLine ("Success.");
+ } catch (Exception ex) {
+ Failure (ex, cfg);
+ return true;
+ }
+
+ return false;
+ }
+
+ bool CreateKey (Config cfg)
+ {
+ string name = cfg.ContainerName;
+ KeyContainerCollection kc;
+
+ Console.WriteLine ("Creating RSA key container '{0}'...", name);
+ try {
+ kc = new KeyContainerCollection (cfg.UseMachinePath);
+ if (kc.Contains (name)) {
+ Failure (cfg, "The RSA container already exists.");
+ return true;
+ }
+
+ var k = new Key (name, cfg.KeySize, cfg.UseMachinePath);
+ if (!k.IsValid) {
+ Failure (cfg, "Failed to generate RSA key pair.");
+ return true;
+ }
+ k.Save ();
+ Success ();
+ } catch (Exception ex) {
+ Failure (ex, cfg);
+ return true;
+ }
+
+ return false;
+ }
+
+ bool ImportKey (Config cfg)
+ {
+ string containerName = cfg.ContainerName;
+ string fileName = cfg.FileName;
+
+ Console.WriteLine ("Importing an RSA key from file '{0}' into the container '{1}'...", fileName, containerName);
+ if (String.IsNullOrEmpty (containerName)) {
+ Failure (cfg, "Unspecified container name.");
+ return true;
+ }
+
+ if (String.IsNullOrEmpty (fileName)) {
+ Failure (cfg, "Unspecified file name.");
+ return true;
+ }
+
+ if (!File.Exists (fileName)) {
+ Failure (cfg, "Key file '{0}' does not exist.", fileName);
+ return true;
+ }
+
+ KeyContainerCollection kcc;
+ Key key;
+ KeyContainer kc;
+ try {
+ kcc = new KeyContainerCollection (cfg.UseMachinePath);
+ kc = kcc [containerName];
+
+ if (kc != null)
+ key = kc [0];
+ else
+ key = null;
+
+ // No validation is performed on the key - this is left for the
+ // encryption algorithm implementation to do.
+ string keyvalue = File.ReadAllText (fileName);
+ if (key == null)
+ key = new Key (containerName, keyvalue, cfg.UseMachinePath);
+ else {
+ key.KeyValue = keyvalue;
+ key.ContainerName = containerName;
+ }
+
+ key.Save ();
+ Console.WriteLine ("Success.");
+ } catch (Exception ex) {
+ Failure (ex, cfg);
+ return true;
+ }
+
+ return false;
+ }
+
+ bool ExportKey (Config cfg)
+ {
+ string containerName = cfg.ContainerName;
+ string fileName = cfg.FileName;
+
+ Console.WriteLine ("Exporting an RSA key from container '{0}' to file '{1}'...", containerName, fileName);
+ if (String.IsNullOrEmpty (containerName)) {
+ Failure (cfg, "Unspecified container name.");
+ return true;
+ }
+
+ if (String.IsNullOrEmpty (fileName)) {
+ Failure (cfg, "Unspecified file name.");
+ return true;
+ }
+
+ KeyContainerCollection kcc;
+ Key key;
+ KeyContainer kc;
+ try {
+ kcc = new KeyContainerCollection (cfg.UseMachinePath);
+ kc = kcc [containerName];
+
+ if (kc != null)
+ key = kc [0];
+ else {
+ Failure (cfg, "Container '{0}' does not exist.", containerName);
+ return true;
+ }
+
+ if (key == null) {
+ Failure (cfg, "Container '{0}' exists but it does not contain any keys.", containerName);
+ return true;
+ }
+
+ File.WriteAllText (fileName, key.KeyValue);
+ Console.WriteLine ("Success.");
+ } catch (Exception ex) {
+ Failure (ex, cfg);
+ return true;
+ }
+
+ return false;
+ }
+
+ bool RemoveContainer (Config cfg)
+ {
+ string containerName = cfg.ContainerName;
+ Console.WriteLine ("Removing container '{0}'...", containerName);
+ if (String.IsNullOrEmpty (containerName)) {
+ Failure (cfg, "Unspecified container name.");
+ return true;
+ }
+
+ try {
+ KeyContainer.RemoveFromDisk (containerName, cfg.UseMachinePath);
+
+ Console.WriteLine ("Success.");
+ } catch (Exception ex) {
+ Failure (ex, cfg);
+ return true;
+ }
+
+ return false;
+ }
+
+ void ShowHeader ()
+ {
+ string title = String.Empty, version = String.Empty, description = String.Empty, copyright = String.Empty;
+ Assembly asm = Assembly.GetExecutingAssembly ();
+ foreach (object o in asm.GetCustomAttributes (false)) {
+ if (o is AssemblyTitleAttribute)
+ title = ((AssemblyTitleAttribute)o).Title;
+ else if (o is AssemblyCopyrightAttribute)
+ copyright = ((AssemblyCopyrightAttribute)o).Copyright;
+ else if (o is AssemblyDescriptionAttribute)
+ description = ((AssemblyDescriptionAttribute)o).Description;
+ }
+
+ version = asm.GetName ().Version.ToString ();
+
+ Console.WriteLine ("{1} - version {2}{0}{3}{0}{4}{0}",
+ Environment.NewLine,
+ title,
+ version,
+ description,
+ copyright);
+ }
+
+ void Run (string[] args)
+ {
+ var cfg = new Config ();
+ var actions = new List <Func <Config, bool>> ();
+ var options = new OptionSet () {
+ { "h|?|help", "Show usage information", v => cfg.ShowHelp = true },
+ { "v|verbose", "Show verbose information (including exception stacktraces)", v => cfg.Verbose = true },
+ { "m|machine|global", "Use machine (global) store for all the key actions", v => cfg.UseMachinePath = true },
+ { "u|user|local", "Use local (user) store for all the key actions [*]", v => cfg.UseMachinePath = false },
+ { "l|list", "List all the key container names in the store", v => actions.Add (ListContainers) },
+ { "c|create", "Creates an RSA public/private key pair", v => actions.Add (CreateKey) },
+ { "i|import", "Import key to a container", v => actions.Add (ImportKey) },
+ { "x|export", "Export key from a container", v => actions.Add (ExportKey) },
+ { "r|remove", "Remove a container", v => actions.Add (RemoveContainer) },
+ { "f=|file=", "File name for import or export operations", (string s) => cfg.FileName = s },
+ { "cf=|config-file=", String.Format ("Config file name (not path) [{0}]", Config.DefaultConfigFileName), (string s) => cfg.ConfigFileName = s },
+ { "n=|name=", String.Format ("Container name [{0}]", Config.DefaultContainerName), (string s) => cfg.ContainerName = s },
+ { "s=|size=", String.Format ("Key size [{0}]", Config.DefaultKeySize), (uint s) => cfg.KeySize = s },
+ { "p=|path=", String.Format ("Application physical path [{0}]", Config.DefaultApplicationPhysicalPath), (string s) => cfg.ApplicationPhysicalPath = s },
+ { "d=|dec=|decrypt=", "Decrypt configuration section", (string s) => { cfg.ConfigSectionName = s; actions.Add (DecryptSection);} },
+ { "e=|enc=|encrypt=", "Encrypt configuration section", (string s) => { cfg.ConfigSectionName = s; actions.Add (EncryptSection);} },
+ };
+ options.Parse (args);
+
+ if (cfg.ShowHelp) {
+ ShowHeader ();
+ options.WriteOptionDescriptions (Console.Out);
+ return;
+ }
+
+ foreach (var action in actions)
+ if (action (cfg))
+ Environment.Exit (0);
+ }
+
+ static void Main (string[] args)
+ {
+ new MonoConfigurationCrypto ().Run (args);
+ }
+ }
+}
--- /dev/null
+../../../build/common/Consts.cs
+../../../class/Mono.Options/Mono.Options/Options.cs
+main.cs
+config.cs
--- /dev/null
+//
+// AssemblyInfo.cs
+//
+// Authors:
+// Marek Safar (marek.safar@gmail.com)
+//
+// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Reflection;
+using System.Resources;
+using System.Security;
+using System.Security.Permissions;
+using System.Diagnostics;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about the System.Core assembly
+
+[assembly: AssemblyTitle ("Mono.Configuration.Crypto.dll")]
+[assembly: AssemblyDescription ("Mono configuration encryption utilities.")]
+[assembly: AssemblyDefaultAlias ("Mono.Configuration.Crypto.dll")]
+
+[assembly: AssemblyCompany (Consts.MonoCompany)]
+[assembly: AssemblyProduct (Consts.MonoProduct)]
+[assembly: AssemblyCopyright (Consts.MonoCopyright)]
+[assembly: AssemblyVersion (Consts.FxVersion)]
+[assembly: SatelliteContractVersion (Consts.FxVersion)]
+[assembly: AssemblyInformationalVersion (Consts.FxFileVersion)]
+[assembly: AssemblyFileVersion (Consts.FxFileVersion)]
+
+[assembly: NeutralResourcesLanguage ("en-US")]
+[assembly: AssemblyDelaySign (true)]
+[assembly: AssemblyKeyFile ("../../mono.pub")]
+
+[assembly: AllowPartiallyTrustedCallers]
+[assembly: DefaultDependency (LoadHint.Always)]
+
+[assembly: ComVisible (false)]
--- /dev/null
+thisdir = tools/mono-configuration-crypto/lib
+SUBDIRS =
+include ../../../build/rules.make
+
+LOCAL_MCS_FLAGS = -r:System.dll -r:Mono.Security.dll -r:System.Security.dll -r:System.Configuration.dll -r:System.Xml.dll
+LIBRARY = Mono.Configuration.Crypto.dll
+LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/mono-configuration-crypto/$(FRAMEWORK_VERSION)
+
+include ../../../build/library.make
--- /dev/null
+../../../build/common/Consts.cs
+Assembly/AssemblyInfo.cs
+Mono.Configuration.Crypto/ConfigSection.cs
+Mono.Configuration.Crypto/Key.cs
+Mono.Configuration.Crypto/KeyContainer.cs
+Mono.Configuration.Crypto/KeyContainerCollection.cs
--- /dev/null
+using System;
+using System.Collections.Specialized;
+using System.Configuration;
+using System.IO;
+using System.Security.Cryptography;
+using System.Security.Cryptography.Xml;
+using System.Text;
+using System.Xml;
+using System.Xml.XPath;
+
+namespace Mono.Configuration.Crypto
+{
+ public class ConfigSection
+ {
+ static readonly char[] sectionSplitChars = { '/' };
+
+ ProtectedConfigurationProvider GetProvider (string providerName, string containerName, bool useMachineStore)
+ {
+ if (String.IsNullOrEmpty (providerName))
+ providerName = ProtectedConfiguration.DefaultProvider;
+
+ ProtectedConfigurationProvider prov = ProtectedConfiguration.Providers [providerName];
+ if (prov == null)
+ throw new InvalidOperationException (String.Format ("Provider '{0}' is unknown.", providerName));
+
+ // We need to create a new instance in order to be able to pass our own
+ // parameters to the provider
+ var ret = Activator.CreateInstance (prov.GetType ()) as ProtectedConfigurationProvider;
+ ret.Initialize (providerName, new NameValueCollection {
+ {"keyContainerName", containerName},
+ {"useMachineContainer", useMachineStore.ToString ()},
+ }
+ );
+
+ return ret;
+ }
+
+ string BuildXPathExpression (string configSection)
+ {
+ var sb = new StringBuilder ("//config:configuration");
+ string[] parts = configSection.Split (sectionSplitChars);
+
+ foreach (string s in parts)
+ sb.Append ("/config:" + s);
+
+ return sb.ToString ();
+ }
+
+ bool IsValidSection (string configFile, string configSection)
+ {
+ var exeMap = new ExeConfigurationFileMap ();
+ exeMap.ExeConfigFilename = configFile;
+
+ global::System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration (exeMap, ConfigurationUserLevel.None);
+ if (config == null)
+ return false;
+
+ try {
+ var cs = config.GetSection (configSection) as ConfigurationSection;
+ if (cs == null)
+ return false;
+ } catch (CryptographicException) {
+ // Ignore - it's ok, since we only want to know if the section is
+ // valid and this exception is thrown when an attempt to decrypt a
+ // section is made and the protection provider for some reason
+ // didn't do the job (e.g. we encrypted the section with local store
+ // key container and the provider wants to access a global store one
+ // and cannot find it)
+ }
+
+ return true;
+ }
+
+ string LoadSection (string configFile, string configSection, string containerName, bool useMachineStore,
+ out XmlDocument doc, out XmlNode section, out ProtectedConfigurationProvider provider)
+ {
+ if (!IsValidSection (configFile, configSection))
+ throw new InvalidOperationException (String.Format ("Section '{0}' is not a valid section in file '{1}'", configSection, configFile));
+
+ // This should be done using Configuration, but currently the Mono
+ // System.Configuration saves configuration files without preserving
+ // non-significant whitespace which gives a very ugly result.
+ doc = new XmlDocument ();
+ doc.PreserveWhitespace = true;
+ doc.Load (configFile);
+
+ XmlNamespaceManager nsmgr = null;
+ XmlElement root = doc.DocumentElement;
+ string ns = null;
+ if (root.HasAttributes) {
+ ns = root.GetAttribute ("xmlns");
+ if (!String.IsNullOrEmpty (ns)) {
+ nsmgr = new XmlNamespaceManager (doc.NameTable);
+ nsmgr.AddNamespace ("config", ns);
+ }
+ }
+
+ section = doc.DocumentElement.SelectSingleNode (BuildXPathExpression (configSection), nsmgr);
+ // This check is necessary even though IsValidSection returned true - it's
+ // because the section might have been found in files other than the one
+ // we're processing.
+ if (section == null)
+ throw new InvalidOperationException (String.Format ("Section '{0}' not found in config file '{1}'", configSection, configFile));
+
+ XmlAttribute attr = section.Attributes ["configProtectionProvider"];
+ string configProtectionProvider = attr == null ? null : attr.Value;
+
+ provider = GetProvider (configProtectionProvider, containerName, useMachineStore);
+
+ return ns;
+ }
+
+ void SaveWithBackup (string configFile, XmlDocument doc)
+ {
+ string backupFile = configFile + ".save";
+ bool copied = false;
+
+ try {
+ File.Copy (configFile, backupFile, true);
+ copied = true;
+
+ using (var fs = File.Open (configFile, FileMode.Truncate, FileAccess.Write, FileShare.None)) {
+ doc.Save (fs);
+ fs.Flush ();
+ }
+ } catch {
+ if (copied)
+ File.Copy (backupFile, configFile);
+ } finally {
+ if (copied)
+ File.Delete (backupFile);
+ }
+ }
+
+ public void Encrypt (string configFile, string configSection, string containerName, bool useMachineStore)
+ {
+ if (String.IsNullOrEmpty (configFile))
+ throw new ArgumentNullException ("configFile");
+
+ if (String.IsNullOrEmpty (configSection))
+ throw new ArgumentNullException ("configSection");
+
+ if (String.IsNullOrEmpty (containerName))
+ throw new ArgumentNullException ("containerName");
+
+ XmlNode section;
+ XmlDocument doc;
+ ProtectedConfigurationProvider provider;
+
+ string ns = LoadSection (configFile, configSection, containerName, useMachineStore, out doc, out section, out provider);
+
+ XmlNode encrypted = provider.Encrypt (section);
+ if (encrypted == null)
+ throw new InvalidOperationException (String.Format ("Failed to encrypt '{0}' section in config file '{1}'", configSection, configFile));
+
+ XmlNode newSection = doc.CreateElement (section.Name, ns);
+ XmlAttribute attr = doc.CreateAttribute ("configProtectionProvider");
+ attr.Value = provider.Name;
+ newSection.InnerXml = encrypted.OuterXml;
+ newSection.Attributes.Append (attr);
+
+ section.ParentNode.ReplaceChild (newSection, section);
+ SaveWithBackup (configFile, doc);
+ }
+
+ public void Decrypt (string configFile, string configSection, string containerName, bool useMachineStore)
+ {
+ if (String.IsNullOrEmpty (configFile))
+ throw new ArgumentNullException ("configFile");
+
+ if (String.IsNullOrEmpty (configSection))
+ throw new ArgumentNullException ("configSection");
+
+ if (String.IsNullOrEmpty (containerName))
+ throw new ArgumentNullException ("containerName");
+
+ XmlNode section;
+ XmlDocument doc;
+ ProtectedConfigurationProvider provider;
+
+ LoadSection (configFile, configSection, containerName, useMachineStore, out doc, out section, out provider);
+
+ XmlNode decrypted = provider.Decrypt (section);
+ XmlNode newNode = doc.ImportNode (decrypted.FirstChild, true);
+ XmlAttribute attr = newNode.Attributes ["xmlns"];
+
+ if (attr != null)
+ newNode.Attributes.Remove (attr);
+
+ section.ParentNode.ReplaceChild (newNode, section);
+ SaveWithBackup (configFile, doc);
+ }
+ }
+}
--- /dev/null
+<Type Name="ConfigSection" FullName="Mono.Configuration.Crypto.ConfigSection">
+ <TypeSignature Language="C#" Value="public class ConfigSection" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Configuration.Crypto</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>Code to encrypt/decrypt configuration file sections.</summary>
+ <remarks>The ConfigSection class provides tools to encrypt/decrypt configuration file sections using configuration protection providers defined
+in the framework.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public ConfigSection ();" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters />
+ <Docs>
+ <summary>Initializes ConfigSection instance.</summary>
+ </Docs>
+ </Member>
+ <Member MemberName="Decrypt">
+ <MemberSignature Language="C#" Value="public void Decrypt (string configFile, string configSection, string containerName, bool useMachineStore);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="configFile" Type="System.String" />
+ <Parameter Name="configSection" Type="System.String" />
+ <Parameter Name="containerName" Type="System.String" />
+ <Parameter Name="useMachineStore" Type="System.Boolean" />
+ </Parameters>
+ <Docs>
+ <param name="configFile">Full path to the config file to process.</param>
+ <param name="configSection">Path, inside the config file, to the config section to process.</param>
+ <param name="containerName">Name of the container which holds the key to be used to decrypt the section.</param>
+ <param name="useMachineStore">If true, attempt to look up container in the global (machine) key store.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <list type="bullet">
+ <item><term><paramref name="configFile"/> was <see langword="null"/> or empty</term></item>
+ <item><term><paramref name="configSection"/> was <see langword="null"/> or empty</term></item>
+ <item><term><paramref name="containerName"/> was <see langword="null"/> or empty</term></item>
+ </list>
+ </exception>
+ <exception cref="T:System.InvalidOperationException">
+ Specified section path doesn't refer to a valid configuration section.
+ </exception>
+ <summary>Decrypts the specified section.</summary>
+ <remarks>If a section exist but is not encrypted, no error is reported.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Encrypt">
+ <MemberSignature Language="C#" Value="public void Encrypt (string configFile, string configSection, string containerName, bool useMachineStore);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="configFile" Type="System.String" />
+ <Parameter Name="configSection" Type="System.String" />
+ <Parameter Name="containerName" Type="System.String" />
+ <Parameter Name="useMachineStore" Type="System.Boolean" />
+ </Parameters>
+ <Docs>
+ <param name="configFile">Full path to the config file to process.</param>
+ <param name="configSection">Path, inside the config file, to the config section to process.</param>
+ <param name="containerName">Name of the container which holds the key to be used to decrypt the section.</param>
+ <param name="useMachineStore">If true, attempt to look up container in the global (machine) key store.</param>
+ <exception cref="T:System.InvalidOperationException">
+ Specified section path doesn't refer to a valid configuration section or code failed to encrypt the section.
+ </exception>
+ <summary>Encrypts the specified section.</summary>
+ <remarks>If section is already encrypted, no error is reported.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="Key" FullName="Mono.Configuration.Crypto.Key">
+ <TypeSignature Language="C#" Value="public class Key" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Configuration.Crypto</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>Encryption key information.</summary>
+ <remarks>Encapsulates all information about encryption key read from a container.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Key (string file, bool machineStore);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="file" Type="System.String" />
+ <Parameter Name="machineStore" Type="System.Boolean" />
+ </Parameters>
+ <Docs>
+ <param name="file">Source file path.</param>
+ <param name="machineStore">Whether to use global (machine) key store.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="file"/> was <see langword="null"/> or empty.
+ </exception>
+ <summary>Reads key from an existing file.</summary>
+ <remarks>Given a path to an XML file with embedded key, it parses the file to retrieve all the information about the key.
+File must be in the format written by <see cref="T:Mono.Security.Cryptography.KeyPairPersistence"/></remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Key (string containerName, string keyValue, bool machineStore);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="containerName" Type="System.String" />
+ <Parameter Name="keyValue" Type="System.String" />
+ <Parameter Name="machineStore" Type="System.Boolean" />
+ </Parameters>
+ <Docs>
+ <param name="containerName">Name of the key container to put the key in.</param>
+ <param name="keyValue">Value of the encryption key in XML format.</param>
+ <param name="machineStore">Whether to use global (machine) key store.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <list type="bullet">
+ <item><term><paramref name="containerName"/> was <see langword="null"/> or empty.</term></item>
+ <item><term><paramref name="keyValue"/> was <see langword="null"/> or empty.</term></item>
+ </list>
+ </exception>
+ <summary>Create instance of Key which is not backed with any persisted data.</summary>
+ <remarks><para>This constructor is to be used when one wants to modify or create a key with specific value and to be stored in the named
+container. If the container doesn't exist, it will be created when <see cref="M:Save"/> is called. If container exists, its first key will
+be modified with the specified key value. The key value must follow the format used by <see cref="T:Mono.Security.Cryptography.KeyPairPersistence"/>.</para>
+<para><paramref name="keyValue"/> is not checked for correctness but an attempt is made to determine the <see cref="P:ProviderType"/>.</para>
+ </remarks>
+ </Docs>
+ </Member>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public Key (string containerName, uint keySize, bool machineStore);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="containerName" Type="System.String" />
+ <Parameter Name="keySize" Type="System.UInt32" />
+ <Parameter Name="machineStore" Type="System.Boolean" />
+ </Parameters>
+ <Docs>
+ <param name="containerName">Name of the key container to put the key in.</param>
+ <param name="keySize">Size of the key to be generated.</param>
+ <param name="machineStore">Whether to use global (machine) key store.</param>
+ <exception cref="T:System.ArgumentNullException">
+ <paramref name="containerName"/> was <see langword="null"/> or empty.
+ </exception>
+ <summary>Generates a new key to be placed in a container.</summary>
+ <remarks>Generates an RSA keypair with the key of size <paramref name="keySize"/>. When the <see cref="M:Save"/> method is called, the keypair will be placed in the container named by
+<paramref name="containerName"/>.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ContainerName">
+ <MemberSignature Language="C#" Value="public string ContainerName { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>Name of the key's container.</summary>
+ <value><see langword="null"/> or container name</value>
+ <remarks>Name of the container in which the key lives. Note that <see cref="T:Mono.Security.Cryptography.KeyPairPersistence"/> never stores
+the container name as-is in the persisted file, but rather it generates an MD5 hash out of it. So, in order to always refer to the same container you
+must set this property to the human-readable container name in cases when key was read from a persisted file or otherwise when saving such a key back
+to disk it will end up in a different container.
+</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsValid">
+ <MemberSignature Language="C#" Value="public bool IsValid { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>Indicates whether the key is valid or not.</summary>
+ <value><see langword="true"/> or <see langword="false"/></value>
+ <remarks>The class performs basic validation on the key and sets this property accordingly.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="KeyValue">
+ <MemberSignature Language="C#" Value="public string KeyValue { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>Value of the encryption key.</summary>
+ <value>XML code representing the key value</value>
+ <remarks>The key value must follow the format used by <see cref="T:Mono.Security.Cryptography.KeyPairPersistence"/>.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Local">
+ <MemberSignature Language="C#" Value="public bool Local { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>Whether the key lives in local or global (machine) store.</summary>
+ <value><see langword="true"/> or <see langword="false"/></value>
+ <remarks></remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="ProviderType">
+ <MemberSignature Language="C#" Value="public int ProviderType { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>Type of encryption provider.</summary>
+ <value>1, 13 or -1</value>
+ <remarks>Set to 1 for RSA encryption, 13 for DSA and -1 for invalid/unknown encryption provider.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Save">
+ <MemberSignature Language="C#" Value="public void Save ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>Saves key to a key container file.</summary>
+ <remarks>Key is written to key container file specified by the <see cref="P:ContainerName"/> property. Saved data follows the format used by
+<see cref="T:Mono.Security.Cryptography.KeyPairPersistence"/>.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="KeyContainer" FullName="Mono.Configuration.Crypto.KeyContainer">
+ <TypeSignature Language="C#" Value="public class KeyContainer : System.Collections.Generic.IEnumerable<Mono.Configuration.Crypto.Key>" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Configuration.Crypto</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.IEnumerable<Mono.Configuration.Crypto.Key></InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public KeyContainer (string name, bool machineStore);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ <Parameter Name="machineStore" Type="System.Boolean" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <param name="machineStore">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Configuration.Crypto.Key key);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="key" Type="Mono.Configuration.Crypto.Key" />
+ </Parameters>
+ <Docs>
+ <param name="key">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Count">
+ <MemberSignature Language="C#" Value="public int Count { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.Generic.IEnumerator<Mono.Configuration.Crypto.Key> GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerator<Mono.Configuration.Crypto.Key></ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Configuration.Crypto.Key this[int index] { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Configuration.Crypto.Key</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="index" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="index">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Local">
+ <MemberSignature Language="C#" Value="public bool Local { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Name">
+ <MemberSignature Language="C#" Value="public string Name { set; get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="RemoveFromDisk">
+ <MemberSignature Language="C#" Value="public static void RemoveFromDisk (string containerName, bool machineStore);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="containerName" Type="System.String" />
+ <Parameter Name="machineStore" Type="System.Boolean" />
+ </Parameters>
+ <Docs>
+ <param name="containerName">To be added.</param>
+ <param name="machineStore">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.IEnumerable<Mono.Configuration.Crypto.Key>.GetEnumerator">
+ <MemberSignature Language="C#" Value="System.Collections.Generic.IEnumerator<Mono.Configuration.Crypto.Key> IEnumerable<Key>.GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerator<Mono.Configuration.Crypto.Key></ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IEnumerable.GetEnumerator">
+ <MemberSignature Language="C#" Value="System.Collections.IEnumerator IEnumerable.GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Type Name="KeyContainerCollection" FullName="Mono.Configuration.Crypto.KeyContainerCollection">
+ <TypeSignature Language="C#" Value="public class KeyContainerCollection : System.Collections.Generic.ICollection<Mono.Configuration.Crypto.KeyContainer>, System.Collections.Generic.IEnumerable<Mono.Configuration.Crypto.KeyContainer>" />
+ <AssemblyInfo>
+ <AssemblyName>Mono.Configuration.Crypto</AssemblyName>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.Object</BaseTypeName>
+ </Base>
+ <Interfaces>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.ICollection<Mono.Configuration.Crypto.KeyContainer></InterfaceName>
+ </Interface>
+ <Interface>
+ <InterfaceName>System.Collections.Generic.IEnumerable<Mono.Configuration.Crypto.KeyContainer></InterfaceName>
+ </Interface>
+ </Interfaces>
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public KeyContainerCollection (bool machineStore);" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="machineStore" Type="System.Boolean" />
+ </Parameters>
+ <Docs>
+ <param name="machineStore">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public void Add (Mono.Configuration.Crypto.KeyContainer item);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="item" Type="Mono.Configuration.Crypto.KeyContainer" />
+ </Parameters>
+ <Docs>
+ <param name="item">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Clear">
+ <MemberSignature Language="C#" Value="public void Clear ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (Mono.Configuration.Crypto.KeyContainer item);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="item" Type="Mono.Configuration.Crypto.KeyContainer" />
+ </Parameters>
+ <Docs>
+ <param name="item">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Contains">
+ <MemberSignature Language="C#" Value="public bool Contains (string name);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="CopyTo">
+ <MemberSignature Language="C#" Value="public void CopyTo (Mono.Configuration.Crypto.KeyContainer[] array, int arrayIndex);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="array" Type="Mono.Configuration.Crypto.KeyContainer[]" />
+ <Parameter Name="arrayIndex" Type="System.Int32" />
+ </Parameters>
+ <Docs>
+ <param name="array">To be added.</param>
+ <param name="arrayIndex">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Count">
+ <MemberSignature Language="C#" Value="public int Count { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Int32</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="GetEnumerator">
+ <MemberSignature Language="C#" Value="public System.Collections.Generic.IEnumerator<Mono.Configuration.Crypto.KeyContainer> GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerator<Mono.Configuration.Crypto.KeyContainer></ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="IsReadOnly">
+ <MemberSignature Language="C#" Value="public bool IsReadOnly { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Item">
+ <MemberSignature Language="C#" Value="public Mono.Configuration.Crypto.KeyContainer this[string name] { get; }" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Configuration.Crypto.KeyContainer</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="name" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="name">To be added.</param>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Remove">
+ <MemberSignature Language="C#" Value="public bool Remove (Mono.Configuration.Crypto.KeyContainer item);" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Boolean</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="item" Type="Mono.Configuration.Crypto.KeyContainer" />
+ </Parameters>
+ <Docs>
+ <param name="item">To be added.</param>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.Generic.IEnumerable<Mono.Configuration.Crypto.KeyContainer>.GetEnumerator">
+ <MemberSignature Language="C#" Value="System.Collections.Generic.IEnumerator<Mono.Configuration.Crypto.KeyContainer> IEnumerable<KeyContainer>.GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.Generic.IEnumerator<Mono.Configuration.Crypto.KeyContainer></ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="System.Collections.IEnumerable.GetEnumerator">
+ <MemberSignature Language="C#" Value="System.Collections.IEnumerator IEnumerable.GetEnumerator ();" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Collections.IEnumerator</ReturnType>
+ </ReturnValue>
+ <Parameters />
+ <Docs>
+ <summary>To be added.</summary>
+ <returns>To be added.</returns>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
--- /dev/null
+<Overview>
+ <Assemblies>
+ <Assembly Name="Mono.Configuration.Crypto" Version="0.0.0.0">
+ <Attributes>
+ <Attribute>
+ <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+ </Attribute>
+ </Attributes>
+ </Assembly>
+ </Assemblies>
+ <Remarks>Config file encryption utilities.</Remarks>
+ <Copyright>Copyright (c) 2010 Novell, Inc (http://novell.com/)</Copyright>
+ <Types>
+ <Namespace Name="Mono.Configuration.Crypto">
+ <Type Name="ConfigSection" Kind="Class" />
+ <Type Name="Key" Kind="Class" />
+ <Type Name="KeyContainer" Kind="Class" />
+ <Type Name="KeyContainerCollection" Kind="Class" />
+ </Namespace>
+ </Types>
+ <Title>Mono.Configuration.Crypto</Title>
+</Overview>
--- /dev/null
+<Namespace Name="Mono.Configuration.Crypto">
+ <Docs>
+ <summary>Utility classes to encrypt/decrypt configuration file sections.</summary>
+ <remarks>Classes in this namespace provide tools for manipulation of Mono key store (both local and global) as well
+as encryption/decryption of configuration file sections.</remarks>
+ </Docs>
+</Namespace>
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Security;
+using System.Security.Cryptography;
+
+using Mono.Security.Cryptography;
+using Mono.Xml;
+
+namespace Mono.Configuration.Crypto
+{
+ public class Key
+ {
+ static readonly char[] splitChars = {']'};
+
+ string file;
+ KeyPairPersistence keypair;
+ bool machineStore;
+ uint keySize;
+
+ public bool IsValid {
+ get;
+ private set;
+ }
+
+ public string KeyValue {
+ get;
+ set;
+ }
+
+ public bool Local {
+ get { return !machineStore; }
+ }
+
+ public string ContainerName {
+ get;
+ set;
+ }
+
+ public int ProviderType {
+ get;
+ set;
+ }
+
+ public Key (string file, bool machineStore)
+ {
+ if (String.IsNullOrEmpty (file))
+ throw new ArgumentNullException ("file");
+
+ this.file = file;
+ this.machineStore = machineStore;
+ this.keySize = 0;
+ ReadFile ();
+ }
+
+ public Key (string containerName, string keyValue, bool machineStore)
+ {
+ if (String.IsNullOrEmpty (containerName))
+ throw new ArgumentNullException ("containerName");
+
+ if (String.IsNullOrEmpty (keyValue))
+ throw new ArgumentNullException ("keyValue");
+
+ this.file = null;
+ this.machineStore = machineStore;
+ this.keySize = 0;
+ this.KeyValue = keyValue;
+ this.IsValid = true;
+
+ if (keyValue.StartsWith ("RSAKeyValue", StringComparison.Ordinal))
+ this.ProviderType = 1;
+ else if (keyValue.StartsWith ("DSAKeyValue", StringComparison.Ordinal))
+ this.ProviderType = 13;
+ else
+ this.ProviderType = -1;
+ }
+
+ public Key (string containerName, uint keySize, bool machineStore)
+ {
+ if (String.IsNullOrEmpty (containerName))
+ throw new ArgumentNullException ("containerName");
+
+ this.ContainerName = containerName;
+ this.machineStore = machineStore;
+ this.keySize = keySize;
+ this.ProviderType = 1;
+
+ GenerateKeyPair ();
+ }
+
+ public void Save ()
+ {
+ var csp = new CspParameters (1);
+ if (machineStore)
+ csp.Flags |= CspProviderFlags.UseMachineKeyStore;
+ csp.ProviderName = String.Empty;
+ csp.KeyContainerName = ContainerName;
+
+ var kpp = new KeyPairPersistence (csp, KeyValue);
+ kpp.Save ();
+ }
+
+ void GenerateKeyPair ()
+ {
+ var rsa = new RSAManaged ((int)keySize);
+ KeyValue = rsa.ToXmlString (true);
+ IsValid = true;
+ }
+
+ void ReadFile ()
+ {
+ var sp = new SecurityParser ();
+ sp.LoadXml (File.ReadAllText (file));
+
+ SecurityElement root = sp.ToXml ();
+ if (root.Tag == "KeyPair") {
+ SecurityElement keyvalue = root.SearchForChildByTag ("KeyValue");
+ if (keyvalue.Children.Count == 0)
+ return;
+
+ KeyValue = keyvalue.Children [0].ToString ();
+
+ SecurityElement properties = root.SearchForChildByTag ("Properties");
+ if (properties.Children.Count == 0)
+ return;
+
+ SecurityElement property;
+ string containerName = null, attribute;
+ int providerType = -1;
+
+ foreach (object o in properties.Children) {
+ property = o as SecurityElement;
+ if (property == null)
+ continue;
+
+ switch (property.Tag) {
+ case "Provider":
+ attribute = property.Attribute ("Type");
+ if (String.IsNullOrEmpty (attribute))
+ return;
+
+ if (!Int32.TryParse (attribute, out providerType))
+ return;
+ break;
+
+ case "Container":
+ attribute = property.Attribute ("Name");
+ if (String.IsNullOrEmpty (attribute))
+ return;
+
+ containerName = attribute;
+ break;
+ }
+ }
+
+ if (String.IsNullOrEmpty (containerName) || providerType == -1)
+ return;
+
+ ContainerName = containerName;
+ ProviderType = providerType;
+ IsValid = true;
+ }
+ }
+ }
+}
--- /dev/null
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Security.Cryptography;
+
+using Mono.Security.Cryptography;
+
+namespace Mono.Configuration.Crypto
+{
+ public class KeyContainer : IEnumerable <Key>
+ {
+ List <Key> keys;
+
+ List <Key> Keys {
+ get {
+ if (keys == null)
+ keys = new List <Key> ();
+
+ return keys;
+ }
+ }
+
+ public int Count {
+ get {
+ if (keys == null)
+ return 0;
+
+ return keys.Count;
+ }
+ }
+
+ public bool Local {
+ get;
+ set;
+ }
+
+ public string Name {
+ get;
+ set;
+ }
+
+ public Key this [int index] {
+ get {
+ int count = Count;
+
+ if (count == 0)
+ return null;
+
+ if (index < 0 || index >= count)
+ throw new ArgumentOutOfRangeException ("index");
+
+ return keys [index];
+ }
+ }
+
+ public KeyContainer (string name, bool machineStore)
+ {
+ Name = name;
+ Local = !machineStore;
+ }
+
+ public static void RemoveFromDisk (string containerName, bool machineStore)
+ {
+ var csp = new CspParameters ();
+ if (machineStore)
+ csp.Flags |= CspProviderFlags.UseMachineKeyStore;
+ csp.ProviderName = String.Empty;
+ csp.KeyContainerName = containerName;
+
+ var kpp = new KeyPairPersistence (csp, String.Empty);
+ if (!File.Exists (kpp.Filename))
+ return;
+
+ File.Delete (kpp.Filename);
+ }
+
+ public void Add (Key key)
+ {
+ if (key == null)
+ return;
+
+ Keys.Add (key);
+ }
+
+ public IEnumerator <Key> GetEnumerator ()
+ {
+ return Keys.GetEnumerator ();
+ }
+
+#region IEnumerable
+ IEnumerator IEnumerable.GetEnumerator ()
+ {
+ return GetEnumerator ();
+ }
+#endregion
+
+#region IEnumerable <T>
+ IEnumerator <Key> IEnumerable <Key>.GetEnumerator ()
+ {
+ return GetEnumerator ();
+ }
+#endregion
+ }
+}
--- /dev/null
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Security.Cryptography;
+using System.Text;
+
+using Mono.Security.Cryptography;
+
+namespace Mono.Configuration.Crypto
+{
+ public class KeyContainerCollection : ICollection <KeyContainer>
+ {
+ bool machineStore;
+ SortedDictionary <string, KeyContainer> containers;
+
+ SortedDictionary <string, KeyContainer> Containers {
+ get {
+ if (containers == null)
+ containers = new SortedDictionary <string, KeyContainer> ();
+ return containers;
+ }
+ }
+
+ public KeyContainer this [string name] {
+ get { return GetContainer (name); }
+ }
+
+ public KeyContainerCollection (bool machineStore)
+ {
+ string topPath;
+
+ if (machineStore)
+ topPath = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData), ".mono");
+ else
+ topPath = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData), ".mono");
+ topPath = Path.Combine (topPath, "keypairs");
+
+ this.machineStore = machineStore;
+ if (Directory.Exists (topPath))
+ LoadKeys (topPath);
+ }
+
+ public bool Contains (string name)
+ {
+ if (String.IsNullOrEmpty (name) || Count == 0)
+ return false;
+
+ KeyContainer c = GetContainer (name);
+ if (c == null || c.Count == 0)
+ return false;
+
+ return true;
+ }
+
+ public IEnumerator <KeyContainer> GetEnumerator ()
+ {
+ foreach (var de in Containers)
+ yield return de.Value;
+ }
+
+ KeyContainer GetContainer (string name)
+ {
+ KeyContainer c;
+
+ if (Containers.TryGetValue (name, out c))
+ return c;
+
+ var md5 = MD5.Create ();
+ byte[] result = md5.ComputeHash (Encoding.UTF8.GetBytes (name));
+ string hashed = new Guid (result).ToString ();
+
+ if (Containers.TryGetValue (hashed, out c))
+ return c;
+
+ return null;
+ }
+
+ void LoadKeys (string path)
+ {
+ string[] files = Directory.GetFiles (path, "*.xml");
+ if (files == null || files.Length == 0)
+ return;
+
+ SortedDictionary <string, KeyContainer> containers = Containers;
+ KeyContainer keyContainer;
+ Key key;
+ string containerName;
+
+ foreach (string file in files) {
+ key = new Key (file, machineStore);
+ if (!key.IsValid)
+ continue;
+
+ containerName = key.ContainerName;
+ if (!containers.TryGetValue (containerName, out keyContainer)) {
+ keyContainer = new KeyContainer (containerName, machineStore);
+ containers.Add (containerName, keyContainer);
+ }
+
+ keyContainer.Add (key);
+ }
+ }
+
+#region IEnumerable
+ IEnumerator <KeyContainer> IEnumerable <KeyContainer>.GetEnumerator ()
+ {
+ return GetEnumerator ();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator ()
+ {
+ return GetEnumerator ();
+ }
+#endregion
+
+#region ICollection
+ public int Count {
+ get {
+ if (containers == null)
+ return 0;
+
+ return containers.Count;
+ }
+ }
+
+ public bool IsReadOnly {
+ get { return false; }
+ }
+
+ public void Add (KeyContainer item)
+ {
+ if (item == null)
+ return;
+
+ SortedDictionary <string, KeyContainer> containers = Containers;
+ string name = item.Name;
+
+ if (containers.ContainsKey (name))
+ containers [name] = item;
+ else
+ containers.Add (name, item);
+ }
+
+ public void Clear ()
+ {
+ if (containers == null)
+ return;
+
+ containers.Clear ();
+ }
+
+ public bool Contains (KeyContainer item)
+ {
+ if (Count == 0 || item == null)
+ return false;
+
+ return containers.ContainsKey (item.Name);
+ }
+
+ public void CopyTo (KeyContainer[] array, int arrayIndex)
+ {
+ if (Count == 0)
+ return;
+
+ containers.Values.CopyTo (array, arrayIndex);
+ }
+
+ public bool Remove (KeyContainer item)
+ {
+ if (Count == 0 || item == null)
+ return false;
+
+ return containers.Remove (item.Name);
+ }
+#endregion
+ }
+}
+2010-01-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Driver.cs, MoonlightChannelBaseExtension.cs, CommandLineOptions.cs:
+ Now that ServiceContractGenerator generates both sync and async
+ methods, it has to explicitly remove sync methods from moonlight
+ proxies since they are not supported.
+ Also now we can generate sync proxies for monotouch, so
+ differentiate them again to support sync proxy generation (if you
+ don't want to generate sync methods, just use -moonlight).
+
2009-12-18 Atsushi Enomoto <atsushi@ximian.com>
* MoonlightChannelBaseExtension.cs : do not remove base EventArgs.
[Option ("Indicate target client version is 3.5", "targetClientVersion:Version35", "tcv:Version35")]
public bool TargetClientVersion35;
- bool generate_moonlight_proxy;
+ bool generate_moonlight_proxy, generate_monotouch_proxy;
[Option ("Generate moonlight client. (This option may vanish.)", "moonlight")]
public bool GenerateMoonlightProxy {
[Option ("Generate MonoTouch client. (This option may vanish.)", "monotouch")]
public bool GenerateMonoTouchProxy {
// this is a hack. It does not differentiate from GenerateMoonlightProxy on getter.
- get { return generate_moonlight_proxy; }
+ get { return generate_monotouch_proxy; }
set {
if (!value)
return;
- generate_moonlight_proxy = true;
- // FIXME: since ServiceContractGenerator at
- // least for now generates only either sync or
- // async stuff, and since Moonlight-compatible
- // profile now emits event-based operations,
- // it became impossible to generate sync methods
- // in MonoTouch profile. It might be able to get
- // fixed, but might be not.
- GenerateAsync = true;
+ GenerateMoonlightProxy = true;
+ generate_monotouch_proxy = true;
}
}
foreach (ContractDescription cd in contracts) {
if (co.GenerateMoonlightProxy) {
var moonctx = new MoonlightChannelBaseContext ();
- cd.Behaviors.Add (new MoonlightChannelBaseContractExtension (moonctx, co.GenerateAsync));
+ cd.Behaviors.Add (new MoonlightChannelBaseContractExtension (moonctx, co.GenerateMonoTouchProxy));
foreach (var od in cd.Operations)
- od.Behaviors.Add (new MoonlightChannelBaseOperationExtension (moonctx, co.GenerateAsync));
+ od.Behaviors.Add (new MoonlightChannelBaseOperationExtension (moonctx, co.GenerateMonoTouchProxy));
generator.GenerateServiceContractType (cd);
moonctx.Fixup ();
}
class MoonlightChannelBaseContractExtension : IContractBehavior, IServiceContractGenerationExtension
{
- public MoonlightChannelBaseContractExtension (MoonlightChannelBaseContext mlContext, bool generateAsync)
+ public MoonlightChannelBaseContractExtension (MoonlightChannelBaseContext mlContext, bool generateSync)
{
ml_context = mlContext;
- generate_async = generateAsync;
+ generate_sync = generateSync;
}
MoonlightChannelBaseContext ml_context;
- bool generate_async;
+ bool generate_sync;
// IContractBehavior
public void AddBindingParameters (ContractDescription contractDescription, ServiceEndpoint endpoint, BindingParameterCollection bindingParameters)
ml_context.FindClientType (context);
var parentClass = ml_context.ClientType;
+ if (!generate_sync)
+ EliminateSync ();
+
string name = cd.Name + "Channel";
if (name [0] == 'I')
name = name.Substring (1);
if (ct != ml_context.ClientType && !ct.Name.EndsWith ("EventArgs", StringComparison.Ordinal))
ct.BaseTypes.Clear ();
}
+
+ void EliminateSync ()
+ {
+ var type = context.ContractType;
+
+ // remove such OperationContract methods that do not have AsyncPattern parameter. It is sort of hack as it does not check the value (it might be "false").
+ var l = new List<CodeMemberMethod> ();
+ foreach (CodeMemberMethod cm in type.Members) {
+ bool isOperation = false, isAsync = false;
+ foreach (CodeAttributeDeclaration att in cm.CustomAttributes) {
+ if (att.Name == "System.ServiceModel.OperationContractAttribute")
+ isOperation = true;
+ else
+ continue;
+ foreach (CodeAttributeArgument aa in att.Arguments) {
+ if (aa.Name == "AsyncPattern") {
+ isAsync = true;
+ break;
+ }
+ }
+ if (isAsync)
+ break;
+ }
+ if (isOperation && !isAsync)
+ l.Add (cm);
+ }
+ foreach (var cm in l)
+ type.Members.Remove (cm);
+
+ // remove corresponding client implementation methods.
+ // It is sort of hack as it only checks method and
+ // parameter names (ideally we want to check parameter
+ // types, but there is no way to compare
+ // CodeTypeReferences).
+ var lc = new List<CodeMemberMethod> ();
+ foreach (var cm_ in ml_context.ClientType.Members) {
+ var cm = cm_ as CodeMemberMethod;
+ if (cm == null)
+ continue;
+ foreach (var sm in l) {
+ if (cm.Name != sm.Name || cm.Parameters.Count != sm.Parameters.Count)
+ continue;
+ bool diff = false;
+ for (int i = 0; i < cm.Parameters.Count; i++) {
+ var cp = cm.Parameters [i];
+ var sp = sm.Parameters [i];
+ if (cp.Direction != sp.Direction || cp.Name != sp.Name) {
+ diff = true;
+ break;
+ }
+ }
+ if (diff)
+ continue;
+ lc.Add (cm);
+ break;
+ }
+ }
+ foreach (var cm in lc)
+ ml_context.ClientType.Members.Remove (cm);
+ }
}
class MoonlightChannelBaseOperationExtension : IOperationBehavior, IOperationContractGenerationExtension
{
- public MoonlightChannelBaseOperationExtension (MoonlightChannelBaseContext mlContext, bool generateAsync)
+ public MoonlightChannelBaseOperationExtension (MoonlightChannelBaseContext mlContext, bool generateSync)
{
ml_context = mlContext;
- generate_async = generateAsync;
+ generate_sync = generateSync;
}
MoonlightChannelBaseContext ml_context;
- bool generate_async;
+ bool generate_sync;
// IOperationBehavior
public void Fixup ()
{
- if (generate_async)
- FixupAsync ();
- else
+ if (generate_sync)
FixupSync ();
+ FixupAsync ();
}
- public void FixupSync ()
+ void FixupSync ()
{
var type = ml_context.ChannelType;
var od = context.Operation;
+2010-02-19 Ankit Jain <jankit@novell.com>
+
+ * SolutionParser.cs (GetAllProjectFileNames): New.
+ * Parameters.cs (ParseArguments): When no project file is specified,
+ if the cur dir has a single sln and >1 project files, and all the
+ project files are referenced by the sln, the pick the sln.
+
+2010-02-06 Ankit Jain <jankit@novell.com>
+
+ * xbuild/Microsoft.Common.targets: Add targets for compiling
+ licx (license) files.
+ * xbuild/Microsoft.Common.tasks: Add LC task.
+
+2010-02-04 Ankit Jain <jankit@novell.com>
+
+ * xbuild/Microsoft.Common.targets (_RecordCleanFile): Append list of
+ current build files to list of previous build files.
+ (_GetCleanFileWrites): Rename items to be obvious of the contents.
+ (CoreClean): Delete the file list also.
+
+2010-01-21 Rodrigo B. de Oliveira <rodrigo@unity3d.com>
+
+ * Main.cs
+ * Parameters.cs: response file might be specified in double quotes.
+
+2010-01-21 Rodrigo B. de Oliveira <rodrigo@unity3d.com>
+
+ * Makefile
+ * xbuild_test.dll.sources
+ * xbuild.sln
+ * Test/*: added NUnit tests (Test/xbuild.tests)
+
2009-12-22 Ankit Jain <jankit@novell.com>
Fix bug #566087.
ErrorUtilities.ReportError (0, show_stacktrace ? ile.ToString () : ile.Message);
}
+ catch (CommandLineException cle) {
+ ErrorUtilities.ReportError(cle.ErrorCode, show_stacktrace ? cle.ToString() : cle.Message);
+ }
+
catch (Exception) {
throw;
}
thisdir = tools/xbuild
SUBDIRS =
include ../../build/rules.make
+HAS_NUNIT_TEST = yes
LOCAL_MCS_FLAGS = -r:Microsoft.Build.Framework.dll -r:Microsoft.Build.Utilities.dll -r:Microsoft.Build.Engine.dll
PROGRAM = xbuild.exe
xbuild/MSBuild/Microsoft.Build.Core.xsd \
xbuild/Microsoft.VisualBasic.targets \
xbuild/Microsoft.WebApplication.targets
+
+
using System;
using System.IO;
using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
using System.Text;
using System.Reflection;
using Microsoft.Build.BuildEngine;
flatArguments.Add (s);
continue;
}
- string responseFilename = Path.GetFullPath (s.Substring (1));
+ string responseFilename = Path.GetFullPath (UnquoteIfNeeded (s.Substring (1)));
if (responseFiles.ContainsKey (responseFilename))
- ErrorUtilities.ReportError (1, String.Format ("We already have {0} file.", responseFilename));
+ ReportError (1, String.Format ("We already have {0} file.", responseFilename));
responseFiles [responseFilename] = responseFilename;
LoadResponseFile (responseFilename);
}
string[] proj_files = Directory.GetFiles (Directory.GetCurrentDirectory (), "*proj");
if (sln_files.Length == 0 && proj_files.Length == 0)
- ErrorUtilities.ReportError (3, "Please specify the project or solution file " +
+ ReportError (3, "Please specify the project or solution file " +
"to build, as none was found in the current directory.");
+ if (sln_files.Length == 1 && proj_files.Length > 0) {
+ var projects_table = new Dictionary<string, string> ();
+ foreach (string pfile in SolutionParser.GetAllProjectFileNames (sln_files [0])) {
+ string full_path = Path.GetFullPath (pfile);
+ projects_table [full_path] = full_path;
+ }
+
+ if (!proj_files.Any (p => !projects_table.ContainsKey (Path.GetFullPath (p))))
+ // if all the project files in the cur dir, are referenced
+ // from the single .sln in the cur dir, then pick the sln
+ proj_files = new string [0];
+ }
+
if (sln_files.Length + proj_files.Length > 1)
- ErrorUtilities.ReportError (5, "Please specify the project or solution file " +
+ ReportError (5, "Please specify the project or solution file " +
"to build, as more than one solution or project file was found " +
"in the current directory");
} else if (remainingArguments.Count == 1) {
projectFile = (string) remainingArguments [0];
} else {
- ErrorUtilities.ReportError (4, "Too many project files specified");
+ ReportError (4, "Too many project files specified");
}
}
-
+
+ private string UnquoteIfNeeded(string arg)
+ {
+ if (arg.StartsWith("\""))
+ return arg.Substring(1, arg.Length - 2);
+ return arg;
+ }
+
void LoadResponseFile (string filename)
{
StreamReader sr = null;
sb.Length = 0;
}
}
- } catch (Exception) {
- // FIXME: we lose exception message
- ErrorUtilities.ReportError (2, "Error during loading response file.");
+ } catch (Exception x) {
+ ReportError (2, "Error during loading response file.", x);
} finally {
if (sr != null)
sr.Close ();
foreach (string st in splitProperties) {
if (st.IndexOf ('=') < 0) {
- ErrorUtilities.ReportError (5,
+ ReportError (5,
"Invalid syntax. Property name and value expected as " +
"<prop name>=[<prop value>]");
return false;
values = null;
int colon = s.IndexOf (':');
if (colon + 1 == s.Length) {
- ErrorUtilities.ReportError (5, error_message);
+ ReportError (5, error_message);
return false;
}
return true;
}
+ private void ReportError (int errorCode, string message)
+ {
+ throw new CommandLineException (message, errorCode);
+ }
+
+ private void ReportError (int errorCode, string message, Exception cause)
+ {
+ throw new CommandLineException (message, cause, errorCode);
+ }
+
internal void ProcessLogger (string s)
{
loggers.Add (new LoggerInfo (s));
return levels [index];
}
+
+ public static IEnumerable<string> GetAllProjectFileNames (string solutionFile)
+ {
+ StreamReader reader = new StreamReader (solutionFile);
+ string line = reader.ReadToEnd ();
+ line = line.Replace ("\r\n", "\n");
+ string soln_dir = Path.GetDirectoryName (solutionFile);
+
+ Match m = projectRegex.Match (line);
+ while (m.Success) {
+ if (String.Compare (m.Groups [1].Value, solutionFolderGuid,
+ StringComparison.InvariantCultureIgnoreCase) != 0)
+ yield return Path.Combine (soln_dir, m.Groups [3].Value).Replace ("\\", "/");
+
+ m = m.NextMatch ();
+ }
+ }
}
}
--- /dev/null
+2010-01-21 Rodrigo B. de Oliveira <rodrigo@unity3d.com>
+
+ * ParametersTest.cs: /noautorsp + test for each property value
+
+2010-01-21 Rodrigo B. de Oliveira <rodrigo@unity3d.com>
+
+ * xbuild.tests/ParametersTest.cs
+ * xbuild.tests/xbuild.tests.csproj:
+ NUnit tests for the Parameters class
--- /dev/null
+// (C) 2009 Rodrigo B. de Oliveira
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+#if NET_2_0
+using NUnit.Framework;
+using Mono.XBuild.CommandLine;
+using System.IO;
+
+namespace xbuild.tests
+{
+ [TestFixture]
+ public class ParametersTest
+ {
+ /// <summary>
+ /// Tests TeamCity style xbuild integration.
+ /// </summary>
+ [Test]
+ public void TeamCityStyleResponseFile ()
+ {
+ var responseFile = Path.GetTempFileName ();
+ var contents =
+ "/p:idea_build_agent_port=\"9090\" " +
+ "/p:idea_build_server_build_id=\"13852\" " +
+ "/p:path_separator=\":\"";
+ File.WriteAllText (responseFile, contents);
+ var parameters = new Parameters ("bin");
+ parameters.ParseArguments (
+ new [] { "/noautorsp", string.Format ("@\"{0}\"", responseFile), "\"project.xml\""});
+
+ var properties = parameters.Properties;
+ Assert.AreEqual(3, properties.Count);
+ Assert.AreEqual("9090", properties["idea_build_agent_port"].Value);
+ Assert.AreEqual("13852", properties["idea_build_server_build_id"].Value);
+ Assert.AreEqual(":", properties["path_separator"].Value);
+ }
+ }
+}
+
+#endif
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>8.0.50727</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{929D9BCD-2280-4B6D-AD69-0FD089E344C2}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <RootNamespace>xbuild.tests</RootNamespace>
+ <AssemblyName>xbuild.tests</AssemblyName>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug</OutputPath>
+ <DefineConstants>DEBUG;NET_2_0</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>false</ConsolePause>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>none</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Release</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>false</ConsolePause>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\xbuild.csproj">
+ <Project>{89938F1A-C851-41D5-96D2-C329E00887B6}</Project>
+ <Name>xbuild</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <ProjectExtensions>
+ <MonoDevelop>
+ <Properties InternalTargetFrameworkVersion="3.5" />
+ </MonoDevelop>
+ </ProjectExtensions>
+ <ItemGroup>
+ <Compile Include="ParametersTest.cs" />
+ </ItemGroup>
+</Project>
\ No newline at end of file
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Engine", "..\..\class\Microsoft.Build.Engine\Microsoft.Build.Engine.csproj", "{49CC9B64-E28A-4818-97F9-301E14B383B9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xbuild", "xbuild.csproj", "{89938F1A-C851-41D5-96D2-C329E00887B6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Engine.Test", "..\..\class\Microsoft.Build.Engine\Microsoft.Build.Engine.Test.csproj", "{A2F451CD-8701-434A-A562-EF1809E2DB7D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- DebugMS|Any CPU = DebugMS|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {49CC9B64-E28A-4818-97F9-301E14B383B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {49CC9B64-E28A-4818-97F9-301E14B383B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {49CC9B64-E28A-4818-97F9-301E14B383B9}.DebugMS|Any CPU.ActiveCfg = DebugMS|Any CPU
- {49CC9B64-E28A-4818-97F9-301E14B383B9}.DebugMS|Any CPU.Build.0 = DebugMS|Any CPU
- {49CC9B64-E28A-4818-97F9-301E14B383B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {49CC9B64-E28A-4818-97F9-301E14B383B9}.Release|Any CPU.Build.0 = Release|Any CPU
- {89938F1A-C851-41D5-96D2-C329E00887B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {89938F1A-C851-41D5-96D2-C329E00887B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {89938F1A-C851-41D5-96D2-C329E00887B6}.DebugMS|Any CPU.ActiveCfg = DebugMS|Any CPU
- {89938F1A-C851-41D5-96D2-C329E00887B6}.DebugMS|Any CPU.Build.0 = DebugMS|Any CPU
- {89938F1A-C851-41D5-96D2-C329E00887B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {89938F1A-C851-41D5-96D2-C329E00887B6}.Release|Any CPU.Build.0 = Release|Any CPU
- {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A2F451CD-8701-434A-A562-EF1809E2DB7D}.DebugMS|Any CPU.ActiveCfg = DebugMS|Any CPU
- {A2F451CD-8701-434A-A562-EF1809E2DB7D}.DebugMS|Any CPU.Build.0 = DebugMS|Any CPU
- {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+\r
+Microsoft Visual Studio Solution File, Format Version 9.00\r
+# Visual Studio 2005\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Engine", "..\..\class\Microsoft.Build.Engine\Microsoft.Build.Engine.csproj", "{49CC9B64-E28A-4818-97F9-301E14B383B9}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xbuild", "xbuild.csproj", "{89938F1A-C851-41D5-96D2-C329E00887B6}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Engine.Test", "..\..\class\Microsoft.Build.Engine\Microsoft.Build.Engine.Test.csproj", "{A2F451CD-8701-434A-A562-EF1809E2DB7D}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xbuild.tests", "Test\xbuild.tests\xbuild.tests.csproj", "{929D9BCD-2280-4B6D-AD69-0FD089E344C2}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|Any CPU = Debug|Any CPU\r
+ DebugMS|Any CPU = DebugMS|Any CPU\r
+ Release|Any CPU = Release|Any CPU\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {49CC9B64-E28A-4818-97F9-301E14B383B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {49CC9B64-E28A-4818-97F9-301E14B383B9}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {49CC9B64-E28A-4818-97F9-301E14B383B9}.DebugMS|Any CPU.ActiveCfg = DebugMS|Any CPU\r
+ {49CC9B64-E28A-4818-97F9-301E14B383B9}.DebugMS|Any CPU.Build.0 = DebugMS|Any CPU\r
+ {49CC9B64-E28A-4818-97F9-301E14B383B9}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {49CC9B64-E28A-4818-97F9-301E14B383B9}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {89938F1A-C851-41D5-96D2-C329E00887B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {89938F1A-C851-41D5-96D2-C329E00887B6}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {89938F1A-C851-41D5-96D2-C329E00887B6}.DebugMS|Any CPU.ActiveCfg = DebugMS|Any CPU\r
+ {89938F1A-C851-41D5-96D2-C329E00887B6}.DebugMS|Any CPU.Build.0 = DebugMS|Any CPU\r
+ {89938F1A-C851-41D5-96D2-C329E00887B6}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {89938F1A-C851-41D5-96D2-C329E00887B6}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.DebugMS|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.DebugMS|Any CPU.Build.0 = Debug|Any CPU\r
+ {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {929D9BCD-2280-4B6D-AD69-0FD089E344C2}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {A2F451CD-8701-434A-A562-EF1809E2DB7D}.DebugMS|Any CPU.ActiveCfg = DebugMS|Any CPU\r
+ {A2F451CD-8701-434A-A562-EF1809E2DB7D}.DebugMS|Any CPU.Build.0 = DebugMS|Any CPU\r
+ {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {A2F451CD-8701-434A-A562-EF1809E2DB7D}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ EndGlobalSection\r
+ GlobalSection(MonoDevelopProperties) = preSolution\r
+ StartupItem = ..\..\class\Microsoft.Build.Engine\Microsoft.Build.Engine.csproj\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+EndGlobal\r
>
<Output TaskParameter="ResolvedFiles" ItemName="ResolvedFiles"/>
<Output TaskParameter="ResolvedFiles" ItemName="ReferencePath"/>
- <Output TaskParameter="ResolvedDependencyFiles" ItemName="_ResolveAssemblyReferenceResolvedFiles"/>
+ <Output TaskParameter="ResolvedDependencyFiles" ItemName="_ResolvedDependencyFiles"/>
<Output TaskParameter="RelatedFiles" ItemName="_ReferenceRelatedPaths"/>
<Output TaskParameter="SatelliteFiles" ItemName="ReferenceSatellitePaths"/>
<Output TaskParameter="CopyLocalFiles" ItemName="ReferenceCopyLocalPaths"/>
ResolveReferences;
CopyFilesMarkedCopyLocal;
BuildResources;
+ CompileLicxFiles;
Compile;
PrepareForRun;
DeployOutputFiles;
</Target>
<Target Name="SplitResourcesByCulture" DependsOnTargets="AssignTargetPaths">
- <AssignCulture Files="@(EmbeddedResourceWithTargetPath)">
+ <!-- Extract .licx files into @(LicxFiles) -->
+ <CreateItem Include="@(EmbeddedResourceWithTargetPath)" Condition="'%(Extension)' == '.licx'">
+ <Output TaskParameter="Include" ItemName="LicxFiles"/>
+ </CreateItem>
+
+ <!-- Split *remaining* resource files into various groups.. -->
+ <AssignCulture Files="@(EmbeddedResourceWithTargetPath)" Condition="'%(Extension)' != '.licx'">
<Output TaskParameter="AssignedFilesWithNoCulture" ItemName="ResourcesWithNoCulture"/>
<Output TaskParameter="AssignedFilesWithCulture" ItemName="ResourcesWithCulture"/>
</AssignCulture>
</CreateItem>
</Target>
+ <PropertyGroup>
+ <CompileLicxFilesDependsOn></CompileLicxFilesDependsOn>
+ </PropertyGroup>
+
+ <Target Name = "CompileLicxFiles"
+ Condition = "'@(LicxFiles)' != ''"
+ DependsOnTargets = "$(CompileLicxFilesDependsOn)"
+ Outputs = "$(IntermediateOutputPath)$(TargetFileName).licenses">
+ <LC
+ Sources = "@(LicxFiles)"
+ LicenseTarget = "$(TargetFileName)"
+ OutputDirectory = "$(IntermediateOutputPath)"
+ OutputLicense = "$(IntermediateOutputPath)$(TargetFileName).licenses"
+ ReferencedAssemblies = "@(ReferencePath);@(_ResolvedDependencyFiles)"
+ ToolPath = "$(LCToolPath)"
+ ToolExe = "$(LCToolExe)">
+
+ <Output TaskParameter="OutputLicense" ItemName="CompiledLicenseFile"/>
+ <Output TaskParameter="OutputLicense" ItemName="FileWrites"/>
+ </LC>
+ </Target>
+
<!-- Assign target paths to files that will need to be copied along with the project -->
<Target Name = "AssignTargetPaths">
<AssignTargetPath Files="@(None)" RootFolder="$(MSBuildProjectDirectory)">
<!-- Clean -->
<Target Name="_RecordCleanFile"
DependsOnTargets="_GetCompileOutputsForClean">
+
+ <!-- add to list of previous writes for this platform/config -->
+
+ <ReadLinesFromFile File="$(IntermediateOutputPath)$(CleanFile)">
+ <Output TaskParameter="Lines" ItemName="PreviousFileWrites"/>
+ </ReadLinesFromFile>
+
+ <RemoveDuplicates Inputs="@(PreviousFileWrites);@(FileWrites->'%(FullPath)')">
+ <Output TaskParameter="Filtered" ItemName="CombinedFileWrites"/>
+ </RemoveDuplicates>
+
<WriteLinesToFile
File="$(IntermediateOutputPath)$(CleanFile)"
- Lines="@(FileWrites->'%(FullPath)')"
+ Lines="@(CombinedFileWrites)"
Overwrite="true"/>
</Target>
</PropertyGroup>
<Target Name="_GetCompileOutputsForClean">
+ <!-- assembly and debug file in the *intermediate output path* -->
<CreateItem Include="@(IntermediateAssembly)" Condition="Exists('@(IntermediateAssembly)')">
<Output TaskParameter="Include" ItemName="FileWrites"/>
</CreateItem>
<Target Name="_GetCleanFileWrites"
DependsOnTargets="_GetCompileOutputsForClean">
<ReadLinesFromFile File="$(IntermediateOutputPath)$(CleanFile)">
- <Output TaskParameter="Lines" ItemName="FileWrites"/>
+ <Output TaskParameter="Lines" ItemName="PreviousFileWrites"/>
</ReadLinesFromFile>
</Target>
<Target Name="AfterClean" />
<Target Name="CoreClean" DependsOnTargets="_GetCleanFileWrites">
- <Delete Files="@(FileWrites)" TreatErrorsAsWarnings="true"/>
+ <Delete Files="@(PreviousFileWrites);@(FileWrites)" TreatErrorsAsWarnings="true"/>
+
+ <!-- all previous files written for this platform/config have been deleted,
+ we can safely remove the file list now -->
+ <Delete Files="$(IntermediateOutputPath)$(CleanFile)" TreatErrorsAsWarnings="true" />
</Target>
</Project>
<UsingTask TaskName="Microsoft.Build.Tasks.GenerateResource" AssemblyName="Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<UsingTask TaskName="Microsoft.Build.Tasks.GetFrameworkPath" AssemblyName="Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<UsingTask TaskName="Microsoft.Build.Tasks.GetFrameworkSdkPath" AssemblyName="Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <UsingTask TaskName="Microsoft.Build.Tasks.LC" AssemblyName="Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<UsingTask TaskName="Microsoft.Build.Tasks.MakeDir" AssemblyName="Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<UsingTask TaskName="Microsoft.Build.Tasks.Message" AssemblyName="Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<UsingTask TaskName="Microsoft.Build.Tasks.MSBuild" AssemblyName="Microsoft.Build.Tasks, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
--- /dev/null
+xbuild.tests/ParametersTest.cs
%_bindir/gacutil
%_bindir/gacutil2
%_bindir/gmcs
-%_bindir/mono-test-install
%_bindir/mcs
+%_bindir/mono-test-install
%_bindir/mozroots
+%_bindir/peverify
%_bindir/setreg
%_bindir/sn
# exes
%_prefix/lib/mono/2.0/System.Management.dll
%_prefix/lib/mono/gac/RabbitMQ.Client
%_prefix/lib/mono/2.0/RabbitMQ.Client.dll
+%_prefix/lib/mono/2.0/RabbitMQ.Client.Apigen.exe*
%_prefix/lib/mono/gac/System.Messaging
%_prefix/lib/mono/2.0/System.Messaging.dll
%_prefix/lib/mono/gac/Mono.Messaging
%_prefix/lib/mono-source-libs
%_bindir/monograph
%_prefix/include/mono-1.0
-%_libdir/libmono-profiler-cov.*
%_libdir/libmono-profiler-aot.*
+%_libdir/libmono-profiler-cov.*
+%_libdir/libmono-profiler-iomap.*
%_libdir/libmono-profiler-logging.*
%_libdir/pkgconfig/mono.pc
%_libdir/pkgconfig/dotnet.pc
+2010-02-10 Miguel de Icaza <miguel@novell.com>
+
+ * main.c (dis_method_list): Show method implementation flags as
+ well when calling --method.
+
+ get.c: Moved some code here from main.c so it could be reused by
+ dump.c
+
2009-12-21 Rodrigo Kumpera <kumpera@gmail.com>
* get.c (get_type): Don't crash if the type is not found.
last_m = first_m = 1;
for (i = 1; i <= t->rows; i++){
guint32 cols [MONO_METHOD_SIZE];
- char *sig;
+ char *sig, *impl_flags;
const char *sigblob;
MonoMethodSignature *method;
mono_metadata_decode_blob_size (sigblob, &sigblob);
method = mono_metadata_parse_method_signature_full (m, method_container ? method_container : type_container, i, sigblob, &sigblob);
sig = dis_stringify_method_signature (m, method, i, method_container ? method_container : type_container, FALSE);
- fprintf (output, "%d: %s (param: %d)\n", i, sig, cols [MONO_METHOD_PARAMLIST]);
+ impl_flags = get_method_impl_flags (cols [MONO_METHOD_IMPLFLAGS]);
+ fprintf (output, "%d: %s (param: %d impl_flags: %s)\n", i, sig, cols [MONO_METHOD_PARAMLIST], impl_flags);
g_free (sig);
+ g_free (impl_flags);
mono_metadata_free_method_signature (method);
}
}
+static dis_map_t method_impl_map [] = {
+ { METHOD_IMPL_ATTRIBUTE_IL, "cil " },
+ { METHOD_IMPL_ATTRIBUTE_NATIVE, "native " },
+ { METHOD_IMPL_ATTRIBUTE_OPTIL, "optil " },
+ { METHOD_IMPL_ATTRIBUTE_RUNTIME, "runtime " },
+ { 0, NULL }
+};
+
+static dis_map_t managed_type_map [] = {
+ { METHOD_IMPL_ATTRIBUTE_UNMANAGED, "unmanaged " },
+ { METHOD_IMPL_ATTRIBUTE_MANAGED, "managed " },
+ { 0, NULL }
+};
+
+static dis_map_t managed_impl_flags [] = {
+ { METHOD_IMPL_ATTRIBUTE_FORWARD_REF, "fwdref " },
+ { METHOD_IMPL_ATTRIBUTE_PRESERVE_SIG, "preservesig " },
+ { METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL, "internalcall " },
+ { METHOD_IMPL_ATTRIBUTE_SYNCHRONIZED, "synchronized " },
+ { METHOD_IMPL_ATTRIBUTE_NOINLINING, "noinlining " },
+ { 0, NULL }
+};
+
+char *
+get_method_impl_flags (guint32 f)
+{
+ GString *str = g_string_new ("");
+ char *s;
+ int code_type = f & METHOD_IMPL_ATTRIBUTE_CODE_TYPE_MASK;
+ int managed_type = f & METHOD_IMPL_ATTRIBUTE_MANAGED_MASK;
+
+ g_string_append (str, map (code_type, method_impl_map));
+ g_string_append (str, map (managed_type, managed_type_map));
+ g_string_append (str, flags (f, managed_impl_flags));
+
+ s = str->str;
+ g_string_free (str, FALSE);
+ return s;
+}
+
guint32 method_dor_to_token (guint32 idx);
+char *get_method_impl_flags (guint32 f);
+
/*
* These functions are used during the decoding of streams in the
* metadata heaps (a simple parsing).
return s;
}
-static dis_map_t method_impl_map [] = {
- { METHOD_IMPL_ATTRIBUTE_IL, "cil " },
- { METHOD_IMPL_ATTRIBUTE_NATIVE, "native " },
- { METHOD_IMPL_ATTRIBUTE_OPTIL, "optil " },
- { METHOD_IMPL_ATTRIBUTE_RUNTIME, "runtime " },
- { 0, NULL }
-};
-
-static dis_map_t managed_type_map [] = {
- { METHOD_IMPL_ATTRIBUTE_UNMANAGED, "unmanaged " },
- { METHOD_IMPL_ATTRIBUTE_MANAGED, "managed " },
- { 0, NULL }
-};
-
-static dis_map_t managed_impl_flags [] = {
- { METHOD_IMPL_ATTRIBUTE_FORWARD_REF, "fwdref " },
- { METHOD_IMPL_ATTRIBUTE_PRESERVE_SIG, "preservesig " },
- { METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL, "internalcall " },
- { METHOD_IMPL_ATTRIBUTE_SYNCHRONIZED, "synchronized " },
- { METHOD_IMPL_ATTRIBUTE_NOINLINING, "noinlining " },
- { 0, NULL }
-};
-
-static char *
-method_impl_flags (guint32 f)
-{
- GString *str = g_string_new ("");
- char *s;
- int code_type = f & METHOD_IMPL_ATTRIBUTE_CODE_TYPE_MASK;
- int managed_type = f & METHOD_IMPL_ATTRIBUTE_MANAGED_MASK;
-
- g_string_append (str, map (code_type, method_impl_map));
- g_string_append (str, map (managed_type, managed_type_map));
- g_string_append (str, flags (f, managed_impl_flags));
-
- s = str->str;
- g_string_free (str, FALSE);
- return s;
-}
-
static void
dis_locals (MonoImage *m, MonoMethodHeader *mh, const char *ptr)
{
mono_metadata_decode_row (t, i, cols, MONO_METHOD_SIZE);
flags = method_flags (cols [MONO_METHOD_FLAGS]);
- impl_flags = method_impl_flags (cols [MONO_METHOD_IMPLFLAGS]);
+ impl_flags = get_method_impl_flags (cols [MONO_METHOD_IMPLFLAGS]);
sig = mono_metadata_blob_heap (m, cols [MONO_METHOD_SIGNATURE]);
mono_metadata_decode_blob_size (sig, &sig);
+
+Wed Feb 24 16:01:37 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * Makefile.am: don't install the headers anymore, they are private.
+
+2010-02-20 Zoltan Varga <vargaz@gmail.com>
+
+ * versioninfo.c (VerLanguageName): Remove code duplication a bit.
+
2009-12-02 Miguel de Icaza <miguel@novell.com>
* processes.c (EnumProcesses): Add support for OSX, patch from Tom
hppa_atomic.S
if HOST_WIN32
-libwapi_la_SOURCES = $(WINDOWS_SRC)
-libwapiinclude_HEADERS = $(WINDOWS_H)
+libwapi_la_SOURCES = $(WINDOWS_SRC) $(WINDOWS_H)
else
if HPPA
libwapi_la_SOURCES = $(OTHER_SRC) $(HPPA_SRC)
# to enable pick up of config.h
libwapi_la_CCASFLAGS = -I$(top_builddir)
else
-libwapi_la_SOURCES = $(OTHER_SRC)
+libwapi_la_SOURCES = $(OTHER_SRC) $(OTHER_H)
endif
-libwapiinclude_HEADERS = $(OTHER_H)
endif
if PLATFORM_DARWIN
libwapi_la_LIBADD = -lproc
VerLanguageName (guint32 lang, gunichar2 *lang_out, guint32 lang_len)
{
int primary, secondary;
-
+ const char *name = NULL;
+
primary = lang & 0x3FF;
secondary = (lang >> 10) & 0x3F;
-
+
switch(primary) {
case 0x00:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Process Default Language"));
+ name = "Process Default Language";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "Arabic (Saudi Arabia)"));
+ name = "Arabic (Saudi Arabia)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Arabic (Iraq)"));
+ name = "Arabic (Iraq)";
break;
case 0x03:
- return(copy_lang (lang_out, lang_len, "Arabic (Egypt)"));
+ name = "Arabic (Egypt)";
break;
case 0x04:
- return(copy_lang (lang_out, lang_len, "Arabic (Libya)"));
+ name = "Arabic (Libya)";
break;
case 0x05:
- return(copy_lang (lang_out, lang_len, "Arabic (Algeria)"));
+ name = "Arabic (Algeria)";
break;
case 0x06:
- return(copy_lang (lang_out, lang_len, "Arabic (Morocco)"));
+ name = "Arabic (Morocco)";
break;
case 0x07:
- return(copy_lang (lang_out, lang_len, "Arabic (Tunisia)"));
+ name = "Arabic (Tunisia)";
break;
case 0x08:
- return(copy_lang (lang_out, lang_len, "Arabic (Oman)"));
+ name = "Arabic (Oman)";
break;
case 0x09:
- return(copy_lang (lang_out, lang_len, "Arabic (Yemen)"));
+ name = "Arabic (Yemen)";
break;
case 0x0a:
- return(copy_lang (lang_out, lang_len, "Arabic (Syria)"));
+ name = "Arabic (Syria)";
break;
case 0x0b:
- return(copy_lang (lang_out, lang_len, "Arabic (Jordan)"));
+ name = "Arabic (Jordan)";
break;
case 0x0c:
- return(copy_lang (lang_out, lang_len, "Arabic (Lebanon)"));
+ name = "Arabic (Lebanon)";
break;
case 0x0d:
- return(copy_lang (lang_out, lang_len, "Arabic (Kuwait)"));
+ name = "Arabic (Kuwait)";
break;
case 0x0e:
- return(copy_lang (lang_out, lang_len, "Arabic (U.A.E.)"));
+ name = "Arabic (U.A.E.)";
break;
case 0x0f:
- return(copy_lang (lang_out, lang_len, "Arabic (Bahrain)"));
+ name = "Arabic (Bahrain)";
break;
case 0x10:
- return(copy_lang (lang_out, lang_len, "Arabic (Qatar)"));
+ name = "Arabic (Qatar)";
break;
}
break;
case 0x02:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Bulgarian (Bulgaria)"));
+ name = "Bulgarian (Bulgaria)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Bulgarian"));
+ name = "Bulgarian";
break;
}
break;
case 0x03:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Catalan (Spain)"));
+ name = "Catalan (Spain)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Catalan"));
+ name = "Catalan";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "Chinese (Taiwan)"));
+ name = "Chinese (Taiwan)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Chinese (PRC)"));
+ name = "Chinese (PRC)";
break;
case 0x03:
- return(copy_lang (lang_out, lang_len, "Chinese (Hong Kong S.A.R.)"));
+ name = "Chinese (Hong Kong S.A.R.)";
break;
case 0x04:
- return(copy_lang (lang_out, lang_len, "Chinese (Singapore)"));
+ name = "Chinese (Singapore)";
break;
case 0x05:
- return(copy_lang (lang_out, lang_len, "Chinese (Macau S.A.R.)"));
+ name = "Chinese (Macau S.A.R.)";
break;
}
break;
case 0x05:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Czech (Czech Republic)"));
+ name = "Czech (Czech Republic)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Czech"));
+ name = "Czech";
break;
}
break;
case 0x06:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Danish (Denmark)"));
+ name = "Danish (Denmark)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Danish"));
+ name = "Danish";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "German (Germany)"));
+ name = "German (Germany)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "German (Switzerland)"));
+ name = "German (Switzerland)";
break;
case 0x03:
- return(copy_lang (lang_out, lang_len, "German (Austria)"));
+ name = "German (Austria)";
break;
case 0x04:
- return(copy_lang (lang_out, lang_len, "German (Luxembourg)"));
+ name = "German (Luxembourg)";
break;
case 0x05:
- return(copy_lang (lang_out, lang_len, "German (Liechtenstein)"));
+ name = "German (Liechtenstein)";
break;
}
break;
case 0x08:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Greek (Greece)"));
+ name = "Greek (Greece)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Greek"));
+ name = "Greek";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "English (United States)"));
+ name = "English (United States)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "English (United Kingdom)"));
+ name = "English (United Kingdom)";
break;
case 0x03:
- return(copy_lang (lang_out, lang_len, "English (Australia)"));
+ name = "English (Australia)";
break;
case 0x04:
- return(copy_lang (lang_out, lang_len, "English (Canada)"));
+ name = "English (Canada)";
break;
case 0x05:
- return(copy_lang (lang_out, lang_len, "English (New Zealand)"));
+ name = "English (New Zealand)";
break;
case 0x06:
- return(copy_lang (lang_out, lang_len, "English (Ireland)"));
+ name = "English (Ireland)";
break;
case 0x07:
- return(copy_lang (lang_out, lang_len, "English (South Africa)"));
+ name = "English (South Africa)";
break;
case 0x08:
- return(copy_lang (lang_out, lang_len, "English (Jamaica)"));
+ name = "English (Jamaica)";
break;
case 0x09:
- return(copy_lang (lang_out, lang_len, "English (Caribbean)"));
+ name = "English (Caribbean)";
break;
case 0x0a:
- return(copy_lang (lang_out, lang_len, "English (Belize)"));
+ name = "English (Belize)";
break;
case 0x0b:
- return(copy_lang (lang_out, lang_len, "English (Trinidad and Tobago)"));
+ name = "English (Trinidad and Tobago)";
break;
case 0x0c:
- return(copy_lang (lang_out, lang_len, "English (Zimbabwe)"));
+ name = "English (Zimbabwe)";
break;
case 0x0d:
- return(copy_lang (lang_out, lang_len, "English (Philippines)"));
+ name = "English (Philippines)";
break;
case 0x10:
- return(copy_lang (lang_out, lang_len, "English (India)"));
+ name = "English (India)";
break;
case 0x11:
- return(copy_lang (lang_out, lang_len, "English (Malaysia)"));
+ name = "English (Malaysia)";
break;
case 0x12:
- return(copy_lang (lang_out, lang_len, "English (Singapore)"));
+ name = "English (Singapore)";
break;
}
break;
case 0x0a:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Spanish (Spain)"));
+ name = "Spanish (Spain)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Spanish (Traditional Sort)"));
+ name = "Spanish (Traditional Sort)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Spanish (Mexico)"));
+ name = "Spanish (Mexico)";
break;
case 0x03:
- return(copy_lang (lang_out, lang_len, "Spanish (International Sort)"));
+ name = "Spanish (International Sort)";
break;
case 0x04:
- return(copy_lang (lang_out, lang_len, "Spanish (Guatemala)"));
+ name = "Spanish (Guatemala)";
break;
case 0x05:
- return(copy_lang (lang_out, lang_len, "Spanish (Costa Rica)"));
+ name = "Spanish (Costa Rica)";
break;
case 0x06:
- return(copy_lang (lang_out, lang_len, "Spanish (Panama)"));
+ name = "Spanish (Panama)";
break;
case 0x07:
- return(copy_lang (lang_out, lang_len, "Spanish (Dominican Republic)"));
+ name = "Spanish (Dominican Republic)";
break;
case 0x08:
- return(copy_lang (lang_out, lang_len, "Spanish (Venezuela)"));
+ name = "Spanish (Venezuela)";
break;
case 0x09:
- return(copy_lang (lang_out, lang_len, "Spanish (Colombia)"));
+ name = "Spanish (Colombia)";
break;
case 0x0a:
- return(copy_lang (lang_out, lang_len, "Spanish (Peru)"));
+ name = "Spanish (Peru)";
break;
case 0x0b:
- return(copy_lang (lang_out, lang_len, "Spanish (Argentina)"));
+ name = "Spanish (Argentina)";
break;
case 0x0c:
- return(copy_lang (lang_out, lang_len, "Spanish (Ecuador)"));
+ name = "Spanish (Ecuador)";
break;
case 0x0d:
- return(copy_lang (lang_out, lang_len, "Spanish (Chile)"));
+ name = "Spanish (Chile)";
break;
case 0x0e:
- return(copy_lang (lang_out, lang_len, "Spanish (Uruguay)"));
+ name = "Spanish (Uruguay)";
break;
case 0x0f:
- return(copy_lang (lang_out, lang_len, "Spanish (Paraguay)"));
+ name = "Spanish (Paraguay)";
break;
case 0x10:
- return(copy_lang (lang_out, lang_len, "Spanish (Bolivia)"));
+ name = "Spanish (Bolivia)";
break;
case 0x11:
- return(copy_lang (lang_out, lang_len, "Spanish (El Salvador)"));
+ name = "Spanish (El Salvador)";
break;
case 0x12:
- return(copy_lang (lang_out, lang_len, "Spanish (Honduras)"));
+ name = "Spanish (Honduras)";
break;
case 0x13:
- return(copy_lang (lang_out, lang_len, "Spanish (Nicaragua)"));
+ name = "Spanish (Nicaragua)";
break;
case 0x14:
- return(copy_lang (lang_out, lang_len, "Spanish (Puerto Rico)"));
+ name = "Spanish (Puerto Rico)";
break;
case 0x15:
- return(copy_lang (lang_out, lang_len, "Spanish (United States)"));
+ name = "Spanish (United States)";
break;
}
break;
case 0x0b:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Finnish (Finland)"));
+ name = "Finnish (Finland)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Finnish"));
+ name = "Finnish";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "French (France)"));
+ name = "French (France)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "French (Belgium)"));
+ name = "French (Belgium)";
break;
case 0x03:
- return(copy_lang (lang_out, lang_len, "French (Canada)"));
+ name = "French (Canada)";
break;
case 0x04:
- return(copy_lang (lang_out, lang_len, "French (Switzerland)"));
+ name = "French (Switzerland)";
break;
case 0x05:
- return(copy_lang (lang_out, lang_len, "French (Luxembourg)"));
+ name = "French (Luxembourg)";
break;
case 0x06:
- return(copy_lang (lang_out, lang_len, "French (Monaco)"));
+ name = "French (Monaco)";
break;
}
break;
case 0x0d:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Hebrew (Israel)"));
+ name = "Hebrew (Israel)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Hebrew"));
+ name = "Hebrew";
break;
}
break;
case 0x0e:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Hungarian (Hungary)"));
+ name = "Hungarian (Hungary)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Hungarian"));
+ name = "Hungarian";
break;
}
break;
case 0x0f:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Icelandic (Iceland)"));
+ name = "Icelandic (Iceland)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Icelandic"));
+ name = "Icelandic";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "Italian (Italy)"));
+ name = "Italian (Italy)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Italian (Switzerland)"));
+ name = "Italian (Switzerland)";
break;
}
break;
case 0x11:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Japanese (Japan)"));
+ name = "Japanese (Japan)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Japanese"));
+ name = "Japanese";
break;
}
break;
case 0x12:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Korean (Korea)"));
+ name = "Korean (Korea)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Korean"));
+ name = "Korean";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "Dutch (Netherlands)"));
+ name = "Dutch (Netherlands)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Dutch (Belgium)"));
+ name = "Dutch (Belgium)";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "Norwegian (Bokmal)"));
+ name = "Norwegian (Bokmal)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Norwegian (Nynorsk)"));
+ name = "Norwegian (Nynorsk)";
break;
}
break;
case 0x15:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Polish (Poland)"));
+ name = "Polish (Poland)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Polish"));
+ name = "Polish";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "Portuguese (Brazil)"));
+ name = "Portuguese (Brazil)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Portuguese (Portugal)"));
+ name = "Portuguese (Portugal)";
break;
}
break;
case 0x17:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Romansh (Switzerland)"));
+ name = "Romansh (Switzerland)";
break;
}
break;
case 0x18:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Romanian (Romania)"));
+ name = "Romanian (Romania)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Romanian"));
+ name = "Romanian";
break;
}
break;
case 0x19:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Russian (Russia)"));
+ name = "Russian (Russia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Russian"));
+ name = "Russian";
break;
}
break;
case 0x1a:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Croatian (Croatia)"));
+ name = "Croatian (Croatia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Croatian"));
+ name = "Croatian";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Serbian (Latin)"));
+ name = "Serbian (Latin)";
break;
case 0x03:
- return(copy_lang (lang_out, lang_len, "Serbian (Cyrillic)"));
+ name = "Serbian (Cyrillic)";
break;
case 0x04:
- return(copy_lang (lang_out, lang_len, "Croatian (Bosnia and Herzegovina)"));
+ name = "Croatian (Bosnia and Herzegovina)";
break;
case 0x05:
- return(copy_lang (lang_out, lang_len, "Bosnian (Latin, Bosnia and Herzegovina)"));
+ name = "Bosnian (Latin, Bosnia and Herzegovina)";
break;
case 0x06:
- return(copy_lang (lang_out, lang_len, "Serbian (Latin, Bosnia and Herzegovina)"));
+ name = "Serbian (Latin, Bosnia and Herzegovina)";
break;
case 0x07:
- return(copy_lang (lang_out, lang_len, "Serbian (Cyrillic, Bosnia and Herzegovina)"));
+ name = "Serbian (Cyrillic, Bosnia and Herzegovina)";
break;
case 0x08:
- return(copy_lang (lang_out, lang_len, "Bosnian (Cyrillic, Bosnia and Herzegovina)"));
+ name = "Bosnian (Cyrillic, Bosnia and Herzegovina)";
break;
}
break;
case 0x1b:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Slovak (Slovakia)"));
+ name = "Slovak (Slovakia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Slovak"));
+ name = "Slovak";
break;
}
break;
case 0x1c:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Albanian (Albania)"));
+ name = "Albanian (Albania)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Albanian"));
+ name = "Albanian";
break;
}
break;
case 0x1d:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Swedish (Sweden)"));
+ name = "Swedish (Sweden)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Swedish"));
+ name = "Swedish";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Swedish (Finland)"));
+ name = "Swedish (Finland)";
break;
}
break;
case 0x1e:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Thai (Thailand)"));
+ name = "Thai (Thailand)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Thai"));
+ name = "Thai";
break;
}
break;
case 0x1f:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Turkish (Turkey)"));
+ name = "Turkish (Turkey)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Turkish"));
+ name = "Turkish";
break;
}
break;
case 0x20:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Urdu (Islamic Republic of Pakistan)"));
+ name = "Urdu (Islamic Republic of Pakistan)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Urdu"));
+ name = "Urdu";
break;
}
break;
case 0x21:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Indonesian (Indonesia)"));
+ name = "Indonesian (Indonesia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Indonesian"));
+ name = "Indonesian";
break;
}
break;
case 0x22:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Ukrainian (Ukraine)"));
+ name = "Ukrainian (Ukraine)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Ukrainian"));
+ name = "Ukrainian";
break;
}
break;
case 0x23:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Belarusian (Belarus)"));
+ name = "Belarusian (Belarus)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Belarusian"));
+ name = "Belarusian";
break;
}
break;
case 0x24:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Slovenian (Slovenia)"));
+ name = "Slovenian (Slovenia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Slovenian"));
+ name = "Slovenian";
break;
}
break;
case 0x25:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Estonian (Estonia)"));
+ name = "Estonian (Estonia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Estonian"));
+ name = "Estonian";
break;
}
break;
case 0x26:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Latvian (Latvia)"));
+ name = "Latvian (Latvia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Latvian"));
+ name = "Latvian";
break;
}
break;
case 0x27:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Lithuanian (Lithuania)"));
+ name = "Lithuanian (Lithuania)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Lithuanian"));
+ name = "Lithuanian";
break;
}
break;
case 0x28:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Tajik (Tajikistan)"));
+ name = "Tajik (Tajikistan)";
break;
}
break;
case 0x29:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Farsi (Iran)"));
+ name = "Farsi (Iran)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Farsi"));
+ name = "Farsi";
break;
}
break;
case 0x2a:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Vietnamese (Viet Nam)"));
+ name = "Vietnamese (Viet Nam)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Vietnamese"));
+ name = "Vietnamese";
break;
}
break;
case 0x2b:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Armenian (Armenia)"));
+ name = "Armenian (Armenia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Armenian"));
+ name = "Armenian";
break;
}
break;
case 0x2c:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Azeri (Latin) (Azerbaijan)"));
+ name = "Azeri (Latin) (Azerbaijan)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Azeri (Latin)"));
+ name = "Azeri (Latin)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Azeri (Cyrillic)"));
+ name = "Azeri (Cyrillic)";
break;
}
break;
case 0x2d:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Basque (Spain)"));
+ name = "Basque (Spain)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Basque"));
+ name = "Basque";
break;
}
break;
case 0x2e:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Upper Sorbian (Germany)"));
+ name = "Upper Sorbian (Germany)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Lower Sorbian (Germany)"));
+ name = "Lower Sorbian (Germany)";
break;
}
break;
case 0x2f:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "FYRO Macedonian (Former Yugoslav Republic of Macedonia)"));
+ name = "FYRO Macedonian (Former Yugoslav Republic of Macedonia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "FYRO Macedonian"));
+ name = "FYRO Macedonian";
break;
}
break;
case 0x32:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Tswana (South Africa)"));
+ name = "Tswana (South Africa)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Tswana"));
+ name = "Tswana";
break;
}
break;
case 0x34:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Xhosa (South Africa)"));
+ name = "Xhosa (South Africa)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Xhosa"));
+ name = "Xhosa";
break;
}
break;
case 0x35:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Zulu (South Africa)"));
+ name = "Zulu (South Africa)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Zulu"));
+ name = "Zulu";
break;
}
break;
case 0x36:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Afrikaans (South Africa)"));
+ name = "Afrikaans (South Africa)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Afrikaans"));
+ name = "Afrikaans";
break;
}
break;
case 0x37:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Georgian (Georgia)"));
+ name = "Georgian (Georgia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Georgian"));
+ name = "Georgian";
break;
}
break;
case 0x38:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Faroese (Faroe Islands)"));
+ name = "Faroese (Faroe Islands)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Faroese"));
+ name = "Faroese";
break;
}
break;
case 0x39:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Hindi (India)"));
+ name = "Hindi (India)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Hindi"));
+ name = "Hindi";
break;
}
break;
case 0x3a:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Maltese (Malta)"));
+ name = "Maltese (Malta)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Maltese"));
+ name = "Maltese";
break;
}
break;
case 0x3b:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Sami (Northern) (Norway)"));
+ name = "Sami (Northern) (Norway)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Sami, Northern (Norway)"));
+ name = "Sami, Northern (Norway)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Sami, Northern (Sweden)"));
+ name = "Sami, Northern (Sweden)";
break;
case 0x03:
- return(copy_lang (lang_out, lang_len, "Sami, Northern (Finland)"));
+ name = "Sami, Northern (Finland)";
break;
case 0x04:
- return(copy_lang (lang_out, lang_len, "Sami, Lule (Norway)"));
+ name = "Sami, Lule (Norway)";
break;
case 0x05:
- return(copy_lang (lang_out, lang_len, "Sami, Lule (Sweden)"));
+ name = "Sami, Lule (Sweden)";
break;
case 0x06:
- return(copy_lang (lang_out, lang_len, "Sami, Southern (Norway)"));
+ name = "Sami, Southern (Norway)";
break;
case 0x07:
- return(copy_lang (lang_out, lang_len, "Sami, Southern (Sweden)"));
+ name = "Sami, Southern (Sweden)";
break;
case 0x08:
- return(copy_lang (lang_out, lang_len, "Sami, Skolt (Finland)"));
+ name = "Sami, Skolt (Finland)";
break;
case 0x09:
- return(copy_lang (lang_out, lang_len, "Sami, Inari (Finland)"));
+ name = "Sami, Inari (Finland)";
break;
}
break;
case 0x3c:
switch(secondary) {
case 0x02:
- return(copy_lang (lang_out, lang_len, "Irish (Ireland)"));
+ name = "Irish (Ireland)";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "Malay (Malaysia)"));
+ name = "Malay (Malaysia)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Malay (Brunei Darussalam)"));
+ name = "Malay (Brunei Darussalam)";
break;
}
break;
case 0x3f:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Kazakh (Kazakhstan)"));
+ name = "Kazakh (Kazakhstan)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Kazakh"));
+ name = "Kazakh";
break;
}
break;
case 0x40:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Kyrgyz (Kyrgyzstan)"));
+ name = "Kyrgyz (Kyrgyzstan)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Kyrgyz (Cyrillic)"));
+ name = "Kyrgyz (Cyrillic)";
break;
}
break;
case 0x41:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Swahili (Kenya)"));
+ name = "Swahili (Kenya)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Swahili"));
+ name = "Swahili";
break;
}
break;
case 0x42:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Turkmen (Turkmenistan)"));
+ name = "Turkmen (Turkmenistan)";
break;
}
break;
case 0x43:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Uzbek (Latin) (Uzbekistan)"));
+ name = "Uzbek (Latin) (Uzbekistan)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Uzbek (Latin)"));
+ name = "Uzbek (Latin)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Uzbek (Cyrillic)"));
+ name = "Uzbek (Cyrillic)";
break;
}
break;
case 0x44:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Tatar (Russia)"));
+ name = "Tatar (Russia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Tatar"));
+ name = "Tatar";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "Bengali (India)"));
+ name = "Bengali (India)";
break;
}
break;
case 0x46:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Punjabi (India)"));
+ name = "Punjabi (India)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Punjabi"));
+ name = "Punjabi";
break;
}
break;
case 0x47:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Gujarati (India)"));
+ name = "Gujarati (India)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Gujarati"));
+ name = "Gujarati";
break;
}
break;
case 0x49:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Tamil (India)"));
+ name = "Tamil (India)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Tamil"));
+ name = "Tamil";
break;
}
break;
case 0x4a:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Telugu (India)"));
+ name = "Telugu (India)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Telugu"));
+ name = "Telugu";
break;
}
break;
case 0x4b:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Kannada (India)"));
+ name = "Kannada (India)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Kannada"));
+ name = "Kannada";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "Malayalam (India)"));
+ name = "Malayalam (India)";
break;
}
break;
case 0x4d:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Assamese (India)"));
+ name = "Assamese (India)";
break;
}
break;
case 0x4e:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Marathi (India)"));
+ name = "Marathi (India)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Marathi"));
+ name = "Marathi";
break;
}
break;
case 0x4f:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Sanskrit (India)"));
+ name = "Sanskrit (India)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Sanskrit"));
+ name = "Sanskrit";
break;
}
break;
case 0x50:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Mongolian (Mongolia)"));
+ name = "Mongolian (Mongolia)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Mongolian (Cyrillic)"));
+ name = "Mongolian (Cyrillic)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Mongolian (PRC)"));
+ name = "Mongolian (PRC)";
break;
}
break;
case 0x51:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Tibetan (PRC)"));
+ name = "Tibetan (PRC)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Tibetan (Bhutan)"));
+ name = "Tibetan (Bhutan)";
break;
}
break;
case 0x52:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Welsh (United Kingdom)"));
+ name = "Welsh (United Kingdom)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Welsh"));
+ name = "Welsh";
break;
}
break;
case 0x53:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Khmer (Cambodia)"));
+ name = "Khmer (Cambodia)";
break;
}
break;
case 0x54:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Lao (Lao PDR)"));
+ name = "Lao (Lao PDR)";
break;
}
break;
case 0x56:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Galician (Spain)"));
+ name = "Galician (Spain)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Galician"));
+ name = "Galician";
break;
}
break;
case 0x57:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Konkani (India)"));
+ name = "Konkani (India)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Konkani"));
+ name = "Konkani";
break;
}
break;
case 0x5a:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Syriac (Syria)"));
+ name = "Syriac (Syria)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Syriac"));
+ name = "Syriac";
break;
}
break;
case 0x5b:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Sinhala (Sri Lanka)"));
+ name = "Sinhala (Sri Lanka)";
break;
}
break;
case 0x5d:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Inuktitut (Syllabics, Canada)"));
+ name = "Inuktitut (Syllabics, Canada)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Inuktitut (Latin, Canada)"));
+ name = "Inuktitut (Latin, Canada)";
break;
}
break;
case 0x5e:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Amharic (Ethiopia)"));
+ name = "Amharic (Ethiopia)";
break;
}
break;
case 0x5f:
switch(secondary) {
case 0x02:
- return(copy_lang (lang_out, lang_len, "Tamazight (Algeria, Latin)"));
+ name = "Tamazight (Algeria, Latin)";
break;
}
break;
case 0x61:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Nepali (Nepal)"));
+ name = "Nepali (Nepal)";
break;
}
break;
case 0x62:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Frisian (Netherlands)"));
+ name = "Frisian (Netherlands)";
break;
}
break;
case 0x63:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Pashto (Afghanistan)"));
+ name = "Pashto (Afghanistan)";
break;
}
break;
case 0x64:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Filipino (Philippines)"));
+ name = "Filipino (Philippines)";
break;
}
break;
case 0x65:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Divehi (Maldives)"));
+ name = "Divehi (Maldives)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Divehi"));
+ name = "Divehi";
break;
}
break;
case 0x68:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Hausa (Nigeria, Latin)"));
+ name = "Hausa (Nigeria, Latin)";
break;
}
break;
case 0x6a:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Yoruba (Nigeria)"));
+ name = "Yoruba (Nigeria)";
break;
}
break;
switch(secondary) {
case 0x00:
case 0x01:
- return(copy_lang (lang_out, lang_len, "Quechua (Bolivia)"));
+ name = "Quechua (Bolivia)";
break;
case 0x02:
- return(copy_lang (lang_out, lang_len, "Quechua (Ecuador)"));
+ name = "Quechua (Ecuador)";
break;
case 0x03:
- return(copy_lang (lang_out, lang_len, "Quechua (Peru)"));
+ name = "Quechua (Peru)";
break;
}
break;
case 0x6c:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Northern Sotho (South Africa)"));
+ name = "Northern Sotho (South Africa)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Northern Sotho"));
+ name = "Northern Sotho";
break;
}
break;
case 0x6d:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Bashkir (Russia)"));
+ name = "Bashkir (Russia)";
break;
}
break;
case 0x6e:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Luxembourgish (Luxembourg)"));
+ name = "Luxembourgish (Luxembourg)";
break;
}
break;
case 0x6f:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Greenlandic (Greenland)"));
+ name = "Greenlandic (Greenland)";
break;
}
break;
case 0x78:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Yi (PRC)"));
+ name = "Yi (PRC)";
break;
}
break;
case 0x7a:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Mapudungun (Chile)"));
+ name = "Mapudungun (Chile)";
break;
}
break;
case 0x7c:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Mohawk (Mohawk)"));
+ name = "Mohawk (Mohawk)";
break;
}
break;
case 0x7e:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Breton (France)"));
+ name = "Breton (France)";
break;
}
break;
case 0x7f:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Invariant Language (Invariant Country)"));
+ name = "Invariant Language (Invariant Country)";
break;
}
break;
case 0x80:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Uighur (PRC)"));
+ name = "Uighur (PRC)";
break;
}
break;
case 0x81:
switch(secondary) {
case 0x00:
- return(copy_lang (lang_out, lang_len, "Maori (New Zealand)"));
+ name = "Maori (New Zealand)";
break;
case 0x01:
- return(copy_lang (lang_out, lang_len, "Maori"));
+ name = "Maori";
break;
}
break;
case 0x83:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Corsican (France)"));
+ name = "Corsican (France)";
break;
}
break;
case 0x84:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Alsatian (France)"));
+ name = "Alsatian (France)";
break;
}
break;
case 0x85:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Yakut (Russia)"));
+ name = "Yakut (Russia)";
break;
}
break;
case 0x86:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "K'iche (Guatemala)"));
+ name = "K'iche (Guatemala)";
break;
}
break;
case 0x87:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Kinyarwanda (Rwanda)"));
+ name = "Kinyarwanda (Rwanda)";
break;
}
break;
case 0x88:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Wolof (Senegal)"));
+ name = "Wolof (Senegal)";
break;
}
break;
case 0x8c:
switch(secondary) {
case 0x01:
- return(copy_lang (lang_out, lang_len, "Dari (Afghanistan)"));
+ name = "Dari (Afghanistan)";
break;
}
break;
default:
- return(copy_lang (lang_out, lang_len, "Language Neutral"));
+ name = "Language Neutral";
}
- return(copy_lang (lang_out, lang_len, "Language Neutral"));
+ if (!name)
+ name = "Language Neutral";
+
+ return copy_lang (lang_out, lang_len, name);
}
+2010-02-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * culture-info-table.h : regenerated.
+
+2010-02-22 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * metadata.c: Add mono_method_get_header_summary which returns minimal
+ information about the header of a method. This is the information used
+ by the inline oracle to reject methods.
+
+ This method doesn't decode local variables and doesn't cache it's result,
+ so it should cause a minimal reduction in memory usage.
+
+ * metadata-internals.h: Add MonoMethodHeaderSummary structure and
+ mono_method_get_header_summary.
+
+2010-02-22 Jeffrey Stedfast <fejj@novell.com>
+
+ * threads.c (mono_thread_exit): Make sure that the main thread is
+ non-null before dereferencing it.
+
+2010-02-21 Geoff Norton <gnorton@novell.com>
+
+ * Makefile.am: Add CoreFoundation linkage on darwin to properly get the current
+ locale.
+ * locaes.c: When running on darwin, try to get the local from CoreFoundation
+ before falling back to the posix lookup.
+
+2010-02-19 Zoltan Varga <vargaz@gmail.com>
+
+ * threads.c (mono_thread_suspend_all_other_threads): Ignore threads which have
+ the DONT_MANAGE flag set.
+
+2010-02-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * domain.c: Remove old v1 version strings. Let the runtime
+ default to 2.0 instead of failing because it can't find a
+ working 1.0 instalation.
+
+2010-02-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * domain.c: Add v4 RC version string.
+
+2010-02-19 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mono-basic-block.c (mono_opcode_value_and_size): Use pointer variant
+ of overflow checking function.
+
+2010-02-18 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * reflection.c (mono_reflection_method_on_tb_inst_get_handle): Handle non
+ generic methods.
+
+ * reflection.c (mono_reflection_get_custom_attrs_info): Handle compiler context
+ cases for ParameterInfo.
+
+ Fixes #579493.
+
+2010-02-18 Zoltan Varga <vargaz@gmail.com>
+
+ * class.c (mono_class_get_cctor): Fix support for dynamic classes, which doesn't
+ have has_cctor set. Fixes #575946.
+
+2010-02-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * appdomain.c: display a warning if the parsing the config file
+ produces any error.
+ Skip the BOM in UTF-8 files.
+ Copy the AppDomainSetup before setting the privateBinPath so that the
+ correct configuration file is read.
+
+2010-02-15 Zoltan Varga <vargaz@gmail.com>
+
+ * object.c: Instead of using one vtable trampoline, allow the JIT to use one
+ vtable trampoline per vtable slot index. Not used yet.
+
+2010-02-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * icall-def.h:
+ * icall.c: add internal call that returns the system page size.
+
+2010-02-13 Zoltan Varga <vargaz@gmail.com>
+
+ * debug-helpers.c (mono_method_desc_search_in_image): Handle short names like
+ 'int' for system classes.
+
+Fri Feb 12 18:36:02 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * icall.c, icall-def.h: new icall to check for sufficient
+ stack space.
+
+2010-02-12 Mark Probst <mark.probst@gmail.com>
+
+ * reflection.c (ensure_complete_type): Check that reflection_info
+ is set, too. Fixes crash of corlib testsuite with -O=-all.
+
+2010-02-11 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * attrdefs.h:
+ * tabledefs.h: Add NoOptimization flag.
+
+2010-02-10 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: Don't consider it a missing remset if the target
+ object is pinned - we might have done the store but not added the
+ remset yet.
+
+2010-02-10 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: When checking for missing remsets, don't assert on
+ the first one, but print them all and then assert.
+
+2010-02-10 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c (find_in_remset_loc): Handle the small bitmap case.
+
+2010-02-09 Miguel de Icaza <miguel@novell.com>
+
+ * console-unix.c: On OSX Control-Y is assigned to
+ VDSUSP (non-Posix), the
+ suspend-program-next-time-it-tries-to-read-input command (this is
+ different than C-z, which suspends immediately).
+
+ Do the same thing that bash does and ignore this setting,
+ making our repl/getline support pasting.
+
+2010-02-10 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: Simple plausibility check for scan_starts.
+
+2010-02-10 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: Round up when calculating the number of scan starts.
+
+2010-02-10 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * reflection.c: Export mono_get_object_from_blob.
+
+ * object-internals.h: Ditto.
+
+ * icall.c: New icall property_info_get_default_value to get the default
+ value of a property. Since using this is not common, no caching is done.
+
+ * icall-def.h: Add new icall.
+
+2010-02-10 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * class.c: Add mono_class_get_property_default_value.
+
+ * class-internal.h: Export mono_class_get_property_default_value.
+
+2010-02-10 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * reflection.c (mono_image_get_property_info): Encode the default value of a property.
+
+Wed Feb 10 14:48:45 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * sgen-gc.c: introduced critical regions to allow some lockless
+ operations and increase scalability.
+
+2010-02-10 Geoff Norton <gnorton@novell.com>
+
+ * reflection.c: Support building with DISABLE_REFLECTION
+
+2010-02-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * threadpool.c: Fixes for SetMinThreads and SetMaxThreads.
+ Closes bug #566057.
+
+ * exception.c: fix typo in comment.
+
+2010-02-09 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * icall.c (param_info_get_type_modifiers): Handle the case when the member object is a
+ property. This happens which instances returned by PropertyInfo::GetIndexParameters ().
+
+ * reflection.c (mono_reflection_get_custom_attrs_info): Ditto.
+
+ * object-internals.h: Export mono_class_is_reflection_method_or_constructor as part of
+ the internal API.
+
+ Fixes #574434.
+
+2010-02-09 Mark Probst <mark.probst@gmail.com>
+
+ * threads.c: Removed two assertions that were too strict. Added a
+ clarifying comment. Fixes #577090.
+
+2010-02-08 Zoltan Varga <vargaz@gmail.com>
+
+ * domain.c (mono_jit_info_table_find): Avoid looking in the root domain, since
+ the caller has no way of knowing the domain which owns the returned MonoJitInfo.
+
+ * appdomain.c (create_exceptions): Call mono_thread_push/popappdomain_ref ().
+
+ * verify.c (mono_type_get_stack_name): Fix a warning.
+
+2010-02-07 Zoltan Varga <vargaz@gmail.com>
+
+ * marshal.c (mono_marshal_get_wrapper_info): Rename from
+ mono_marshal_wrapper_info_from_wrapper.
+
+ * marshal.c (mono_marshal_set_wrapper_info): Rename from
+ mono_marshal_method_set_wrapper_data, and export.
+
+ * boehm-gc.c sgen-gc.c null-gc.c: Get rid of mono_gc_get_allocator_type, store
+ the allocator type in a AllocatorWrapperInfo structure instead, which is accesible
+ by calling mono_marshal_get_wrapper_info ().
+
+ * sgen-gc.c (mono_gc_get_managed_allocator): Add a specialized allocator for
+ small objects which does no size checks.
+
+2010-02-05 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * icall-def.h: Rename get_MetadataToken to GetMetadataToken.
+
+2010-02-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * verify.c (mono_method_verify): Use the new basic block formation pass
+ to avoid verifying dead basic blocks. This is the same behavior as the
+ runtime MS verifier.
+
+2010-02-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mono-basic-block.c:
+ * mono-basic-block.h: New implementation of a basic block formation pass.
+ The formation pass does static liveness analysis as well to detect dead
+ basic blocks.
+
+2010-02-04 Zoltan Varga <vargaz@gmail.com>
+
+ * marshal.c (mono_marshal_get_native_wrapper): Emit a null check for the
+ 'this' argument in icalls.
+
+2010-02-02 Zoltan Varga <vargaz@gmail.com>
+
+ * reflection.c (resolve_object): Handle MonoArrayMethod. Fixes #575955.
+
+2010-02-01 Mark Probst <mark.probst@gmail.com>
+
+ * object.c, domain.c: When using SGen, we must register
+ vtable->type as a root if it's not a MonoType, because then it
+ wasn't pin-alloced.
+
+2010-02-01 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: Reset to_space_bumper to to_space_section->next_data
+ at the start of nursery collections, because we might have had
+ degraded allocations which changed next_data.
+
+2010-01-30 Zoltan Varga <vargaz@gmail.com>
+
+ * marshal.c (mono_marshal_get_managed_wrapper): Avoid constructing the
+ custom attr so this function works in cross-compiling mode.
+
+2010-01-29 Zoltan Varga <vargaz@gmail.com>
+
+ * class.c (make_generic_param_class): Initialize interface offsets since we
+ set klass->inited. Fixes #574819.
+
+2010-01-28 Zoltan Varga <vargaz@gmail.com>
+
+ * domain.c (mono_domain_free): Send the END_UNLOAD profiler event before
+ calling the JIT domain cleanup hook.
+
+2010-01-28 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * pedump.c (main): Properly set the verifier mode when running the metadata
+ verifier.
+
+2010-01-28 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * verify.c (verify_class_for_overlapping_reference_fields): Properly verify
+ overlapping fields now that we're called before has_references is set.
+
+ * pedump.c (dump_verify_info): Clear any loader error before verifying another
+ method. Otherwise all sort of weird stuff happens.
+
+2010-01-27 Zoltan Varga <vargaz@gmail.com>
+
+ * object.c (mono_field_get_value_object): Handle nullable types correctly.
+ Fixes #572874.
+
+2010-01-25 Zoltan Varga <vargaz@gmail.com>
+
+ * icall.c (ves_icall_System_Array_SetValueImpl): Handle nullable types correctly.
+ Fixes #573322.
+
+2010-01-23 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-pinning.c (evacuate_pin_staging_area): Don't assume
+ pin_staging_area_index is greater than 0.
+
+2010-01-22 Miguel de Icaza (miguel@novell.com)
+
+ * loader.c: Since we do nothing with the error returned, pass NULL
+ to ignore the error.
+
+2010-01-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * reflection.c (typebuilder_setup_fields): Pretend field setup already
+ happened before starting to encode the actual fields. This avoid ciclic
+ dependencies and eventual crashes.
+
+ Fixes #572660.
+
+2010-01-21 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c, gc-internal.h, object.c: Make string allocation
+ atomic and remove the half-constructed hack in SGen.
+
+2010-01-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * metadata-verify.c (parse_generic_inst): Fail a type signature if it
+ has a recursive reference to itself.
+
+ Fixes #571863.
+
+2010-01-21 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * loader.c (mono_method_signature): Fix error message.
+
+2010-01-21 Mark Probst <mark.probst@gmail.com>
+
+ * sgen-gc.c: Reuse to-space sections between nursery collections.
+
+2010-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * icall.c: don't raise AppDomain.TypeResolve when the type is loaded
+ from the current assembly or mscorlib. Fixes bug #322957.
+
2010-01-20 Zoltan Varga <vargaz@gmail.com>
* marshal.c: Calculate the target class of the delegete invoke wrappers using
metadata-internals.h \
method-builder.h \
method-builder.c \
+ mono-basic-block.c \
+ mono-basic-block.h \
mono-config.c \
mono-debug.h \
mono-debug.c \
pedump_LDADD = libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
$(LIBGC_LIBS) $(GLIB_LIBS) -lm $(PEDUMP_DTRACE_OBJECT)
+if PLATFORM_DARWIN
+pedump_LDFLAGS=-framework CoreFoundation
+endif
+
EXTRA_DIST = make-bundle.pl sample-bundle $(win32_sources) $(unix_sources) $(null_sources) $(sgen_sources)
int runtime_count;
int assemblybinding_count;
MonoDomain *domain;
+ gchar *filename;
} RuntimeConfig;
CRITICAL_SECTION mono_delegate_section;
MonoDomain *old_domain = mono_domain_get ();
MonoString *arg;
- if (domain != old_domain)
+ if (domain != old_domain) {
+ mono_thread_push_appdomain_ref (domain);
mono_domain_set_internal_with_options (domain, FALSE);
+ }
/*
* Create an instance early since we can't do it when there is no memory.
arg = mono_string_new (domain, "The requested operation caused a stack overflow.");
domain->stack_overflow_ex = mono_exception_from_name_two_strings (mono_defaults.corlib, "System", "StackOverflowException", arg, NULL);
- if (domain != old_domain)
+ if (domain != old_domain) {
+ mono_thread_pop_appdomain_ref ();
mono_domain_set_internal_with_options (old_domain, FALSE);
+ }
/*
* This class is used during exception handling, so initialize it here, to prevent
mono_context_init (data);
+ data->setup = copy_app_domain_setup (data, setup);
mono_set_private_bin_path_from_config (data);
-
add_assemblies_to_domain (data, mono_defaults.corlib->assembly, NULL);
- data->setup = copy_app_domain_setup (data, setup);
-
#ifndef DISABLE_SHADOW_COPY
/*FIXME, guard this for when the debugger is not running */
shadow_location = get_shadow_assembly_location_base (data, &error);
runtime_config->assemblybinding_count--;
}
+static void
+parse_error (GMarkupParseContext *context, GError *error, gpointer user_data)
+{
+ RuntimeConfig *state = user_data;
+ const gchar *msg;
+ const gchar *filename;
+
+ filename = state && state->filename ? (gchar *) state->filename : "<unknown>";
+ msg = error && error->message ? error->message : "";
+ g_warning ("Error parsing %s: %s", filename, msg);
+}
+
static const GMarkupParser
mono_parser = {
start_element,
end_element,
NULL,
NULL,
- NULL
+ parse_error
};
void
gsize len;
GMarkupParseContext *context;
RuntimeConfig runtime_config;
+ gint offset;
if (!domain || !domain->setup || !domain->setup->configuration_file)
return;
g_free (config_file);
return;
}
- g_free (config_file);
runtime_config.runtime_count = 0;
runtime_config.assemblybinding_count = 0;
runtime_config.domain = domain;
+ runtime_config.filename = config_file;
+ offset = 0;
+ if (len > 3 && text [0] == '\xef' && text [1] == (gchar) '\xbb' && text [2] == '\xbf')
+ offset = 3; /* Skip UTF-8 BOM */
+
context = g_markup_parse_context_new (&mono_parser, 0, &runtime_config, NULL);
- if (g_markup_parse_context_parse (context, text, len, NULL))
+ if (g_markup_parse_context_parse (context, text + offset, len - offset, NULL))
g_markup_parse_context_end_parse (context, NULL);
g_markup_parse_context_free (context);
g_free (text);
+ g_free (config_file);
}
MonoAppDomain *
gchar buf[4096];
guint buf_size = sizeof (buf);
- name = NULL;
- if (_NSGetExecutablePath (buf, &buf_size) == 0) {
- name = realpath (buf, NULL);
- }
+ if (_NSGetExecutablePath (buf, &buf_size) == 0)
+ name = g_strdup (buf);
if (name == NULL) {
fallback ();
MONO_METHOD_IMPL_ATTR_INTERNAL_CALL = 0x1000,
MONO_METHOD_IMPL_ATTR_SYNCHRONIZED = 0x0020,
MONO_METHOD_IMPL_ATTR_NOINLINING = 0x0008,
+ MONO_METHOD_IMPL_ATTR_NOOPTIMIZATION = 0x0040,
MONO_METHOD_IMPL_ATTR_MAX_METHOD_IMPL_VAL = 0xffff
};
#include <mono/metadata/opcodes.h>
#include <mono/metadata/domain-internals.h>
#include <mono/metadata/metadata-internals.h>
+#include <mono/metadata/marshal.h>
#include <mono/utils/mono-logger.h>
#include <mono/utils/mono-time.h>
#include <mono/utils/dtrace.h>
MonoMethodBuilder *mb;
MonoMethod *res;
MonoMethodSignature *csig;
+ AllocatorWrapperInfo *info;
if (atype == ATYPE_STRING) {
csig = mono_metadata_signature_alloc (mono_defaults.corlib, 2);
res = mono_mb_create_method (mb, csig, 8);
mono_mb_free (mb);
mono_method_get_header (res)->init_locals = FALSE;
+
+ info = mono_image_alloc0 (mono_defaults.corlib, sizeof (AllocatorWrapperInfo));
+ info->alloc_type = atype;
+ mono_marshal_set_wrapper_info (res, info);
+
return res;
}
return NULL;
}
-/**
- * mono_gc_get_managed_allocator_id:
- *
- * Return a type for the managed allocator method MANAGED_ALLOC which can later be passed
- * to mono_gc_get_managed_allocator_by_type () to get back this allocator method. This can be
- * used by the AOT code to encode references to managed allocator methods.
- */
-int
-mono_gc_get_managed_allocator_type (MonoMethod *managed_alloc)
-{
- int i;
-
- mono_loader_lock ();
- for (i = 0; i < ATYPE_NUM; ++i) {
- if (alloc_method_cache [i] == managed_alloc) {
- mono_loader_unlock ();
- return i;
- }
- }
- mono_loader_unlock ();
-
- return -1;
-}
-
/**
* mono_gc_get_managed_allocator_by_type:
*
return ATYPE_NUM;
}
+MonoMethod*
+mono_gc_get_write_barrier (void)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
#else
MonoMethod*
return NULL;
}
-int
-mono_gc_get_managed_allocator_type (MonoMethod *managed_alloc)
-{
- return -1;
-}
-
MonoMethod*
mono_gc_get_managed_allocator_by_type (int atype)
{
return 0;
}
+MonoMethod*
+mono_gc_get_write_barrier (void)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
#endif
#endif /* no Boehm GC */
const char*
mono_class_get_field_default_value (MonoClassField *field, MonoTypeEnum *def_type) MONO_INTERNAL;
+const char*
+mono_class_get_property_default_value (MonoProperty *property, MonoTypeEnum *def_type) MONO_INTERNAL;
+
void
mono_install_trampoline (MonoTrampoline func) MONO_INTERNAL;
if (count - pos > 0) {
klass->interface_count = count - pos;
klass->interfaces = mono_image_alloc0 (image, sizeof (MonoClass *) * (count - pos));
+ klass->interfaces_inited = TRUE;
for (i = pos; i < count; i++)
klass->interfaces [i - pos] = pinfo->constraints [i];
}
mono_class_setup_supertypes (klass);
+ if (count - pos > 0) {
+ mono_class_setup_vtable (klass->parent);
+ g_assert (!klass->parent->exception_type);
+ setup_interface_offsets (klass, klass->parent->vtable_size);
+ }
+
return klass;
}
return klass->ext->field_def_values [field_index].data;
}
+/*
+ * mono_class_get_property_default_value:
+ *
+ * Return the default value of the field as a pointer into the metadata blob.
+ */
+const char*
+mono_class_get_property_default_value (MonoProperty *property, MonoTypeEnum *def_type)
+{
+ guint32 cindex;
+ guint32 constant_cols [MONO_CONSTANT_SIZE];
+ MonoClass *klass = property->parent;
+
+ g_assert (property->attrs & PROPERTY_ATTRIBUTE_HAS_DEFAULT);
+ /*We don't cache here because it is not used by C# so it's quite rare.*/
+
+ cindex = mono_metadata_get_constant_index (klass->image, mono_class_get_property_token (property), 0);
+ if (!cindex)
+ return NULL;
+
+ mono_metadata_decode_row (&klass->image->tables [MONO_TABLE_CONSTANT], cindex - 1, constant_cols, MONO_CONSTANT_SIZE);
+ *def_type = constant_cols [MONO_CONSTANT_TYPE];
+ return (gpointer)mono_metadata_blob_heap (klass->image, constant_cols [MONO_CONSTANT_VALUE]);
+}
+
guint32
mono_class_get_event_token (MonoEvent *event)
{
{
MonoCachedClassInfo cached_info;
+ if (klass->image->dynamic) {
+ /*
+ * has_cctor is not set for these classes because mono_class_init () is
+ * not run for them.
+ */
+ return mono_class_get_method_from_name_flags (klass, ".cctor", -1, METHOD_ATTRIBUTE_SPECIAL_NAME);
+ }
+
if (!klass->has_cctor)
return NULL;
mono_attr.c_iflag &= ~(IXON|IXOFF);
mono_attr.c_cc [VMIN] = 1;
mono_attr.c_cc [VTIME] = 0;
+#ifdef VDSUSP
+ /* Disable C-y being used as a suspend character on OSX */
+ mono_attr.c_cc [VDSUSP] = 255;
+#endif
if (tcsetattr (STDIN_FILENO, TCSANOW, &mono_attr) == -1)
return FALSE;
{17744, 17737, 17744, 17737, 17744, 17737, 17800, 17742, 17746, 17720, 17750, 17760, 17733, 17735, 0, 0, 1, 1, 1, 2, 2, 2, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}},
{17737, 17744, 17737, 17744, 17737, 17744, 17785, 17742, 17716, 17720, 17724, 17729, 17733, 17735, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}},
{17744, 17928, 17744, 17928, 17744, 17928, 17930, 17742, 17716, 17720, 17724, 17729, 17733, 17735, 2, 2, 1, 1, 1, 2, 2, 2, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}},
- {17737, 17744, 17737, 17744, 17737, 17744, 17785, 17742, 17716, 17720, 17724, 17729, 17733, 17735, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}},
+ {17737, 17744, 17737, 17744, 17737, 17744, 17785, 17742, 17716, 17720, 17724, 17729, 17733, 17735, 12, 2, 1, 1, 1, 2, 2, 2, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}},
{17737, 17739, 17737, 17739, 17737, 17739, 17797, 17742, 17716, 17720, 17724, 17729, 17733, 17735, 0, 3, 1, 1, 1, 2, 2, 2, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}},
{17737, 17744, 17737, 17744, 17737, 17744, 17785, 17742, 17716, 17720, 17724, 17729, 17733, 17735, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}},
{17737, 17739, 17737, 17739, 17737, 17739, 17785, 17742, 17716, 17720, 17724, 17729, 17733, 17735, 8, 3, 1, 1, 1, 2, 2, 2, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}, {3, -1, -1, -1, -1}},
g_string_append_printf (res, "%s", class->name);
}
+static MonoClass*
+find_system_class (const char *name)
+{
+ if (!strcmp (name, "void"))
+ return mono_defaults.void_class;
+ else if (!strcmp (name, "char")) return mono_defaults.char_class;
+ else if (!strcmp (name, "bool")) return mono_defaults.boolean_class;
+ else if (!strcmp (name, "byte")) return mono_defaults.byte_class;
+ else if (!strcmp (name, "sbyte")) return mono_defaults.sbyte_class;
+ else if (!strcmp (name, "uint16")) return mono_defaults.uint16_class;
+ else if (!strcmp (name, "int16")) return mono_defaults.int16_class;
+ else if (!strcmp (name, "uint")) return mono_defaults.uint32_class;
+ else if (!strcmp (name, "int")) return mono_defaults.int32_class;
+ else if (!strcmp (name, "ulong")) return mono_defaults.uint64_class;
+ else if (!strcmp (name, "long")) return mono_defaults.int64_class;
+ else if (!strcmp (name, "uintptr")) return mono_defaults.uint_class;
+ else if (!strcmp (name, "intptr")) return mono_defaults.int_class;
+ else if (!strcmp (name, "single")) return mono_defaults.single_class;
+ else if (!strcmp (name, "double")) return mono_defaults.double_class;
+ else if (!strcmp (name, "string")) return mono_defaults.string_class;
+ else if (!strcmp (name, "object")) return mono_defaults.object_class;
+ else
+ return NULL;
+}
+
void
mono_type_get_desc (GString *res, MonoType *type, gboolean include_namespace)
{
class_nspace = g_strdup (name);
use_args = strchr (class_nspace, '(');
if (use_args) {
+ /* Allow a ' ' between the method name and the signature */
+ if (use_args > class_nspace && use_args [-1] == ' ')
+ use_args [-1] = 0;
*use_args++ = 0;
end = strchr (use_args, ')');
if (!end) {
MonoMethod *method;
int i;
+ /* Handle short names for system classes */
+ if (!desc->namespace && image == mono_defaults.corlib) {
+ klass = find_system_class (desc->klass);
+ if (klass)
+ return mono_method_desc_search_in_class (desc, klass);
+ }
+
if (desc->namespace && desc->klass) {
klass = mono_class_from_name (image, desc->namespace, desc->klass);
if (!klass)
/* This is the list of runtime versions supported by this JIT.
*/
static const MonoRuntimeInfo supported_runtimes[] = {
- {"v1.0.3705", "1.0", { {1,0,5000,0}, {7,0,5000,0} } },
- {"v1.1.4322", "1.0", { {1,0,5000,0}, {7,0,5000,0} } },
{"v2.0.50215","2.0", { {2,0,0,0}, {8,0,0,0} } },
{"v2.0.50727","2.0", { {2,0,0,0}, {8,0,0,0} } },
{"v4.0.21006","4.0", { {4,0,0,0}, {10,0,0,0} } },
+ {"v4.0.30128","4.0", { {4,0,0,0}, {10,0,0,0} } },
{"moonlight", "2.1", { {2,0,5,0}, {9,0,0,0} } },
};
MonoJitInfo *ji;
int chunk_pos, pos;
MonoThreadHazardPointers *hp = mono_hazard_pointer_get ();
+ MonoImage *image;
++mono_stats.jit_info_table_lookup_count;
mono_hazard_pointer_clear (hp, JIT_INFO_TABLE_HAZARD_INDEX);
mono_hazard_pointer_clear (hp, JIT_INFO_HAZARD_INDEX);
- /* maybe it is shared code, so we also search in the root domain */
ji = NULL;
- if (domain != mono_root_domain)
- ji = mono_jit_info_table_find (mono_root_domain, addr);
-
- if (ji == NULL) {
- /* Maybe its an AOT module */
- MonoImage *image = mono_jit_info_find_aot_module ((guint8*)addr);
- if (image)
- ji = jit_info_find_in_aot_func (domain, image, addr);
- }
+
+ /* Maybe its an AOT module */
+ image = mono_jit_info_find_aot_module ((guint8*)addr);
+ if (image)
+ ji = jit_info_find_in_aot_func (domain, image, addr);
return ji;
}
return ass;
}
+#ifndef HAVE_SGEN_GC
static void
free_slist (gpointer key, gpointer value, gpointer user_data)
{
g_slist_free (value);
}
+#endif
+
+#if HAVE_SGEN_GC
+static void
+unregister_vtable_reflection_type (gpointer key, gpointer value, gpointer user_data)
+{
+ MonoVTable *vtable = value;
+ MonoObject *type = vtable->type;
+
+ if (type->vtable->klass != mono_defaults.monotype_class)
+ mono_gc_deregister_root ((char*)&vtable->type);
+}
+#endif
void
mono_domain_free (MonoDomain *domain, gboolean force)
mono_profiler_appdomain_event (domain, MONO_PROFILE_START_UNLOAD);
- if (free_domain_hook)
- free_domain_hook (domain);
-
mono_debug_domain_unload (domain);
mono_appdomains_lock ();
tmp->data = NULL;
}
+#if HAVE_SGEN_GC
+ if (domain->class_vtable_hash)
+ g_hash_table_foreach (domain->class_vtable_hash, unregister_vtable_reflection_type, NULL);
+#endif
+
mono_gc_clear_domain (domain);
for (tmp = domain->domain_assemblies; tmp; tmp = tmp->next) {
g_slist_free (domain->domain_assemblies);
domain->domain_assemblies = NULL;
+ /*
+ * Send this after the assemblies have been unloaded and the domain is still in a
+ * usable state.
+ */
+ mono_profiler_appdomain_event (domain, MONO_PROFILE_END_UNLOAD);
+
+ if (free_domain_hook)
+ free_domain_hook (domain);
+
/* FIXME: free delegate_hash_table when it's used */
if (domain->search_path) {
g_strfreev (domain->search_path);
/* FIXME: anything else required ? */
- mono_profiler_appdomain_event (domain, MONO_PROFILE_END_UNLOAD);
-
mono_gc_free_fixed (domain);
mono_perfcounters->loader_appdomains--;
* mono_get_exception_synchronization_lock:
* @inner: the inner exception.
*
- * Returns: a new instance of the System.TypeInitializationException
+ * Returns: a new instance of the System.SynchronizationLockException
*/
MonoException *
mono_get_exception_synchronization_lock (const char *msg)
void* mono_gc_alloc_obj (MonoVTable *vtable, size_t size) MONO_INTERNAL;
void* mono_gc_alloc_vector (MonoVTable *vtable, size_t size, mono_array_size_t max_length) MONO_INTERNAL;
void* mono_gc_alloc_array (MonoVTable *vtable, size_t size, mono_array_size_t max_length, mono_array_size_t bounds_size) MONO_INTERNAL;
+void* mono_gc_alloc_string (MonoVTable *vtable, size_t size, gint32 len) MONO_INTERNAL;
void* mono_gc_make_descr_for_string (gsize *bitmap, int numbits) MONO_INTERNAL;
void* mono_gc_make_descr_for_object (gsize *bitmap, int numbits, size_t obj_size) MONO_INTERNAL;
void* mono_gc_make_descr_for_array (int vector, gsize *elem_bitmap, int numbits, size_t elem_size) MONO_INTERNAL;
void mono_gc_finalize_threadpool_threads (void) MONO_INTERNAL;
/* fast allocation support */
+
+/* Accessible using mono_marshal_wrapper_info_from_wrapper () */
+typedef struct {
+ int alloc_type;
+} AllocatorWrapperInfo;
+
MonoMethod* mono_gc_get_managed_allocator (MonoVTable *vtable, gboolean for_box) MONO_INTERNAL;
MonoMethod* mono_gc_get_managed_array_allocator (MonoVTable *vtable, int rank) MONO_INTERNAL;
-int mono_gc_get_managed_allocator_type (MonoMethod *managed_alloc) MONO_INTERNAL;
MonoMethod *mono_gc_get_managed_allocator_by_type (int atype) MONO_INTERNAL;
guint32 mono_gc_get_managed_allocator_types (void) MONO_INTERNAL;
ICALL(ENV_4, "GetLogicalDrivesInternal", ves_icall_System_Environment_GetLogicalDrives )
ICALL(ENV_5, "GetMachineConfigPath", ves_icall_System_Configuration_DefaultConfig_get_machine_config_path)
ICALL(ENV_6, "GetOSVersionString", ves_icall_System_Environment_GetOSVersionString)
+ICALL(ENV_6a, "GetPageSize", mono_pagesize)
ICALL(ENV_7, "GetWindowsFolderPath", ves_icall_System_Environment_GetWindowsFolderPath)
ICALL(ENV_8, "InternalSetEnvironmentVariable", ves_icall_System_Environment_InternalSetEnvironmentVariable)
ICALL(ENV_9, "get_ExitCode", mono_environment_exitcode_get)
ICALL_TYPE(MPROPI, "System.Reflection.MonoPropertyInfo", MPROPI_1)
ICALL(MPROPI_1, "GetTypeModifiers", property_info_get_type_modifiers)
+ICALL(MPROPI_3, "get_default_value", property_info_get_default_value)
ICALL(MPROPI_2, "get_property_info", ves_icall_get_property_info)
ICALL_TYPE(PARAMI, "System.Reflection.ParameterInfo", PARAMI_1)
-ICALL(PARAMI_1, "GetTypeModifiers", param_info_get_type_modifiers)
-ICALL(PARAMI_2, "get_MetadataToken", mono_reflection_get_token)
+ICALL(PARAMI_1, "GetMetadataToken", mono_reflection_get_token)
+ICALL(PARAMI_2, "GetTypeModifiers", param_info_get_type_modifiers)
ICALL_TYPE(RUNH, "System.Runtime.CompilerServices.RuntimeHelpers", RUNH_1)
ICALL(RUNH_1, "GetObjectValue", ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_GetObjectValue)
ICALL(RUNH_3, "InitializeArray", ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_InitializeArray)
ICALL(RUNH_4, "RunClassConstructor", ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_RunClassConstructor)
ICALL(RUNH_5, "RunModuleConstructor", ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_RunModuleConstructor)
+ICALL(RUNH_5h, "SufficientExecutionStack", ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_SufficientExecutionStack)
ICALL(RUNH_6, "get_OffsetToStringData", ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_GetOffsetToStringData)
ICALL_TYPE(GCH, "System.Runtime.InteropServices.GCHandle", GCH_1)
#include <mono/utils/mono-proclib.h>
#include <mono/utils/mono-string.h>
#include <mono/utils/mono-error-internals.h>
+#include <mono/utils/mono-mmap.h>
#if defined (HOST_WIN32)
#include <windows.h>
ea = (gpointer*)((char*)this->vector + (pos * esize));
va = (gpointer*)((char*)value + sizeof (MonoObject));
+ if (mono_class_is_nullable (ec)) {
+ mono_nullable_init ((guint8*)ea, value, ec);
+ return;
+ }
+
if (!value) {
memset (ea, 0, esize);
return;
}
}
+static MonoBoolean
+ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_SufficientExecutionStack (void)
+{
+ guint8 *stack_addr;
+ guint8 *current;
+ size_t stack_size;
+ /* later make this configurable and per-arch */
+ int min_size = 4096 * 4 * sizeof (void*);
+ mono_thread_get_stack_bounds (&stack_addr, &stack_size);
+ /* if we have no info we are optimistic and assume there is enough room */
+ if (!stack_addr)
+ return TRUE;
+ current = (guint8 *)&stack_addr;
+ if (current > stack_addr) {
+ if ((current - stack_addr) < min_size)
+ return FALSE;
+ } else {
+ if (current - (stack_addr - stack_size) < min_size)
+ return FALSE;
+ }
+ return TRUE;
+}
+
static MonoObject *
ves_icall_System_Object_MemberwiseClone (MonoObject *this)
{
* Dec 10, 2005 - Martin.
*/
- if (dest)
+ if (dest) {
assembly = dest->klass->image->assembly;
- else {
+ type_resolve = TRUE;
+ } else {
g_warning (G_STRLOC);
}
}
- if (assembly)
+ if (assembly) {
+ /* When loading from the current assembly, AppDomain.TypeResolve will not be called yet */
type = mono_reflection_get_type (assembly->image, &info, ignoreCase, &type_resolve);
-
+ }
+
if (!info.assembly.name && !type) /* try mscorlib */
type = mono_reflection_get_type (NULL, &info, ignoreCase, &type_resolve);
+ if (assembly && !type && type_resolve) {
+ type_resolve = FALSE; /* This will invoke TypeResolve if not done in the first 'if' */
+ type = mono_reflection_get_type (assembly->image, &info, ignoreCase, &type_resolve);
+ }
+
mono_reflection_free_type_info (&info);
g_free (temp_str);
def_value = mono_class_get_field_default_value (field, &def_type);
+ /*FIXME unify this with reflection.c:mono_get_object_from_blob*/
switch (def_type) {
case MONO_TYPE_U1:
case MONO_TYPE_I1:
param_info_get_type_modifiers (MonoReflectionParameter *param, MonoBoolean optional)
{
MonoType *type = param->ClassImpl->type;
- MonoReflectionMethod *method = (MonoReflectionMethod*)param->MemberImpl;
- MonoImage *image = method->method->klass->image;
- int pos = param->PositionImpl;
- MonoMethodSignature *sig = mono_method_signature (method->method);
+ MonoClass *member_class = mono_object_class (param->MemberImpl);
+ MonoMethod *method = NULL;
+ MonoImage *image;
+ int pos;
+ MonoMethodSignature *sig;
+
+ if (mono_class_is_reflection_method_or_constructor (member_class)) {
+ MonoReflectionMethod *rmethod = (MonoReflectionMethod*)param->MemberImpl;
+ method = rmethod->method;
+ } else if (member_class->image == mono_defaults.corlib && !strcmp ("MonoProperty", member_class->name)) {
+ MonoReflectionProperty *prop = (MonoReflectionProperty *)param->MemberImpl;
+ if (!(method = prop->property->get))
+ method = prop->property->set;
+ g_assert (method);
+ } else {
+ char *type_name = mono_type_get_full_name (member_class);
+ char *msg = g_strdup_printf ("Custom modifiers on a ParamInfo with member %s are not supported", type_name);
+ MonoException *ex = mono_get_exception_not_supported (msg);
+ g_free (type_name);
+ g_free (msg);
+ mono_raise_exception (ex);
+ }
+
+ image = method->klass->image;
+ pos = param->PositionImpl;
+ sig = mono_method_signature (method);
if (pos == -1)
type = sig->ret;
else
return type_array_from_modifiers (image, type, optional);
}
+/*
+ *Construct a MonoType suited to be used to decode a constant blob object.
+ *
+ * @type is the target type which will be constructed
+ * @blob_type is the blob type, for example, that comes from the constant table
+ * @real_type is the expected constructed type.
+ */
+static void
+mono_type_from_blob_type (MonoType *type, MonoTypeEnum blob_type, MonoType *real_type)
+{
+ type->type = blob_type;
+ type->data.klass = NULL;
+ if (blob_type == MONO_TYPE_CLASS)
+ type->data.klass = mono_defaults.object_class;
+ else if (real_type->type == MONO_TYPE_VALUETYPE && real_type->data.klass->enumtype) {
+ /* For enums, we need to use the base type */
+ type->type = MONO_TYPE_VALUETYPE;
+ type->data.klass = mono_class_from_mono_type (real_type);
+ } else
+ type->data.klass = mono_class_from_mono_type (real_type);
+}
+
+static MonoObject*
+property_info_get_default_value (MonoReflectionProperty *property)
+{
+ MonoType blob_type;
+ MonoProperty *prop = property->property;
+ MonoType *type = get_property_type (prop);
+ MonoDomain *domain = mono_object_domain (property);
+ MonoTypeEnum def_type;
+ const char *def_value;
+ MonoObject *o;
+
+ g_assert (!prop->parent->image->dynamic);
+
+ mono_class_init (prop->parent);
+
+ if (!(prop->attrs & PROPERTY_ATTRIBUTE_HAS_DEFAULT))
+ mono_raise_exception (mono_get_exception_invalid_operation (NULL));
+
+ def_value = mono_class_get_property_default_value (prop, &def_type);
+
+ mono_type_from_blob_type (&blob_type, def_type, type);
+ o = mono_get_object_from_blob (domain, &blob_type, def_value);
+
+ return o;
+}
+
static MonoBoolean
custom_attrs_defined_internal (MonoObject *obj, MonoReflectionType *attr_type)
{
cached_module_load (const char *name, int flags, char **err)
{
MonoDl *res;
+
+ if (err)
+ *err = NULL;
mono_loader_lock ();
if (!global_module_map)
global_module_map = g_hash_table_new (g_str_hash, g_str_equal);
res = g_hash_table_lookup (global_module_map, name);
if (res) {
- *err = NULL;
mono_loader_unlock ();
return res;
}
- res = mono_dl_open (name, flags, err);
+ res = mono_dl_open (name, flags, NULL);
if (res)
g_hash_table_insert (global_module_map, g_strdup (name), res);
mono_loader_unlock ();
sig = mono_method_signature_checked (m, &err);
if (!sig) {
- g_warning (mono_error_get_message (&err));
+ g_warning ("Could not load signature due to: %s", mono_error_get_message (&err));
mono_error_cleanup (&err);
}
#include <locale.h>
+#if defined(__APPLE__)
+#include <CoreFoundation/CoreFoundation.h>
+#endif
#undef DEBUG
return g_strdup (posix_locale);
}
+#if defined (__APPLE__)
+static gchar*
+get_darwin_locale (void)
+{
+ const gchar *darwin_locale = NULL;
+ gchar *cur_locale = NULL;
+ int i;
+ CFLocaleRef locale = NULL;
+ CFStringRef locale_cfstr = NULL;
+
+ locale = CFLocaleCopyCurrent ();
+
+ if (locale) {
+ locale_cfstr = CFLocaleGetIdentifier (locale);
+
+ if (locale_cfstr) {
+ darwin_locale = CFStringGetCStringPtr (locale_cfstr, kCFStringEncodingMacRoman);
+
+ cur_locale = g_strdup (darwin_locale);
+
+ for (i = 0; i < strlen (cur_locale); i++)
+ if (cur_locale [i] == '_')
+ cur_locale [i] = '-';
+ }
+
+
+ CFRelease (locale);
+ }
+
+ return cur_locale;
+}
+#endif
+
static gchar*
get_current_locale_name (void)
{
#ifdef HOST_WIN32
locale = g_win32_getlocale ();
-#else
+#elif defined (__APPLE__)
+ locale = get_darwin_locale ();
+ if (!locale)
+ locale = get_posix_locale ();
+#else
locale = get_posix_locale ();
#endif
return res;
}
-static void
-mono_marshal_method_set_wrapper_data (MonoMethod *method, gpointer data)
-{
- void **datav;
- /* assert */
- if (method->wrapper_type == MONO_WRAPPER_NONE || method->wrapper_type == MONO_WRAPPER_DYNAMIC_METHOD)
- return;
-
- datav = ((MonoMethodWrapper *)method)->method_data;
- datav [1] = data;
-}
-
/* Create the method from the builder and place it in the cache */
MonoMethod*
mono_mb_create_and_cache (GHashTable *cache, gpointer key,
if (!res) {
res = newm;
g_hash_table_insert (cache, key, res);
- mono_marshal_method_set_wrapper_data (res, key);
+ mono_marshal_set_wrapper_info (res, key);
mono_marshal_unlock ();
} else {
mono_marshal_unlock ();
mono_marshal_lock ();
if (!*res) {
*res = newm;
- mono_marshal_method_set_wrapper_data (*res, key);
+ mono_marshal_set_wrapper_info (*res, key);
mono_marshal_unlock ();
} else {
mono_marshal_unlock ();
return res;
}
+/*
+ * mono_marshal_get_wrapper_info:
+ *
+ * Retrieve the pointer stored by mono_marshal_set_wrapper_info.
+ */
gpointer
-mono_marshal_wrapper_info_from_wrapper (MonoMethod *wrapper)
+mono_marshal_get_wrapper_info (MonoMethod *wrapper)
{
+ g_assert (wrapper->wrapper_type);
+
return mono_method_get_wrapper_data (wrapper, 1);
}
+/*
+ * mono_marshal_set_wrapper_info:
+ *
+ * Store an arbitrary pointer inside the wrapper which is retrievable by
+ * mono_marshal_get_wrapper_info. The format of the data depends on the type of the
+ * wrapper (method->wrapper_type).
+ */
+void
+mono_marshal_set_wrapper_info (MonoMethod *method, gpointer data)
+{
+ void **datav;
+ /* assert */
+ if (method->wrapper_type == MONO_WRAPPER_NONE || method->wrapper_type == MONO_WRAPPER_DYNAMIC_METHOD)
+ return;
+
+ datav = ((MonoMethodWrapper *)method)->method_data;
+ datav [1] = data;
+}
+
/*
* get_wrapper_target_class:
*
new_key->sig = sig;
new_key->method = target_method;
g_hash_table_insert (cache, new_key, res);
- mono_marshal_method_set_wrapper_data (res, new_key);
+ mono_marshal_set_wrapper_info (res, new_key);
mono_marshal_unlock ();
} else {
mono_marshal_unlock ();
if (method->string_ctor)
csig->ret = &mono_defaults.string_class->byval_arg;
- if (sig->hasthis)
+ if (sig->hasthis) {
+ int pos;
+
+ /*
+ * Add a null check since public icalls can be called with 'call' which
+ * does no such check.
+ */
+ mono_mb_emit_byte (mb, CEE_LDARG_0);
+ pos = mono_mb_emit_branch (mb, CEE_BRTRUE);
+ mono_mb_emit_exception (mb, "NullReferenceException", NULL);
+ mono_mb_patch_branch (mb, pos);
+
mono_mb_emit_byte (mb, CEE_LDARG_0);
+ }
for (i = 0; i < sig->param_count; i++)
mono_mb_emit_ldarg (mb, i + sig->hasthis);
/* The attribute is only available in Net 2.0 */
if (UnmanagedFunctionPointerAttribute) {
- MonoReflectionUnmanagedFunctionPointerAttribute *attr;
MonoCustomAttrInfo *cinfo;
+ MonoCustomAttrEntry *attr;
/*
- * The pinvoke attributes are stored in a real custom attribute so we have to
- * construct it.
+ * The pinvoke attributes are stored in a real custom attribute. Obtain the
+ * contents of the attribute without constructing it, as that might not be
+ * possible when running in cross-compiling mode.
*/
cinfo = mono_custom_attrs_from_class (delegate_klass);
+ attr = NULL;
if (cinfo) {
- attr = (MonoReflectionUnmanagedFunctionPointerAttribute*)mono_custom_attrs_get_attr (cinfo, UnmanagedFunctionPointerAttribute);
- if (attr) {
- memset (&piinfo, 0, sizeof (piinfo));
- m.piinfo = &piinfo;
- piinfo.piflags = (attr->call_conv << 8) | (attr->charset ? (attr->charset - 1) * 2 : 1) | attr->set_last_error;
-
- csig->call_convention = attr->call_conv - 1;
+ for (i = 0; i < cinfo->num_attrs; ++i) {
+ if (mono_class_has_parent (cinfo->attrs [i].ctor->klass, UnmanagedFunctionPointerAttribute)) {
+ attr = &cinfo->attrs [i];
+ break;
+ }
+ }
+ }
+ if (attr) {
+ MonoArray *typed_args, *named_args;
+ CattrNamedArg *arginfo;
+ MonoObject *o;
+ gint32 call_conv;
+ gint32 charset = 0;
+ MonoBoolean set_last_error = 0;
+ MonoBoolean best_fit_mapping = 0;
+ MonoBoolean throw_on_unmappable = 0;
+
+ mono_reflection_create_custom_attr_data_args (mono_defaults.corlib, attr->ctor, attr->data, attr->data_size, &typed_args, &named_args, &arginfo);
+
+ g_assert (mono_array_length (typed_args) == 1);
+
+ /* typed args */
+ o = mono_array_get (typed_args, MonoObject*, 0);
+ call_conv = *(gint32*)mono_object_unbox (o);
+
+ /* named args */
+ for (i = 0; i < mono_array_length (named_args); ++i) {
+ CattrNamedArg *narg = &arginfo [i];
+
+ o = mono_array_get (named_args, MonoObject*, i);
+
+ g_assert (narg->field);
+ if (!strcmp (narg->field->name, "CharSet")) {
+ charset = *(gint32*)mono_object_unbox (o);
+ } else if (!strcmp (narg->field->name, "SetLastError")) {
+ set_last_error = *(MonoBoolean*)mono_object_unbox (o);
+ } else if (!strcmp (narg->field->name, "BestFitMapping")) {
+ best_fit_mapping = *(MonoBoolean*)mono_object_unbox (o);
+ } else if (!strcmp (narg->field->name, "ThrowOnUnmappableChar")) {
+ throw_on_unmappable = *(MonoBoolean*)mono_object_unbox (o);
+ } else {
+ g_assert_not_reached ();
+ }
}
- if (!cinfo->cached)
- mono_custom_attrs_free (cinfo);
+
+ g_free (arginfo);
+
+ memset (&piinfo, 0, sizeof (piinfo));
+ m.piinfo = &piinfo;
+ piinfo.piflags = (call_conv << 8) | (charset ? (charset - 1) * 2 : 1) | set_last_error;
+
+ csig->call_convention = call_conv - 1;
}
+
+ if (cinfo && !cinfo->cached)
+ mono_custom_attrs_free (cinfo);
}
mono_marshal_emit_managed_wrapper (mb, invoke_sig, mspecs, &m, method, this_loc);
info->rank = rank;
info->elem_size = elem_size;
- mono_marshal_method_set_wrapper_data (ret, info);
+ mono_marshal_set_wrapper_info (ret, info);
}
mono_marshal_unlock ();
return ret;
MonoMethod *
mono_marshal_method_from_wrapper (MonoMethod *wrapper) MONO_INTERNAL;
+void
+mono_marshal_set_wrapper_info (MonoMethod *method, gpointer data) MONO_INTERNAL;
+
gpointer
-mono_marshal_wrapper_info_from_wrapper (MonoMethod *wrapper) MONO_INTERNAL;
+mono_marshal_get_wrapper_info (MonoMethod *wrapper) MONO_INTERNAL;
MonoMethod *
mono_marshal_get_remoting_invoke (MonoMethod *method) MONO_INTERNAL;
MonoType *locals [MONO_ZERO_LEN_ARRAY];
};
+typedef struct {
+ guint32 code_size;
+ gboolean has_clauses;
+} MonoMethodHeaderSummary;
+
#define MONO_SIZEOF_METHOD_HEADER (sizeof (struct _MonoMethodHeader) - MONO_ZERO_LEN_ARRAY * SIZEOF_VOID_P)
/* for use with allocated memory blocks (assumes alignment is to 8 bytes) */
MonoGenericContainer *container,
const char *ptr);
+gboolean
+mono_method_get_header_summary (MonoMethod *method, MonoMethodHeaderSummary *summary) MONO_INTERNAL;
+
int* mono_metadata_get_param_attrs (MonoImage *m, int def, int param_count) MONO_INTERNAL;
gboolean mono_metadata_method_has_param_attrs (MonoImage *m, int def) MONO_INTERNAL;
if (!is_valid_coded_index (ctx, TYPEDEF_OR_REF_DESC, token))
FAIL (ctx, g_strdup_printf ("GenericInst: invalid TypeDefOrRef token %x", token));
+ if (ctx->token) {
+ if (mono_metadata_token_index (ctx->token) == get_coded_index_token (TYPEDEF_OR_REF_DESC, token) &&
+ mono_metadata_token_table (ctx->token) == get_coded_index_table (TYPEDEF_OR_REF_DESC, token))
+ FAIL (ctx, g_strdup_printf ("Type: Recurside generic instance specification (%x). A type signature can't reference itself", ctx->token));
+ }
+
if (!safe_read_cint (count, ptr, end))
FAIL (ctx, g_strdup ("GenericInst: Not enough room for argument count"));
}
}
+/*
+ * mono_method_get_header_summary:
+ * @method: The method to get the header.
+ * @summary: Where to store the header
+ *
+ *
+ * Returns: true if the header was properly decoded.
+ */
+gboolean
+mono_method_get_header_summary (MonoMethod *method, MonoMethodHeaderSummary *summary)
+{
+ int idx;
+ guint32 rva;
+ MonoImage* img;
+ const char *ptr;
+ unsigned char flags, format;
+ guint16 fat_flags;
+
+ /*Only the GMD has a pointer to the metadata.*/
+ while (method->is_inflated)
+ method = ((MonoMethodInflated*)method)->declaring;
+
+ summary->code_size = 0;
+ summary->has_clauses = FALSE;
+
+ /*FIXME extract this into a MACRO and share it with mono_method_get_header*/
+ if ((method->flags & METHOD_ATTRIBUTE_ABSTRACT) || (method->iflags & METHOD_IMPL_ATTRIBUTE_RUNTIME) || (method->iflags & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL) || (method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL))
+ return FALSE;
+
+ if (method->klass->image->dynamic || ((MonoMethodNormal*) method)->header) {
+ MonoMethodHeader *header = mono_method_get_header (method);
+ if (!header)
+ return FALSE;
+ summary->code_size = header->code_size;
+ summary->has_clauses = header->num_clauses > 0;
+ return TRUE;
+ }
+
+
+ idx = mono_metadata_token_index (method->token);
+ img = method->klass->image;
+ rva = mono_metadata_decode_row_col (&img->tables [MONO_TABLE_METHOD], idx - 1, MONO_METHOD_RVA);
+
+ /*We must run the verifier since we'll be decoding it.*/
+ if (!mono_verifier_verify_method_header (img, rva, NULL))
+ return FALSE;
+
+ ptr = mono_image_rva_map (img, rva);
+ g_assert (ptr);
+
+ flags = *(const unsigned char *)ptr;
+ format = flags & METHOD_HEADER_FORMAT_MASK;
+
+ switch (format) {
+ case METHOD_HEADER_TINY_FORMAT:
+ ptr++;
+ summary->code_size = flags >> 2;
+ break;
+ case METHOD_HEADER_FAT_FORMAT:
+ fat_flags = read16 (ptr);
+ ptr += 4;
+ summary->code_size = read32 (ptr);
+ if (fat_flags & METHOD_HEADER_MORE_SECTS)
+ summary->has_clauses = TRUE;
+ break;
+ default:
+ return FALSE;
+ }
+ return TRUE;
+}
+
/*
* mono_metadata_parse_mh_full:
* @m: metadata context
--- /dev/null
+/*
+ * mono-basic-block.c: Routines for parsing basic blocks from the IL stream
+ *
+ * Authors:
+ * Rodrigo Kumpera (rkumpera@novell.com)
+ *
+ * Copyright 2010 Novell, Inc (http://www.novell.com)
+ */
+
+#include <config.h>
+
+#include <mono/metadata/debug-helpers.h>
+#include <mono/metadata/metadata-internals.h>
+#include <mono/metadata/mono-endian.h>
+#include <mono/metadata/mono-basic-block.h>
+#include <mono/metadata/opcodes.h>
+
+#include <mono/utils/mono-error-internals.h>
+#include <mono/utils/mono-compiler.h>
+
+#define CHECK_ADD4_OVERFLOW_UN(a, b) ((guint32)(0xFFFFFFFFU) - (guint32)(b) < (guint32)(a))
+#define CHECK_ADD8_OVERFLOW_UN(a, b) ((guint64)(0xFFFFFFFFFFFFFFFFUL) - (guint64)(b) < (guint64)(a))
+
+#if SIZEOF_VOID_P == 4
+#define CHECK_ADDP_OVERFLOW_UN(a,b) CHECK_ADD4_OVERFLOW_UN(a, b)
+#else
+#define CHECK_ADDP_OVERFLOW_UN(a,b) CHECK_ADD8_OVERFLOW_UN(a, b)
+#endif
+
+#define ADDP_IS_GREATER_OR_OVF(a, b, c) (((a) + (b) > (c)) || CHECK_ADDP_OVERFLOW_UN (a, b))
+#define ADD_IS_GREATER_OR_OVF(a, b, c) (((a) + (b) > (c)) || CHECK_ADD4_OVERFLOW_UN (a, b))
+
+#define DEBUG_BB 0
+
+enum {
+ RED,
+ BLACK
+};
+
+#if DEBUG_BB
+
+static void
+dump_bb_list (MonoSimpleBasicBlock *bb, MonoSimpleBasicBlock **root, const char *msg)
+{
+ printf ("------- %s --- root is %x ---\n", msg, (*root)->start);
+ while (bb) {
+ GSList *tmp;
+ printf ("BB start %x end %x left ", bb->start, bb->end);
+ if (bb->left)
+ printf ("%x", bb->left->start);
+ else
+ printf ("NIL");
+
+ printf (" right ");
+ if (bb->right)
+ printf ("%x", bb->right->start);
+ else
+ printf ("NIL");
+
+ printf (" parent ");
+ if (bb->parent)
+ printf ("%x", bb->parent->start);
+ else
+ printf ("NIL");
+
+ printf(" color %s out [", bb->colour == RED ? "red" : "black");
+
+ for (tmp = bb->out_bb; tmp; tmp = tmp->next) {
+ MonoSimpleBasicBlock *to = tmp->data;
+ printf ("%x ", to->start);
+ }
+ printf ("] %s\n", bb->dead ? "dead" : "alive");
+ bb = bb->next;
+ }
+}
+
+#endif
+
+static void
+bb_unlink (MonoSimpleBasicBlock *from, MonoSimpleBasicBlock *to)
+{
+ if (from->out_bb)
+ from->out_bb = g_slist_remove (from->out_bb, to);
+}
+
+static void
+bb_link (MonoSimpleBasicBlock *from, MonoSimpleBasicBlock *to)
+{
+ if (g_slist_find (from->out_bb, to))
+ return;
+ from->out_bb = g_slist_prepend (from->out_bb, to);
+}
+
+
+static MonoSimpleBasicBlock*
+bb_grandparent (MonoSimpleBasicBlock *bb)
+{
+ return bb && bb->parent ? bb->parent->parent : NULL;
+}
+
+static MonoSimpleBasicBlock*
+bb_uncle (MonoSimpleBasicBlock *bb)
+{
+ MonoSimpleBasicBlock *gp = bb_grandparent (bb);
+ if (gp == NULL)
+ return NULL;
+ if (bb->parent == gp->left)
+ return gp->right;
+ return gp->left;
+}
+
+static void
+change_node (MonoSimpleBasicBlock *from, MonoSimpleBasicBlock *to, MonoSimpleBasicBlock **root)
+{
+ MonoSimpleBasicBlock *parent = from->parent;
+ if (parent) {
+ if (parent->left == from)
+ parent->left = to;
+ else
+ parent->right = to;
+ } else {
+ *root = to;
+ }
+ to->parent = parent;
+}
+
+static void
+rotate_right (MonoSimpleBasicBlock *parent, MonoSimpleBasicBlock **root)
+{
+ MonoSimpleBasicBlock *bb = parent->left;
+ if (bb->right) {
+ parent->left = bb->right;
+ parent->left->parent = parent;
+ } else
+ parent->left = NULL;
+ bb->right = parent;
+ change_node (parent, bb, root);
+ parent->parent = bb;
+}
+
+static void
+rotate_left (MonoSimpleBasicBlock *bb, MonoSimpleBasicBlock **root)
+{
+ MonoSimpleBasicBlock *other = bb->right;
+ if (other->left) {
+ bb->right = other->left;
+ bb->right->parent = bb;
+ } else
+ bb->right = NULL;
+ other->left = bb;
+ change_node (bb, other, root);
+ bb->parent = other;
+}
+
+/* School book implementation of a RB tree with insert then fix (which requires a parent pointer)
+ * TODO implement Sedgewick's version that doesn't require parent pointers
+ */
+static void
+bb_insert (MonoSimpleBasicBlock *first, MonoSimpleBasicBlock *bb, MonoSimpleBasicBlock **root)
+{
+ MonoSimpleBasicBlock *parent, *uncle, *grandparent;
+ int bb_start = bb->start;
+
+ parent = *root;
+ do {
+ if (bb_start < parent->start) {
+ if (parent->left == NULL) {
+ parent->left = bb;
+ break;
+ }
+ parent = parent->left;
+ } else {
+ if (parent->right == NULL) {
+ parent->right = bb;
+ break;
+ }
+ parent = parent->right;
+ }
+ } while (parent);
+ g_assert (parent);
+ bb->parent = parent;
+
+ bb->colour = RED;
+
+ do {
+ if (bb->parent == NULL) {
+ bb->colour = BLACK;
+ break;
+ }
+
+ if (bb->parent->colour == BLACK)
+ break;
+
+ uncle = bb_uncle (bb);
+ if (uncle && uncle->colour == RED) {
+ grandparent = bb_grandparent (bb);
+
+ bb->parent->colour = BLACK;
+ uncle->colour = BLACK;
+ grandparent->colour = RED;
+ bb = grandparent;
+ continue;
+ }
+
+ grandparent = bb_grandparent (bb);
+ if ((bb == bb->parent->right) && (bb->parent == grandparent->left)) {
+ rotate_left (bb->parent, root);
+ bb = bb->left;
+ } else if ((bb == bb->parent->left) && (bb->parent == grandparent->right)) {
+ rotate_right (bb->parent, root);
+ bb = bb->right;
+ }
+
+ grandparent = bb_grandparent (bb);
+ bb->parent->colour = BLACK;
+ grandparent->colour = RED;
+ if ((bb == bb->parent->left) && (bb->parent == grandparent->left))
+ rotate_right (grandparent, root);
+ else
+ rotate_left (grandparent, root);
+ break;
+ } while (TRUE);
+}
+
+static gboolean
+bb_idx_is_contained (MonoSimpleBasicBlock *bb, int target)
+{
+ return bb->start <= target && target < bb->end;
+}
+
+/*
+ * Split the basic blocks from @first at @target.
+ * @hint is a guess of a very close to the target basic block. It is probed before the RB tree as it's often possible
+ * to provide a near to exact guess (next block splits, switch branch targets, etc)
+ *
+ */
+static MonoSimpleBasicBlock*
+bb_split (MonoSimpleBasicBlock *first, MonoSimpleBasicBlock *hint, MonoSimpleBasicBlock **root, guint target, gboolean link_blocks, MonoMethod *method, MonoError *error)
+{
+ MonoSimpleBasicBlock *res, *bb = first;
+
+ if (bb_idx_is_contained (hint, target)) {
+ first = hint;
+ } else if (hint->next && bb_idx_is_contained (hint->next, target)) {
+ first = hint->next;
+ } else {
+ first = *root;
+ do {
+ if (bb_idx_is_contained (first, target))
+ break;
+ if (first->start > target)
+ first = first->left;
+ else
+ first = first->right;
+ } while (first);
+ }
+
+ if (first == NULL) {
+ mono_error_set_not_verifiable (error, method, "Invalid instruction target %x", target);
+ return NULL;
+ }
+
+ if (first->start == target)
+ return first;
+
+ res = g_new0 (MonoSimpleBasicBlock, 1);
+ res->start = target;
+ res->end = first->end;
+ res->next = first->next;
+ res->out_bb = first->out_bb;
+ res->dead = TRUE;
+
+ first->end = res->start;
+ first->next = res;
+ first->out_bb = NULL;
+
+ if (link_blocks)
+ bb_link (first, res);
+ bb_insert (bb, res, root);
+
+ return res;
+}
+
+static void
+bb_liveness (MonoSimpleBasicBlock *bb)
+{
+ GPtrArray* mark_stack = g_ptr_array_new ();
+ GSList *tmp;
+
+ /*All function entry points (prologue, EH handler/filter) are already marked*/
+ while (bb) {
+ if (!bb->dead)
+ g_ptr_array_add (mark_stack, bb);
+ bb = bb->next;
+ }
+
+ while (mark_stack->len > 0) {
+ MonoSimpleBasicBlock *block = g_ptr_array_remove_index_fast (mark_stack, mark_stack->len - 1);
+ block->dead = FALSE;
+
+ for (tmp = block->out_bb; tmp; tmp = tmp->next) {
+ MonoSimpleBasicBlock *to = tmp->data;
+ if (to->dead)
+ g_ptr_array_add (mark_stack, to);
+ }
+ }
+
+ g_ptr_array_free (mark_stack, TRUE);
+}
+
+/*This doesn't returns endfilter because it's not useful to split at its boundary.
+Endfilter must be the last instruction of a filter clause and MS enforces this, so we can't have
+dead code after it.
+*/
+static gboolean
+mono_opcode_has_static_branch (int opcode)
+{
+ switch (opcode) {
+ case MONO_CEE_RET:
+ case MONO_CEE_THROW:
+ case MONO_CEE_RETHROW:
+ case MONO_CEE_ENDFINALLY:
+ return TRUE;
+ }
+ return FALSE;
+}
+
+
+static void
+bb_formation_il_pass (const unsigned char *start, const unsigned char *end, MonoSimpleBasicBlock *bb, MonoSimpleBasicBlock **root, MonoMethod *method, MonoError *error)
+{
+ unsigned const char *ip = start;
+ int value, size;
+ guint cli_addr, offset;
+ MonoSimpleBasicBlock *branch, *next, *current;
+ const MonoOpcode *opcode;
+
+ current = bb;
+
+ while (ip < end) {
+ cli_addr = ip - start;
+ size = mono_opcode_value_and_size (&ip, end, &value);
+ if (size < 0) {
+ mono_error_set_not_verifiable (error, method, "Invalid instruction %x", *ip);
+ return;
+ }
+
+ while (current && cli_addr >= current->end)
+ current = current->next;
+ g_assert (current);
+
+ opcode = &mono_opcodes [value];
+ switch (opcode->argument) {
+ case MonoInlineNone:
+ ip++;
+ if (!mono_opcode_has_static_branch (value) || ip >= end)
+ break;
+ if (!(next = bb_split (bb, current, root, ip - start, FALSE, method, error)))
+ return;
+
+ bb_unlink (current, next);
+ current = next;
+ break;
+ case MonoInlineString:
+ case MonoInlineType:
+ case MonoInlineField:
+ case MonoInlineTok:
+ case MonoInlineSig:
+ case MonoShortInlineR:
+ case MonoInlineI:
+ ip += 5;
+ break;
+
+ case MonoInlineMethod:
+ ip += 5;
+ if (value != MONO_CEE_JMP || ip >= end)
+ break;
+ if (!(next = bb_split (bb, current, root, ip - start, FALSE, method, error)))
+ return;
+
+ bb_unlink (current, next);
+ current = next;
+
+ break;
+ case MonoInlineVar:
+ ip += 3;
+ break;
+ case MonoShortInlineVar:
+ case MonoShortInlineI:
+ ip += 2;
+ break;
+ case MonoInlineR:
+ case MonoInlineI8:
+ ip += 9;
+ break;
+ case MonoShortInlineBrTarget:
+ case MonoInlineBrTarget:
+ if (opcode->argument == MonoShortInlineBrTarget) {
+ offset = cli_addr + 2 + (signed char)ip [1];
+ ip += 2;
+ } else {
+ offset = cli_addr + 5 + (gint32)read32 (ip + 1);
+ ip += 5;
+ }
+
+ branch = bb_split (bb, current, root, offset, TRUE, method, error);
+ if (!branch)
+ return;
+
+ /*If we splitted the current BB*/
+ if (offset < cli_addr && branch->start > current->start)
+ current = branch;
+ if (ip < end) {
+ next = bb_split (bb, current, root, ip - start, opcode->flow_type != MONO_FLOW_BRANCH, method, error);
+ if (!next)
+ return;
+ } else {
+ next = NULL;
+ }
+
+ bb_link (current, branch);
+ if (next && opcode->flow_type == MONO_FLOW_BRANCH && next != branch) {
+ bb_unlink (current, next);
+ current = next;
+ }
+ break;
+ case MonoInlineSwitch: {
+ MonoSimpleBasicBlock *tmp;
+ guint32 j, n = read32 (ip + 1);
+
+ ip += 5;
+ offset = cli_addr + 5 + 4 * n;
+ if (!(next = bb_split (bb, current, root, offset, TRUE, method, error)))
+ return;
+
+ bb_link (current, next);
+ tmp = next;
+
+ for (j = 0; j < n; ++j) {
+ if (ip >= end) {
+ mono_error_set_not_verifiable (error, method, "Invalid switch instruction %x", cli_addr);
+ return;
+ }
+ if (!(next = bb_split (bb, next, root, offset + (gint32)read32 (ip), TRUE, method, error)))
+ return;
+ bb_link (current, next);
+ ip += 4;
+ }
+ current = tmp;
+ break;
+ }
+ default:
+ mono_error_set_not_verifiable (error, method, "Invalid instruction %x", *ip);
+ return;
+ }
+ }
+ if (ip != end)
+ mono_error_set_not_verifiable (error, method, "Invalid last instruction");
+}
+
+static void
+bb_formation_eh_pass (MonoMethodHeader *header, MonoSimpleBasicBlock *bb, MonoSimpleBasicBlock **root, MonoMethod *method, MonoError *error)
+{
+ int i;
+ int end = header->code_size;
+ /*We must split at all points to verify for targets in the middle of an instruction*/
+ for (i = 0; i < header->num_clauses; ++i) {
+ MonoExceptionClause *clause = header->clauses + i;
+ MonoSimpleBasicBlock *try_block, *handler;
+
+ if (!(try_block = bb_split (bb, bb, root, clause->try_offset, TRUE, method, error)))
+ return;
+
+ handler = bb_split (bb, try_block, root, clause->handler_offset, FALSE, method, error);
+ if (!handler)
+ return;
+ handler->dead = FALSE;
+
+ if (clause->flags == MONO_EXCEPTION_CLAUSE_FILTER) {
+ MonoSimpleBasicBlock *filter = bb_split (bb, try_block, root, clause->data.filter_offset, FALSE, method, error);
+ if (!filter)
+ return;
+ filter->dead = FALSE;
+ }
+
+ if (clause->try_offset + clause->try_len < end && !bb_split (bb, try_block, root, clause->try_offset + clause->try_len, FALSE, method, error))
+ return;
+
+ if (clause->handler_offset + clause->handler_len < end && !bb_split (bb, handler, root, clause->handler_offset + clause->handler_len, FALSE, method, error))
+ return;
+ }
+}
+
+/*
+ * mono_basic_block_free:
+ *
+ * Release the memory associated with the list of basis blocks @bb.
+*/
+void
+mono_basic_block_free (MonoSimpleBasicBlock *bb)
+{
+ while (bb) {
+ MonoSimpleBasicBlock *next = bb->next;
+ if (bb->out_bb)
+ g_slist_free (bb->out_bb);
+ g_free (bb);
+ bb = next;
+ }
+}
+
+/*
+ * mono_basic_block_split:
+ *
+ * Return the list of basic blocks of method. Return NULL on failure and set @error.
+*/
+MonoSimpleBasicBlock*
+mono_basic_block_split (MonoMethod *method, MonoError *error)
+{
+ MonoSimpleBasicBlock *bb, *root;
+ const unsigned char *start, *end;
+ MonoMethodHeader *header = mono_method_get_header (method);
+ start = header->code;
+ end = start + header->code_size;
+
+ mono_error_init (error);
+
+ if (!header) {
+ mono_error_set_not_verifiable (error, method, "Could not decode header");
+ return NULL;
+ }
+
+ bb = g_new0 (MonoSimpleBasicBlock, 1);
+ bb->start = 0;
+ bb->end = end - start;
+ bb->colour = BLACK;
+ bb->dead = FALSE;
+
+ root = bb;
+ bb_formation_il_pass (start, end, bb, &root, method, error);
+ if (!mono_error_ok (error))
+ goto fail;
+
+ bb_formation_eh_pass (header, bb, &root, method, error);
+ if (!mono_error_ok (error))
+ goto fail;
+
+ bb_liveness (bb);
+
+#if DEBUG_BB
+ dump_bb_list (bb, &root, g_strdup_printf("AFTER LIVENESS %s", mono_method_full_name (method, TRUE)));
+#endif
+
+ return bb;
+
+fail:
+ mono_basic_block_free (bb);
+ return NULL;
+}
+
+/*
+ * mono_opcode_value_and_size:
+ *
+ * Returns the size of the opcode starting at *@ip, or -1 on error.
+ * Value is the opcode number.
+*/
+int
+mono_opcode_value_and_size (const unsigned char **ip, const unsigned char *end, int *value)
+{
+ const unsigned char *start = *ip, *p;
+ int i = *value = mono_opcode_value (ip, end);
+ int size = 0;
+ if (i < 0 || i >= MONO_CEE_LAST)
+ return -1;
+ p = *ip;
+
+ switch (mono_opcodes [i].argument) {
+ case MonoInlineNone:
+ size = 1;
+ break;
+ case MonoInlineString:
+ case MonoInlineType:
+ case MonoInlineField:
+ case MonoInlineMethod:
+ case MonoInlineTok:
+ case MonoInlineSig:
+ case MonoShortInlineR:
+ case MonoInlineI:
+ case MonoInlineBrTarget:
+ size = 5;
+ break;
+ case MonoInlineVar:
+ size = 3;
+ break;
+ case MonoShortInlineVar:
+ case MonoShortInlineI:
+ case MonoShortInlineBrTarget:
+ size = 2;
+ break;
+ case MonoInlineR:
+ case MonoInlineI8:
+ size = 9;
+ break;
+ case MonoInlineSwitch: {
+ guint32 entries;
+ if (ADDP_IS_GREATER_OR_OVF (p, 5, end))
+ return -1;
+ entries = read32 (p + 1);
+ if (entries >= (0xFFFFFFFFU / 4))
+ return -1;
+ size = 4 + 4 * entries;
+ break;
+ }
+ default:
+ g_error ("Invalid opcode %d argument %d max opcode %d\n", i, mono_opcodes [i].argument, MONO_CEE_LAST);
+ }
+
+ if (ADDP_IS_GREATER_OR_OVF (p, size, end))
+ return -1;
+
+ return (p - start) + size;
+}
+
+/*
+ * mono_opcode_size:
+ *
+ * Returns the size of the opcode starting at @ip, or -1 on error.
+*/
+int
+mono_opcode_size (const unsigned char *ip, const unsigned char *end)
+{
+ int tmp;
+ return mono_opcode_value_and_size (&ip, end, &tmp);
+}
+
--- /dev/null
+#ifndef __MONO_METADATA_BASIC_BLOCK_H__
+#define __MONO_METADATA_BASIC_BLOCK_H__
+
+#include <glib.h>
+
+
+G_BEGIN_DECLS
+
+typedef struct _MonoSimpleBasicBlock MonoSimpleBasicBlock;
+
+struct _MonoSimpleBasicBlock {
+ MonoSimpleBasicBlock *next, *left, *right, *parent;
+ GSList *out_bb;
+ int start, end;
+ unsigned colour : 1;
+ unsigned dead : 1;
+};
+
+
+MonoSimpleBasicBlock*
+mono_basic_block_split (MonoMethod *method, MonoError *error) MONO_INTERNAL;
+
+void
+mono_basic_block_free (MonoSimpleBasicBlock *bb) MONO_INTERNAL;
+
+
+/*This function is here because opcodes.h is a public header*/
+int
+mono_opcode_value_and_size (const unsigned char **ip, const unsigned char *end, int *value) MONO_INTERNAL;
+
+int
+mono_opcode_size (const unsigned char *ip, const unsigned char *end) MONO_INTERNAL;
+
+G_END_DECLS
+
+#endif /* __MONO_METADATA_BASIC_BLOCK_H__ */
+
return NULL;
}
-int
-mono_gc_get_managed_allocator_type (MonoMethod *managed_alloc)
-{
- return -1;
-}
-
MonoMethod*
mono_gc_get_managed_allocator_by_type (int atype)
{
return -1;
}
+MonoMethod*
+mono_gc_get_write_barrier (void)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
#endif
gpointer (*create_ftnptr) (MonoDomain *domain, gpointer addr);
gpointer (*get_addr_from_ftnptr) (gpointer descr);
char* (*get_runtime_build_info) (void);
+ gpointer (*get_vtable_trampoline) (int slot_index);
} MonoRuntimeCallbacks;
/* used to free a dynamic method */
void
mono_install_imt_trampoline (gpointer tramp) MONO_INTERNAL;
-void
-mono_install_vtable_trampoline (gpointer tramp) MONO_INTERNAL;
-
void
mono_vtable_build_imt_slot (MonoVTable* vtable, int imt_slot) MONO_INTERNAL;
char *
mono_string_to_utf8_checked (MonoString *s, MonoError *error) MONO_INTERNAL;
+gboolean
+mono_class_is_reflection_method_or_constructor (MonoClass *class) MONO_INTERNAL;
+
+MonoObject *
+mono_get_object_from_blob (MonoDomain *domain, MonoType *type, const char *blob) MONO_INTERNAL;
+
#endif /* __MONO_OBJECT_INTERNALS_H__ */
imt_trampoline = tramp_code;
}
-static gpointer vtable_trampoline = NULL;
-
-void
-mono_install_vtable_trampoline (gpointer tramp_code)
-{
- vtable_trampoline = tramp_code;
-}
-
#define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k))))
#define mix(a,b,c) { \
a -= c; a ^= rot(c, 4); c += b; \
if (++gvc->count == THUNK_THRESHOLD) {
gpointer *old_thunk = *vtable_slot;
+ gpointer vtable_trampoline = callbacks.get_vtable_trampoline ? callbacks.get_vtable_trampoline ((gpointer*)vtable_slot - (gpointer*)vtable) : NULL;
if ((gpointer)vtable_slot < (gpointer)vtable)
/* Force the rebuild of the thunk at the next call */
}
/* Initialize vtable */
- if (vtable_trampoline) {
+ if (callbacks.get_vtable_trampoline) {
// This also covers the AOT case
for (i = 0; i < class->vtable_size; ++i) {
- vt->vtable [i] = vtable_trampoline;
+ vt->vtable [i] = callbacks.get_vtable_trampoline (i);
}
} else {
mono_class_setup_vtable (class);
MonoMethod *cm;
if ((cm = class->vtable [i]))
- vt->vtable [i] = vtable_trampoline? vtable_trampoline: arch_create_jit_trampoline (cm);
+ vt->vtable [i] = arch_create_jit_trampoline (cm);
}
}
/*FIXME check for OOM*/
vt->type = mono_type_get_object (domain, &class->byval_arg);
+#if HAVE_SGEN_GC
+ if (mono_object_get_class (vt->type) != mono_defaults.monotype_class) {
+ static void *type_desc = NULL;
+
+ if (!type_desc) {
+ gsize bmap = 1;
+ type_desc = mono_gc_make_descr_from_bitmap (&bmap, 1);
+ }
+
+ /* This is unregistered in
+ unregister_vtable_reflection_type() in
+ domain.c. */
+ mono_gc_register_root ((char*)&vt->type, sizeof (gpointer), type_desc);
+ }
+#endif
if (class->contextbound)
vt->remote = 1;
else
return vt->data;
}
+static guint8*
+mono_field_get_addr (MonoObject *obj, MonoVTable *vt, MonoClassField *field)
+{
+ guint8 *src;
+
+ if (field->type->attrs & FIELD_ATTRIBUTE_STATIC) {
+ if (field->offset == -1) {
+ /* Special static */
+ gpointer addr = g_hash_table_lookup (vt->domain->special_static_fields, field);
+ src = mono_get_special_static_data (GPOINTER_TO_UINT (addr));
+ } else {
+ src = (guint8*)vt->data + field->offset;
+ }
+ } else {
+ src = (guint8*)obj + field->offset;
+ }
+
+ return src;
+}
+
/**
* mono_field_get_value:
* @obj: Object instance
/* boxed value type */
klass = mono_class_from_mono_type (field->type);
+
+ if (mono_class_is_nullable (klass))
+ return mono_nullable_box (mono_field_get_addr (obj, vtable, field), klass);
+
o = mono_object_new (domain, klass);
v = ((gchar *) o) + sizeof (MonoObject);
if (is_static) {
vtable = mono_class_vtable (domain, mono_defaults.string_class);
g_assert (vtable);
+#ifndef HAVE_SGEN_GC
s = mono_object_allocate_ptrfree (size, vtable);
s->length = len;
+#else
+ s = mono_gc_alloc_string (vtable, size, len);
+#endif
#if NEED_TO_ZERO_PTRFREE
s->chars [len] = 0;
#endif
for (i = 0; i < m->rows; ++i) {
MonoMethod *method;
+ mono_loader_clear_error ();
+
method = mono_get_method (image, MONO_TOKEN_METHOD_DEF | (i+1), NULL);
if (!method) {
g_print ("Warning: Cannot lookup method with token 0x%08x\n", i + 1);
}
if (run_new_metadata_verifier) {
- mono_verifier_set_mode (MONO_VERIFIER_MODE_VERIFIABLE);
+ mono_verifier_set_mode (verifier_mode);
image_result = verify_image_file (file);
if (image_result == 1 || !verify_code)
static guint32 mono_image_get_methodref_token_for_methodbuilder (MonoDynamicImage *assembly, MonoReflectionMethodBuilder *method);
static guint32 encode_generic_method_sig (MonoDynamicImage *assembly, MonoGenericContext *context);
static gpointer register_assembly (MonoDomain *domain, MonoReflectionAssembly *res, MonoAssembly *assembly);
-#endif
-
static void reflection_methodbuilder_from_method_builder (ReflectionMethodBuilder *rmb, MonoReflectionMethodBuilder *mb);
static void reflection_methodbuilder_from_ctor_builder (ReflectionMethodBuilder *rmb, MonoReflectionCtorBuilder *mb);
+#endif
+
static guint32 mono_image_typedef_or_ref (MonoDynamicImage *assembly, MonoType *type);
static guint32 mono_image_typedef_or_ref_full (MonoDynamicImage *assembly, MonoType *type, gboolean try_typespec);
static void mono_image_get_generic_param_info (MonoReflectionGenericParam *gparam, guint32 owner, MonoDynamicImage *assembly);
static char* type_get_qualified_name (MonoType *type, MonoAssembly *ass);
static void encode_type (MonoDynamicImage *assembly, MonoType *type, SigBuffer *buf);
static void get_default_param_value_blobs (MonoMethod *method, char **blobs, guint32 *types);
-static MonoObject *mono_get_object_from_blob (MonoDomain *domain, MonoType *type, const char *blob);
static MonoReflectionType *mono_reflection_type_get_underlying_system_type (MonoReflectionType* t);
static MonoType* mono_reflection_get_type_with_rootimage (MonoImage *rootimage, MonoImage* image, MonoTypeNameParse *info, gboolean ignorecase, gboolean *type_resolve);
static MonoReflectionType* mono_reflection_type_resolve_user_types (MonoReflectionType *type);
static gboolean is_sre_field_builder (MonoClass *class);
static gboolean is_sr_mono_method (MonoClass *class);
static gboolean is_sr_mono_cmethod (MonoClass *class);
+static gboolean is_sr_mono_generic_method (MonoClass *class);
+static gboolean is_sr_mono_generic_cmethod (MonoClass *class);
static gboolean is_sr_mono_field (MonoClass *class);
+static gboolean is_sr_mono_property (MonoClass *class);
+static gboolean is_sre_method_on_tb_inst (MonoClass *class);
+static gboolean is_sre_ctor_on_tb_inst (MonoClass *class);
static guint32 mono_image_get_methodspec_token (MonoDynamicImage *assembly, MonoMethod *method);
static guint32 mono_image_get_inflated_method_token (MonoDynamicImage *assembly, MonoMethod *m);
}
}
+#ifndef DISABLE_REFLECTION_EMIT
static void
reflection_methodbuilder_from_method_builder (ReflectionMethodBuilder *rmb, MonoReflectionMethodBuilder *mb)
{
rmb->refs = NULL;
}
-#ifndef DISABLE_REFLECTION_EMIT
static void
reflection_methodbuilder_from_dynamic_method (ReflectionMethodBuilder *rmb, MonoReflectionDynamicMethod *mb)
{
values [MONO_METHODIMPL_DECLARATION] = tok;
}
+#ifndef DISABLE_REFLECTION_EMIT
static void
mono_image_get_method_info (MonoReflectionMethodBuilder *mb, MonoDynamicImage *assembly)
{
mono_image_basic_method (&rmb, assembly);
mb->table_idx = *rmb.table_idx;
}
+#endif
static char*
type_get_fully_qualified_name (MonoType *type)
* PROPERTY (rows already preallocated in _get_type_info ())
* METHOD (method info already done with the generic method code)
* METHODSEMANTICS
+ * CONSTANT
*/
table = &assembly->tables [MONO_TABLE_PROPERTY];
pb->table_idx = table->next_idx ++;
values [MONO_METHOD_SEMA_METHOD] = pb->set_method->table_idx;
values [MONO_METHOD_SEMA_ASSOCIATION] = (pb->table_idx << MONO_HAS_SEMANTICS_BITS) | MONO_HAS_SEMANTICS_PROPERTY;
}
+ if (pb->attrs & PROPERTY_ATTRIBUTE_HAS_DEFAULT) {
+ guint32 field_type = 0;
+ table = &assembly->tables [MONO_TABLE_CONSTANT];
+ table->rows ++;
+ alloc_table (table, table->rows);
+ values = table->values + table->rows * MONO_CONSTANT_SIZE;
+ values [MONO_CONSTANT_PARENT] = MONO_HASCONSTANT_PROPERTY | (pb->table_idx << MONO_HASCONSTANT_BITS);
+ values [MONO_CONSTANT_VALUE] = encode_constant (assembly, pb->def_value, &field_type);
+ values [MONO_CONSTANT_TYPE] = field_type;
+ values [MONO_CONSTANT_PADDING] = 0;
+ }
}
static void
klass = method->klass;
+ if (m->method_args == NULL)
+ return method;
+
if (method->is_inflated)
method = ((MonoMethodInflated *) method)->declaring;
m->table_idx = am->token & 0xffffff;
return am->token;
}
-#endif
/*
* Insert into the metadata tables all the info about the TypeBuilder tb.
}
}
}
+#endif
static void
collect_types (GPtrArray *types, MonoReflectionTypeBuilder *type)
return;
}
-static MonoObject *
+MonoObject *
mono_get_object_from_blob (MonoDomain *domain, MonoType *type, const char *blob)
{
void *retval;
token = mono_class_get_event_token (p->event);
} else if (strcmp (klass->name, "ParameterInfo") == 0) {
MonoReflectionParameter *p = (MonoReflectionParameter*)obj;
+ MonoClass *member_class = mono_object_class (p->MemberImpl);
+ g_assert (mono_class_is_reflection_method_or_constructor (member_class));
token = mono_method_get_param_token (((MonoReflectionMethod*)p->MemberImpl)->method, p->PositionImpl);
} else if (strcmp (klass->name, "Module") == 0) {
cinfo = mono_custom_attrs_from_method (rmethod->method);
} else if (strcmp ("ParameterInfo", klass->name) == 0) {
MonoReflectionParameter *param = (MonoReflectionParameter*)obj;
- MonoReflectionMethod *rmethod = (MonoReflectionMethod*)param->MemberImpl;
- cinfo = mono_custom_attrs_from_param (rmethod->method, param->PositionImpl + 1);
+ MonoClass *member_class = mono_object_class (param->MemberImpl);
+ if (mono_class_is_reflection_method_or_constructor (member_class)) {
+ MonoReflectionMethod *rmethod = (MonoReflectionMethod*)param->MemberImpl;
+ cinfo = mono_custom_attrs_from_param (rmethod->method, param->PositionImpl + 1);
+ } else if (is_sr_mono_property (member_class)) {
+ MonoReflectionProperty *prop = (MonoReflectionProperty *)param->MemberImpl;
+ MonoMethod *method;
+ if (!(method = prop->property->get))
+ method = prop->property->set;
+ g_assert (method);
+
+ cinfo = mono_custom_attrs_from_param (method, param->PositionImpl + 1);
+ } else if (is_sre_method_on_tb_inst (member_class)) {/*XXX This is a workaround for Compiler Context*/
+ MonoMethod *method = mono_reflection_method_on_tb_inst_get_handle ((MonoReflectionMethodOnTypeBuilderInst*)param->MemberImpl);
+ cinfo = mono_custom_attrs_from_param (method, param->PositionImpl + 1);
+ } else if (is_sre_ctor_on_tb_inst (member_class)) { /*XX This is a workaround for Compiler Context*/
+ MonoReflectionCtorOnTypeBuilderInst *c = (MonoReflectionCtorOnTypeBuilderInst*)param->MemberImpl;
+ MonoMethod *method = NULL;
+ if (is_sre_ctor_builder (mono_object_class (c->cb)))
+ method = ((MonoReflectionCtorBuilder *)c->cb)->mhandle;
+ else if (is_sr_mono_cmethod (mono_object_class (c->cb)))
+ method = ((MonoReflectionMethod *)c->cb)->method;
+ else
+ g_error ("mono_reflection_get_custom_attrs_info:: can't handle a CTBI with base_method of type %s", mono_type_get_full_name (member_class));
+
+ cinfo = mono_custom_attrs_from_param (method, param->PositionImpl + 1);
+ } else {
+ char *type_name = mono_type_get_full_name (member_class);
+ char *msg = g_strdup_printf ("Custom attributes on a ParamInfo with member %s are not supported", type_name);
+ MonoException *ex = mono_get_exception_not_supported (msg);
+ g_free (type_name);
+ g_free (msg);
+ mono_raise_exception (ex);
+ }
} else if (strcmp ("AssemblyBuilder", klass->name) == 0) {
MonoReflectionAssemblyBuilder *assemblyb = (MonoReflectionAssemblyBuilder*)obj;
cinfo = mono_custom_attrs_from_builders (NULL, assemblyb->assembly.assembly->image, assemblyb->cattrs);
check_corlib_type_cached (class, "System.Reflection", "MonoCMethod");
}
+static gboolean
+is_sr_mono_generic_method (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection", "MonoGenericMethod");
+}
+
+static gboolean
+is_sr_mono_generic_cmethod (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection", "MonoGenericCMethod");
+}
+
static gboolean
is_sr_mono_field (MonoClass *class)
{
check_corlib_type_cached (class, "System.Reflection", "MonoField");
}
+static gboolean
+is_sr_mono_property (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection", "MonoProperty");
+}
+
+static gboolean
+is_sre_method_on_tb_inst (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection.Emit", "MethodOnTypeBuilderInst");
+}
+
+static gboolean
+is_sre_ctor_on_tb_inst (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection.Emit", "ConstructorOnTypeBuilderInst");
+}
+
+gboolean
+mono_class_is_reflection_method_or_constructor (MonoClass *class)
+{
+ return is_sr_mono_method (class) || is_sr_mono_cmethod (class) || is_sr_mono_generic_method (class) || is_sr_mono_generic_cmethod (class);
+}
MonoType*
mono_reflection_type_get_handle (MonoReflectionType* ref)
klass->fields = image_g_new0 (image, MonoClassField, klass->field.count);
mono_class_alloc_ext (klass);
klass->ext->field_def_values = image_g_new0 (image, MonoFieldDefaultValue, klass->field.count);
+ /*
+ This is, guess what, a hack.
+ The issue is that the runtime doesn't know how to setup the fields of a typebuider and crash.
+ On the static path no field class is resolved, only types are built. This is the right thing to do
+ but we suck.
+ Setting size_inited is harmless because we're doing the same job as mono_class_setup_fields anyway.
+ */
+ klass->size_inited = 1;
for (i = 0; i < klass->field.count; ++i) {
fb = mono_array_get (tb->fields, gpointer, i);
static void
ensure_complete_type (MonoClass *klass)
{
- if (klass->image->dynamic && !klass->wastypebuilder) {
+ if (klass->image->dynamic && !klass->wastypebuilder && klass->reflection_info) {
MonoReflectionTypeBuilder *tb = klass->reflection_info;
mono_domain_try_type_resolve (mono_domain_get (), NULL, (MonoObject*)tb);
mono_metadata_free_type (type);
}
*handle_class = mono_defaults.methodhandle_class;
+ } else if (strcmp (obj->vtable->klass->name, "MonoArrayMethod") == 0) {
+ MonoReflectionArrayMethod *m = (MonoReflectionArrayMethod*)obj;
+ MonoType *mtype;
+ MonoClass *klass;
+ MonoMethod *method;
+ gpointer iter;
+ char *name;
+
+ mtype = mono_reflection_type_get_handle (m->parent);
+ klass = mono_class_from_mono_type (mtype);
+
+ /* Find the method */
+
+ name = mono_string_to_utf8 (m->name);
+ iter = NULL;
+ while ((method = mono_class_get_methods (klass, &iter))) {
+ if (!strcmp (method->name, name))
+ break;
+ }
+ g_free (name);
+
+ // FIXME:
+ g_assert (method);
+ // FIXME: Check parameters/return value etc. match
+
+ result = method;
+ *handle_class = mono_defaults.methodhandle_class;
} else if (is_sre_array (mono_object_get_class(obj)) ||
is_sre_byref (mono_object_get_class(obj)) ||
is_sre_pointer (mono_object_get_class(obj))) {
#include "metadata/monitor.h"
#include "metadata/threadpool-internals.h"
#include "metadata/mempool-internals.h"
+#include "metadata/marshal.h"
#include "utils/mono-mmap.h"
#include "utils/mono-time.h"
#include "utils/mono-semaphore.h"
static FILE *heap_dump_file = NULL;
/* If set, mark stacks conservatively, even if precise marking is possible */
static gboolean conservative_stack_mark = FALSE;
+/* If set, do a plausibility check on the scan_starts before and after
+ each collection */
+static gboolean do_scan_starts_check = FALSE;
/*
* Turning on heavy statistics will turn off the managed allocator and
#define TV_GETTIME(tv) tv = mono_100ns_ticks ()
#define TV_ELAPSED(start,end) (int)((end-start) / 10)
+#define ALIGN_TO(val,align) ((((guint64)val) + ((align) - 1)) & ~((align) - 1))
+
#define GC_BITS_PER_WORD (sizeof (mword) * 8)
enum {
}
}
-static inline gboolean
-is_maybe_half_constructed (MonoObject *o)
-{
- MonoClass *klass;
-
- klass = ((MonoVTable*)LOAD_VTABLE (o))->klass;
- if ((klass == mono_defaults.string_class && mono_string_length ((MonoString*)o) == 0) ||
- (klass->rank && mono_array_length ((MonoArray*)o) == 0))
- return TRUE;
- else
- return FALSE;
-}
-
/*
* ######################################################################
* ######## Global data.
unsigned int stop_count; /* to catch duplicate signals */
int signal;
int skip;
+ volatile int in_critical_region;
void *stack_end;
void *stack_start;
void *stack_start_limit;
#define REMEMBERED_SET remembered_set
#define STORE_REMSET_BUFFER store_remset_buffer
#define STORE_REMSET_BUFFER_INDEX store_remset_buffer_index
+#define IN_CRITICAL_REGION thread_info->in_critical_region
#else
static pthread_key_t thread_info_key;
#define TLAB_ACCESS_INIT SgenThreadInfo *__thread_info__ = pthread_getspecific (thread_info_key)
#define REMEMBERED_SET (__thread_info__->remset)
#define STORE_REMSET_BUFFER (__thread_info__->store_remset_buffer)
#define STORE_REMSET_BUFFER_INDEX (__thread_info__->store_remset_buffer_index)
+#define IN_CRITICAL_REGION (__thread_info__->in_critical_region)
#endif
+/* we use the memory barrier only to prevent compiler reordering (a memory constraint may be enough) */
+#define ENTER_CRITICAL_REGION do {IN_CRITICAL_REGION = 1;mono_memory_barrier ();} while (0)
+#define EXIT_CRITICAL_REGION do {IN_CRITICAL_REGION = 0;mono_memory_barrier ();} while (0)
+
/*
* FIXME: What is faster, a TLS variable pointing to a structure, or separate TLS
* variables for next+temp_end ?
*/
#ifdef HAVE_KW_THREAD
+static __thread SgenThreadInfo *thread_info;
static __thread char *tlab_start;
static __thread char *tlab_next;
static __thread char *tlab_temp_end;
static void mark_pinned_from_addresses (PinnedChunk *chunk, void **start, void **end);
static void clear_remsets (void);
static void clear_tlabs (void);
-static char *find_tlab_next_from_address (char *addr);
typedef void (*ScanPinnedObjectCallbackFunc) (PinnedChunk*, char*, size_t, void*);
static void scan_pinned_objects (ScanPinnedObjectCallbackFunc callback, void *callback_data);
static void sweep_pinned_objects (void);
continue;
}
idx = ((char*)addr - (char*)section->data) / SCAN_START_SIZE;
+ g_assert (idx < section->num_scan_start);
search_start = (void*)section->scan_starts [idx];
if (!search_start || search_start > addr) {
while (idx) {
section->data = section->next_data = data;
section->size = alloc_size;
section->end_data = nursery_real_end;
- scan_starts = alloc_size / SCAN_START_SIZE;
+ scan_starts = (alloc_size + SCAN_START_SIZE - 1) / SCAN_START_SIZE;
section->scan_starts = get_internal_mem (sizeof (char*) * scan_starts, INTERNAL_MEM_SCAN_STARTS);
section->num_scan_start = scan_starts;
section->block.role = MEMORY_ROLE_GEN0;
to_space_top = to_space_section->end_data;
}
+static void
+to_space_set_next_data (void)
+{
+ g_assert (to_space_bumper >= to_space_section->next_data && to_space_bumper <= to_space_section->end_data);
+ to_space_section->next_data = to_space_bumper;
+}
+
static void
to_space_expand (void)
{
if (to_space_section) {
g_assert (to_space_top == to_space_section->end_data);
- g_assert (to_space_bumper >= to_space_section->next_data && to_space_bumper <= to_space_top);
-
- to_space_section->next_data = to_space_bumper;
+ to_space_set_next_data ();
}
new_to_space_section ();
}
-static void
-to_space_set_next_data (void)
-{
- g_assert (to_space_bumper >= to_space_section->next_data && to_space_bumper <= to_space_section->end_data);
- to_space_section->next_data = to_space_bumper;
-}
-
static void
unset_to_space (void)
{
to_space_set_next_data ();
}
+static void
+check_scan_starts (void)
+{
+ GCMemSection *section;
+ int i;
+ if (!do_scan_starts_check)
+ return;
+ for (section = section_list; section; section = section->block.next) {
+ for (i = 0; i < section->num_scan_start; ++i) {
+ if (section->scan_starts [i]) {
+ guint size = safe_object_get_size ((MonoObject*) section->scan_starts [i]);
+ g_assert (size >= sizeof (MonoObject) && size <= MAX_SMALL_OBJ_SIZE);
+ }
+ }
+ }
+}
+
static int last_num_pinned = 0;
static void
frag_size += ALLOC_ALIGN - 1;
frag_size &= ~(ALLOC_ALIGN - 1);
frag_start = (char*)pin_queue [i] + frag_size;
- /*
- * pin_queue [i] might point to a half-constructed string or vector whose
- * length field is not set. In that case, frag_start points inside the
- * (zero initialized) object. Find the end of the object by scanning forward.
- *
- */
- if (is_maybe_half_constructed (pin_queue [i])) {
- char *tlab_end;
-
- /* This is also hit for zero length arrays/strings */
-
- /* Find the end of the TLAB which contained this allocation */
- tlab_end = find_tlab_next_from_address (pin_queue [i]);
-
- if (tlab_end) {
- while ((frag_start < tlab_end) && *(mword*)frag_start == 0)
- frag_start += sizeof (mword);
- } else {
- /*
- * FIXME: The object is either not allocated in a TLAB, or it isn't a
- * half constructed object.
- */
- }
- }
}
nursery_last_pinned_end = frag_start;
frag_end = nursery_real_end;
TV_DECLARE (btv);
init_stats ();
+ check_scan_starts ();
degraded_mode = 0;
orig_nursery_next = nursery_next;
/* FIXME: optimize later to use the higher address where an object can be present */
nursery_next = MAX (nursery_next, nursery_real_end);
- if (consistency_check_at_minor_collection)
- check_consistency ();
-
DEBUG (1, fprintf (gc_debug_file, "Start nursery collection %d %p-%p, size: %d\n", num_minor_gcs, nursery_start, nursery_next, (int)(nursery_next - nursery_start)));
max_garbage_amount = nursery_next - nursery_start;
g_assert (nursery_section->size >= max_garbage_amount);
nursery_section->next_data = nursery_next;
- new_to_space_section ();
+ if (!to_space_section) {
+ new_to_space_section ();
+ } else {
+ /* we might have done degraded allocation since the
+ last collection */
+ g_assert (to_space_bumper <= to_space_section->next_data);
+ to_space_bumper = to_space_section->next_data;
+
+ to_space_section->is_to_space = TRUE;
+ }
gray_object_queue_init ();
num_minor_gcs++;
DEBUG (2, fprintf (gc_debug_file, "Finding pinned pointers: %d in %d usecs\n", next_pin_slot, TV_ELAPSED (atv, btv)));
DEBUG (4, fprintf (gc_debug_file, "Start scan with %d pinned objects\n", next_pin_slot));
+ if (consistency_check_at_minor_collection)
+ check_consistency ();
+
/*
* walk all the roots and copy the young objects to the old generation,
* starting from to_space
finish_gray_stack (nursery_start, nursery_next, GENERATION_NURSERY);
- unset_to_space ();
-
/* walk the pin_queue, build up the fragment list of free memory, unmark
* pinned objects as we go, memzero() the empty fragments so they are ready for the
* next allocations.
commit_stats (GENERATION_NURSERY);
+ check_scan_starts ();
+
sections_alloced = num_major_sections - old_num_major_sections;
minor_collection_sections_alloced += sections_alloced;
int num_major_sections_saved, save_target, allowance_target;
init_stats ();
+ check_scan_starts ();
degraded_mode = 0;
DEBUG (1, fprintf (gc_debug_file, "Start major collection %d\n", num_major_gcs));
*/
minor_collection_sections_alloced = 0;
+
+ check_scan_starts ();
}
/*
UPDATE_HEAP_BOUNDARIES (section->data, section->end_data);
total_alloc += section->size;
DEBUG (3, fprintf (gc_debug_file, "New major heap section: (%p-%p), total: %zd\n", section->data, section->end_data, total_alloc));
- scan_starts = section->size / SCAN_START_SIZE;
+ scan_starts = (section->size + SCAN_START_SIZE - 1) / SCAN_START_SIZE;
section->scan_starts = get_internal_mem (sizeof (char*) * scan_starts, INTERNAL_MEM_SCAN_STARTS);
section->num_scan_start = scan_starts;
section->block.role = MEMORY_ROLE_GEN1;
return p;
}
+static void*
+mono_gc_try_alloc_obj_nolock (MonoVTable *vtable, size_t size)
+{
+ void **p;
+ char *new_next;
+ TLAB_ACCESS_INIT;
+
+ size += ALLOC_ALIGN - 1;
+ size &= ~(ALLOC_ALIGN - 1);
+
+ g_assert (vtable->gc_descr);
+ if (size <= MAX_SMALL_OBJ_SIZE) {
+ /* tlab_next and tlab_temp_end are TLS vars so accessing them might be expensive */
+
+ p = (void**)TLAB_NEXT;
+ /* FIXME: handle overflow */
+ new_next = (char*)p + size;
+ TLAB_NEXT = new_next;
+
+ if (G_LIKELY (new_next < TLAB_TEMP_END)) {
+ /* Fast path */
+
+ /*
+ * FIXME: We might need a memory barrier here so the change to tlab_next is
+ * visible before the vtable store.
+ */
+
+ HEAVY_STAT (++stat_objects_alloced);
+
+ DEBUG (6, fprintf (gc_debug_file, "Allocated object %p, vtable: %p (%s), size: %zd\n", p, vtable, vtable->klass->name, size));
+ g_assert (*p == NULL);
+ *p = vtable;
+
+ g_assert (TLAB_NEXT == new_next);
+
+ return p;
+ }
+ }
+ return NULL;
+}
+
void*
mono_gc_alloc_obj (MonoVTable *vtable, size_t size)
{
void *res;
+#ifndef DISABLE_CRITICAL_REGION
+ TLAB_ACCESS_INIT;
+ ENTER_CRITICAL_REGION;
+ res = mono_gc_try_alloc_obj_nolock (vtable, size);
+ if (res) {
+ EXIT_CRITICAL_REGION;
+ return res;
+ }
+ EXIT_CRITICAL_REGION;
+#endif
LOCK_GC;
res = mono_gc_alloc_obj_nolock (vtable, size);
UNLOCK_GC;
mono_gc_alloc_vector (MonoVTable *vtable, size_t size, mono_array_size_t max_length)
{
MonoArray *arr;
+#ifndef DISABLE_CRITICAL_REGION
+ TLAB_ACCESS_INIT;
+ ENTER_CRITICAL_REGION;
+ arr = mono_gc_try_alloc_obj_nolock (vtable, size);
+ if (arr) {
+ arr->max_length = max_length;
+ EXIT_CRITICAL_REGION;
+ return arr;
+ }
+ EXIT_CRITICAL_REGION;
+#endif
LOCK_GC;
return arr;
}
+void*
+mono_gc_alloc_string (MonoVTable *vtable, size_t size, gint32 len)
+{
+ MonoString *str;
+#ifndef DISABLE_CRITICAL_REGION
+ TLAB_ACCESS_INIT;
+ ENTER_CRITICAL_REGION;
+ str = mono_gc_try_alloc_obj_nolock (vtable, size);
+ if (str) {
+ str->length = len;
+ EXIT_CRITICAL_REGION;
+ return str;
+ }
+ EXIT_CRITICAL_REGION;
+#endif
+
+ LOCK_GC;
+
+ str = mono_gc_alloc_obj_nolock (vtable, size);
+ str->length = len;
+
+ UNLOCK_GC;
+
+ return str;
+}
+
/*
* To be used for interned strings and possibly MonoThread, reflection handles.
* We may want to explicitly free these objects.
mono_gc_invoke_finalizers (void)
{
FinalizeEntry *entry = NULL;
- gboolean entry_is_critical;
+ gboolean entry_is_critical = FALSE;
int count = 0;
void *obj;
/* FIXME: batch to reduce lock contention */
for (info = thread_table [i]; info; info = info->next) {
if (info->skip)
continue;
- if (!info->stack_start ||
+ if (!info->stack_start || info->in_critical_region ||
is_ip_in_managed_allocator (info->stopped_domain, info->stopped_ip)) {
result = pthread_kill (info->id, restart_signal_num);
if (result == 0) {
if (gc_callbacks.thread_suspend_func)
gc_callbacks.thread_suspend_func (info->runtime_data, context);
+ DEBUG (4, fprintf (gc_debug_file, "Posting suspend_ack_semaphore for suspend from %p %p\n", info, (gpointer)ARCH_GET_THREAD ()));
/* notify the waiting thread */
MONO_SEM_POST (suspend_ack_semaphore_ptr);
info->stop_count = stop_count;
sigsuspend (&suspend_signal_mask);
} while (info->signal != restart_signal_num);
+ DEBUG (4, fprintf (gc_debug_file, "Posting suspend_ack_semaphore for resume from %p %p\n", info, (gpointer)ARCH_GET_THREAD ()));
/* notify the waiting thread */
MONO_SEM_POST (suspend_ack_semaphore_ptr);
info = thread_info_lookup (pthread_self ());
info->signal = restart_signal_num;
+ DEBUG (4, fprintf (gc_debug_file, "Restart handler in %p %p\n", info, (gpointer)ARCH_GET_THREAD ()));
errno = old_errno;
}
}
}
-/*
- * Find the tlab_next value of the TLAB which contains ADDR.
- */
-static char*
-find_tlab_next_from_address (char *addr)
-{
- SgenThreadInfo *info;
- int i;
-
- for (i = 0; i < THREAD_HASH_SIZE; ++i) {
- for (info = thread_table [i]; info; info = info->next) {
- /*
- * The allocator increments tlab_next before
- * checking whether that address is still in
- * the TLAB, so we have to check here.
- */
- char *next_addr = *info->tlab_next_addr;
- char *end_addr = *info->tlab_real_end_addr;
- if (next_addr > end_addr)
- next_addr = end_addr;
- if (addr >= *info->tlab_start_addr && addr < next_addr)
- return next_addr;
- }
- }
-
- return NULL;
-}
-
/* LOCKING: assumes the GC lock is held */
static SgenThreadInfo*
gc_register_current_thread (void *addr)
if (!info)
return NULL;
+ memset (info, 0, sizeof (SgenThreadInfo));
#ifndef HAVE_KW_THREAD
info->tlab_start = info->tlab_next = info->tlab_temp_end = info->tlab_real_end = NULL;
g_assert (!pthread_getspecific (thread_info_key));
pthread_setspecific (thread_info_key, info);
+#else
+ thread_info = info;
#endif
info->id = ARCH_GET_THREAD ();
switch (desc & 0x7) {
case DESC_TYPE_RUN_LENGTH:
OBJ_RUN_LEN_SIZE (skip_size, desc, ptr);
- /* The descriptor includes the size of MonoObject */
- skip_size -= sizeof (MonoObject);
- skip_size *= count;
- if ((void**)addr >= ptr && (void**)addr < ptr + (skip_size / sizeof (gpointer)))
- *found = TRUE;
+ break;
+ case DESC_TYPE_SMALL_BITMAP:
+ OBJ_BITMAP_SIZE (skip_size, desc, start);
break;
default:
// FIXME:
g_assert_not_reached ();
}
+ /* The descriptor includes the size of MonoObject */
+ skip_size -= sizeof (MonoObject);
+ skip_size *= count;
+ if ((void**)addr >= ptr && (void**)addr < ptr + (skip_size / sizeof (gpointer)))
+ *found = TRUE;
+
return p + 4;
case REMSET_ROOT_LOCATION:
return p + 2;
return FALSE;
}
+static gboolean missing_remsets;
+
+/*
+ * We let a missing remset slide if the target object is pinned,
+ * because the store might have happened but the remset not yet added,
+ * but in that case the target must be pinned. We might theoretically
+ * miss some missing remsets this way, but it's very unlikely.
+ */
#undef HANDLE_PTR
#define HANDLE_PTR(ptr,obj) do { \
if (*(ptr) && (char*)*(ptr) >= nursery_start && (char*)*(ptr) < nursery_next) { \
- if (!find_in_remsets ((char*)(ptr))) { \
+ if (!object_is_pinned (*(ptr)) && !find_in_remsets ((char*)(ptr))) { \
fprintf (gc_debug_file, "Oldspace->newspace reference %p at offset %zd in object %p (%s.%s) not found in remsets.\n", *(ptr), (char*)(ptr) - (char*)(obj), (obj), ((MonoObject*)(obj))->vtable->klass->name_space, ((MonoObject*)(obj))->vtable->klass->name); \
- g_assert_not_reached (); \
+ missing_remsets = TRUE; \
} \
} \
} while (0)
// Need to add more checks
// FIXME: Create a general heap enumeration function and use that
+ missing_remsets = FALSE;
+
DEBUG (1, fprintf (gc_debug_file, "Begin heap consistency check...\n"));
// Check that oldspace->newspace pointers are registered with the collector
}
DEBUG (1, fprintf (gc_debug_file, "Heap consistency check done.\n"));
+
+ g_assert (!missing_remsets);
}
/* Check that the reference is valid */
nursery_clear_policy = CLEAR_AT_GC;
} else if (!strcmp (opt, "conservative-stack-mark")) {
conservative_stack_mark = TRUE;
+ } else if (!strcmp (opt, "check-scan-starts")) {
+ do_scan_starts_check = TRUE;
} else if (g_str_has_prefix (opt, "heap-dump=")) {
char *filename = strchr (opt, '=') + 1;
nursery_clear_policy = CLEAR_AT_GC;
enum {
ATYPE_NORMAL,
ATYPE_VECTOR,
+ ATYPE_SMALL,
ATYPE_NUM
};
int tlab_next_addr_var, new_next_var;
int num_params, i;
const char *name = NULL;
+ AllocatorWrapperInfo *info;
#ifdef HAVE_KW_THREAD
int tlab_next_addr_offset = -1;
registered = TRUE;
}
- if (atype == ATYPE_NORMAL) {
+ if (atype == ATYPE_SMALL) {
+ num_params = 1;
+ name = "AllocSmall";
+ } else if (atype == ATYPE_NORMAL) {
num_params = 1;
name = "Alloc";
} else if (atype == ATYPE_VECTOR) {
mb = mono_mb_new (mono_defaults.object_class, name, MONO_WRAPPER_ALLOC);
size_var = mono_mb_add_local (mb, &mono_defaults.int32_class->byval_arg);
- if (atype == ATYPE_NORMAL) {
+ if (atype == ATYPE_NORMAL || atype == ATYPE_SMALL) {
/* size = vtable->klass->instance_size; */
mono_mb_emit_ldarg (mb, 0);
mono_mb_emit_icon (mb, G_STRUCT_OFFSET (MonoVTable, klass));
mono_mb_emit_stloc (mb, size_var);
/* if (size > MAX_SMALL_OBJ_SIZE) goto slowpath */
- mono_mb_emit_ldloc (mb, size_var);
- mono_mb_emit_icon (mb, MAX_SMALL_OBJ_SIZE);
- max_size_branch = mono_mb_emit_short_branch (mb, MONO_CEE_BGT_S);
+ if (atype != ATYPE_SMALL) {
+ mono_mb_emit_ldloc (mb, size_var);
+ mono_mb_emit_icon (mb, MAX_SMALL_OBJ_SIZE);
+ max_size_branch = mono_mb_emit_short_branch (mb, MONO_CEE_BGT_S);
+ }
/*
* We need to modify tlab_next, but the JIT only supports reading, so we read
slowpath_branch = mono_mb_emit_short_branch (mb, MONO_CEE_BLT_UN_S);
/* Slowpath */
-
- mono_mb_patch_short_branch (mb, max_size_branch);
+ if (atype != ATYPE_SMALL)
+ mono_mb_patch_short_branch (mb, max_size_branch);
mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
mono_mb_emit_byte (mb, CEE_MONO_NOT_TAKEN);
/* FIXME: mono_gc_alloc_obj takes a 'size_t' as an argument, not an int32 */
mono_mb_emit_ldarg (mb, 0);
mono_mb_emit_ldloc (mb, size_var);
- if (atype == ATYPE_NORMAL) {
+ if (atype == ATYPE_NORMAL || atype == ATYPE_SMALL) {
mono_mb_emit_icall (mb, mono_gc_alloc_obj);
} else if (atype == ATYPE_VECTOR) {
mono_mb_emit_ldarg (mb, 1);
res = mono_mb_create_method (mb, csig, 8);
mono_mb_free (mb);
mono_method_get_header (res)->init_locals = FALSE;
+
+ info = mono_image_alloc0 (mono_defaults.corlib, sizeof (AllocatorWrapperInfo));
+ info->alloc_type = atype;
+ mono_marshal_set_wrapper_info (res, info);
+
return res;
}
#endif
if (collect_before_allocs)
return NULL;
- return mono_gc_get_managed_allocator_by_type (ATYPE_NORMAL);
+ if (ALIGN_TO (klass->instance_size, ALLOC_ALIGN) < MAX_SMALL_OBJ_SIZE)
+ return mono_gc_get_managed_allocator_by_type (ATYPE_SMALL);
+ else
+ return mono_gc_get_managed_allocator_by_type (ATYPE_NORMAL);
#else
return NULL;
#endif
#endif
}
-int
-mono_gc_get_managed_allocator_type (MonoMethod *managed_alloc)
-{
-#ifdef MANAGED_ALLOCATION
- int i;
-
- for (i = 0; i < ATYPE_NUM; ++i)
- if (managed_alloc == alloc_method_cache [i])
- return i;
-#endif
- g_assert_not_reached ();
- return -1;
-}
-
MonoMethod*
mono_gc_get_managed_allocator_by_type (int atype)
{
g_assert (pin_staging_area_index >= 0 && pin_staging_area_index <= PIN_STAGING_AREA_SIZE);
+ if (pin_staging_area_index == 0)
+ return;
+
/*
* The pinning addresses might come from undefined memory, this is normal. Since they
* are used in lots of functions, we make the memory defined here instead of having
#define METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL 0x1000
#define METHOD_IMPL_ATTRIBUTE_SYNCHRONIZED 0x0020
#define METHOD_IMPL_ATTRIBUTE_NOINLINING 0x0008
+#define METHOD_IMPL_ATTRIBUTE_NOOPTIMIZATION 0x0040
#define METHOD_IMPL_ATTRIBUTE_MAX_METHOD_IMPL_VAL 0xffff
#define METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK 0x0007
MonoBoolean
ves_icall_System_Threading_ThreadPool_SetMinThreads (gint workerThreads, gint completionPortThreads)
{
+ int max_threads;
+ int max_io_threads;
+
MONO_ARCH_SAVE_REGS;
- if (workerThreads < 0 || workerThreads > async_tp.max_threads)
+ max_threads = InterlockedCompareExchange (&async_tp.max_threads, -1, -1);
+ if (workerThreads <= 0 || workerThreads > max_threads)
return FALSE;
- if (completionPortThreads < 0 || completionPortThreads > async_io_tp.max_threads)
+ max_io_threads = InterlockedCompareExchange (&async_io_tp.max_threads, -1, -1);
+ if (completionPortThreads <= 0 || completionPortThreads > max_io_threads)
return FALSE;
InterlockedExchange (&async_tp.min_threads, workerThreads);
MonoBoolean
ves_icall_System_Threading_ThreadPool_SetMaxThreads (gint workerThreads, gint completionPortThreads)
{
+ int min_threads;
+ int min_io_threads;
+ int cpu_count;
+
MONO_ARCH_SAVE_REGS;
- if (workerThreads < async_tp.max_threads)
+ cpu_count = mono_cpu_count ();
+ min_threads = InterlockedCompareExchange (&async_tp.min_threads, -1, -1);
+ if (workerThreads < min_threads || workerThreads < cpu_count)
return FALSE;
/* We don't really have the concept of completion ports. Do we care here? */
- if (completionPortThreads < async_io_tp.max_threads)
+ min_io_threads = InterlockedCompareExchange (&async_io_tp.min_threads, -1, -1);
+ if (completionPortThreads < min_io_threads || completionPortThreads < cpu_count)
return FALSE;
InterlockedExchange (&async_tp.max_threads, workerThreads);
g_assert (thread != NULL);
if (thread->abort_state_handle) {
- g_assert (thread->abort_exc);
mono_gchandle_free (thread->abort_state_handle);
thread->abort_state_handle = 0;
}
mono_domain_unset ();
/* we could add a callback here for embedders to use. */
- if (thread == mono_thread_get_main ()->internal_thread)
+ if (mono_thread_get_main () && (thread == mono_thread_get_main ()->internal_thread))
exit (mono_environment_exitcode_get ());
ExitThread (-1);
}
this->synch_cs = NULL;
}
- g_assert (!this->abort_exc && !this->abort_state_handle);
-
g_free (this->name);
}
}
thread->abort_exc = NULL;
+ /*
+ * abort_exc is set in mono_thread_execute_interruption(),
+ * triggered by the call to signal_thread_state_change(),
+ * below. There's a point between where we have
+ * abort_state_handle set, but abort_exc NULL, but that's not
+ * a problem.
+ */
+
LeaveCriticalSection (thread->synch_cs);
THREAD_DEBUG (g_message ("%s: (%"G_GSIZE_FORMAT") Abort requested for %p (%"G_GSIZE_FORMAT")", __func__, GetCurrentThreadId (), thread, (gsize)thread->tid));
MonoInternalThread *thread = wait->threads [i];
gboolean signal_suspend = FALSE;
- if ((thread->tid == self) || mono_gc_is_finalizer_internal_thread (thread)) {
+ if ((thread->tid == self) || mono_gc_is_finalizer_internal_thread (thread) || (thread->flags & MONO_THREAD_FLAG_DONT_MANAGE)) {
//CloseHandle (wait->handles [i]);
wait->threads [i] = NULL; /* ignore this thread in next loop */
continue;
#include <mono/metadata/security-manager.h>
#include <mono/metadata/security-core-clr.h>
#include <mono/metadata/tokentype.h>
+#include <mono/metadata/mono-basic-block.h>
#include <string.h>
#include <signal.h>
#include <ctype.h>
return type;
}
-static const char*
+static G_GNUC_UNUSED const char*
mono_type_get_stack_name (MonoType *type)
{
return type_names [get_stack_type (type) & TYPE_MASK];
break; \
} \
+static gboolean
+mono_opcode_is_prefix (int op)
+{
+ switch (op) {
+ case MONO_CEE_UNALIGNED_:
+ case MONO_CEE_VOLATILE_:
+ case MONO_CEE_TAIL_:
+ case MONO_CEE_CONSTRAINED_:
+ case MONO_CEE_READONLY_:
+ return TRUE;
+ }
+ return FALSE;
+}
+
/*
* FIXME: need to distinguish between valid and verifiable.
* Need to keep track of types on the stack.
mono_method_verify (MonoMethod *method, int level)
{
MonoError error;
- const unsigned char *ip;
+ const unsigned char *ip, *code_start;
const unsigned char *end;
+ MonoSimpleBasicBlock *bb = NULL;
+
int i, n, need_merge = 0, start = 0;
guint token, ip_offset = 0, prefix = 0;
MonoGenericContext *generic_context = NULL;
return ctx.list;
}
ctx.method = method;
- ip = ctx.header->code;
+ code_start = ip = ctx.header->code;
end = ip + ctx.header->code_size;
ctx.image = image = method->klass->image;
if (clause->try_offset < clause->handler_offset && ADD_IS_GREATER_OR_OVF (clause->try_offset, clause->try_len, HANDLER_START (clause)))
ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("try block (at 0x%04x) includes handler block (at 0x%04x)", clause->try_offset, clause->handler_offset));
- if (clause->flags == MONO_EXCEPTION_CLAUSE_FILTER && clause->data.filter_offset > ctx.code_size)
- ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("filter clause out of bounds at 0x%04x", clause->try_offset));
+ if (clause->flags == MONO_EXCEPTION_CLAUSE_FILTER) {
+ if (clause->data.filter_offset > ctx.code_size)
+ ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("filter clause out of bounds at 0x%04x", clause->try_offset));
+
+ if (clause->data.filter_offset >= clause->handler_offset)
+ ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("filter clause must come before the handler clause at 0x%04x", clause->data.filter_offset));
+ }
for (n = i + 1; n < ctx.header->num_clauses && ctx.valid; ++n)
verify_clause_relationship (&ctx, clause, ctx.header->clauses + n);
}
}
+ bb = mono_basic_block_split (method, &error);
+ if (!mono_error_ok (&error)) {
+ ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("Invalid branch target: %s", mono_error_get_message (&error)));
+ mono_error_cleanup (&error);
+ goto cleanup;
+ }
+ g_assert (bb);
+
while (ip < end && ctx.valid) {
- ctx.ip_offset = ip_offset = ip - ctx.header->code;
+ ip_offset = ip - code_start;
+ {
+ const unsigned char *ip_copy = ip;
+ int size, op;
+
+ if (ip_offset > bb->end) {
+ ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("Branch or EH block at [0x%04x] targets middle instruction at 0x%04x", bb->end, ip_offset));
+ goto cleanup;
+ }
+
+ if (ip_offset == bb->end)
+ bb = bb->next;
+
+ size = mono_opcode_value_and_size (&ip_copy, end, &op);
+ if (size == -1) {
+ ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("Invalid instruction %x at 0x%04x", *ip, ip_offset));
+ goto cleanup;
+ }
+
+ if (ADD_IS_GREATER_OR_OVF (ip_offset, size, bb->end)) {
+ ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("Branch or EH block targets middle of instruction at 0x%04x", ip_offset));
+ goto cleanup;
+ }
+
+ /*Last Instruction*/
+ if (ip_offset + size == bb->end && mono_opcode_is_prefix (op)) {
+ ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("Branch or EH block targets between prefix '%s' and instruction at 0x%04x", mono_opcode_name (op), ip_offset));
+ goto cleanup;
+ }
+
+ if (bb->dead) {
+ /*FIXME remove this once we move all bad branch checking code to use BB only*/
+ ctx.code [ip_offset].flags |= IL_CODE_FLAG_SEEN;
+ ip += size;
+ continue;
+ }
+ }
+
+ ctx.ip_offset = ip_offset = ip - code_start;
/*We need to check against fallthrou in and out of protected blocks.
* For fallout we check the once a protected block ends, if the start flag is not set.
g_free (ctx.code);
g_free (ctx.locals);
g_free (ctx.params);
+ mono_basic_block_free (bb);
return ctx.list;
}
static gboolean
verify_class_for_overlapping_reference_fields (MonoClass *class)
{
- int i, j;
+ int i = 0, j;
+ gpointer iter = NULL;
+ MonoClassField *field;
gboolean is_fulltrust = mono_verifier_is_class_full_trust (class);
- if (!((class->flags & TYPE_ATTRIBUTE_LAYOUT_MASK) == TYPE_ATTRIBUTE_EXPLICIT_LAYOUT) || !class->has_references)
+ /*We can't skip types with !has_references since this is calculated after we have run.*/
+ if (!((class->flags & TYPE_ATTRIBUTE_LAYOUT_MASK) == TYPE_ATTRIBUTE_EXPLICIT_LAYOUT))
return TRUE;
-
- //we must check for stuff overlapping reference fields
- for (i = 0; i < class->field.count; ++i) {
- MonoClassField *field = &class->fields [i];
+
+
+ /*We must check for stuff overlapping reference fields.
+ The outer loop uses mono_class_get_fields to ensure that MonoClass:fields get inited.
+ */
+ while ((field = mono_class_get_fields (class, &iter))) {
int fieldEnd = get_field_end (field);
gboolean is_valuetype = !MONO_TYPE_IS_REFERENCE (field->type);
+ ++i;
+
if (mono_field_is_deleted (field) || (field->type->attrs & FIELD_ATTRIBUTE_STATIC))
continue;
- for (j = i + 1; j < class->field.count; ++j) {
+ for (j = i; j < class->field.count; ++j) {
MonoClassField *other = &class->fields [j];
int otherEnd = get_field_end (other);
if (mono_field_is_deleted (other) || (is_valuetype && !MONO_TYPE_IS_REFERENCE (other->type)) || (other->type->attrs & FIELD_ATTRIBUTE_STATIC))
+2010-02-24 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (mono_method_to_ir): Implement AOT support for fast TLS access.
+
+2010-02-24 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (mono_method_to_ir): Implement support for fast access to
+ ThreadStatic variables.
+
+2010-02-24 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c (notify_thread): Skip terminated threads, since their tls
+ data is not freed yet. Fixes #582460.
+
+2010-02-23 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c: Add support for the caught/uncaught flags on exception
+ event requests. Bump protocol minor version.
+
+2010-02-22 Zoltan Varga <vargaz@gmail.com>
+
+ * decompose.c (mono_decompose_long_opts): Handle OP_LCONV_TO_OVF_I8 here too.
+
+2010-02-22 Zoltan Varga <vargaz@gmail.com>
+
+ * decompose.c (mono_decompose_opcode): Handle OP_LCONV_TO_OVF_I8. Fixes
+ #581950.
+
+ * iltests.il.in: Add a test.
+
+2010-02-22 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini.c (mono_method_check_inlining): Use !mono_method_get_header_summary
+ instead of mono_method_get_header as it doesn't decode locals
+ so the called method can have unresolved dependencies that will only
+ be satisfied after the current method is JIT'd.
+
+ Fixes #550968.
+
+2010-02-22 Zoltan Varga <vargaz@gmail.com>
+
+ * basic.cs (test_0_div_opt): Speed this up a bit.
+
+2010-02-20 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c: Fix DISABLE_JIT support after the latest changes.
+
+ * mini.c (mono_jit_create_remoting_trampoline): Call
+ mono_create_specific_trampoline () instead of
+ mono_arch_create_specific_trampoline ().
+
+ * mini-trampolines.c tramp-arm.c: Disable more stuff when DISABLE_JIT is set.
+
+2010-02-20 Zoltan Varga <vargaz@gmail.com>
+
+ * unwind.c (mono_unwind_get_cie_program): New function, moved here from
+ aot-compiler.c, so it can be found even if DISABLE_JIT is set.
+
+ * aot-compiler.c xdebug.c: Update callers of mono_arch_unwind_get_cie_program ().
+
+ * mini-amd64.c: Fix DISABLE_JIT support.
+
+2010-02-20 Geoff Norton <gnorton@novell.com>
+
+ * aot-runtime.c: Ensure we dont leak a held lock when unwinding exceptions.
+
+2010-02-20 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c (mono_debugger_agent_handle_exception): Receive two contexts,
+ one for the throw and one for the catch. Mark uncaught exceptions by a NULL
+ CATCH_TXT. Send normal exception events for unhandled exceptions too.
+ (mono_debugger_agent_handle_unhandled_exception): Remove this, merged into
+ handle_exception.
+
+2010-02-18 Zoltan Varga <vargaz@gmail.com>
+
+ * exceptions-x86.c (mono_arch_get_restore_context): Changes this so it restores
+ edx/ecx too. This is needed to support OP_SEQ_POINT.
+
+2010-02-18 Zoltan Varga <vargaz@gmail.com>
+
+ * exceptions-amd64.c (get_throw_trampoline): Add xdebug info.
+
+ * method-to-ir.c (mono_method_to_ir): Fix SIZEOF in dynamic methods.
+
+2010-02-16 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-llvm.c aot-compiler.c aot-runtime.c unwind.c: Finish support
+ LLVM+AOT+exceptions, not enabled yet.
+
+2010-02-15 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (SIG_HANDLER_SIGNATURE): Fix the windows build.
+
+2010-02-15 Zoltan Varga <vargaz@gmail.com>
+
+ * tramp-amd64.c (mono_arch_create_rgctx_lazy_fetch_trampoline_full): Emit
+ xdebug info for these.
+
+ * mini-trampolines.c (common_call_trampoline): Use mini_jit_info_table_find ()
+ in a few places.
+
+ * mini.c (mini_get_vtable_trampoline): Make this take a 'slot_index' argument,
+ not used yet.
+
+2010-02-13 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (load_profile_files): Update after the profiler changes.
+
+2010-02-13 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mono_jit_compile_method_inner): Avoid passing icall wrappers to
+ mono_profiler_method_end_jit, since the profiler has no way to process wrappers.
+
+ * aot-runtime.c mini.c: Resurrect the aot pagefault profiling stuff, it is useful
+ for mtouch.
+
+2010-02-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * debugger-agent.c: handle incomplete reads and EINTR in
+ recv()/send(). This could have been causing random
+ disconnections.
+
+2010-02-13 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-runtime.c (decode_exception_debug_info): Fix aot support for sequence
+ points.
+
+ * mini-arm.c (mono_arch_allocate_vars): Allocate the seq point related vars first
+ so they have small offsets. Fixes #566311.
+
+2010-02-12 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * method-to-ir.c (mono_method_check_inlining): Check for loader errors.
+
+2010-02-11 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-amd64.c: Remove the special casing of byref in a few places now that
+ mini_type_get_underlying_type () handles it.
+
+ * mini-generic-sharing.c (mini_type_get_underlying_type): Handle byref as well
+ by returning native int. Fixes #577984.
+
+2010-02-11 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (handle_isinst): Factor out the is_complex_isinst check into
+ a macro.
+
+ * mini-llvm.c (exception_cb): Put the clause index into the type info instead
+ of putting the clause itself.
+
+ * mini-arm.c mini.c linear-scan.c: Disable more stuff when DISABLE_JIT is used.
+
+2010-02-09 Zoltan Varga <vargaz@gmail.com>
+
+ * unwind.c (mono_unwind_frame): Use read32 for reading a 32 bit value, since it
+ might be unaligned.
+
+2010-02-10 Geoff Norton <gnorton@novell.com>
+
+ * aot-compiler.c: Make the number of IMT trampolines configurable as well.
+
+2010-02-08 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (emit_code): Create the ut trampolines here, so they work for
+ llvm methods too.
+
+ * aot-compiler.c (emit_code): Don't add the llvm label prefix to 'methods', since
+ it is not an LLVM generated symbol.
+
+ * mini-llvm.c (emit_entry_bb): Fix the handling of simd types.
+
+ * method-to-ir.c (handle_castclass): Turn off the more efficient isinst/castclass
+ implementation in gshared mode because it causes regressions.
+
+ * mini-trampolines.c: Add a stat for the number of calls to trampolines.
+
+ * image-writer.c (asm_writer_emit_global): Don't prepend the global prefix, it
+ should be done by the caller.
+
+ * mini-llvm.c (mono_llvm_emit_method): Don't make the debug symbols global.
+
+ * aot-compiler.c (emit_code): Add the llvm label prefix before 'methods'.
+
+ * mini-exceptions.c (mini_jit_info_table_find): Search the root domain as well,
+ since mono_jit_info_table_find () doesn't do it anymore.
+
+ * mini-generic-sharing.c debugger-agent.c: Call mini_jit_info_table_find ()
+ instead of mono_jit_info_table_find ().
+
+2010-02-07 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c aot-runtime.c: Add support for MONO_WRAPPER_WRITE_BARRIER.
+
+ * aot-compiler.c (encode_method_ref): Update after the removal of
+ mono_gc_get_managed_allocator_type ().
+
+ * method-to-ir.c (mono_method_to_ir): Place a seq point just before a RET.
+ Fixes #564538.
+
+2010-02-06 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (handle_castclass): Use the icall for classes with variant
+ generic params as well.
+ (handle_isinst): Ditto.
+
+ * method-to-ir.c: Make isninst/castclass checks in gshared code more efficient
+ instead of always calling an icall.
+
+ * aot-compiler.c (emit_llvm_file): Take into account trampolines etc when
+ computing the size of the got.
+
+ * aot-compiler.c (emit_code): Change the way the 'methods' symbol is emitted
+ when using LLVM. Instead of emitting it as an LLVM method, emit it using
+ the assembly directive '.set' so it points to the first LLVM emitted method.
+
+2010-02-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mini.c (mini_method_verify): Report the method which failed to verify.
+
+2010-02-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * method-to-ir.c (mono_method_to_ir): Use the new basic block formation pass
+ to avoid JIT'ng dead basic blocks. This is the same behavior as the
+ runtime MS verifier.
+
+2010-02-04 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c (decode_value): Fix decoding of vtype instances. Fixes
+ #561962.
+
+2010-02-04 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-llvm.c: Init the jit module only when first JITting.
+
+ * aot-compiler.c (emit_plt): Fix the naming of plt entries of llvm+darwin.
+
+ * mini-llvm.c (get_plt_entry): Make the plt entries have hidden visibility.
+
+ * mini-llvm.c (mono_llvm_emit_aot_module): Remove the dummy got after it is
+ replaced with the real got.
+
+ * debugger-agent.c (type_commands): Return the enumness if the type as well.
+
+ * image-writer.c: Reduce the amount of #ifdefs a bit.
+
+ * aot-compiler.c: Reduce the amount of #ifdefs. Add beginnings of support for
+ llvm on darwin/arm.
+
+ * aot-compiler.c (mono_compile_assembly): Handle asmonly+llvm mode.
+
+ * mini-llvm.c (mono_llvm_emit_method): Don't make the 'type_info' symbols
+ global.
+
+2010-02-02 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-llvm.c (mono_llvm_emit_method): Add support for unaligned loads.
+ (mono_llvm_emit_method): Fix unaligned stores too.
+
+ * mini-amd64.c (mono_arch_emit_prolog): Initialize lmf->rsp in the prolog too
+ so async stack walks don't crash.
+
+2010-02-02 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-trampolines.c (common_call_trampoline): Fix a problem where the callsite
+ was not patched if the callee needed an rgctx trampoline.
+
+2010-02-01 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ppc.c (mono_arch_get_global_int_regs): Reserve r29 for holding the
+ vtable address in AOT code.
+
+2010-02-01 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-codegen.c: Remove support for CEE_ opcodes which cannot occur in
+ MonoInst's.
+
+Mon Feb 1 16:29:10 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * genmdesc.pl: remove dependency on external cpp.
+
+2010-02-01 Zoltan Varga <vargaz@gmail.com>
+
+ * method-to-ir.c (mini_emit_ldelema_1_ins): Avoid emitting an OP_SEXT_I4 when
+ using LLVM, its not needed, and abcrem can't handle it.
+
+Mon Feb 1 14:29:43 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * genmdesc.c, genmdesc.pl, cpu-x86.md: introduced templates to make
+ it easier to group instructions and reduce duplication.
+
+2010-02-01 Zoltan Varga <vargaz@gmail.com>
+
+ * decompose.c: Move the array/soft float decompose routines here from
+ method-to-ir.c.
+
+ * method-to-ir.c: Export a few functions so they can be used from decompose.c.
+
+2010-01-31 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-llvm.c (mono_llvm_emit_method): Add a call to llvm.invariant.start
+ to tell LLVM that the got is constant, not used yet.
+
+ * aot-compiler.c: Pass more optimization flags to llvm's 'opt'.
+
+2010-01-30 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-ppc.c (mono_arch_emit_prolog): Fix full aot support for native to
+ managed wrappers.
+
+2010-01-30 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (add_wrappers): Commit the hack which generates
+ native-to-managed wrappers for methods decorated with the MonoPInvokeCallback
+ custom attribute.
+
+2010-01-29 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.h (MONO_INST_FAULT): New instruction flag for loads which can cause
+ a fault, only used by the LLVM backend.
+
+ * ir-emit.h: Add _FAULT variants of the LOAD_MEMBASE macros. Mark
+ OP_CHECK_THIS with OP_IMPLICIT_EXCEPTION.
+
+ * method-to-ir.c: Use the new LOAD_MEMBASE_FAULT opcodes, get rid of the
+ calls to MONO_EMIT_NULL_CHECK which is automatically done by the new macros.
+
+ * mini-llvm.c: Only generate volatile loads from load instructions which have
+ the MONO_INST_FAULT flag set.
+
+2010-01-29 Zoltan Varga <vargaz@gmail.com>
+
+ * unwind.c (mono_unwind_decode_fde): Fix the decoding of the LSDA offset on
+ 64 bit platforms.
+
+2010-01-28 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mono_save_seq_point_info): Fix the handling of bblocks without
+ sequence points. Fixes #571236.
+
+2010-01-28 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c (mono_debugger_agent_init): Call appdomain_unload at the
+ end of the appdomain unload process, after assemblies have been unloaded.
+ Fixes #574842.
+
+2010-01-27 Zoltan Varga <vargaz@gmail.com>
+
+ * abcremoval.c (process_block): Fix the if (region) check so abcrem actually
+ works.
+
+ * mini-amd64.c: Make the soft debugger work on platforms without MAP_32BIT.
+ Fixes #573988.
+
+2010-01-26 Zoltan Varga <vargaz@gmail.com>
+
+ * dwarfwriter.c (emit_type): Treat MONO_TYPE_PTR as 'I' not 'I4'.
+
+2010-01-26 Geoff Norton <gnorton@novell.com>
+
+ * aot-compiler.c: Fix a logic error introduced when guarding against enums
+ with struct marshalability.
+
+2010-01-24 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.c (mini_method_compile): Improve the processing MONO_VERBOSE_METHOD so
+ it supports class names as well.
+
+ * mini.h (MonoCompile): Add a few flags to control JIT behavior which are
+ needed by the GC map code.
+
+ * mini.c (mini_method_compile): Call a function in mini-gc.c to set the new
+ flags if needed.
+
+ * method-to-ir.c (mono_method_to_ir): Emit initialization code for ref variables
+ if cfg->init_ref_vars is set.
+
+ * liveness.c (optimize_initlocals): Disable the initlocals opt for ref vars if
+ cfg->disable_initlocals_op_refs is set.
+
+ * method-to-ir.c (mono_spill_global_vars): Compute more precise live ranges
+ using liveness info if cfg->compute_precise_live_ranges is set.
+
+ * mini-gc.c: Ongoing work. Improve logging and debugging support. Handle
+ volatile variables correctly. Add comments about the live ranges. Not enabled
+ yet.
+
+2010-01-24 Zoltan Varga <vargaz@gmail.com>
+
+ * mini.h (MonoDebugOptions): Add an option to init stack frames by writing
+ 0x2a into them in method prologs.
+
+ * mini-amd64.c (mono_arch_emit_prolog): Implement it.
+
+2010-01-22 Zoltan Varga <vargaz@gmail.com>
+
+ * mini-llvm-cpp.cpp: Remove uses of dynamic_cast, it no longer works with llvm
+ classes, since llvm is compiled with -fno-rtti.
+
+ * mini.h (COMPILE_SOFT_FLOAT): New macro, similar to COMPILE_LLVM.
+
+ * method-to-ir.c ir-emit.h: Use if (COMPILE_SOFT_FLOAT) in a few places since
+ llvm does not require it.
+
+ * aot-runtime.c (load_method): Print the full name of the last aot method.
+
+2010-01-21 Zoltan Varga <vargaz@gmail.com>
+
+ * exceptions-amd64.c (mono_arch_notify_pending_exc): Avoid a crash if the
+ thread has not fully started yet.
+
+2010-01-21 Zoltan Varga <vargaz@gmail.com>
+
+ * aot-compiler.c (can_marshal_struct): Allow marshalling enums.
+
+2010-01-21 Miguel de Icaza <miguel@novell.com>
+
+ * driver.c: Do not abort if LLVM is not supported, print a
+ warning and add the information to the Mono JIT information.
+
+2010-01-21 Zoltan Varga <vargaz@gmail.com>
+
+ * ir-emit.h (MONO_EMIT_NULL_CHECK): Don't emit an OP_IMPLICIT_EXCEPTION when
+ using explicit null checks.
+
2010-01-20 Zoltan Varga <vargaz@gmail.com>
+ * xdebug.c: New file extracted from aot-compiler.c, containing the XDEBUG
+ related code.
+
* aot-compiler.c (encode_method_ref): Use mono_marshal_wrapper_info_from_wrapper
() in one place.
(mono_aot_wrapper_name): Remove the special handling of delegate invoke wrappers,
mini-gc.h \
mini-gc.c \
debugger-agent.h \
- debugger-agent.c
+ debugger-agent.c \
+ xdebug.c
test_sources = \
basic-calls.cs \
if PLATFORM_DARWIN
os_sources = $(darwin_sources) $(posix_sources)
-monobin_platform_ldflags=-sectcreate __TEXT __info_plist $(top_srcdir)/mono/mini/Info.plist
+#monobin_platform_ldflags=-sectcreate __TEXT __info_plist $(top_srcdir)/mono/mini/Info.plist -framework CoreFoundation
+monobin_platform_ldflags=-framework CoreFoundation
endif
libmono_la_SOURCES = $(common_sources) $(llvm_sources) $(arch_sources) $(os_sources)
/* FIXME: Add more opcodes */
default:
+ /* These opcodes are not currently handled while running SciMark, first
+ * column is the number of times the warning was shown:
+ *
+ * 1 add_imm
+ * 1 float_conv_to_i8
+ * 1 int_mul_ovf_un
+ * 1 int_neg
+ * 1 int_or
+ * 1 int_shr_un
+ * 1 localloc
+ * 1 long_ceq
+ * 1 long_rem
+ * 1 long_sub
+ * 2 int_ceq
+ * 2 int_conv_to_i2
+ * 2 int_min
+ * 2 lcall
+ * 2 long_div
+ * 3 int_conv_to_u2
+ * 3 long_shr_imm
+ * 4 int_rem
+ * 4 int_rem_imm
+ * 4 loadi1_membase
+ * 4 loadu4_membase
+ * 5 int_div
+ * 5 shl_imm
+ * 6 int_div_imm
+ * 6 int_mul
+ * 9 int_mul_imm
+ * 9 zext_i4
+ * 10 int_shr_imm
+ * 12 int_shr_un_imm
+ * 12 long_add_imm
+ * 12 outarg_vtretaddr
+ * 12 strlen
+ * 13 int_or_imm
+ * 23 call_membase
+ * 23 int_conv_to_u1
+ * 23 long_add
+ * 24 int_and_imm
+ * 24 int_shl_imm
+ * 24 loadu2_membase
+ * 29 loadi8_membase
+ * 31 llvm_outarg_vt
+ * 34 int_sub
+ * 34 loadu1_membase
+ * 42 int_add
+ * 85 ldaddr
+ * 116 loadi4_membase
+ * 159 x86_lea
+ * 179 sext_i4
+ * 291 load_membase
+ * 462 i8const
+ * 472 call
+ */
+
break;
}
return value_kind;
printf ("\nProcessing block %d [dfn %d]...\n", bb->block_num, bb->dfn);
}
- if (bb->region)
+ if (bb->region != -1)
return;
get_relations_from_previous_bb (area, bb, &additional_relations);
int nthreads;
int ntrampolines;
int nrgctx_trampolines;
+ int nimt_trampolines;
gboolean print_skipped_methods;
gboolean stats;
char *tool_prefix;
GHashTable *unwind_info_offsets;
GPtrArray *unwind_ops;
guint32 unwind_info_offset;
+ char *got_symbol_base;
char *got_symbol;
char *plt_symbol;
GHashTable *method_label_hash;
const char *temp_prefix;
+ const char *llvm_label_prefix;
guint32 label_generator;
gboolean llvm;
MonoAotFileFlags flags;
#define PPC_LDX_OP "lwzx"
#endif
+//#define TARGET_ARM
+
+#ifdef TARGET_ARM
+#define LLVM_LABEL_PREFIX "_"
+#else
+#define LLVM_LABEL_PREFIX ""
+#endif
+
+#ifdef TARGET_ARM
+/* iphone */
+#define LLC_TARGET_ARGS "-march=arm -mattr=+v6 -mtriple=arm-apple-darwin"
+/* ELF */
+//#define LLC_TARGET_ARGS "-march=arm -mtriple=arm-linux-gnueabi -soft-float"
+#else
+#define LLC_TARGET_ARGS ""
+#endif
+
/*
* arch_emit_direct_call:
*
#endif
}
-/*
- * arch_get_cie_program:
- *
- * Get the unwind bytecode for the DWARF CIE.
- */
-static GSList*
-arch_get_cie_program (void)
-{
-#ifdef TARGET_AMD64
- GSList *l = NULL;
-
- mono_add_unwind_op_def_cfa (l, (guint8*)NULL, (guint8*)NULL, AMD64_RSP, 8);
- mono_add_unwind_op_offset (l, (guint8*)NULL, (guint8*)NULL, AMD64_RIP, -8);
-
- return l;
-#elif defined(TARGET_POWERPC)
- GSList *l = NULL;
-
- mono_add_unwind_op_def_cfa (l, (guint8*)NULL, (guint8*)NULL, ppc_r1, 0);
-
- return l;
-#else
- return NULL;
-#endif
-}
-
/* END OF ARCH SPECIFIC CODE */
static guint32
case MONO_WRAPPER_LDFLDA:
case MONO_WRAPPER_STFLD:
case MONO_WRAPPER_ISINST: {
- MonoClass *proxy_class = mono_marshal_wrapper_info_from_wrapper (method);
+ MonoClass *proxy_class = mono_marshal_get_wrapper_info (method);
encode_klass_ref (acfg, proxy_class, p, &p);
break;
}
case MONO_WRAPPER_STFLD_REMOTE:
break;
case MONO_WRAPPER_ALLOC: {
- int alloc_type = mono_gc_get_managed_allocator_type (method);
- g_assert (alloc_type != -1);
- encode_value (alloc_type, p, &p);
+ AllocatorWrapperInfo *info = mono_marshal_get_wrapper_info (method);
+
+ g_assert (info->alloc_type != -1);
+ encode_value (info->alloc_type, p, &p);
break;
}
+ case MONO_WRAPPER_WRITE_BARRIER:
+ break;
case MONO_WRAPPER_STELEMREF:
break;
case MONO_WRAPPER_UNKNOWN:
}
case MONO_WRAPPER_MANAGED_TO_MANAGED:
if (!strcmp (method->name, "ElementAddr")) {
- ElementAddrWrapperInfo *info = mono_marshal_wrapper_info_from_wrapper (method);
+ ElementAddrWrapperInfo *info = mono_marshal_get_wrapper_info (method);
g_assert (info);
encode_value (MONO_AOT_WRAPPER_ELEMENT_ADDR, p, &p);
if (got_offset)
return got_offset - 1;
- g_assert (!acfg->final_got_size);
-
got_offset = acfg->got_offset;
acfg->got_offset ++;
+ if (acfg->final_got_size)
+ g_assert (got_offset < acfg->final_got_size);
+
acfg->stats.got_slots ++;
acfg->stats.got_slot_types [ji->type] ++;
case MONO_TYPE_STRING:
break;
case MONO_TYPE_VALUETYPE:
- if (!can_marshal_struct (mono_class_from_mono_type (field->type)))
+ if (!mono_class_from_mono_type (field->type)->enumtype && !can_marshal_struct (mono_class_from_mono_type (field->type)))
can_marshal = FALSE;
break;
default:
add_method (acfg, mono_marshal_get_native_wrapper (method, TRUE, TRUE));
}
}
+
+ /* native-to-managed wrappers */
+ for (i = 0; i < acfg->image->tables [MONO_TABLE_METHOD].rows; ++i) {
+ MonoMethod *method;
+ guint32 token = MONO_TOKEN_METHOD_DEF | (i + 1);
+ MonoCustomAttrInfo *cattr;
+ int j;
+
+ method = mono_get_method (acfg->image, token, NULL);
+
+ /*
+ * Only generate native-to-managed wrappers for methods which have an
+ * attribute named MonoPInvokeCallbackAttribute. We search for the attribute by
+ * name to avoid defining a new assembly to contain it.
+ */
+ cattr = mono_custom_attrs_from_method (method);
+
+ if (cattr) {
+ for (j = 0; j < cattr->num_attrs; ++j)
+ if (cattr->attrs [j].ctor && !strcmp (cattr->attrs [j].ctor->klass->name, "MonoPInvokeCallbackAttribute"))
+ break;
+ if (j < cattr->num_attrs) {
+ MonoCustomAttrEntry *e = &cattr->attrs [j];
+ MonoMethodSignature *sig = mono_method_signature (e->ctor);
+ const char *p = (const char*)e->data;
+ int slen;
+ char *n;
+ MonoType *t;
+ MonoClass *klass;
+
+ g_assert (method->flags & METHOD_ATTRIBUTE_STATIC);
+
+ g_assert (sig->param_count == 1);
+ g_assert (sig->params [0]->type == MONO_TYPE_CLASS && !strcmp (mono_class_from_mono_type (sig->params [0])->name, "Type"));
+
+ /*
+ * Decode the cattr manually since we can't create objects
+ * during aot compilation.
+ */
+
+ /* Skip prolog */
+ p += 2;
+
+ /* From load_cattr_value () in reflection.c */
+ slen = mono_metadata_decode_value (p, &p);
+ n = g_memdup (p, slen + 1);
+ n [slen] = 0;
+ t = mono_reflection_type_from_name (n, acfg->image);
+ g_assert (t);
+ g_free (n);
+
+ klass = mono_class_from_mono_type (t);
+ g_assert (klass->parent == mono_defaults.multicastdelegate_class);
+
+ add_method (acfg, mono_marshal_get_managed_wrapper (method, klass, NULL));
+ }
+ }
+
+ if ((method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL) ||
+ (method->iflags & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL)) {
+ add_method (acfg, mono_marshal_get_native_wrapper (method, TRUE, TRUE));
+ }
+ }
/* StructureToPtr/PtrToStructure wrappers */
for (i = 0; i < acfg->image->tables [MONO_TABLE_TYPEDEF].rows; ++i) {
MonoCompile *callee_cfg = g_hash_table_lookup (acfg->method_to_cfg, patch_info->data.method);
//printf ("DIRECT: %s %s\n", method ? mono_method_full_name (method, TRUE) : "", mono_method_full_name (callee_cfg->method, TRUE));
direct_call = TRUE;
- sprintf (direct_call_target, "%sm_%x", acfg->temp_prefix, get_method_index (acfg, callee_cfg->orig_method));
+ sprintf (direct_call_target, callee_cfg->asm_symbol);
patch_info->type = MONO_PATCH_INFO_NONE;
acfg->stats.direct_calls ++;
}
if (plt_offset != -1) {
/* This patch has a PLT entry, so we must emit a call to the PLT entry */
direct_call = TRUE;
- sprintf (direct_call_target, "%sp_%d", acfg->temp_prefix, plt_offset);
+ sprintf (direct_call_target, "%s%sp_%d", acfg->llvm_label_prefix, acfg->temp_prefix, plt_offset);
/* Nullify the patch */
patch_info->type = MONO_PATCH_INFO_NONE;
method_index = get_method_index (acfg, method);
- /* Emit unbox trampoline */
- if (acfg->aot_opts.full_aot && cfg->orig_method->klass->valuetype && (method->flags & METHOD_ATTRIBUTE_VIRTUAL)) {
- char call_target [256];
-
- if (!method->wrapper_type && !method->is_inflated) {
- g_assert (method->token);
- sprintf (symbol, "ut_%d", mono_metadata_token_index (method->token) - 1);
- } else {
- sprintf (symbol, "ut_e_%d", get_method_index (acfg, method));
- }
-
- emit_section_change (acfg, ".text", 0);
- emit_global (acfg, symbol, TRUE);
- emit_label (acfg, symbol);
-
- sprintf (call_target, "%sm_%x", acfg->temp_prefix, method_index);
-
- arch_emit_unbox_trampoline (acfg, cfg->orig_method, cfg->generic_sharing_context, call_target);
- }
-
/* Make the labels local */
- sprintf (symbol, "%sm_%x", acfg->temp_prefix, method_index);
+ sprintf (symbol, "%s", cfg->asm_symbol);
emit_section_change (acfg, ".text", 0);
emit_alignment (acfg, func_alignment);
}
/* Exception table */
- if (jinfo->num_clauses)
- encode_value (jinfo->num_clauses, p, &p);
+ if (cfg->compile_llvm) {
+ /* The assembly might be CIL stripped so emit the data ourselves */
+ if (header->num_clauses)
+ encode_value (header->num_clauses, p, &p);
- for (k = 0; k < jinfo->num_clauses; ++k) {
- MonoJitExceptionInfo *ei = &jinfo->clauses [k];
+ for (k = 0; k < header->num_clauses; ++k) {
+ MonoExceptionClause *clause;
- encode_value (ei->flags, p, &p);
- encode_value (ei->exvar_offset, p, &p);
+ clause = &header->clauses [k];
- if (ei->flags == MONO_EXCEPTION_CLAUSE_FILTER)
- encode_value ((gint)((guint8*)ei->data.filter - code), p, &p);
- else {
- if (ei->data.catch_class) {
+ encode_value (clause->flags, p, &p);
+ if (clause->data.catch_class) {
encode_value (1, p, &p);
- encode_klass_ref (acfg, ei->data.catch_class, p, &p);
+ encode_klass_ref (acfg, clause->data.catch_class, p, &p);
} else {
encode_value (0, p, &p);
}
}
+ } else {
+ if (jinfo->num_clauses)
+ encode_value (jinfo->num_clauses, p, &p);
+
+ for (k = 0; k < jinfo->num_clauses; ++k) {
+ MonoJitExceptionInfo *ei = &jinfo->clauses [k];
+
+ encode_value (ei->flags, p, &p);
+ encode_value (ei->exvar_offset, p, &p);
+
+ if (ei->flags == MONO_EXCEPTION_CLAUSE_FILTER)
+ encode_value ((gint)((guint8*)ei->data.filter - code), p, &p);
+ else {
+ if (ei->data.catch_class) {
+ encode_value (1, p, &p);
+ encode_klass_ref (acfg, ei->data.catch_class, p, &p);
+ } else {
+ encode_value (0, p, &p);
+ }
+ }
- encode_value ((gint)((guint8*)ei->try_start - code), p, &p);
- encode_value ((gint)((guint8*)ei->try_end - code), p, &p);
- encode_value ((gint)((guint8*)ei->handler_start - code), p, &p);
+ encode_value ((gint)((guint8*)ei->try_start - code), p, &p);
+ encode_value ((gint)((guint8*)ei->try_end - code), p, &p);
+ encode_value ((gint)((guint8*)ei->handler_start - code), p, &p);
+ }
}
if (jinfo->has_generic_jit_info) {
char *debug_sym = NULL;
MonoJumpInfo *ji;
- sprintf (label, "%sp_%d", acfg->temp_prefix, i);
+ sprintf (label, "%s%sp_%d", acfg->llvm_label_prefix, acfg->temp_prefix, i);
if (acfg->llvm) {
/*
ji = g_hash_table_lookup (acfg->plt_offset_to_patch, GUINT_TO_POINTER (i));
if (ji && is_direct_callable (acfg, NULL, ji) && !acfg->use_bin_writer) {
MonoCompile *callee_cfg = g_hash_table_lookup (acfg->method_to_cfg, ji->data.method);
- fprintf (acfg->fp, "\n.set %s, .Lm_%x\n", label, get_method_index (acfg, callee_cfg->orig_method));
+ fprintf (acfg->fp, "\n.set %s, %s\n", label, callee_cfg->asm_symbol);
continue;
}
}
g_assert (acfg->image->assembly);
- /* Currently, we only emit most trampolines into the mscorlib AOT image. */
+ /* Currently, we emit most trampolines into the mscorlib AOT image. */
if (strcmp (acfg->image->assembly->aname.name, "mscorlib") == 0) {
#ifdef MONO_ARCH_HAVE_FULL_AOT_TRAMPOLINES
/*
opts->ntrampolines = atoi (arg + strlen ("ntrampolines="));
} else if (str_begins_with (arg, "nrgctx-trampolines=")) {
opts->nrgctx_trampolines = atoi (arg + strlen ("nrgctx-trampolines="));
+ } else if (str_begins_with (arg, "nimt-trampolines=")) {
+ opts->nimt_trampolines = atoi (arg + strlen ("nimt-trampolines="));
} else if (str_begins_with (arg, "autoreg")) {
opts->autoreg = TRUE;
} else if (str_begins_with (arg, "tool-prefix=")) {
case MONO_WRAPPER_ALLOC:
case MONO_WRAPPER_REMOTING_INVOKE:
case MONO_WRAPPER_UNKNOWN:
+ case MONO_WRAPPER_WRITE_BARRIER:
break;
case MONO_WRAPPER_MANAGED_TO_MANAGED:
if (!strcmp (method->name, "ElementAddr"))
file_index = 0;
while (TRUE) {
- tmp = g_strdup_printf ("%s/.mono/aot-profile-data/%s-%s-%d", g_get_home_dir (), acfg->image->assembly_name, acfg->image->guid, file_index);
+ tmp = g_strdup_printf ("%s/.mono/aot-profile-data/%s-%d", g_get_home_dir (), acfg->image->assembly_name, file_index);
if (!g_file_test (tmp, G_FILE_TEST_IS_REGULAR)) {
g_free (tmp);
file_index ++;
res = fscanf (infile, "%32s\n", ver);
- if ((res != 1) || strcmp (ver, "#VER:1") != 0) {
+ if ((res != 1) || strcmp (ver, "#VER:2") != 0) {
printf ("Profile file has wrong version or invalid.\n");
fclose (infile);
continue;
}
while (TRUE) {
- res = fscanf (infile, "%d\n", &token);
- if (res < 1)
+ char name [1024];
+ MonoMethodDesc *desc;
+ MonoMethod *method;
+
+ if (fgets (name, 1023, infile) == NULL)
break;
- method_index = mono_metadata_token_index (token) - 1;
+ /* Kill the newline */
+ if (strlen (name) > 0)
+ name [strlen (name) - 1] = '\0';
+
+ desc = mono_method_desc_new (name, TRUE);
+
+ method = mono_method_desc_search_in_image (desc, acfg->image);
+
+ if (method && mono_method_get_token (method)) {
+ token = mono_method_get_token (method);
+ method_index = mono_metadata_token_index (token) - 1;
- if (!g_list_find (acfg->method_order, GUINT_TO_POINTER (method_index)))
- acfg->method_order = g_list_append (acfg->method_order, GUINT_TO_POINTER (method_index));
+ if (!g_list_find (acfg->method_order, GUINT_TO_POINTER (method_index))) {
+ acfg->method_order = g_list_append (acfg->method_order, GUINT_TO_POINTER (method_index));
+ }
+ } else {
+ //printf ("No method found matching '%s'.\n", name);
+ }
}
fclose (infile);
}
{
guint32 method_index = get_method_index (llvm_acfg, cfg->orig_method);
- /* LLVM converts these to .Lm_%x */
return g_strdup_printf ("m_%x", method_index);
}
offset = get_plt_offset (llvm_acfg, ji);
- return g_strdup_printf (".Lp_%d", offset);
+ return g_strdup_printf ("%sp_%d", llvm_acfg->temp_prefix, offset);
}
MonoJumpInfo*
char *command, *opts;
int i;
MonoJumpInfo *patch_info;
+ char *llc_target_args;
/*
* When using LLVM, we let llvm emit the got since the LLVM IL needs to refer
}
}
}
+
acfg->final_got_size = acfg->got_offset + acfg->plt_offset;
+ if (acfg->aot_opts.full_aot) {
+ int ntype;
+
+ /*
+ * Need to add the got entries used by the trampolines.
+ * This is only a conservative approximation.
+ */
+ if (strcmp (acfg->image->assembly->aname.name, "mscorlib") == 0) {
+ /* For the generic + rgctx trampolines */
+ acfg->final_got_size += 200;
+ /* For the specific trampolines */
+ for (ntype = 0; ntype < MONO_AOT_TRAMP_NUM; ++ntype)
+ acfg->final_got_size += acfg->num_trampolines [ntype] * 2;
+ }
+ }
+
+
mono_llvm_emit_aot_module ("temp.bc", acfg->final_got_size);
/*
* a lot of time, and doesn't seem to save much space.
* The following optimizations cannot be enabled:
* - 'tailcallelim'
+ * The opt list below was produced by taking the output of:
+ * llvm-as < /dev/null | opt -O2 -disable-output -debug-pass=Arguments
+ * then removing tailcallelim + the global opts, and adding a second gvn.
*/
opts = g_strdup ("-instcombine -simplifycfg");
+ opts = g_strdup ("-simplifycfg -domtree -domfrontier -scalarrepl -instcombine -simplifycfg -basiccg -prune-eh -inline -functionattrs -domtree -domfrontier -scalarrepl -simplify-libcalls -instcombine -jump-threading -simplifycfg -instcombine -simplifycfg -reassociate -domtree -loops -loopsimplify -domfrontier -loopsimplify -lcssa -loop-rotate -licm -lcssa -loop-unswitch -instcombine -scalar-evolution -loopsimplify -lcssa -iv-users -indvars -loop-deletion -loopsimplify -lcssa -loop-unroll -instcombine -memdep -gvn -memdep -memcpyopt -sccp -instcombine -jump-threading -domtree -memdep -dse -adce -gvn -simplifycfg -preverify -domtree -verify");
#if 1
command = g_strdup_printf ("opt -f %s -o temp.opt.bc temp.bc", opts);
printf ("Executing opt: %s\n", command);
#endif
g_free (opts);
- //command = g_strdup_printf ("llc -march=arm -mtriple=arm-linux-gnueabi -f -relocation-model=pic -unwind-tables temp.bc");
- command = g_strdup_printf ("llc -f -relocation-model=pic -unwind-tables -o temp.s temp.opt.bc");
+ llc_target_args = g_strdup (LLC_TARGET_ARGS);
+
+ command = g_strdup_printf ("llc %s -f -relocation-model=pic -unwind-tables -o %s temp.opt.bc", llc_target_args, acfg->tmpfname);
+ g_free (llc_target_args);
+
printf ("Executing llc: %s\n", command);
if (system (command) != 0) {
{
int i;
char symbol [256];
+ char end_symbol [256];
GList *l;
#if defined(TARGET_POWERPC64)
emit_pointer (acfg, acfg->got_symbol);
#endif
- if (!acfg->llvm) {
- sprintf (symbol, "methods");
- emit_section_change (acfg, ".text", 0);
- emit_global (acfg, symbol, TRUE);
- emit_alignment (acfg, 8);
+ /*
+ * This global symbol is used to compute the address of each method using the
+ * code_offsets array. It is also used to compute the memory ranges occupied by
+ * AOT code, so it must be equal to the address of the first emitted method.
+ */
+ sprintf (symbol, "methods");
+ emit_section_change (acfg, ".text", 0);
+ emit_global (acfg, symbol, TRUE);
+ emit_alignment (acfg, 8);
+ if (acfg->llvm) {
+ for (i = 0; i < acfg->nmethods; ++i) {
+ if (acfg->cfgs [i] && acfg->cfgs [i]->compile_llvm) {
+ fprintf (acfg->fp, "\n.set methods, %s\n", acfg->cfgs [i]->asm_symbol);
+ break;
+ }
+ }
+ if (i == acfg->nmethods)
+ /* No LLVM compiled methods */
+ emit_label (acfg, symbol);
+ } else {
emit_label (acfg, symbol);
}
emit_zero_bytes (acfg, 16);
for (l = acfg->method_order; l != NULL; l = l->next) {
+ MonoCompile *cfg;
+ MonoMethod *method;
+
i = GPOINTER_TO_UINT (l->data);
- if (acfg->cfgs [i]) {
- if (acfg->cfgs [i]->compile_llvm)
- acfg->stats.llvm_count ++;
- else
- emit_method_code (acfg, acfg->cfgs [i]);
+ cfg = acfg->cfgs [i];
+
+ if (!cfg)
+ continue;
+
+ method = cfg->orig_method;
+
+ /* Emit unbox trampoline */
+ if (acfg->aot_opts.full_aot && cfg->orig_method->klass->valuetype && (method->flags & METHOD_ATTRIBUTE_VIRTUAL)) {
+ char call_target [256];
+
+ if (!method->wrapper_type && !method->is_inflated) {
+ g_assert (method->token);
+ sprintf (symbol, "ut_%d", mono_metadata_token_index (method->token) - 1);
+ } else {
+ sprintf (symbol, "ut_e_%d", get_method_index (acfg, method));
+ }
+
+ emit_section_change (acfg, ".text", 0);
+ emit_global (acfg, symbol, TRUE);
+ emit_label (acfg, symbol);
+
+ sprintf (call_target, "%s", cfg->asm_symbol);
+
+ arch_emit_unbox_trampoline (acfg, cfg->orig_method, cfg->generic_sharing_context, call_target);
}
+
+ if (cfg->compile_llvm)
+ acfg->stats.llvm_count ++;
+ else
+ emit_method_code (acfg, cfg);
}
sprintf (symbol, "methods_end");
acfg->stats.offsets_size += acfg->nmethods * 4;
+ sprintf (end_symbol, "methods");
for (i = 0; i < acfg->nmethods; ++i) {
if (acfg->cfgs [i]) {
- sprintf (symbol, "%sm_%x", acfg->temp_prefix, i);
- emit_symbol_diff (acfg, symbol, "methods", 0);
+ emit_symbol_diff (acfg, acfg->cfgs [i]->asm_symbol, end_symbol, 0);
} else {
emit_int32 (acfg, 0xffffffff);
}
if (cfg->compile_llvm)
continue;
- sprintf (symbol, "%sm_%x", acfg->temp_prefix, i);
+ sprintf (symbol, "%s", cfg->asm_symbol);
sprintf (symbol2, "%sme_%x", acfg->temp_prefix, i);
mono_dwarf_writer_emit_method (acfg->dwarf, cfg, cfg->method, symbol, symbol2, cfg->jit_info->code_start, cfg->jit_info->code_size, cfg->args, cfg->locals, cfg->unwind_ops, mono_debug_find_method (cfg->jit_info->method, mono_domain_get ()));
mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options)
{
MonoImage *image = ass->image;
- int res;
+ int i, res;
MonoAotCompile *acfg;
char *outfile_name, *tmp_outfile_name, *p;
TV_DECLARE (atv);
acfg->aot_opts.write_symbols = TRUE;
acfg->aot_opts.ntrampolines = 1024;
acfg->aot_opts.nrgctx_trampolines = 1024;
+ acfg->aot_opts.nimt_trampolines = 128;
mono_aot_parse_options (aot_options, &acfg->aot_opts);
#ifdef MONO_ARCH_HAVE_STATIC_RGCTX_TRAMPOLINE
acfg->num_trampolines [MONO_AOT_TRAMP_STATIC_RGCTX] = acfg->aot_opts.full_aot ? acfg->aot_opts.nrgctx_trampolines : 0;
#endif
- acfg->num_trampolines [MONO_AOT_TRAMP_IMT_THUNK] = acfg->aot_opts.full_aot ? 128 : 0;
+ acfg->num_trampolines [MONO_AOT_TRAMP_IMT_THUNK] = acfg->aot_opts.full_aot ? acfg->aot_opts.nimt_trampolines : 0;
- acfg->got_symbol = g_strdup_printf ("mono_aot_%s_got", acfg->image->assembly->aname.name);
+ acfg->got_symbol_base = g_strdup_printf ("mono_aot_%s_got", acfg->image->assembly->aname.name);
acfg->plt_symbol = g_strdup_printf ("mono_aot_%s_plt", acfg->image->assembly->aname.name);
/* Get rid of characters which cannot occur in symbols */
- for (p = acfg->got_symbol; *p; ++p) {
+ for (p = acfg->got_symbol_base; *p; ++p) {
if (!(isalnum (*p) || *p == '_'))
*p = '_';
}
*p = '_';
}
+ acfg->temp_prefix = img_writer_get_temp_label_prefix (NULL);
+
acfg->method_index = 1;
collect_methods (acfg);
#ifdef ENABLE_LLVM
llvm_acfg = acfg;
- mono_llvm_create_aot_module (acfg->got_symbol);
+ mono_llvm_create_aot_module (acfg->got_symbol_base);
#endif
/* GOT offset 0 is reserved for the address of the current assembly */
TV_GETTIME (atv);
#ifdef ENABLE_LLVM
+ if (acfg->llvm) {
+ if (acfg->aot_opts.asm_only) {
+ if (acfg->aot_opts.outfile)
+ acfg->tmpfname = g_strdup_printf ("%s", acfg->aot_opts.outfile);
+ else
+ acfg->tmpfname = g_strdup_printf ("%s.s", acfg->image->name);
+ } else {
+ acfg->tmpfname = g_strdup ("temp.s");
+ }
+ }
+
emit_llvm_file (acfg);
#endif
if (acfg->llvm) {
/* Append to the .s file created by llvm */
/* FIXME: Use multiple files instead */
- acfg->tmpfname = g_strdup ("temp.s");
- acfg->fp = fopen (acfg->tmpfname, "a");
+ acfg->fp = fopen (acfg->tmpfname, "a+");
} else {
if (acfg->aot_opts.asm_only) {
if (acfg->aot_opts.outfile)
outfile_name = NULL;
}
- acfg->temp_prefix = img_writer_get_temp_label_prefix (acfg->w);
+ /*
+ * The prefix LLVM likes to put in front of symbol names on darwin.
+ * The mach-os specs require this for globals, but LLVM puts them in front of all
+ * symbols. We need to handle this, since we need to refer to LLVM generated
+ * symbols.
+ */
+ acfg->llvm_label_prefix = "";
+ if (acfg->llvm)
+ acfg->llvm_label_prefix = LLVM_LABEL_PREFIX;
+
+ acfg->got_symbol = g_strdup_printf ("%s%s", acfg->llvm_label_prefix, acfg->got_symbol_base);
+
+ /* Compute symbols for methods */
+ for (i = 0; i < acfg->nmethods; ++i) {
+ if (acfg->cfgs [i]) {
+ MonoCompile *cfg = acfg->cfgs [i];
+ int method_index = get_method_index (acfg, cfg->orig_method);
+
+ cfg->asm_symbol = g_strdup_printf ("%s%sm_%x", acfg->temp_prefix, LLVM_LABEL_PREFIX, method_index);
+ }
+ }
if (!acfg->aot_opts.nodebug)
acfg->dwarf = mono_dwarf_writer_create (acfg->w, NULL, 0, FALSE);
img_writer_emit_start (acfg->w);
if (acfg->dwarf)
- mono_dwarf_writer_emit_base_info (acfg->dwarf, arch_get_cie_program ());
+ mono_dwarf_writer_emit_base_info (acfg->dwarf, mono_unwind_get_cie_program ());
emit_code (acfg);
acfg->stats.gen_time = TV_ELAPSED (atv, btv);
if (acfg->llvm)
- g_assert (acfg->got_offset == acfg->final_got_size);
+ g_assert (acfg->got_offset <= acfg->final_got_size);
printf ("Code: %d Info: %d Ex Info: %d Unwind Info: %d Class Info: %d PLT: %d GOT Info: %d GOT: %d Offsets: %d\n", acfg->stats.code_size, acfg->stats.info_size, acfg->stats.ex_info_size, acfg->stats.unwind_info_size, acfg->stats.class_info_size, acfg->plt_offset, acfg->stats.got_info_size, (int)(acfg->got_offset * sizeof (gpointer)), acfg->stats.offsets_size);
return 0;
}
-
-/*
- * Support for emitting debug info for JITted code.
- *
- * This works as follows:
- * - the runtime writes out an xdb.s file containing DWARF debug info.
- * - the user calls a gdb macro
- * - the macro compiles and loads this shared library using add-symbol-file.
- *
- * This is based on the xdebug functionality in the Kaffe Java VM.
- *
- * We emit assembly code instead of using the ELF writer, so we can emit debug info
- * incrementally as each method is JITted, and the debugger doesn't have to call
- * into the runtime to emit the shared library, which would cause all kinds of
- * complications, like threading issues, and the fact that the ELF writer's
- * emit_writeout () function cannot be called more than once.
- * GDB 7.0 and later has a JIT interface.
- */
-
-#define USE_GDB_JIT_INTERFACE
-
-/* The recommended gdb macro is: */
-/*
- define xdb
- shell rm -f xdb.so && as --64 -o xdb.o xdb.s && ld -shared -o xdb.so xdb.o
- add-symbol-file xdb.so 0
- end
-*/
-
-/*
- * GDB JIT interface definitions.
- *
- * http://sources.redhat.com/gdb/onlinedocs/gdb_30.html
- */
-typedef enum
-{
- JIT_NOACTION = 0,
- JIT_REGISTER_FN,
- JIT_UNREGISTER_FN
-} jit_actions_t;
-
-struct jit_code_entry
-{
- struct jit_code_entry *next_entry;
- struct jit_code_entry *prev_entry;
- const char *symfile_addr;
- guint64 symfile_size;
-};
-
-struct jit_descriptor
-{
- guint32 version;
- /* This type should be jit_actions_t, but we use guint32
- to be explicit about the bitwidth. */
- guint32 action_flag;
- struct jit_code_entry *relevant_entry;
- struct jit_code_entry *first_entry;
-};
-
-
-#ifdef _MSC_VER
-#define MONO_NOINLINE __declspec (noinline)
-#else
-#define MONO_NOINLINE __attribute__((noinline))
-#endif
-
-/* GDB puts a breakpoint in this function. */
-void MONO_NOINLINE __jit_debug_register_code(void);
-
-#if defined(ENABLE_LLVM) && ((LLVM_MAJOR_VERSION == 2 && LLVM_MINOR_VERSION >= 7) || LLVM_MAJOR_VERSION > 2)
-/* LLVM already defines these */
-extern struct jit_descriptor __jit_debug_descriptor;
-#else
-
-/* Make sure to specify the version statically, because the
- debugger may check the version before we can set it. */
-struct jit_descriptor __jit_debug_descriptor = { 1, 0, 0, 0 };
-
-void MONO_NOINLINE __jit_debug_register_code(void) { };
-#endif
-
-static MonoImageWriter *xdebug_w;
-static MonoDwarfWriter *xdebug_writer;
-static FILE *xdebug_fp, *il_file;
-static gboolean use_gdb_interface, save_symfiles;
-static int il_file_line_index;
-static GHashTable *xdebug_syms;
-
-void
-mono_xdebug_init (char *options)
-{
- MonoImageWriter *w;
- char **args, **ptr;
-
- args = g_strsplit (options, ",", -1);
- for (ptr = args; ptr && *ptr; ptr ++) {
- char *arg = *ptr;
-
- if (!strcmp (arg, "gdb"))
- use_gdb_interface = TRUE;
- if (!strcmp (arg, "save-symfiles"))
- save_symfiles = TRUE;
- }
-
- /* This file will contain the IL code for methods which don't have debug info */
- il_file = fopen ("xdb.il", "w");
-
- if (use_gdb_interface)
- return;
-
- unlink ("xdb.s");
- xdebug_fp = fopen ("xdb.s", "w");
-
- w = img_writer_create (xdebug_fp, FALSE);
-
- img_writer_emit_start (w);
-
- xdebug_writer = mono_dwarf_writer_create (w, il_file, 0, TRUE);
-
- /* Emit something so the file has a text segment */
- img_writer_emit_section_change (w, ".text", 0);
- img_writer_emit_string (w, "");
-
- mono_dwarf_writer_emit_base_info (xdebug_writer, arch_get_cie_program ());
-}
-
-static void
-xdebug_begin_emit (MonoImageWriter **out_w, MonoDwarfWriter **out_dw)
-{
- MonoImageWriter *w;
- MonoDwarfWriter *dw;
-
- w = img_writer_create (NULL, TRUE);
-
- img_writer_emit_start (w);
-
- /* This file will contain the IL code for methods which don't have debug info */
- if (!il_file)
- il_file = fopen ("xdb.il", "w");
-
- dw = mono_dwarf_writer_create (w, il_file, il_file_line_index, FALSE);
-
- mono_dwarf_writer_emit_base_info (dw, arch_get_cie_program ());
-
- *out_w = w;
- *out_dw = dw;
-}
-
-static void
-xdebug_end_emit (MonoImageWriter *w, MonoDwarfWriter *dw, MonoMethod *method)
-{
- guint8 *img;
- guint32 img_size;
- struct jit_code_entry *entry;
-
- il_file_line_index = mono_dwarf_writer_get_il_file_line_index (dw);
- mono_dwarf_writer_close (dw);
-
- img_writer_emit_writeout (w);
-
- img = img_writer_get_output (w, &img_size);
-
- img_writer_destroy (w);
-
- if (FALSE) {
- /* Save the symbol files to help debugging */
- FILE *fp;
- char *file_name;
- static int file_counter;
-
- file_counter ++;
- file_name = g_strdup_printf ("xdb-%d.o", file_counter);
- //printf ("%s -> %s\n", mono_method_full_name (method, TRUE), file_name);
-
- fp = fopen (file_name, "w");
- fwrite (img, img_size, 1, fp);
- fclose (fp);
- g_free (file_name);
- }
-
- /* Register the image with GDB */
-
- entry = g_malloc (sizeof (struct jit_code_entry));
-
- entry->symfile_addr = (const char*)img;
- entry->symfile_size = img_size;
-
- entry->next_entry = __jit_debug_descriptor.first_entry;
- if (__jit_debug_descriptor.first_entry)
- __jit_debug_descriptor.first_entry->prev_entry = entry;
- __jit_debug_descriptor.first_entry = entry;
-
- __jit_debug_descriptor.relevant_entry = entry;
- __jit_debug_descriptor.action_flag = JIT_REGISTER_FN;
-
- __jit_debug_register_code ();
-}
-
-/*
- * mono_xdebug_flush:
- *
- * This could be called from inside gdb to flush the debugging information not yet
- * registered with gdb.
- */
-void
-mono_xdebug_flush (void)
-{
- if (xdebug_w)
- xdebug_end_emit (xdebug_w, xdebug_writer, NULL);
-
- xdebug_begin_emit (&xdebug_w, &xdebug_writer);
-}
-
-static int xdebug_method_count;
-
-/*
- * mono_save_xdebug_info:
- *
- * Emit debugging info for METHOD into an assembly file which can be assembled
- * and loaded into gdb to provide debugging info for JITted code.
- * LOCKING: Acquires the loader lock.
- */
-void
-mono_save_xdebug_info (MonoCompile *cfg)
-{
- if (use_gdb_interface) {
- mono_loader_lock ();
-
- if (!xdebug_syms)
- xdebug_syms = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
-
- /*
- * gdb is not designed to handle 1000s of symbol files (one per method). So we
- * group them into groups of 100.
- */
- if ((xdebug_method_count % 100) == 0)
- mono_xdebug_flush ();
-
- xdebug_method_count ++;
-
- mono_dwarf_writer_emit_method (xdebug_writer, cfg, cfg->jit_info->method, NULL, NULL, cfg->jit_info->code_start, cfg->jit_info->code_size, cfg->args, cfg->locals, cfg->unwind_ops, mono_debug_find_method (cfg->jit_info->method, mono_domain_get ()));
-
-#if 0
- /*
- * Emit a symbol for the code by emitting it at the beginning of the text
- * segment, and setting the text segment to have an absolute address.
- * This symbol can be used to set breakpoints in gdb.
- * FIXME: This doesn't work when multiple methods are emitted into the same file.
- */
- sym = get_debug_sym (cfg->jit_info->method, "", xdebug_syms);
- img_writer_emit_section_change (w, ".text", 0);
- if (!xdebug_text_addr) {
- xdebug_text_addr = cfg->jit_info->code_start;
- img_writer_set_section_addr (w, (gssize)xdebug_text_addr);
- }
- img_writer_emit_global_with_size (w, sym, cfg->jit_info->code_size, TRUE);
- img_writer_emit_label (w, sym);
- img_writer_emit_bytes (w, cfg->jit_info->code_start, cfg->jit_info->code_size);
- g_free (sym);
-#endif
-
- mono_loader_unlock ();
- } else {
- if (!xdebug_writer)
- return;
-
- mono_loader_lock ();
- mono_dwarf_writer_emit_method (xdebug_writer, cfg, cfg->jit_info->method, NULL, NULL, cfg->jit_info->code_start, cfg->jit_info->code_size, cfg->args, cfg->locals, cfg->unwind_ops, mono_debug_find_method (cfg->jit_info->method, mono_domain_get ()));
- fflush (xdebug_fp);
- mono_loader_unlock ();
- }
-}
-
-/*
- * mono_save_trampoline_xdebug_info:
- *
- * Same as mono_save_xdebug_info, but for trampolines.
- * LOCKING: Acquires the loader lock.
- */
-void
-mono_save_trampoline_xdebug_info (const char *tramp_name, guint8 *code, guint32 code_size, GSList *unwind_info)
-{
- if (use_gdb_interface) {
- MonoImageWriter *w;
- MonoDwarfWriter *dw;
-
- mono_loader_lock ();
-
- xdebug_begin_emit (&w, &dw);
-
- mono_dwarf_writer_emit_trampoline (dw, tramp_name, NULL, NULL, code, code_size, unwind_info);
-
- xdebug_end_emit (w, dw, NULL);
-
- mono_loader_unlock ();
- } else {
- if (!xdebug_writer)
- return;
-
- mono_loader_lock ();
- mono_dwarf_writer_emit_trampoline (xdebug_writer, tramp_name, NULL, NULL, code, code_size, unwind_info);
- fflush (xdebug_fp);
- mono_loader_unlock ();
- }
-}
#else
return 0;
}
-void
-mono_xdebug_init (char *options)
-{
-}
-
-void
-mono_save_xdebug_info (MonoCompile *cfg)
-{
-}
-
-void
-mono_save_trampoline_xdebug_info (const char *tramp_name, guint8 *code, guint32 code_size, GSList *unwind_info)
-{
-}
-
#endif
static gboolean make_unreadable = FALSE;
static guint32 name_table_accesses = 0;
+static guint32 n_pagefaults = 0;
/* Used to speed-up find_aot_module () */
static gsize aot_code_low_addr = (gssize)-1;
*method = mono_gc_get_managed_allocator_by_type (atype);
break;
}
+ case MONO_WRAPPER_WRITE_BARRIER:
+ *method = mono_gc_get_write_barrier ();
+ break;
case MONO_WRAPPER_STELEMREF:
*method = mono_marshal_get_stelemref ();
break;
if (make_unreadable) {
#ifndef TARGET_WIN32
guint8 *addr;
- guint8 *page_start;
- int pages, err, len;
+ guint8 *page_start, *page_end;
+ int err, len;
addr = amodule->mem_begin;
len = amodule->mem_end - amodule->mem_begin;
/* Round down in both directions to avoid modifying data which is not ours */
page_start = (guint8 *) (((gssize) (addr)) & ~ (mono_pagesize () - 1)) + mono_pagesize ();
- pages = ((addr + len - page_start + mono_pagesize () - 1) / mono_pagesize ()) - 1;
- err = mono_mprotect (page_start, pages * mono_pagesize (), MONO_MMAP_NONE);
- g_assert (err == 0);
+ page_end = (guint8 *) (((gssize) (addr + len)) & ~ (mono_pagesize () - 1));
+ if (page_end > page_start) {
+ err = mono_mprotect (page_start, (page_end - page_start), MONO_MMAP_NONE);
+ g_assert (err == 0);
+ }
#endif
}
* file belong to CODE, and construct a MonoJitInfo structure from it.
* LOCKING: Acquires the domain lock.
*/
-static G_GNUC_UNUSED void
+static G_GNUC_UNUSED MonoJitInfo*
decode_eh_frame (MonoAotModule *amodule, MonoDomain *domain,
- MonoMethod *method, guint8 *code, MonoJitInfo *jinfo)
+ MonoMethod *method, guint8 *code, MonoJitInfo *orig_jinfo,
+ int extra_size)
{
eh_frame_hdr *hdr;
guint8 *p;
guint32 unw_len, code_len;
MonoJitExceptionInfo *ei;
guint32 ei_len;
+ gpointer *type_info;
+ MonoJitInfo *jinfo;
g_assert (amodule->eh_frame_hdr);
eh_frame = amodule->eh_frame_hdr + table [(pos * 2) + 1];
- unwind_info = mono_unwind_decode_fde (eh_frame, &unw_len, &code_len, &ei, &ei_len, NULL);
+ unwind_info = mono_unwind_decode_fde (eh_frame, &unw_len, &code_len, &ei, &ei_len, &type_info);
+
+ /*
+ * LLVM might represent one IL region with multiple regions, so have to
+ * allocate a new JI.
+ */
+ if (ei_len) {
+ jinfo =
+ mono_domain_alloc0 (domain, MONO_SIZEOF_JIT_INFO + (sizeof (MonoJitExceptionInfo) * ei_len) + extra_size);
+ } else {
+ jinfo = orig_jinfo;
+ }
jinfo->code_size = code_len;
jinfo->used_regs = mono_cache_unwind_info (unwind_info, unw_len);
jinfo->domain_neutral = 0;
/* This signals that used_regs points to a normal cached unwind info */
jinfo->from_aot = 0;
+ jinfo->num_clauses = ei_len;
- g_assert (ei_len == jinfo->num_clauses);
- for (i = 0; i < jinfo->num_clauses; ++i) {
+ for (i = 0; i < ei_len; ++i) {
+ /*
+ * orig_jinfo contains the original IL exception info saved by the AOT
+ * compiler, we have to combine that with the information produced by LLVM
+ */
+ /* The type_info entries contain IL clause indexes */
+ int clause_index = *(gint32*)type_info [i];
MonoJitExceptionInfo *jei = &jinfo->clauses [i];
+ MonoJitExceptionInfo *orig_jei = &orig_jinfo->clauses [clause_index];
+
+ g_assert (clause_index < orig_jinfo->num_clauses);
+ jei->flags = orig_jei->flags;
+ jei->data.catch_class = orig_jei->data.catch_class;
jei->try_start = ei [i].try_start;
jei->try_end = ei [i].try_end;
jei->handler_start = ei [i].handler_start;
}
+
+ return jinfo;
}
#ifdef TARGET_ARM
MonoJitExceptionInfo *ei = &jinfo->clauses [i];
ei->flags = decode_value (p, &p);
+
+ if (from_llvm) {
+ if (decode_value (p, &p))
+ ei->data.catch_class = decode_klass_ref (amodule, p, &p);
+
+ /* The rest of the info is in the DWARF EH section */
+ continue;
+ }
+
ei->exvar_offset = decode_value (p, &p);
if (ei->flags == MONO_EXCEPTION_CLAUSE_FILTER)
#ifdef TARGET_ARM
decode_arm_exidx (amodule, domain, method, code, code_len, jinfo);
#else
- decode_eh_frame (amodule, domain, method, code, jinfo);
+ jinfo = decode_eh_frame (amodule, domain, method, code, jinfo, generic_info_size);
#endif
jinfo->from_llvm = 1;
} else {
int len = decode_value (p, &p);
seq_points = g_malloc0 (sizeof (MonoSeqPointInfo) + (len - MONO_ZERO_LEN_ARRAY) * sizeof (SeqPoint));
+ seq_points->len = len;
last_il_offset = last_native_offset = 0;
for (i = 0; i < len; ++i) {
SeqPoint *sp = &seq_points->seq_points [i];
amodule = g_hash_table_lookup (ji_to_amodule, ji);
g_assert (amodule);
g_assert (code >= amodule->code && code <= amodule->code_end);
+ mono_aot_unlock ();
}
p = amodule->unwind_info + ji->used_regs;
if (mono_jit_stats.methods_aot >= mono_last_aot_method)
return NULL;
else if (mono_jit_stats.methods_aot == mono_last_aot_method - 1) {
- if (method)
- printf ("LAST AOT METHOD: %s%s%s.%s.\n", method->klass->name_space, method->klass->name_space [0] ? "." : "", method->klass->name, method->name);
- else
+ if (!method)
+ method = mono_get_method (image, token, NULL);
+ if (method) {
+ char *name = mono_method_full_name (method, TRUE);
+ printf ("LAST AOT METHOD: %s.\n", name);
+ g_free (name);
+ } else {
printf ("LAST AOT METHOD: %p %d\n", code, method_index);
+ }
}
}
return code;
}
+
+/*
+ * mono_aot_set_make_unreadable:
+ *
+ * Set whenever to make all mmaped memory unreadable. In conjuction with a
+ * SIGSEGV handler, this is useful to find out which pages the runtime tries to read.
+ */
+void
+mono_aot_set_make_unreadable (gboolean unreadable)
+{
+ static int inited;
+
+ make_unreadable = unreadable;
+
+ if (make_unreadable && !inited) {
+ mono_counters_register ("AOT pagefaults", MONO_COUNTER_JIT | MONO_COUNTER_INT, &n_pagefaults);
+ }
+}
+
+typedef struct {
+ MonoAotModule *module;
+ guint8 *ptr;
+} FindMapUserData;
+
+static void
+find_map (gpointer key, gpointer value, gpointer user_data)
+{
+ MonoAotModule *module = (MonoAotModule*)value;
+ FindMapUserData *data = (FindMapUserData*)user_data;
+
+ if (!data->module)
+ if ((data->ptr >= module->mem_begin) && (data->ptr < module->mem_end))
+ data->module = module;
+}
+
+static MonoAotModule*
+find_module_for_addr (void *ptr)
+{
+ FindMapUserData data;
+
+ if (!make_unreadable)
+ return NULL;
+
+ data.module = NULL;
+ data.ptr = (guint8*)ptr;
+
+ mono_aot_lock ();
+ g_hash_table_foreach (aot_modules, (GHFunc)find_map, &data);
+ mono_aot_unlock ();
+
+ return data.module;
+}
+
+/*
+ * mono_aot_is_pagefault:
+ *
+ * Should be called from a SIGSEGV signal handler to find out whenever @ptr is
+ * within memory allocated by this module.
+ */
+gboolean
+mono_aot_is_pagefault (void *ptr)
+{
+ if (!make_unreadable)
+ return FALSE;
+
+ /*
+ * Not signal safe, but SIGSEGV's are synchronous, and
+ * this is only turned on by a MONO_DEBUG option.
+ */
+ return find_module_for_addr (ptr) != NULL;
+}
+
+/*
+ * mono_aot_handle_pagefault:
+ *
+ * Handle a pagefault caused by an unreadable page by making it readable again.
+ */
+void
+mono_aot_handle_pagefault (void *ptr)
+{
+#ifndef PLATFORM_WIN32
+ guint8* start = (guint8*)ROUND_DOWN (((gssize)ptr), mono_pagesize ());
+ int res;
+
+ mono_aot_lock ();
+ res = mono_mprotect (start, mono_pagesize (), MONO_MMAP_READ|MONO_MMAP_WRITE|MONO_MMAP_EXEC);
+ g_assert (res == 0);
+
+ n_pagefaults ++;
+ mono_aot_unlock ();
+#endif
+}
#else
/* AOT disabled */
// Avoid cfolding this
i = 0;
- for (int j = 0; j < 1234567; ++j)
+ for (int j = 0; j < 567; ++j)
i ++;
+ i += 1234000;
if ((i / 2) != 617283)
return 1;
if ((i / 4) != 308641)
// Avoid cfolding this
i = 0;
- for (int j = 0; j < 1234567; ++j)
+ for (int j = 0; j < 567; ++j)
i --;
+ i -= 1234000;
if ((i / 2) != -617283)
return 5;
if ((i / 4) != -308641)
tailcall: len:120 clob:c
br: len:6
label: len:0
-seq_point: len:16
+seq_point: len:25
long_add: dest:i src1:i src2:i len:3 clob:1
long_sub: dest:i src1:i src2:i len:3 clob:1
checkthis: src1:b len:4
voidcall: len:16 clob:c
voidcall_reg: src1:i len:16 clob:c
-voidcall_membase: src1:b len:12 clob:c
+voidcall_membase: src1:b len:16 clob:c
fcall: dest:g len:16 clob:c
fcall_reg: dest:g src1:i len:16 clob:c
-fcall_membase: dest:g src1:b len:12 clob:c
+fcall_membase: dest:g src1:b len:16 clob:c
lcall: dest:l len:16 clob:c
lcall_reg: dest:l src1:i len:16 clob:c
-lcall_membase: dest:l src1:b len:12 clob:c
+lcall_membase: dest:l src1:b len:16 clob:c
vcall: len:16 clob:c
vcall_reg: src1:i len:16 clob:c
-vcall_membase: src1:b len:12 clob:c
+vcall_membase: src1:b len:16 clob:c
call_reg: dest:a src1:i len:16 clob:c
-call_membase: dest:a src1:b len:12 clob:c
+call_membase: dest:a src1:b len:16 clob:c
iconst: dest:i len:8
r4const: dest:f len:12
r8const: dest:f len:24
vcall2: len:20 clob:c
vcall2_reg: src1:i len:8 clob:c
-vcall2_membase: src1:b len:12 clob:c
+vcall2_membase: src1:b len:16 clob:c
jump_table: dest:i len:8
checkthis: src1:b len:4
voidcall: len:36 clob:c
voidcall_reg: src1:i len:16 clob:c
-voidcall_membase: src1:b len:12 clob:c
+voidcall_membase: src1:b len:16 clob:c
fcall: dest:g len:36 clob:c
fcall_reg: dest:g src1:i len:16 clob:c
-fcall_membase: dest:g src1:b len:12 clob:c
+fcall_membase: dest:g src1:b len:16 clob:c
lcall: dest:a len:36 clob:c
lcall_reg: dest:a src1:i len:16 clob:c
-lcall_membase: dest:a src1:b len:12 clob:c
+lcall_membase: dest:a src1:b len:16 clob:c
vcall: len:16 clob:c
vcall_reg: src1:i len:16 clob:c
vcall_membase: src1:b len:12 clob:c
call_reg: dest:a src1:i len:16 clob:c
-call_membase: dest:a src1:b len:12 clob:c
+call_membase: dest:a src1:b len:16 clob:c
iconst: dest:i len:20
i8const: dest:i len:20
r4const: dest:f len:12
vcall2: len:36 clob:c
vcall2_reg: src1:i len:16 clob:c
-vcall2_membase: src1:b len:12 clob:c
+vcall2_membase: src1:b len:16 clob:c
jump_table: dest:i len:20
# the required specifiers are: len, clob (if registers are clobbered), the registers
# specifiers if the registers are actually used, flags (when scheduling is implemented).
#
+# Templates can be defined by using the 'template' keyword instead of an opcode name.
+# The template name is assigned from a (required) 'name' specifier.
+# To apply a template to an opcode, just use the template:template_name specifier: any value
+# defined by the template can be overridden by adding more specifiers after the template.
+#
# See the code in mini-x86.c for more details on how the specifiers are used.
#
break: len:1
int_blt_un: len:6
label: len:0
-int_add: dest:i src1:i src2:i len:2 clob:1
-int_sub: dest:i src1:i src2:i len:2 clob:1
-int_mul: dest:i src1:i src2:i len:3 clob:1
+template: name:ibalu dest:i src1:i src2:i clob:1 len:2
+
+int_add: template:ibalu
+int_sub: template:ibalu
+int_mul: template:ibalu len:3
int_div: dest:a src1:a src2:i len:15 clob:d
int_div_un: dest:a src1:a src2:i len:15 clob:d
int_rem: dest:d src1:a src2:i len:15 clob:a
int_rem_un: dest:d src1:a src2:i len:15 clob:a
-int_and: dest:i src1:i src2:i len:2 clob:1
-int_or: dest:i src1:i src2:i len:2 clob:1
-int_xor: dest:i src1:i src2:i len:2 clob:1
+int_and: template:ibalu
+int_or: template:ibalu
+int_xor: template:ibalu
int_shl: dest:i src1:i src2:s clob:1 len:2
int_shr: dest:i src1:i src2:s clob:1 len:2
int_shr_un: dest:i src1:i src2:s clob:1 len:2
#define HEADER_LENGTH 11
#define MAJOR_VERSION 2
-#define MINOR_VERSION 0
+#define MINOR_VERSION 1
typedef enum {
CMD_SET_VM = 1,
MonoClass *exc_class; /* For kind == MONO_KIND_EXCEPTION_ONLY */
MonoAssembly **assemblies; /* For kind == MONO_KIND_ASSEMBLY_ONLY */
} data;
+ gboolean caught, uncaught; /* For kind == MOD_KIND_EXCEPTION_ONLY */
} Modifier;
typedef struct{
GSList *bps;
} SingleStepReq;
+/*
+ * Contains additional information for an event
+ */
+typedef struct {
+ /* For EVENT_KIND_EXCEPTION */
+ MonoObject *exc;
+ MonoContext catch_ctx;
+ gboolean caught;
+} EventInfo;
+
/* Dummy structure used for the profiler callbacks */
typedef struct {
void* dummy;
mono_profiler_install ((MonoProfiler*)&debugger_profiler, runtime_shutdown);
mono_profiler_set_events (MONO_PROFILE_APPDOMAIN_EVENTS | MONO_PROFILE_THREADS | MONO_PROFILE_ASSEMBLY_EVENTS | MONO_PROFILE_JIT_COMPILATION | MONO_PROFILE_METHOD_EVENTS);
mono_profiler_install_runtime_initialized (runtime_initialized);
- mono_profiler_install_appdomain (NULL, appdomain_load, appdomain_unload, NULL);
+ mono_profiler_install_appdomain (NULL, appdomain_load, NULL, appdomain_unload);
mono_profiler_install_thread (thread_startup, thread_end);
mono_profiler_install_assembly (NULL, assembly_load, assembly_unload, NULL);
mono_profiler_install_jit_end (jit_end);
mono_cond_destroy (&debugger_thread_exited_cond);
}
+/*
+ * recv_length:
+ *
+ * recv() + handle incomplete reads and EINTR
+ */
+static int
+recv_length (int fd, void *buf, int len, int flags)
+{
+ int res;
+ int total = 0;
+
+ do {
+ res = recv (fd, (char *) buf + total, len - total, flags);
+ if (res > 0)
+ total += res;
+ } while ((res > 0 && total < len) || (res == -1 && errno == EINTR));
+ return total;
+}
/*
* transport_connect:
*
/* Write handshake message */
sprintf (handshake_msg, "DWP-Handshake");
- res = send (conn_fd, handshake_msg, strlen (handshake_msg), 0);
+ do {
+ res = send (conn_fd, handshake_msg, strlen (handshake_msg), 0);
+ } while (res == -1 && errno == EINTR);
g_assert (res != -1);
/* Read answer */
- res = recv (conn_fd, buf, strlen (handshake_msg), 0);
+ res = recv_length (conn_fd, buf, strlen (handshake_msg), 0);
if ((res != strlen (handshake_msg)) || (memcmp (buf, handshake_msg, strlen (handshake_msg) != 0))) {
fprintf (stderr, "debugger-agent: DWP handshake failed.\n");
exit (1);
{
int res;
- res = send (conn_fd, data, len, 0);
+ do {
+ res = send (conn_fd, data, len, 0);
+ } while (res == -1 && errno == EINTR);
if (res != len)
return FALSE;
else
tls->has_async_ctx = FALSE;
}
+ mono_memory_barrier ();
+
tls->suspended = TRUE;
MONO_SEM_POST (&suspend_sem);
}
DebuggerTlsData *tls = value;
gsize tid = thread->tid;
- if (GetCurrentThreadId () != tid) {
- DEBUG(1, fprintf (log_file, "[%p] Interrupting %p...\n", (gpointer)GetCurrentThreadId (), (gpointer)tid));
+ if (GetCurrentThreadId () == tid || tls->terminated)
+ return;
- /*
- * OSX can (and will) coalesce signals, so sending multiple pthread_kills does not
- * guarantee the signal handler will be called that many times. Instead of tracking
- * interrupt_count on osx, we use this as a boolean flag to determine if a interrupt
- * has been requested that hasn't been handled yet, otherwise we can have threads
- * refuse to die when VM_EXIT is called
- */
+ DEBUG(1, fprintf (log_file, "[%p] Interrupting %p...\n", (gpointer)GetCurrentThreadId (), (gpointer)tid));
+
+ /*
+ * OSX can (and will) coalesce signals, so sending multiple pthread_kills does not
+ * guarantee the signal handler will be called that many times. Instead of tracking
+ * interrupt_count on osx, we use this as a boolean flag to determine if a interrupt
+ * has been requested that hasn't been handled yet, otherwise we can have threads
+ * refuse to die when VM_EXIT is called
+ */
#if defined(__APPLE__)
- if (InterlockedCompareExchange (&tls->interrupt_count, 1, 0) == 1)
- return;
+ if (InterlockedCompareExchange (&tls->interrupt_count, 1, 0) == 1)
+ return;
#else
- /*
- * Maybe we could use the normal interrupt infrastructure, but that does a lot
- * of things like breaking waits etc. which we don't want.
- */
- InterlockedIncrement (&tls->interrupt_count);
+ /*
+ * Maybe we could use the normal interrupt infrastructure, but that does a lot
+ * of things like breaking waits etc. which we don't want.
+ */
+ InterlockedIncrement (&tls->interrupt_count);
#endif
- /* This is _not_ equivalent to ves_icall_System_Threading_Thread_Abort () */
+ /* This is _not_ equivalent to ves_icall_System_Threading_Thread_Abort () */
#ifdef HOST_WIN32
- QueueUserAPC (notify_thread_apc, thread->handle, NULL);
+ QueueUserAPC (notify_thread_apc, thread->handle, NULL);
#else
- pthread_kill ((pthread_t) tid, mono_thread_get_abort_signal ());
+ pthread_kill ((pthread_t) tid, mono_thread_get_abort_signal ());
#endif
- }
}
static void
return;
}
- ji = mono_jit_info_table_find (mono_domain_get (), (char*)ip);
+ ji = mini_jit_info_table_find (mono_domain_get (), (char*)ip, NULL);
/* Can't suspend in these methods */
if (ji->method->klass == mono_defaults.string_class && (!strcmp (ji->method->name, "memset") || strstr (ji->method->name, "memcpy")))
* LOCKING: Assumes the loader lock is held.
*/
static GSList*
-create_event_list (EventKind event, GPtrArray *reqs, MonoJitInfo *ji, MonoException *exc, int *suspend_policy)
+create_event_list (EventKind event, GPtrArray *reqs, MonoJitInfo *ji, EventInfo *ei, int *suspend_policy)
{
int i, j;
GSList *events = NULL;
} else if (mod->kind == MOD_KIND_THREAD_ONLY) {
if (mod->data.thread != mono_thread_internal_current ())
filtered = TRUE;
- } else if (mod->kind == MOD_KIND_EXCEPTION_ONLY && exc) {
- if (mod->data.exc_class && !mono_class_is_assignable_from (mod->data.exc_class, exc->object.vtable->klass))
+ } else if (mod->kind == MOD_KIND_EXCEPTION_ONLY && ei) {
+ if (mod->data.exc_class && !mono_class_is_assignable_from (mod->data.exc_class, ei->exc->vtable->klass))
+ filtered = TRUE;
+ if (ei->caught && !mod->caught)
+ filtered = TRUE;
+ if (!ei->caught && !mod->uncaught)
filtered = TRUE;
} else if (mod->kind == MOD_KIND_ASSEMBLY_ONLY && ji) {
int k;
break;
case EVENT_KIND_VM_DEATH:
break;
- case EVENT_KIND_EXCEPTION:
- buffer_add_objid (&buf, (MonoObject*)arg);
+ case EVENT_KIND_EXCEPTION: {
+ EventInfo *ei = arg;
+ buffer_add_objid (&buf, ei->exc);
break;
+ }
default:
g_assert_not_reached ();
}
// FIXME: Speed this up
orig_ip = ip = MONO_CONTEXT_GET_IP (ctx);
- ji = mono_jit_info_table_find (mono_domain_get (), (char*)ip);
+ ji = mini_jit_info_table_find (mono_domain_get (), (char*)ip, NULL);
g_assert (ji);
g_assert (ji->method);
guint8 *ip;
GPtrArray *reqs;
int il_offset, suspend_policy;
- MonoDomain *domain = mono_domain_get ();
+ MonoDomain *domain;
GSList *events;
// FIXME: Speed this up
if (log_level > 0) {
const char *depth = NULL;
- ji = mono_jit_info_table_find (mono_domain_get (), (char*)ip);
+ ji = mini_jit_info_table_find (mono_domain_get (), (char*)ip, &domain);
switch (ss_req->depth) {
case STEP_DEPTH_OVER:
ss_req->last_sp = MONO_CONTEXT_GET_SP (ctx);
}
- ji = mono_jit_info_table_find (mono_domain_get (), (char*)ip);
+ ji = mini_jit_info_table_find (mono_domain_get (), (char*)ip, &domain);
g_assert (ji);
g_assert (ji->method);
}
void
-mono_debugger_agent_handle_exception (MonoException *exc, MonoContext *ctx)
+mono_debugger_agent_handle_exception (MonoException *exc, MonoContext *throw_ctx,
+ MonoContext *catch_ctx)
{
int suspend_policy;
GSList *events;
MonoJitInfo *ji;
+ EventInfo ei;
+
+ memset (&ei, 0, sizeof (EventInfo));
/* Just-In-Time debugging */
- if (agent_config.onthrow && !inited) {
+ if (!catch_ctx) {
+ if (agent_config.onuncaught && !inited) {
+ finish_agent_init (FALSE);
+
+ /*
+ * Send an unsolicited EXCEPTION event with a dummy request id.
+ */
+ events = g_slist_append (NULL, GUINT_TO_POINTER (0xffffff));
+ ei.exc = (MonoObject*)exc;
+ process_event (EVENT_KIND_EXCEPTION, &ei, 0, throw_ctx, events, SUSPEND_POLICY_ALL);
+ return;
+ }
+ } else if (agent_config.onthrow && !inited) {
GSList *l;
gboolean found = FALSE;
* Send an unsolicited EXCEPTION event with a dummy request id.
*/
events = g_slist_append (NULL, GUINT_TO_POINTER (0xffffff));
- process_event (EVENT_KIND_EXCEPTION, exc, 0, ctx, events, SUSPEND_POLICY_ALL);
+ ei.exc = (MonoObject*)exc;
+ process_event (EVENT_KIND_EXCEPTION, &ei, 0, throw_ctx, events, SUSPEND_POLICY_ALL);
return;
}
}
if (!inited)
return;
- ji = mini_jit_info_table_find (mono_domain_get (), MONO_CONTEXT_GET_IP (ctx), NULL);
+ ji = mini_jit_info_table_find (mono_domain_get (), MONO_CONTEXT_GET_IP (throw_ctx), NULL);
+
+ ei.exc = (MonoObject*)exc;
+ ei.caught = catch_ctx != NULL;
mono_loader_lock ();
- events = create_event_list (EVENT_KIND_EXCEPTION, NULL, ji, exc, &suspend_policy);
+ events = create_event_list (EVENT_KIND_EXCEPTION, NULL, ji, &ei, &suspend_policy);
mono_loader_unlock ();
- process_event (EVENT_KIND_EXCEPTION, exc, 0, ctx, events, suspend_policy);
-}
-
-void
-mono_debugger_agent_handle_unhandled_exception (MonoException *exc, MonoContext *ctx)
-{
- GSList *events;
-
- if (!agent_config.onuncaught)
- return;
-
- finish_agent_init (FALSE);
-
- /*
- * Send an unsolicited EXCEPTION event with a dummy request id.
- */
- events = g_slist_append (NULL, GUINT_TO_POINTER (0xffffff));
- process_event (EVENT_KIND_EXCEPTION, exc, 0, ctx, events, SUSPEND_POLICY_ALL);
+ process_event (EVENT_KIND_EXCEPTION, &ei, 0, throw_ctx, events, suspend_policy);
}
/*
if (type != t->type && !MONO_TYPE_IS_REFERENCE (t) &&
!(t->type == MONO_TYPE_I && type == MONO_TYPE_VALUETYPE) &&
!(t->type == MONO_TYPE_U && type == MONO_TYPE_VALUETYPE) &&
- !(t->type == MONO_TYPE_PTR && type == MONO_TYPE_I8)) {
+ !(t->type == MONO_TYPE_PTR && type == MONO_TYPE_I8) &&
+ !(t->type == MONO_TYPE_GENERICINST && type == MONO_TYPE_VALUETYPE)) {
DEBUG(1, fprintf (log_file, "[%p] Expected value of type 0x%0x, got 0x%0x.\n", (gpointer)GetCurrentThreadId (), t->type, type));
return ERR_INVALID_ARGUMENT;
}
g_assert (type == MONO_TYPE_I8);
*(gssize*)addr = decode_long (buf, &buf, limit);
break;
+ case MONO_TYPE_GENERICINST:
+ if (MONO_TYPE_ISSTRUCT (t)) {
+ /* The client sends these as a valuetype */
+ goto handle_vtype;
+ } else {
+ goto handle_ref;
+ }
+ break;
case MONO_TYPE_I:
case MONO_TYPE_U:
/* We send these as vtypes, so we get them back as such */
g_assert (type == MONO_TYPE_VALUETYPE);
/* Fall through */
+ handle_vtype:
case MONO_TYPE_VALUETYPE: {
gboolean is_enum = decode_byte (buf, &buf, limit);
MonoClass *klass;
g_assert (nfields == 0);
break;
}
+ handle_ref:
default:
if (MONO_TYPE_IS_REFERENCE (t)) {
if (type == MONO_TYPE_OBJECT) {
if (err)
return err;
+ req->modifiers [i].caught = decode_byte (p, &p, end);
+ req->modifiers [i].uncaught = decode_byte (p, &p, end);
if (exc_class) {
req->modifiers [i].data.exc_class = exc_class;
b |= (1 << 2);
if (type->type == MONO_TYPE_VALUETYPE)
b |= (1 << 3);
+ if (klass->enumtype)
+ b |= (1 << 4);
buffer_add_byte (buf, b);
nnested = 0;
iter = NULL;
mono_set_is_debugger_attached (TRUE);
while (TRUE) {
- res = recv (conn_fd, header, HEADER_LENGTH, 0);
+ res = recv_length (conn_fd, header, HEADER_LENGTH, 0);
/* This will break if the socket is closed during shutdown too */
if (res != HEADER_LENGTH)
data = g_malloc (len - HEADER_LENGTH);
if (len - HEADER_LENGTH > 0)
{
- res = recv (conn_fd, data, len - HEADER_LENGTH, 0);
+ res = recv_length (conn_fd, data, len - HEADER_LENGTH, 0);
if (res != len - HEADER_LENGTH)
break;
}
}
void
-mono_debugger_agent_handle_exception (MonoException *ext, MonoContext *ctx)
-{
-}
-
-void
-mono_debugger_agent_handle_unhandled_exception (MonoException *exc, MonoContext *ctx)
+mono_debugger_agent_handle_exception (MonoException *ext, MonoContext *throw_ctx,
+ MonoContext *catch_ctx)
{
-
}
#endif
gboolean mono_debugger_agent_thread_interrupt (void *sigctx, MonoJitInfo *ji) MONO_INTERNAL;
void
-mono_debugger_agent_handle_exception (MonoException *ext, MonoContext *ctx) MONO_INTERNAL;
-
-void
-mono_debugger_agent_handle_unhandled_exception (MonoException *ext, MonoContext *ctx) MONO_INTERNAL;
+mono_debugger_agent_handle_exception (MonoException *ext, MonoContext *throw_ctx, MonoContext *catch_ctx) MONO_INTERNAL;
#endif
#include "mini.h"
#include "ir-emit.h"
+#include "jit-icalls.h"
+
+#include <mono/metadata/gc-internal.h>
#ifndef DISABLE_JIT
case OP_LCONV_TO_OVF_I:
case OP_LCONV_TO_OVF_U_UN:
case OP_LCONV_TO_OVF_U8_UN:
+ case OP_LCONV_TO_OVF_I8:
ins->opcode = OP_MOVE;
break;
case OP_LCONV_TO_OVF_I_UN:
case OP_LCONV_TO_U8:
case OP_LCONV_TO_I8:
case OP_LCONV_TO_OVF_U8_UN:
+ case OP_LCONV_TO_OVF_I8:
MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, tree->dreg + 1, tree->sreg1 + 1);
MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, tree->dreg + 2, tree->sreg1 + 2);
break;
}
}
+inline static MonoInst *
+mono_get_domainvar (MonoCompile *cfg)
+{
+ if (!cfg->domainvar)
+ cfg->domainvar = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
+ return cfg->domainvar;
+}
+
+/**
+ * mono_decompose_array_access_opts:
+ *
+ * Decompose array access opcodes.
+ */
+void
+mono_decompose_array_access_opts (MonoCompile *cfg)
+{
+ MonoBasicBlock *bb, *first_bb;
+
+ /*
+ * Unlike decompose_long_opts, this pass does not alter the CFG of the method so it
+ * can be executed anytime. It should be run before decompose_long
+ */
+
+ /**
+ * Create a dummy bblock and emit code into it so we can use the normal
+ * code generation macros.
+ */
+ cfg->cbb = mono_mempool_alloc0 ((cfg)->mempool, sizeof (MonoBasicBlock));
+ first_bb = cfg->cbb;
+
+ for (bb = cfg->bb_entry; bb; bb = bb->next_bb) {
+ MonoInst *ins;
+ MonoInst *prev = NULL;
+ MonoInst *dest;
+ MonoInst *iargs [3];
+ gboolean restart;
+
+ if (!bb->has_array_access)
+ continue;
+
+ if (cfg->verbose_level > 3) mono_print_bb (bb, "BEFORE DECOMPOSE-ARRAY-ACCESS-OPTS ");
+
+ cfg->cbb->code = cfg->cbb->last_ins = NULL;
+ restart = TRUE;
+
+ while (restart) {
+ restart = FALSE;
+
+ for (ins = bb->code; ins; ins = ins->next) {
+ switch (ins->opcode) {
+ case OP_LDLEN:
+ NEW_LOAD_MEMBASE_FAULT (cfg, dest, OP_LOADI4_MEMBASE, ins->dreg, ins->sreg1,
+ G_STRUCT_OFFSET (MonoArray, max_length));
+ MONO_ADD_INS (cfg->cbb, dest);
+ break;
+ case OP_BOUNDS_CHECK:
+ MONO_EMIT_NULL_CHECK (cfg, ins->sreg1);
+ MONO_ARCH_EMIT_BOUNDS_CHECK (cfg, ins->sreg1, ins->inst_imm, ins->sreg2);
+ break;
+ case OP_NEWARR:
+ if (cfg->opt & MONO_OPT_SHARED) {
+ EMIT_NEW_DOMAINCONST (cfg, iargs [0]);
+ EMIT_NEW_CLASSCONST (cfg, iargs [1], ins->inst_newa_class);
+ MONO_INST_NEW (cfg, iargs [2], OP_MOVE);
+ iargs [2]->dreg = ins->sreg1;
+
+ dest = mono_emit_jit_icall (cfg, mono_array_new, iargs);
+ dest->dreg = ins->dreg;
+ } else {
+ MonoVTable *vtable = mono_class_vtable (cfg->domain, mono_array_class_get (ins->inst_newa_class, 1));
+ MonoMethod *managed_alloc = mono_gc_get_managed_array_allocator (vtable, 1);
+
+ g_assert (vtable); /*This shall not fail since we check for this condition on OP_NEWARR creation*/
+ NEW_VTABLECONST (cfg, iargs [0], vtable);
+ MONO_ADD_INS (cfg->cbb, iargs [0]);
+ MONO_INST_NEW (cfg, iargs [1], OP_MOVE);
+ iargs [1]->dreg = ins->sreg1;
+
+ if (managed_alloc)
+ dest = mono_emit_method_call (cfg, managed_alloc, iargs, NULL);
+ else
+ dest = mono_emit_jit_icall (cfg, mono_array_new_specific, iargs);
+ dest->dreg = ins->dreg;
+ }
+ break;
+ case OP_STRLEN:
+ MONO_EMIT_NEW_LOAD_MEMBASE_OP_FAULT (cfg, OP_LOADI4_MEMBASE, ins->dreg,
+ ins->sreg1, G_STRUCT_OFFSET (MonoString, length));
+ break;
+ default:
+ break;
+ }
+
+ g_assert (cfg->cbb == first_bb);
+
+ if (cfg->cbb->code || (cfg->cbb != first_bb)) {
+ /* Replace the original instruction with the new code sequence */
+
+ mono_replace_ins (cfg, bb, ins, &prev, first_bb, cfg->cbb);
+ first_bb->code = first_bb->last_ins = NULL;
+ first_bb->in_count = first_bb->out_count = 0;
+ cfg->cbb = first_bb;
+ }
+ else
+ prev = ins;
+ }
+ }
+
+ if (cfg->verbose_level > 3) mono_print_bb (bb, "AFTER DECOMPOSE-ARRAY-ACCESS-OPTS ");
+ }
+}
+
+typedef union {
+ guint32 vali [2];
+ gint64 vall;
+ double vald;
+} DVal;
+
+#ifdef MONO_ARCH_SOFT_FLOAT
+
+/**
+ * mono_decompose_soft_float:
+ *
+ * Soft float support on ARM. We store each double value in a pair of integer vregs,
+ * similar to long support on 32 bit platforms. 32 bit float values require special
+ * handling when used as locals, arguments, and in calls.
+ * One big problem with soft-float is that there are few r4 test cases in our test suite.
+ */
+void
+mono_decompose_soft_float (MonoCompile *cfg)
+{
+ MonoBasicBlock *bb, *first_bb;
+
+ /*
+ * This pass creates long opcodes, so it should be run before decompose_long_opts ().
+ */
+
+ /**
+ * Create a dummy bblock and emit code into it so we can use the normal
+ * code generation macros.
+ */
+ cfg->cbb = mono_mempool_alloc0 ((cfg)->mempool, sizeof (MonoBasicBlock));
+ first_bb = cfg->cbb;
+
+ for (bb = cfg->bb_entry; bb; bb = bb->next_bb) {
+ MonoInst *ins;
+ MonoInst *prev = NULL;
+ gboolean restart;
+
+ if (cfg->verbose_level > 3) mono_print_bb (bb, "BEFORE HANDLE-SOFT-FLOAT ");
+
+ cfg->cbb->code = cfg->cbb->last_ins = NULL;
+ restart = TRUE;
+
+ while (restart) {
+ restart = FALSE;
+
+ for (ins = bb->code; ins; ins = ins->next) {
+ const char *spec = INS_INFO (ins->opcode);
+
+ /* Most fp operations are handled automatically by opcode emulation */
+
+ switch (ins->opcode) {
+ case OP_R8CONST: {
+ DVal d;
+ d.vald = *(double*)ins->inst_p0;
+ MONO_EMIT_NEW_I8CONST (cfg, ins->dreg, d.vall);
+ break;
+ }
+ case OP_R4CONST: {
+ DVal d;
+ /* We load the r8 value */
+ d.vald = *(float*)ins->inst_p0;
+ MONO_EMIT_NEW_I8CONST (cfg, ins->dreg, d.vall);
+ break;
+ }
+ case OP_FMOVE:
+ ins->opcode = OP_LMOVE;
+ break;
+ case OP_FGETLOW32:
+ ins->opcode = OP_MOVE;
+ ins->sreg1 = ins->sreg1 + 1;
+ break;
+ case OP_FGETHIGH32:
+ ins->opcode = OP_MOVE;
+ ins->sreg1 = ins->sreg1 + 2;
+ break;
+ case OP_SETFRET: {
+ int reg = ins->sreg1;
+
+ ins->opcode = OP_SETLRET;
+ ins->dreg = -1;
+ ins->sreg1 = reg + 1;
+ ins->sreg2 = reg + 2;
+ break;
+ }
+ case OP_LOADR8_MEMBASE:
+ ins->opcode = OP_LOADI8_MEMBASE;
+ break;
+ case OP_STORER8_MEMBASE_REG:
+ ins->opcode = OP_STOREI8_MEMBASE_REG;
+ break;
+ case OP_STORER4_MEMBASE_REG: {
+ MonoInst *iargs [2];
+ int addr_reg;
+
+ /* Arg 1 is the double value */
+ MONO_INST_NEW (cfg, iargs [0], OP_ARG);
+ iargs [0]->dreg = ins->sreg1;
+
+ /* Arg 2 is the address to store to */
+ addr_reg = mono_alloc_preg (cfg);
+ EMIT_NEW_BIALU_IMM (cfg, iargs [1], OP_PADD_IMM, addr_reg, ins->inst_destbasereg, ins->inst_offset);
+ mono_emit_jit_icall (cfg, mono_fstore_r4, iargs);
+ restart = TRUE;
+ break;
+ }
+ case OP_LOADR4_MEMBASE: {
+ MonoInst *iargs [1];
+ MonoInst *conv;
+ int addr_reg;
+
+ addr_reg = mono_alloc_preg (cfg);
+ EMIT_NEW_BIALU_IMM (cfg, iargs [0], OP_PADD_IMM, addr_reg, ins->inst_basereg, ins->inst_offset);
+ conv = mono_emit_jit_icall (cfg, mono_fload_r4, iargs);
+ conv->dreg = ins->dreg;
+ break;
+ }
+ case OP_FCALL:
+ case OP_FCALL_REG:
+ case OP_FCALL_MEMBASE: {
+ MonoCallInst *call = (MonoCallInst*)ins;
+ if (call->signature->ret->type == MONO_TYPE_R4) {
+ MonoCallInst *call2;
+ MonoInst *iargs [1];
+ MonoInst *conv;
+
+ /* Convert the call into a call returning an int */
+ MONO_INST_NEW_CALL (cfg, call2, OP_CALL);
+ memcpy (call2, call, sizeof (MonoCallInst));
+ switch (ins->opcode) {
+ case OP_FCALL:
+ call2->inst.opcode = OP_CALL;
+ break;
+ case OP_FCALL_REG:
+ call2->inst.opcode = OP_CALL_REG;
+ break;
+ case OP_FCALL_MEMBASE:
+ call2->inst.opcode = OP_CALL_MEMBASE;
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+ call2->inst.dreg = mono_alloc_ireg (cfg);
+ MONO_ADD_INS (cfg->cbb, (MonoInst*)call2);
+
+ /* FIXME: Optimize this */
+
+ /* Emit an r4->r8 conversion */
+ EMIT_NEW_VARLOADA_VREG (cfg, iargs [0], call2->inst.dreg, &mono_defaults.int32_class->byval_arg);
+ conv = mono_emit_jit_icall (cfg, mono_fload_r4, iargs);
+ conv->dreg = ins->dreg;
+
+ /* The call sequence might include fp ins */
+ restart = TRUE;
+ } else {
+ switch (ins->opcode) {
+ case OP_FCALL:
+ ins->opcode = OP_LCALL;
+ break;
+ case OP_FCALL_REG:
+ ins->opcode = OP_LCALL_REG;
+ break;
+ case OP_FCALL_MEMBASE:
+ ins->opcode = OP_LCALL_MEMBASE;
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+ }
+ break;
+ }
+ case OP_FCOMPARE: {
+ MonoJitICallInfo *info;
+ MonoInst *iargs [2];
+ MonoInst *call, *cmp, *br;
+
+ /* Convert fcompare+fbcc to icall+icompare+beq */
+
+ info = mono_find_jit_opcode_emulation (ins->next->opcode);
+ g_assert (info);
+
+ /* Create dummy MonoInst's for the arguments */
+ MONO_INST_NEW (cfg, iargs [0], OP_ARG);
+ iargs [0]->dreg = ins->sreg1;
+ MONO_INST_NEW (cfg, iargs [1], OP_ARG);
+ iargs [1]->dreg = ins->sreg2;
+
+ call = mono_emit_native_call (cfg, mono_icall_get_wrapper (info), info->sig, iargs);
+
+ MONO_INST_NEW (cfg, cmp, OP_ICOMPARE_IMM);
+ cmp->sreg1 = call->dreg;
+ cmp->inst_imm = 0;
+ MONO_ADD_INS (cfg->cbb, cmp);
+
+ MONO_INST_NEW (cfg, br, OP_IBNE_UN);
+ br->inst_many_bb = mono_mempool_alloc (cfg->mempool, sizeof (gpointer) * 2);
+ br->inst_true_bb = ins->next->inst_true_bb;
+ br->inst_false_bb = ins->next->inst_false_bb;
+ MONO_ADD_INS (cfg->cbb, br);
+
+ /* The call sequence might include fp ins */
+ restart = TRUE;
+
+ /* Skip fbcc or fccc */
+ NULLIFY_INS (ins->next);
+ break;
+ }
+ case OP_FCEQ:
+ case OP_FCGT:
+ case OP_FCGT_UN:
+ case OP_FCLT:
+ case OP_FCLT_UN: {
+ MonoJitICallInfo *info;
+ MonoInst *iargs [2];
+ MonoInst *call;
+
+ /* Convert fccc to icall+icompare+iceq */
+
+ info = mono_find_jit_opcode_emulation (ins->opcode);
+ g_assert (info);
+
+ /* Create dummy MonoInst's for the arguments */
+ MONO_INST_NEW (cfg, iargs [0], OP_ARG);
+ iargs [0]->dreg = ins->sreg1;
+ MONO_INST_NEW (cfg, iargs [1], OP_ARG);
+ iargs [1]->dreg = ins->sreg2;
+
+ call = mono_emit_native_call (cfg, mono_icall_get_wrapper (info), info->sig, iargs);
+
+ MONO_EMIT_NEW_BIALU_IMM (cfg, OP_ICOMPARE_IMM, -1, call->dreg, 1);
+ MONO_EMIT_NEW_UNALU (cfg, OP_ICEQ, ins->dreg, -1);
+
+ /* The call sequence might include fp ins */
+ restart = TRUE;
+ break;
+ }
+ case OP_CKFINITE: {
+ MonoInst *iargs [2];
+ MonoInst *call, *cmp;
+
+ /* Convert to icall+icompare+cond_exc+move */
+
+ /* Create dummy MonoInst's for the arguments */
+ MONO_INST_NEW (cfg, iargs [0], OP_ARG);
+ iargs [0]->dreg = ins->sreg1;
+
+ call = mono_emit_jit_icall (cfg, mono_isfinite, iargs);
+
+ MONO_INST_NEW (cfg, cmp, OP_ICOMPARE_IMM);
+ cmp->sreg1 = call->dreg;
+ cmp->inst_imm = 1;
+ MONO_ADD_INS (cfg->cbb, cmp);
+
+ MONO_EMIT_NEW_COND_EXC (cfg, INE_UN, "ArithmeticException");
+
+ /* Do the assignment if the value is finite */
+ MONO_EMIT_NEW_UNALU (cfg, OP_FMOVE, ins->dreg, ins->sreg1);
+
+ restart = TRUE;
+ break;
+ }
+ default:
+ if (spec [MONO_INST_SRC1] == 'f' || spec [MONO_INST_SRC2] == 'f' || spec [MONO_INST_DEST] == 'f') {
+ mono_print_ins (ins);
+ g_assert_not_reached ();
+ }
+ break;
+ }
+
+ g_assert (cfg->cbb == first_bb);
+
+ if (cfg->cbb->code || (cfg->cbb != first_bb)) {
+ /* Replace the original instruction with the new code sequence */
+
+ mono_replace_ins (cfg, bb, ins, &prev, first_bb, cfg->cbb);
+ first_bb->code = first_bb->last_ins = NULL;
+ first_bb->in_count = first_bb->out_count = 0;
+ cfg->cbb = first_bb;
+ }
+ else
+ prev = ins;
+ }
+ }
+
+ if (cfg->verbose_level > 3) mono_print_bb (bb, "AFTER HANDLE-SOFT-FLOAT ");
+ }
+
+ mono_decompose_long_opts (cfg);
+}
+
+#endif
+
#endif /* DISABLE_JIT */
#endif
"\tArchitecture: " ARCHITECTURE "\n"
"\tDisabled: " DISABLED_FEATURES "\n"
+#ifdef MONO_ARCH_LLVM_SUPPORTED
+ "\tLLVM supported\n"
+#endif
"";
#ifndef MONO_ARCH_AOT_SUPPORTED
mini_verbose++;
} else if (strcmp (argv [i], "--version") == 0 || strcmp (argv [i], "-V") == 0) {
char *build = mono_get_runtime_build_info ();
- g_print ("Mono JIT compiler version %s\nCopyright (C) 2002-2009 Novell, Inc and Contributors. www.mono-project.com\n", build);
+ g_print ("Mono JIT compiler version %s\nCopyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com\n", build);
g_free (build);
g_print (info);
if (mini_verbose) {
#endif
} else if (strcmp (argv [i], "--llvm") == 0) {
#ifndef MONO_ARCH_LLVM_SUPPORTED
- fprintf (stderr, "--llvm not supported on this platform.\n");
- return 1;
+ fprintf (stderr, "Mono Warning: --llvm not supported on this platform.\n");
#else
mono_use_llvm = TRUE;
#endif
tdie = ".LDIE_I4";
}
break;
+ case MONO_TYPE_PTR:
+ tdie = ".LDIE_I";
+ break;
default:
tdie = ".LDIE_I4";
break;
{
guint8* start;
guint8 *code;
+ GSList *unwind_ops;
start = code = mono_global_codeman_reserve (64);
*ji = NULL;
+ unwind_ops = mono_arch_get_cie_program ();
+
amd64_mov_reg_reg (code, AMD64_R11, AMD64_RSP, 8);
/* reverse order */
/* Exception */
amd64_push_reg (code, AMD64_ARG_REG1);
+ mono_add_unwind_op_def_cfa_offset (unwind_ops, code, start, (15 + 1) * sizeof (gpointer));
+
#ifdef TARGET_WIN32
/* align stack */
amd64_push_imm (code, 0);
*code_size = code - start;
+ mono_save_trampoline_xdebug_info ("throw_exception_trampoline", start, code - start, unwind_ops);
+
return start;
}
{
MonoLMF *lmf = mono_get_lmf ();
+ if (!lmf)
+ /* Not yet started */
+ return;
+
if (lmf->rsp == 0)
/* Initial LMF */
return;
return start;
/* restore_contect (MonoContext *ctx) */
- /* we do not restore X86_EDX */
start = code = mono_global_codeman_reserve (128);
/* load ctx */
x86_mov_reg_membase (code, X86_EAX, X86_ESP, 4, 4);
- /* get return address, stored in EDX */
- x86_mov_reg_membase (code, X86_EDX, X86_EAX, G_STRUCT_OFFSET (MonoContext, eip), 4);
+ /* get return address, stored in ECX */
+ x86_mov_reg_membase (code, X86_ECX, X86_EAX, G_STRUCT_OFFSET (MonoContext, eip), 4);
/* restore EBX */
x86_mov_reg_membase (code, X86_EBX, X86_EAX, G_STRUCT_OFFSET (MonoContext, ebx), 4);
/* restore EDI */
x86_mov_reg_membase (code, X86_ESI, X86_EAX, G_STRUCT_OFFSET (MonoContext, esi), 4);
/* restore ESP */
x86_mov_reg_membase (code, X86_ESP, X86_EAX, G_STRUCT_OFFSET (MonoContext, esp), 4);
+ /* save the return addr to the restored stack */
+ x86_push_reg (code, X86_ECX);
/* restore EBP */
x86_mov_reg_membase (code, X86_EBP, X86_EAX, G_STRUCT_OFFSET (MonoContext, ebp), 4);
+ /* restore ECX */
+ x86_mov_reg_membase (code, X86_ECX, X86_EAX, G_STRUCT_OFFSET (MonoContext, ecx), 4);
+ /* restore EDX */
+ x86_mov_reg_membase (code, X86_EDX, X86_EAX, G_STRUCT_OFFSET (MonoContext, edx), 4);
/* restore EAX */
x86_mov_reg_membase (code, X86_EAX, X86_EAX, G_STRUCT_OFFSET (MonoContext, eax), 4);
/* jump to the saved IP */
- x86_jump_reg (code, X86_EDX);
+ x86_ret (code);
return start;
}
using System;
using System.Reflection;
+using System.Runtime.CompilerServices;
/*
- * Regression tests for the mono JIT.
- *
- * Each test needs to be of the form:
- *
- * static int test_<result>_<name> ();
- *
- * where <result> is an integer (the value that needs to be returned by
- * the method to make it pass.
- * <name> is a user-displayed name used to identify the test.
- *
- * The tests can be driven in two ways:
- * *) running the program directly: Main() uses reflection to find and invoke
- * the test methods (this is useful mostly to check that the tests are correct)
- * *) with the --regression switch of the jit (this is the preferred way since
- * all the tests will be run with optimizations on and off)
- *
- * The reflection logic could be moved to a .dll since we need at least another
- * regression test file written in IL code to have better control on how
- * the IL code looks.
+ * Regression tests for the GC support in the JIT
*/
class Tests {
* Tests liveness of object references which are initialized conditionally,
* used in an out-of-line bblock, and the initlocals assignment is optimized away.
*/
- /* FIXME: This doesn't work yet
public static int test_0_liveness_out_of_line_bblocks () {
cond (false);
return 0;
}
- */
/*
* Test liveness and loops.
return 0;
}
+
+ /*
+ * Test liveness of variables used to handle items on the IL stack.
+ */
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ static string call1 () {
+ return "A";
+ }
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ static string call2 () {
+ GC.Collect (1);
+ return "A";
+ }
+
+ public static int test_0_liveness_4 () {
+ bool b = false;
+ bool b2 = true;
+
+ /* Exhaust all registers so 'o' is stack allocated */
+ int sum = 0, i, j, k, l, m, n, s;
+ for (i = 0; i < 100; ++i)
+ sum ++;
+ for (j = 0; j < 100; ++j)
+ sum ++;
+ for (k = 0; k < 100; ++k)
+ sum ++;
+ for (l = 0; l < 100; ++l)
+ sum ++;
+ for (m = 0; m < 100; ++m)
+ sum ++;
+ for (n = 0; n < 100; ++n)
+ sum ++;
+ for (s = 0; s < 100; ++s)
+ sum ++;
+
+ string o = b ? call1 () : call2 ();
+
+ GC.Collect (1);
+
+ sum += i + j + k + l + m + n + s;
+
+ return 0;
+ }
+
+
+ /*
+ * Test liveness of volatile variables
+ */
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ static void liveness_5_1 (out object o) {
+ o = new object ();
+ }
+
+ public static int test_0_liveness_5 () {
+ bool b = false;
+ bool b2 = true;
+
+ /* Exhaust all registers so 'o' is stack allocated */
+ int sum = 0, i, j, k, l, m, n, s;
+ for (i = 0; i < 100; ++i)
+ sum ++;
+ for (j = 0; j < 100; ++j)
+ sum ++;
+ for (k = 0; k < 100; ++k)
+ sum ++;
+ for (l = 0; l < 100; ++l)
+ sum ++;
+ for (m = 0; m < 100; ++m)
+ sum ++;
+ for (n = 0; n < 100; ++n)
+ sum ++;
+ for (s = 0; s < 100; ++s)
+ sum ++;
+
+ object o;
+
+ liveness_5_1 (out o);
+
+ for (int x = 0; x < 10; ++x) {
+
+ o.ToString ();
+
+ GC.Collect (1);
+ }
+
+ sum += i + j + k + l + m + n + s;
+
+ return 0;
+ }
+
+ /*
+ * Test the case when a stack slot becomes dead, then live again due to a backward
+ * branch.
+ */
+
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ static object liveness_6_1 () {
+ return new object ();
+ }
+
+ public static int test_0_liveness_6 () {
+ bool b = false;
+ bool b2 = true;
+
+ /* Exhaust all registers so 'o' is stack allocated */
+ int sum = 0, i, j, k, l, m, n, s;
+ for (i = 0; i < 100; ++i)
+ sum ++;
+ for (j = 0; j < 100; ++j)
+ sum ++;
+ for (k = 0; k < 100; ++k)
+ sum ++;
+ for (l = 0; l < 100; ++l)
+ sum ++;
+ for (m = 0; m < 100; ++m)
+ sum ++;
+ for (n = 0; n < 100; ++n)
+ sum ++;
+ for (s = 0; s < 100; ++s)
+ sum ++;
+
+ for (int x = 0; x < 10; ++x) {
+
+ GC.Collect (1);
+
+ object o = liveness_6_1 ();
+
+ o.ToString ();
+
+ GC.Collect (1);
+ }
+
+ sum += i + j + k + l + m + n + s;
+
+ return 0;
+ }
}
\ No newline at end of file
} OpDesc;
static GHashTable *table;
+static GHashTable *template_table;
#define eat_whitespace(s) while (*(s) && isspace (*(s))) s++;
*/
line = 0;
while ((str = fgets (buf, sizeof (buf), f))) {
+ gboolean is_template = FALSE;
++line;
eat_whitespace (str);
if (!str [0])
g_error ("Invalid format at line %d in %s\n", line, name);
*p++ = 0;
eat_whitespace (p);
- desc = g_hash_table_lookup (table, str);
- if (!desc)
- g_error ("Invalid opcode '%s' at line %d in %s\n", str, line, name);
- if (desc->desc)
- g_error ("Duplicated opcode '%s' at line %d in %s\n", str, line, name);
+ if (strcmp (str, "template") == 0) {
+ is_template = TRUE;
+ desc = g_new0 (OpDesc, 1);
+ } else {
+ desc = g_hash_table_lookup (table, str);
+ if (!desc)
+ g_error ("Invalid opcode '%s' at line %d in %s\n", str, line, name);
+ if (desc->desc)
+ g_error ("Duplicated opcode %s at line %d in %s\n", str, line, name);
+ }
desc->desc = g_strdup (p);
desc->comment = g_strdup (comment->str);
g_string_truncate (comment, 0);
} else if (strncmp (p, "len:", 4) == 0) {
p += 4;
desc->spec [MONO_INST_LEN] = strtoul (p, &p, 10);
+ } else if (strncmp (p, "template:", 9) == 0) {
+ char *tname;
+ int i;
+ OpDesc *tdesc;
+ p += 9;
+ tname = p;
+ while (*p && isalnum (*p)) ++p;
+ *p++ = 0;
+ tdesc = g_hash_table_lookup (template_table, tname);
+ if (!tdesc)
+ g_error ("Invalid template name %s at '%s' at line %d in %s\n", tname, p, line, name);
+ for (i = 0; i < MONO_INST_MAX; ++i) {
+ if (desc->spec [i])
+ g_error ("The template overrides any previous value set at line %d in %s\n", line, name);
+ }
+ memcpy (desc->spec, tdesc->spec, sizeof (desc->spec));
+ } else if (strncmp (p, "name:", 5) == 0) {
+ char *tname;
+ if (!is_template)
+ g_error ("name tag only valid in templates at '%s' at line %d in %s\n", p, line, name);
+ if (desc->name)
+ g_error ("Duplicated name tag in template %s at '%s' at line %d in %s\n", desc->name, p, line, name);
+ p += 5;
+ tname = p;
+ while (*p && isalnum (*p)) ++p;
+ *p++ = 0;
+ if (g_hash_table_lookup (template_table, tname))
+ g_error ("Duplicated template %s at line %d in %s\n", tname, line, name);
+ desc->name = g_strdup (tname);
+ g_hash_table_insert (template_table, (void*)desc->name, desc);
} else {
g_error ("Parse error at '%s' at line %d in %s\n", p, line, name);
}
eat_whitespace (p);
}
+ if (is_template && !desc->name)
+ g_error ("Template without name at line %d in %s\n", line, name);
}
fclose (f);
return 0;
int i;
OpDesc *desc;
+ template_table = g_hash_table_new (g_str_hash, g_str_equal);
table = g_hash_table_new (g_str_hash, g_str_equal);
opcodes = g_new0 (OpDesc, OP_LAST);
my @defines = qw (__i386__ __x86_64__ __ppc__ __powerpc__ __ppc64__ __arm__
__sparc__ sparc __s390__ s390 __ia64__ __alpha__ __mips__);
my %table =();
+my %template_table =();
my @opcodes = ();
+sub parse_file
+{
+ my ($define, $file) = @_;
+ my @enabled = (1);
+ my $i = 0;
+ open (OPS, $file) || die "Cannot open $file: $!";
+ while (<OPS>) {
+ if (/^\s*#\s*if\s+(.*)/) {
+ my $defines = $1;
+ die "fix the genmdesc.pl cpp parser to handle all operators" if /(&&)|([!<>=])/;
+ unshift @enabled, scalar ($defines =~ /defined\s*\(\s*$define\s*\)/);
+ next;
+ }
+ if (/^\s*#\s*ifdef\s+(\S+)/) {
+ my $defines = $1;
+ unshift @enabled, $defines eq $define;
+ next;
+ }
+ if (/^\s*#\s*endif/) {
+ shift @enabled;
+ next;
+ }
+ next unless $enabled [0];
+ next unless /MINI_OP3?\s*\(\s*(\S+?)\s*,\s*"(.*?)"/;
+ my ($sym, $name) = ($1, $2);
+ push @opcodes, [$sym, $name];
+ $table{$name} = {num => $i, name => $name};
+ $i++;
+ }
+ close (OPS);
+}
+
sub load_opcodes
{
my ($srcdir, $arch) = @_;
if ($arch =~ "__arm__") {
$arch_define = "TARGET_ARM";
}
-
+
+ parse_file ($arch_define, "$srcdir/mini-ops.h");
+ return;
$cpp .= " -D$arch_define $srcdir/mini-ops.h|";
#print "Running: $cpp\n";
open (OPS, $cpp) || die "Cannot execute cpp: $!";
open (DESC, $name) || die "Cannot open $name: $!";
while (<DESC>) {
+ my $is_template = 0;
$line++;
next if /^\s*$/;
if (/^\s*(#.*)?$/) {
my @values = split (/\s+/);
next unless ($values [0] =~ /(\S+?):/);
my $name = $1;
- my $desc = $table {$name};
+ my $desc;
+ if ($name eq "template") {
+ $is_template = 1;
+ $desc = {};
+ } else {
+ $desc = $table {$name};
+ die "Invalid opcode $name at line $line\n" unless defined $desc;
+ die "Duplicated opcode $name at line $line\n" if $desc->{"desc"};
+ }
shift @values;
- die "Invalid opcode $name at line $line\n" unless defined $desc;
- die "Duplicated opcode $name at line $line\n" if $desc->{"desc"};
$desc->{"desc"} = $_;
$desc->{"comment"} = $comment;
$desc->{"spec"} = {};
#print "values for $name: " . join (' ', @values) . " num: " . int(@values), "\n";
for my $val (@values) {
if ($val =~ /(\S+):(.*)/) {
- $desc->{"spec"}->{$1} = $2;
+ if ($1 eq "name") {
+ die "name tag only valid in templates at line $line\n" unless $is_template;
+ die "Duplicated name tag in template $desc->{'name'} at line $line\n" if defined $desc->{'name'};
+ die "Duplicated template $2 at line $line\n" if defined $template_table {$2};
+ $desc->{'name'} = $2;
+ $template_table {$2} = $desc;
+ } elsif ($1 eq "template") {
+ my $tdesc = $template_table {$2};
+ die "Invalid template name $2 at line $line\n" unless defined $tdesc;
+ $desc->{"spec"} = {%{$tdesc->{"spec"}}};
+ } else {
+ $desc->{"spec"}->{$1} = $2;
+ }
}
}
+ die "Template without name at line $1" if ($is_template && !defined ($desc->{'name'}));
}
close (DESC);
}
ret
}
+ .method public static int32 test_0_lconv_to_ovf_i8 () cil managed {
+ .maxstack 16
+
+ ldc.i4 1234
+ conv.i8
+ conv.ovf.i8
+ conv.i4
+ ldc.i4 1234
+ beq L1
+ ldc.i4.1
+ ret
+ L1:
+ ldc.i4.0
+ ret
+ }
+
.method public static int32 test_0_lconv_to_ovf_u8_un () cil managed {
.maxstack 16
#define AS_SKIP_DIRECTIVE ".skip"
#endif
+#if defined(TARGET_ASM_APPLE)
+#define AS_GLOBAL_PREFIX "_"
+#else
+#define AS_GLOBAL_PREFIX ""
+#endif
+
+#ifdef TARGET_ASM_APPLE
+#define AS_TEMP_LABEL_PREFIX "L"
+#else
+#define AS_TEMP_LABEL_PREFIX ".L"
+#endif
#define ALIGN_TO(val,align) ((((guint64)val) + ((align) - 1)) & ~((align) - 1))
#define ALIGN_PTR_TO(ptr,align) (gpointer)((((gssize)(ptr)) + (align - 1)) & (~(align - 1)))
const char *
img_writer_get_temp_label_prefix (MonoImageWriter *acfg)
{
-#ifdef TARGET_ASM_APPLE
- return "L";
-#else
- return ".L";
-#endif
+ return AS_TEMP_LABEL_PREFIX;
}
(dest)->type = STACK_I4; \
} while (0)
+#define NEW_LOAD_MEMBASE_FLAGS(cfg,dest,op,dr,base,offset,ins_flags) do { \
+ MONO_INST_NEW ((cfg), (dest), (op)); \
+ (dest)->dreg = (dr); \
+ (dest)->inst_basereg = (base); \
+ (dest)->inst_offset = (offset); \
+ (dest)->type = STACK_I4; \
+ (dest)->flags = (ins_flags); \
+ } while (0)
+
#define NEW_LOAD_MEM(cfg,dest,op,dr,mem) do { \
MONO_INST_NEW ((cfg), (dest), (op)); \
(dest)->dreg = (dr); \
*/
#define EMIT_NEW_VARLOAD_SFLOAT(cfg,dest,var,vartype) do { \
- if (!(vartype)->byref && (vartype)->type == MONO_TYPE_R4) { \
+ if (COMPILE_SOFT_FLOAT ((cfg)) && !(vartype)->byref && (vartype)->type == MONO_TYPE_R4) { \
MonoInst *iargs [1]; \
EMIT_NEW_VARLOADA (cfg, iargs [0], (var), (vartype)); \
(dest) = mono_emit_jit_icall (cfg, mono_fload_r4, iargs); \
} while (0)
#define EMIT_NEW_VARSTORE_SFLOAT(cfg,dest,var,vartype,inst) do { \
- if (!(vartype)->byref && (vartype)->type == MONO_TYPE_R4) { \
+ if (COMPILE_SOFT_FLOAT ((cfg)) && !(vartype)->byref && (vartype)->type == MONO_TYPE_R4) { \
MonoInst *iargs [2]; \
iargs [0] = (inst); \
EMIT_NEW_VARLOADA (cfg, iargs [1], (var), (vartype)); \
#define MONO_EMIT_NEW_LOAD_MEMBASE(cfg,dr,base,offset) MONO_EMIT_NEW_LOAD_MEMBASE_OP ((cfg), (OP_LOAD_MEMBASE), (dr), (base), (offset))
+#define MONO_EMIT_NEW_LOAD_MEMBASE_OP_FLAGS(cfg,op,dr,base,offset,ins_flags) do { \
+ MonoInst *inst; \
+ MONO_INST_NEW ((cfg), (inst), (op)); \
+ inst->dreg = dr; \
+ inst->inst_basereg = base; \
+ inst->inst_offset = offset; \
+ inst->flags = (ins_flags); \
+ MONO_ADD_INS (cfg->cbb, inst); \
+ } while (0)
+
#define MONO_EMIT_NEW_STORE_MEMBASE(cfg,op,base,offset,sr) do { \
MonoInst *inst; \
MONO_INST_NEW ((cfg), (inst), (op)); \
if (cfg->explicit_null_checks) { \
MONO_EMIT_NEW_BIALU_IMM (cfg, OP_COMPARE_IMM, -1, (reg), 0); \
MONO_EMIT_NEW_COND_EXC (cfg, EQ, "NullReferenceException"); \
+ } else { \
+ MONO_EMIT_NEW_IMPLICIT_EXCEPTION (cfg); \
} \
- MONO_EMIT_NEW_IMPLICIT_EXCEPTION (cfg); \
} while (0)
#define MONO_EMIT_NEW_CHECK_THIS(cfg, sreg) do { \
cfg->flags |= MONO_CFG_HAS_CHECK_THIS; \
- if (cfg->explicit_null_checks) \
+ if (cfg->explicit_null_checks) { \
MONO_EMIT_NULL_CHECK (cfg, sreg); \
- else \
+ } else { \
MONO_EMIT_NEW_UNALU (cfg, OP_CHECK_THIS, -1, sreg); \
+ MONO_EMIT_NEW_IMPLICIT_EXCEPTION (cfg); \
+ } \
MONO_EMIT_NEW_UNALU (cfg, OP_NOT_NULL, -1, sreg); \
} while (0)
+/* A load which can cause a nullref */
+#define NEW_LOAD_MEMBASE_FAULT(cfg,dest,op,dr,base,offset) do { \
+ MONO_EMIT_NULL_CHECK ((cfg), (base)); \
+ NEW_LOAD_MEMBASE_FLAGS ((cfg), (dest), (op), (dr), (base), (offset), MONO_INST_FAULT); \
+ } while (0)
+
+#define EMIT_NEW_LOAD_MEMBASE_FAULT(cfg,dest,op,dr,base,offset) do { \
+ MONO_EMIT_NULL_CHECK ((cfg), (base)); \
+ NEW_LOAD_MEMBASE_FLAGS ((cfg), (dest), (op), (dr), (base), (offset), MONO_INST_FAULT); \
+ MONO_ADD_INS ((cfg)->cbb, (dest)); \
+ } while (0)
+
+#define MONO_EMIT_NEW_LOAD_MEMBASE_OP_FAULT(cfg,op,dr,base,offset) do { \
+ MONO_EMIT_NULL_CHECK (cfg, base); \
+ MONO_EMIT_NEW_LOAD_MEMBASE_OP_FLAGS ((cfg), (op), (dr), (base), (offset), MONO_INST_FAULT); \
+ } while (0)
+
+#define MONO_EMIT_NEW_LOAD_MEMBASE_FAULT(cfg,dr,base,offset) MONO_EMIT_NEW_LOAD_MEMBASE_OP_FAULT ((cfg), (OP_LOAD_MEMBASE), (dr), (base), (offset))
+
/*Object Model related macros*/
#ifndef MONO_ARCH_EMIT_BOUNDS_CHECK
#include "mini.h"
#include <mono/metadata/debug-helpers.h>
+#ifndef DISABLE_JIT
+
static void mono_linear_scan2 (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_mask);
GList *
g_list_free (active);
g_list_free (inactive);
}
+
+#endif /* #ifndef DISABLE_JIT */
if (var && !mono_bitset_test_fast (used, ins->dreg) && !mono_bitset_test_fast (initlocals_bb->live_out_set, var->inst_c0) && (var != cfg->ret) && !(var->flags & (MONO_INST_VOLATILE|MONO_INST_INDIRECT))) {
//printf ("DEAD: "); mono_print_ins (ins);
+ if (cfg->disable_initlocals_opt_refs && var->type == STACK_OBJ)
+ continue;
if ((ins->opcode == OP_ICONST) || (ins->opcode == OP_I8CONST) || (ins->opcode == OP_R8CONST)) {
NULLIFY_INS (ins);
MONO_VARINFO (cfg, var->inst_c0)->spill_costs -= 1;
#include <mono/metadata/profiler-private.h>
#include <mono/metadata/profiler.h>
#include <mono/utils/mono-compiler.h>
+#include <mono/metadata/mono-basic-block.h>
#include "mini.h"
#include "trace.h"
#undef MINI_OP
#undef MINI_OP3
-extern GHashTable *jit_icall_name_hash;
-
#define MONO_INIT_VARINFO(vi,id) do { \
(vi)->range.first_use.pos.bid = 0xffff; \
(vi)->reg = -1; \
mini_emit_max_iid_check (cfg, max_iid_reg, klass, false_target);
}
-static void
-mini_emit_isninst_cast (MonoCompile *cfg, int klass_reg, MonoClass *klass, MonoBasicBlock *false_target, MonoBasicBlock *true_target)
+static void
+mini_emit_isninst_cast_inst (MonoCompile *cfg, int klass_reg, MonoClass *klass, MonoInst *klass_ins, MonoBasicBlock *false_target, MonoBasicBlock *true_target)
{
int idepth_reg = alloc_preg (cfg);
int stypes_reg = alloc_preg (cfg);
}
MONO_EMIT_NEW_LOAD_MEMBASE (cfg, stypes_reg, klass_reg, G_STRUCT_OFFSET (MonoClass, supertypes));
MONO_EMIT_NEW_LOAD_MEMBASE (cfg, stype, stypes_reg, ((klass->idepth - 1) * SIZEOF_VOID_P));
- if (cfg->compile_aot) {
+ if (klass_ins) {
+ MONO_EMIT_NEW_BIALU (cfg, OP_COMPARE, -1, stype, klass_ins->dreg);
+ } else if (cfg->compile_aot) {
int const_reg = alloc_preg (cfg);
MONO_EMIT_NEW_CLASSCONST (cfg, const_reg, klass);
MONO_EMIT_NEW_BIALU (cfg, OP_COMPARE, -1, stype, const_reg);
MONO_EMIT_NEW_BRANCH_BLOCK (cfg, OP_PBEQ, true_target);
}
-static void
+static void
+mini_emit_isninst_cast (MonoCompile *cfg, int klass_reg, MonoClass *klass, MonoBasicBlock *false_target, MonoBasicBlock *true_target)
+{
+ mini_emit_isninst_cast_inst (cfg, klass_reg, klass, NULL, false_target, true_target);
+}
+
+static void
mini_emit_iface_cast (MonoCompile *cfg, int vtable_reg, MonoClass *klass, MonoBasicBlock *false_target, MonoBasicBlock *true_target)
{
int intf_reg = alloc_preg (cfg);
/*
* Variant of the above that takes a register to the class, not the vtable.
*/
-static void
+static void
mini_emit_iface_class_cast (MonoCompile *cfg, int klass_reg, MonoClass *klass, MonoBasicBlock *false_target, MonoBasicBlock *true_target)
{
int intf_bit_reg = alloc_preg (cfg);
}
static inline void
-mini_emit_class_check (MonoCompile *cfg, int klass_reg, MonoClass *klass)
+mini_emit_class_check_inst (MonoCompile *cfg, int klass_reg, MonoClass *klass, MonoInst *klass_inst)
{
- if (cfg->compile_aot) {
+ if (klass_inst) {
+ MONO_EMIT_NEW_BIALU (cfg, OP_COMPARE, -1, klass_reg, klass_inst->dreg);
+ } else if (cfg->compile_aot) {
int const_reg = alloc_preg (cfg);
MONO_EMIT_NEW_CLASSCONST (cfg, const_reg, klass);
MONO_EMIT_NEW_BIALU (cfg, OP_COMPARE, -1, klass_reg, const_reg);
MONO_EMIT_NEW_COND_EXC (cfg, NE_UN, "InvalidCastException");
}
+static inline void
+mini_emit_class_check (MonoCompile *cfg, int klass_reg, MonoClass *klass)
+{
+ return mini_emit_class_check_inst (cfg, klass_reg, klass, NULL);
+}
+
static inline void
mini_emit_class_check_branch (MonoCompile *cfg, int klass_reg, MonoClass *klass, int branch_op, MonoBasicBlock *target)
{
}
MONO_EMIT_NEW_BRANCH_BLOCK (cfg, branch_op, target);
}
+
+static void
+mini_emit_castclass (MonoCompile *cfg, int obj_reg, int klass_reg, MonoClass *klass, MonoBasicBlock *object_is_null);
-static void
-mini_emit_castclass (MonoCompile *cfg, int obj_reg, int klass_reg, MonoClass *klass, MonoBasicBlock *object_is_null)
+static void
+mini_emit_castclass_inst (MonoCompile *cfg, int obj_reg, int klass_reg, MonoClass *klass, MonoInst *klass_inst, MonoBasicBlock *object_is_null)
{
if (klass->rank) {
int rank_reg = alloc_preg (cfg);
int eclass_reg = alloc_preg (cfg);
+ g_assert (!klass_inst);
MONO_EMIT_NEW_LOAD_MEMBASE_OP (cfg, OP_LOADU1_MEMBASE, rank_reg, klass_reg, G_STRUCT_OFFSET (MonoClass, rank));
MONO_EMIT_NEW_BIALU_IMM (cfg, OP_COMPARE_IMM, -1, rank_reg, klass->rank);
MONO_EMIT_NEW_COND_EXC (cfg, NE_UN, "InvalidCastException");
}
MONO_EMIT_NEW_LOAD_MEMBASE (cfg, stypes_reg, klass_reg, G_STRUCT_OFFSET (MonoClass, supertypes));
MONO_EMIT_NEW_LOAD_MEMBASE (cfg, stype, stypes_reg, ((klass->idepth - 1) * SIZEOF_VOID_P));
- mini_emit_class_check (cfg, stype, klass);
+ mini_emit_class_check_inst (cfg, stype, klass, klass_inst);
}
}
+static void
+mini_emit_castclass (MonoCompile *cfg, int obj_reg, int klass_reg, MonoClass *klass, MonoBasicBlock *object_is_null)
+{
+ return mini_emit_castclass_inst (cfg, obj_reg, klass_reg, klass, NULL, object_is_null);
+}
+
static void
mini_emit_memset (MonoCompile *cfg, int destreg, int offset, int size, int val, int align)
{
return ji;
}
-inline static MonoInst*
-mono_emit_jit_icall (MonoCompile *cfg, gconstpointer func, MonoInst **args);
-
inline static MonoCallInst *
mono_emit_call_args (MonoCompile *cfg, MonoMethodSignature *sig,
MonoInst **args, int calli, int virtual, int tail)
call->inst.dreg = alloc_dreg (cfg, call->inst.type);
#ifdef MONO_ARCH_SOFT_FLOAT
- /*
- * If the call has a float argument, we would need to do an r8->r4 conversion using
- * an icall, but that cannot be done during the call sequence since it would clobber
- * the call registers + the stack. So we do it before emitting the call.
- */
- for (i = 0; i < sig->param_count + sig->hasthis; ++i) {
- MonoType *t;
- MonoInst *in = call->args [i];
+ if (COMPILE_SOFT_FLOAT (cfg)) {
+ /*
+ * If the call has a float argument, we would need to do an r8->r4 conversion using
+ * an icall, but that cannot be done during the call sequence since it would clobber
+ * the call registers + the stack. So we do it before emitting the call.
+ */
+ for (i = 0; i < sig->param_count + sig->hasthis; ++i) {
+ MonoType *t;
+ MonoInst *in = call->args [i];
- if (i >= sig->hasthis)
- t = sig->params [i - sig->hasthis];
- else
- t = &mono_defaults.int_class->byval_arg;
- t = mono_type_get_underlying_type (t);
+ if (i >= sig->hasthis)
+ t = sig->params [i - sig->hasthis];
+ else
+ t = &mono_defaults.int_class->byval_arg;
+ t = mono_type_get_underlying_type (t);
- if (!t->byref && t->type == MONO_TYPE_R4) {
- MonoInst *iargs [1];
- MonoInst *conv;
+ if (!t->byref && t->type == MONO_TYPE_R4) {
+ MonoInst *iargs [1];
+ MonoInst *conv;
- iargs [0] = in;
- conv = mono_emit_jit_icall (cfg, mono_fload_r4_arg, iargs);
+ iargs [0] = in;
+ conv = mono_emit_jit_icall (cfg, mono_fload_r4_arg, iargs);
- /* The result will be in an int vreg */
- call->args [i] = conv;
+ /* The result will be in an int vreg */
+ call->args [i] = conv;
+ }
}
}
#endif
this_reg = this->dreg;
- MONO_EMIT_NULL_CHECK (cfg, this_reg);
-
#ifdef MONO_ARCH_HAVE_CREATE_DELEGATE_TRAMPOLINE
if ((method->klass->parent == mono_defaults.multicastdelegate_class) && (!strcmp (method->name, "Invoke"))) {
+ MONO_EMIT_NULL_CHECK (cfg, this_reg);
+
/* Make a call to delegate->invoke_impl */
call->inst.opcode = callvirt_to_call_membase (call->inst.opcode);
call->inst.inst_basereg = this_reg;
call->inst.opcode = callvirt_to_call_membase (call->inst.opcode);
vtable_reg = alloc_preg (cfg);
- MONO_EMIT_NEW_LOAD_MEMBASE (cfg, vtable_reg, this_reg, G_STRUCT_OFFSET (MonoObject, vtable));
+ MONO_EMIT_NEW_LOAD_MEMBASE_FAULT (cfg, vtable_reg, this_reg, G_STRUCT_OFFSET (MonoObject, vtable));
if (method->klass->flags & TYPE_ATTRIBUTE_INTERFACE) {
slot_reg = -1;
#ifdef MONO_ARCH_HAVE_IMT
return ins;
}
-static inline MonoInst*
+MonoInst*
mono_emit_method_call (MonoCompile *cfg, MonoMethod *method, MonoInst **args, MonoInst *this)
{
return mono_emit_method_call_full (cfg, method, mono_method_signature (method), args, this, NULL);
return (MonoInst*)call;
}
-inline static MonoInst*
+MonoInst*
mono_emit_jit_icall (MonoCompile *cfg, gconstpointer func, MonoInst **args)
{
MonoJitICallInfo *info = mono_find_jit_icall_by_addr (func);
int rank_reg = alloc_dreg (cfg ,STACK_I4);
obj_reg = sp [0]->dreg;
- MONO_EMIT_NULL_CHECK (cfg, obj_reg);
- MONO_EMIT_NEW_LOAD_MEMBASE (cfg, vtable_reg, obj_reg, G_STRUCT_OFFSET (MonoObject, vtable));
+ MONO_EMIT_NEW_LOAD_MEMBASE_FAULT (cfg, vtable_reg, obj_reg, G_STRUCT_OFFSET (MonoObject, vtable));
MONO_EMIT_NEW_LOAD_MEMBASE_OP (cfg, OP_LOADU1_MEMBASE, rank_reg, vtable_reg, G_STRUCT_OFFSET (MonoVTable, rank));
/* FIXME: generics */
}
}
+// FIXME: This doesn't work yet (class libs tests fail?)
+#define is_complex_isinst(klass) (TRUE || (klass->flags & TYPE_ATTRIBUTE_INTERFACE) || klass->rank || mono_class_is_nullable (klass) || klass->marshalbyref || (klass->flags & TYPE_ATTRIBUTE_SEALED) || mono_class_has_variant_generic_params (klass) || klass->byval_arg.type == MONO_TYPE_VAR || klass->byval_arg.type == MONO_TYPE_MVAR)
+
/*
* Returns NULL and set the cfg exception on error.
*/
static MonoInst*
-handle_castclass (MonoCompile *cfg, MonoClass *klass, MonoInst *src)
+handle_castclass (MonoCompile *cfg, MonoClass *klass, MonoInst *src, int context_used)
{
MonoBasicBlock *is_null_bb;
int obj_reg = src->dreg;
int vtable_reg = alloc_preg (cfg);
+ MonoInst *klass_inst = NULL;
+
+ if (context_used) {
+ MonoInst *args [2];
+
+ klass_inst = emit_get_rgctx_klass (cfg, context_used,
+ klass, MONO_RGCTX_INFO_KLASS);
+
+ if (is_complex_isinst (klass)) {
+ /* Complex case, handle by an icall */
+
+ /* obj */
+ args [0] = src;
+
+ /* klass */
+ args [1] = klass_inst;
+
+ return mono_emit_jit_icall (cfg, mono_object_castclass, args);
+ } else {
+ /* Simple case, handled by the code below */
+ }
+ }
NEW_BBLOCK (cfg, is_null_bb);
MONO_EMIT_NEW_COND_EXC (cfg, NE_UN, "InvalidCastException");
} else {
MONO_EMIT_NEW_LOAD_MEMBASE (cfg, klass_reg, vtable_reg, G_STRUCT_OFFSET (MonoVTable, klass));
- mini_emit_castclass (cfg, obj_reg, klass_reg, klass, is_null_bb);
+ mini_emit_castclass_inst (cfg, obj_reg, klass_reg, klass, klass_inst, is_null_bb);
}
}
* Returns NULL and set the cfg exception on error.
*/
static MonoInst*
-handle_isinst (MonoCompile *cfg, MonoClass *klass, MonoInst *src)
+handle_isinst (MonoCompile *cfg, MonoClass *klass, MonoInst *src, int context_used)
{
MonoInst *ins;
MonoBasicBlock *is_null_bb, *false_bb, *end_bb;
int obj_reg = src->dreg;
int vtable_reg = alloc_preg (cfg);
int res_reg = alloc_preg (cfg);
+ MonoInst *klass_inst = NULL;
+
+ if (context_used) {
+ klass_inst = emit_get_rgctx_klass (cfg, context_used, klass, MONO_RGCTX_INFO_KLASS);
+
+ if (is_complex_isinst (klass)) {
+ MonoInst *args [2];
+
+ /* Complex case, handle by an icall */
+
+ /* obj */
+ args [0] = src;
+
+ /* klass */
+ args [1] = klass_inst;
+
+ return mono_emit_jit_icall (cfg, mono_object_isinst, args);
+ } else {
+ /* Simple case, the code below can handle it */
+ }
+ }
NEW_BBLOCK (cfg, is_null_bb);
NEW_BBLOCK (cfg, false_bb);
MONO_EMIT_NEW_BIALU_IMM (cfg, OP_COMPARE_IMM, -1, obj_reg, 0);
MONO_EMIT_NEW_BRANCH_BLOCK (cfg, OP_IBEQ, is_null_bb);
+ MONO_EMIT_NEW_LOAD_MEMBASE (cfg, vtable_reg, obj_reg, G_STRUCT_OFFSET (MonoObject, vtable));
+
if (klass->flags & TYPE_ATTRIBUTE_INTERFACE) {
- MONO_EMIT_NEW_LOAD_MEMBASE (cfg, vtable_reg, obj_reg, G_STRUCT_OFFSET (MonoObject, vtable));
+ g_assert (!context_used);
/* the is_null_bb target simply copies the input register to the output */
mini_emit_iface_cast (cfg, vtable_reg, klass, false_bb, is_null_bb);
} else {
int klass_reg = alloc_preg (cfg);
- MONO_EMIT_NEW_LOAD_MEMBASE (cfg, vtable_reg, obj_reg, G_STRUCT_OFFSET (MonoObject, vtable));
-
if (klass->rank) {
int rank_reg = alloc_preg (cfg);
int eclass_reg = alloc_preg (cfg);
+ g_assert (!context_used);
MONO_EMIT_NEW_LOAD_MEMBASE_OP (cfg, OP_LOADU1_MEMBASE, rank_reg, vtable_reg, G_STRUCT_OFFSET (MonoVTable, rank));
MONO_EMIT_NEW_BIALU_IMM (cfg, OP_COMPARE_IMM, -1, rank_reg, klass->rank);
MONO_EMIT_NEW_BRANCH_BLOCK (cfg, OP_PBNE_UN, false_bb);
mini_emit_isninst_cast (cfg, eclass_reg, klass->cast_class, false_bb, is_null_bb);
}
} else if (mono_class_is_nullable (klass)) {
+ g_assert (!context_used);
MONO_EMIT_NEW_LOAD_MEMBASE (cfg, klass_reg, vtable_reg, G_STRUCT_OFFSET (MonoVTable, klass));
/* the is_null_bb target simply copies the input register to the output */
mini_emit_isninst_cast (cfg, klass_reg, klass->cast_class, false_bb, is_null_bb);
} else {
if (!cfg->compile_aot && !(cfg->opt & MONO_OPT_SHARED) && (klass->flags & TYPE_ATTRIBUTE_SEALED)) {
+ g_assert (!context_used);
/* the remoting code is broken, access the class for now */
if (0) {/*FIXME what exactly is broken? This change refers to r39380 from 2005 and mention some remoting fixes were due.*/
MonoVTable *vt = mono_class_vtable (cfg->domain, klass);
} else {
MONO_EMIT_NEW_LOAD_MEMBASE (cfg, klass_reg, vtable_reg, G_STRUCT_OFFSET (MonoVTable, klass));
/* the is_null_bb target simply copies the input register to the output */
- mini_emit_isninst_cast (cfg, klass_reg, klass, false_bb, is_null_bb);
+ mini_emit_isninst_cast_inst (cfg, klass_reg, klass, klass_inst, false_bb, is_null_bb);
}
}
}
static gboolean
mono_method_check_inlining (MonoCompile *cfg, MonoMethod *method)
{
- MonoMethodHeader *header;
+ MonoMethodHeaderSummary header;
MonoVTable *vtable;
#ifdef MONO_ARCH_SOFT_FLOAT
MonoMethodSignature *sig = mono_method_signature (method);
return TRUE;
#endif
- if (method->is_inflated)
- /* Avoid inflating the header */
- header = mono_method_get_header (((MonoMethodInflated*)method)->declaring);
- else
- header = mono_method_get_header (method);
- if ((method->iflags & METHOD_IMPL_ATTRIBUTE_RUNTIME) ||
- (method->iflags & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL) ||
- (method->iflags & METHOD_IMPL_ATTRIBUTE_NOINLINING) ||
+ if (!mono_method_get_header_summary (method, &header))
+ return FALSE;
+
+ /*runtime, icall and pinvoke are checked by summary call*/
+ if ((method->iflags & METHOD_IMPL_ATTRIBUTE_NOINLINING) ||
(method->iflags & METHOD_IMPL_ATTRIBUTE_SYNCHRONIZED) ||
- (method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL) ||
(method->klass->marshalbyref) ||
- !header || header->num_clauses)
+ header.has_clauses)
return FALSE;
/* also consider num_locals? */
inline_limit = INLINE_LENGTH_LIMIT;
inline_limit_inited = TRUE;
}
- if (header->code_size >= inline_limit)
+ if (header.code_size >= inline_limit)
return FALSE;
/*
#if SIZEOF_REGISTER == 8
/* The array reg is 64 bits but the index reg is only 32 */
- index2_reg = alloc_preg (cfg);
- MONO_EMIT_NEW_UNALU (cfg, OP_SEXT_I4, index2_reg, index_reg);
+ if (COMPILE_LLVM (cfg)) {
+ /* Not needed */
+ index2_reg = index_reg;
+ } else {
+ index2_reg = alloc_preg (cfg);
+ MONO_EMIT_NEW_UNALU (cfg, OP_SEXT_I4, index2_reg, index_reg);
+ }
#else
if (index->type == STACK_I8) {
index2_reg = alloc_preg (cfg);
if (strcmp (cmethod->name, "GetType") == 0) {
int dreg = alloc_preg (cfg);
int vt_reg = alloc_preg (cfg);
- MONO_EMIT_NULL_CHECK (cfg, args [0]->dreg);
- MONO_EMIT_NEW_LOAD_MEMBASE (cfg, vt_reg, args [0]->dreg, G_STRUCT_OFFSET (MonoObject, vtable));
+ MONO_EMIT_NEW_LOAD_MEMBASE_FAULT (cfg, vt_reg, args [0]->dreg, G_STRUCT_OFFSET (MonoObject, vtable));
EMIT_NEW_LOAD_MEMBASE (cfg, ins, OP_LOAD_MEMBASE, dreg, vt_reg, G_STRUCT_OFFSET (MonoVTable, type));
type_from_op (ins, NULL, NULL);
if (strcmp (cmethod->name, "get_Rank") == 0) {
int dreg = alloc_ireg (cfg);
int vtable_reg = alloc_preg (cfg);
- MONO_EMIT_NULL_CHECK (cfg, args [0]->dreg);
- MONO_EMIT_NEW_LOAD_MEMBASE_OP (cfg, OP_LOAD_MEMBASE, vtable_reg,
- args [0]->dreg, G_STRUCT_OFFSET (MonoObject, vtable));
+ MONO_EMIT_NEW_LOAD_MEMBASE_OP_FAULT (cfg, OP_LOAD_MEMBASE, vtable_reg,
+ args [0]->dreg, G_STRUCT_OFFSET (MonoObject, vtable));
EMIT_NEW_LOAD_MEMBASE (cfg, ins, OP_LOADU1_MEMBASE, dreg,
vtable_reg, G_STRUCT_OFFSET (MonoVTable, rank));
type_from_op (ins, NULL, NULL);
} else if (strcmp (cmethod->name, "get_Length") == 0) {
int dreg = alloc_ireg (cfg);
- MONO_EMIT_NULL_CHECK (cfg, args [0]->dreg);
- EMIT_NEW_LOAD_MEMBASE (cfg, ins, OP_LOADI4_MEMBASE, dreg,
- args [0]->dreg, G_STRUCT_OFFSET (MonoArray, max_length));
+ EMIT_NEW_LOAD_MEMBASE_FAULT (cfg, ins, OP_LOADI4_MEMBASE, dreg,
+ args [0]->dreg, G_STRUCT_OFFSET (MonoArray, max_length));
type_from_op (ins, NULL, NULL);
return ins;
return MONO_TYPE_IS_REFERENCE (type);
}
-/**
- * mono_decompose_array_access_opts:
- *
- * Decompose array access opcodes.
- * This should be in decompose.c, but it emits calls so it has to stay here until
- * the old JIT is gone.
- */
-void
-mono_decompose_array_access_opts (MonoCompile *cfg)
-{
- MonoBasicBlock *bb, *first_bb;
-
- /*
- * Unlike decompose_long_opts, this pass does not alter the CFG of the method so it
- * can be executed anytime. It should be run before decompose_long
- */
-
- /**
- * Create a dummy bblock and emit code into it so we can use the normal
- * code generation macros.
- */
- cfg->cbb = mono_mempool_alloc0 ((cfg)->mempool, sizeof (MonoBasicBlock));
- first_bb = cfg->cbb;
-
- for (bb = cfg->bb_entry; bb; bb = bb->next_bb) {
- MonoInst *ins;
- MonoInst *prev = NULL;
- MonoInst *dest;
- MonoInst *iargs [3];
- gboolean restart;
-
- if (!bb->has_array_access)
- continue;
-
- if (cfg->verbose_level > 3) mono_print_bb (bb, "BEFORE DECOMPOSE-ARRAY-ACCESS-OPTS ");
-
- cfg->cbb->code = cfg->cbb->last_ins = NULL;
- restart = TRUE;
-
- while (restart) {
- restart = FALSE;
-
- for (ins = bb->code; ins; ins = ins->next) {
- switch (ins->opcode) {
- case OP_LDLEN:
- MONO_EMIT_NULL_CHECK (cfg, ins->sreg1);
- NEW_LOAD_MEMBASE (cfg, dest, OP_LOADI4_MEMBASE, ins->dreg, ins->sreg1,
- G_STRUCT_OFFSET (MonoArray, max_length));
- MONO_ADD_INS (cfg->cbb, dest);
- break;
- case OP_BOUNDS_CHECK:
- MONO_EMIT_NULL_CHECK (cfg, ins->sreg1); \
- MONO_ARCH_EMIT_BOUNDS_CHECK (cfg, ins->sreg1, ins->inst_imm, ins->sreg2);
- break;
- case OP_NEWARR:
- if (cfg->opt & MONO_OPT_SHARED) {
- EMIT_NEW_DOMAINCONST (cfg, iargs [0]);
- EMIT_NEW_CLASSCONST (cfg, iargs [1], ins->inst_newa_class);
- MONO_INST_NEW (cfg, iargs [2], OP_MOVE);
- iargs [2]->dreg = ins->sreg1;
-
- dest = mono_emit_jit_icall (cfg, mono_array_new, iargs);
- dest->dreg = ins->dreg;
- } else {
- MonoVTable *vtable = mono_class_vtable (cfg->domain, mono_array_class_get (ins->inst_newa_class, 1));
- MonoMethod *managed_alloc = mono_gc_get_managed_array_allocator (vtable, 1);
-
- g_assert (vtable); /*This shall not fail since we check for this condition on OP_NEWARR creation*/
- NEW_VTABLECONST (cfg, iargs [0], vtable);
- MONO_ADD_INS (cfg->cbb, iargs [0]);
- MONO_INST_NEW (cfg, iargs [1], OP_MOVE);
- iargs [1]->dreg = ins->sreg1;
-
- if (managed_alloc)
- dest = mono_emit_method_call (cfg, managed_alloc, iargs, NULL);
- else
- dest = mono_emit_jit_icall (cfg, mono_array_new_specific, iargs);
- dest->dreg = ins->dreg;
- }
- break;
- case OP_STRLEN:
- MONO_EMIT_NULL_CHECK (cfg, ins->sreg1);
- NEW_LOAD_MEMBASE (cfg, dest, OP_LOADI4_MEMBASE, ins->dreg,
- ins->sreg1, G_STRUCT_OFFSET (MonoString, length));
- MONO_ADD_INS (cfg->cbb, dest);
- break;
- default:
- break;
- }
-
- g_assert (cfg->cbb == first_bb);
-
- if (cfg->cbb->code || (cfg->cbb != first_bb)) {
- /* Replace the original instruction with the new code sequence */
-
- mono_replace_ins (cfg, bb, ins, &prev, first_bb, cfg->cbb);
- first_bb->code = first_bb->last_ins = NULL;
- first_bb->in_count = first_bb->out_count = 0;
- cfg->cbb = first_bb;
- }
- else
- prev = ins;
- }
- }
-
- if (cfg->verbose_level > 3) mono_print_bb (bb, "AFTER DECOMPOSE-ARRAY-ACCESS-OPTS ");
- }
-}
-
-typedef union {
- guint32 vali [2];
- gint64 vall;
- double vald;
-} DVal;
-
-#ifdef MONO_ARCH_SOFT_FLOAT
-
-/**
- * mono_decompose_soft_float:
- *
- * Soft float support on ARM. We store each double value in a pair of integer vregs,
- * similar to long support on 32 bit platforms. 32 bit float values require special
- * handling when used as locals, arguments, and in calls.
- * One big problem with soft-float is that there are few r4 test cases in our test suite.
- */
-void
-mono_decompose_soft_float (MonoCompile *cfg)
-{
- MonoBasicBlock *bb, *first_bb;
-
- /*
- * This pass creates long opcodes, so it should be run before decompose_long_opts ().
- */
-
- /**
- * Create a dummy bblock and emit code into it so we can use the normal
- * code generation macros.
- */
- cfg->cbb = mono_mempool_alloc0 ((cfg)->mempool, sizeof (MonoBasicBlock));
- first_bb = cfg->cbb;
-
- for (bb = cfg->bb_entry; bb; bb = bb->next_bb) {
- MonoInst *ins;
- MonoInst *prev = NULL;
- gboolean restart;
-
- if (cfg->verbose_level > 3) mono_print_bb (bb, "BEFORE HANDLE-SOFT-FLOAT ");
-
- cfg->cbb->code = cfg->cbb->last_ins = NULL;
- restart = TRUE;
-
- while (restart) {
- restart = FALSE;
-
- for (ins = bb->code; ins; ins = ins->next) {
- const char *spec = INS_INFO (ins->opcode);
-
- /* Most fp operations are handled automatically by opcode emulation */
-
- switch (ins->opcode) {
- case OP_R8CONST: {
- DVal d;
- d.vald = *(double*)ins->inst_p0;
- MONO_EMIT_NEW_I8CONST (cfg, ins->dreg, d.vall);
- break;
- }
- case OP_R4CONST: {
- DVal d;
- /* We load the r8 value */
- d.vald = *(float*)ins->inst_p0;
- MONO_EMIT_NEW_I8CONST (cfg, ins->dreg, d.vall);
- break;
- }
- case OP_FMOVE:
- ins->opcode = OP_LMOVE;
- break;
- case OP_FGETLOW32:
- ins->opcode = OP_MOVE;
- ins->sreg1 = ins->sreg1 + 1;
- break;
- case OP_FGETHIGH32:
- ins->opcode = OP_MOVE;
- ins->sreg1 = ins->sreg1 + 2;
- break;
- case OP_SETFRET: {
- int reg = ins->sreg1;
-
- ins->opcode = OP_SETLRET;
- ins->dreg = -1;
- ins->sreg1 = reg + 1;
- ins->sreg2 = reg + 2;
- break;
- }
- case OP_LOADR8_MEMBASE:
- ins->opcode = OP_LOADI8_MEMBASE;
- break;
- case OP_STORER8_MEMBASE_REG:
- ins->opcode = OP_STOREI8_MEMBASE_REG;
- break;
- case OP_STORER4_MEMBASE_REG: {
- MonoInst *iargs [2];
- int addr_reg;
-
- /* Arg 1 is the double value */
- MONO_INST_NEW (cfg, iargs [0], OP_ARG);
- iargs [0]->dreg = ins->sreg1;
-
- /* Arg 2 is the address to store to */
- addr_reg = mono_alloc_preg (cfg);
- EMIT_NEW_BIALU_IMM (cfg, iargs [1], OP_PADD_IMM, addr_reg, ins->inst_destbasereg, ins->inst_offset);
- mono_emit_jit_icall (cfg, mono_fstore_r4, iargs);
- restart = TRUE;
- break;
- }
- case OP_LOADR4_MEMBASE: {
- MonoInst *iargs [1];
- MonoInst *conv;
- int addr_reg;
-
- addr_reg = mono_alloc_preg (cfg);
- EMIT_NEW_BIALU_IMM (cfg, iargs [0], OP_PADD_IMM, addr_reg, ins->inst_basereg, ins->inst_offset);
- conv = mono_emit_jit_icall (cfg, mono_fload_r4, iargs);
- conv->dreg = ins->dreg;
- break;
- }
- case OP_FCALL:
- case OP_FCALL_REG:
- case OP_FCALL_MEMBASE: {
- MonoCallInst *call = (MonoCallInst*)ins;
- if (call->signature->ret->type == MONO_TYPE_R4) {
- MonoCallInst *call2;
- MonoInst *iargs [1];
- MonoInst *conv;
-
- /* Convert the call into a call returning an int */
- MONO_INST_NEW_CALL (cfg, call2, OP_CALL);
- memcpy (call2, call, sizeof (MonoCallInst));
- switch (ins->opcode) {
- case OP_FCALL:
- call2->inst.opcode = OP_CALL;
- break;
- case OP_FCALL_REG:
- call2->inst.opcode = OP_CALL_REG;
- break;
- case OP_FCALL_MEMBASE:
- call2->inst.opcode = OP_CALL_MEMBASE;
- break;
- default:
- g_assert_not_reached ();
- }
- call2->inst.dreg = mono_alloc_ireg (cfg);
- MONO_ADD_INS (cfg->cbb, (MonoInst*)call2);
-
- /* FIXME: Optimize this */
-
- /* Emit an r4->r8 conversion */
- EMIT_NEW_VARLOADA_VREG (cfg, iargs [0], call2->inst.dreg, &mono_defaults.int32_class->byval_arg);
- conv = mono_emit_jit_icall (cfg, mono_fload_r4, iargs);
- conv->dreg = ins->dreg;
-
- /* The call sequence might include fp ins */
- restart = TRUE;
- } else {
- switch (ins->opcode) {
- case OP_FCALL:
- ins->opcode = OP_LCALL;
- break;
- case OP_FCALL_REG:
- ins->opcode = OP_LCALL_REG;
- break;
- case OP_FCALL_MEMBASE:
- ins->opcode = OP_LCALL_MEMBASE;
- break;
- default:
- g_assert_not_reached ();
- }
- }
- break;
- }
- case OP_FCOMPARE: {
- MonoJitICallInfo *info;
- MonoInst *iargs [2];
- MonoInst *call, *cmp, *br;
-
- /* Convert fcompare+fbcc to icall+icompare+beq */
-
- info = mono_find_jit_opcode_emulation (ins->next->opcode);
- g_assert (info);
-
- /* Create dummy MonoInst's for the arguments */
- MONO_INST_NEW (cfg, iargs [0], OP_ARG);
- iargs [0]->dreg = ins->sreg1;
- MONO_INST_NEW (cfg, iargs [1], OP_ARG);
- iargs [1]->dreg = ins->sreg2;
-
- call = mono_emit_native_call (cfg, mono_icall_get_wrapper (info), info->sig, iargs);
-
- MONO_INST_NEW (cfg, cmp, OP_ICOMPARE_IMM);
- cmp->sreg1 = call->dreg;
- cmp->inst_imm = 0;
- MONO_ADD_INS (cfg->cbb, cmp);
-
- MONO_INST_NEW (cfg, br, OP_IBNE_UN);
- br->inst_many_bb = mono_mempool_alloc (cfg->mempool, sizeof (gpointer) * 2);
- br->inst_true_bb = ins->next->inst_true_bb;
- br->inst_false_bb = ins->next->inst_false_bb;
- MONO_ADD_INS (cfg->cbb, br);
-
- /* The call sequence might include fp ins */
- restart = TRUE;
-
- /* Skip fbcc or fccc */
- NULLIFY_INS (ins->next);
- break;
- }
- case OP_FCEQ:
- case OP_FCGT:
- case OP_FCGT_UN:
- case OP_FCLT:
- case OP_FCLT_UN: {
- MonoJitICallInfo *info;
- MonoInst *iargs [2];
- MonoInst *call;
-
- /* Convert fccc to icall+icompare+iceq */
-
- info = mono_find_jit_opcode_emulation (ins->opcode);
- g_assert (info);
-
- /* Create dummy MonoInst's for the arguments */
- MONO_INST_NEW (cfg, iargs [0], OP_ARG);
- iargs [0]->dreg = ins->sreg1;
- MONO_INST_NEW (cfg, iargs [1], OP_ARG);
- iargs [1]->dreg = ins->sreg2;
-
- call = mono_emit_native_call (cfg, mono_icall_get_wrapper (info), info->sig, iargs);
-
- MONO_EMIT_NEW_BIALU_IMM (cfg, OP_ICOMPARE_IMM, -1, call->dreg, 1);
- MONO_EMIT_NEW_UNALU (cfg, OP_ICEQ, ins->dreg, -1);
-
- /* The call sequence might include fp ins */
- restart = TRUE;
- break;
- }
- case OP_CKFINITE: {
- MonoInst *iargs [2];
- MonoInst *call, *cmp;
-
- /* Convert to icall+icompare+cond_exc+move */
-
- /* Create dummy MonoInst's for the arguments */
- MONO_INST_NEW (cfg, iargs [0], OP_ARG);
- iargs [0]->dreg = ins->sreg1;
-
- call = mono_emit_jit_icall (cfg, mono_isfinite, iargs);
-
- MONO_INST_NEW (cfg, cmp, OP_ICOMPARE_IMM);
- cmp->sreg1 = call->dreg;
- cmp->inst_imm = 1;
- MONO_ADD_INS (cfg->cbb, cmp);
-
- MONO_EMIT_NEW_COND_EXC (cfg, INE_UN, "ArithmeticException");
-
- /* Do the assignment if the value is finite */
- MONO_EMIT_NEW_UNALU (cfg, OP_FMOVE, ins->dreg, ins->sreg1);
-
- restart = TRUE;
- break;
- }
- default:
- if (spec [MONO_INST_SRC1] == 'f' || spec [MONO_INST_SRC2] == 'f' || spec [MONO_INST_DEST] == 'f') {
- mono_print_ins (ins);
- g_assert_not_reached ();
- }
- break;
- }
-
- g_assert (cfg->cbb == first_bb);
-
- if (cfg->cbb->code || (cfg->cbb != first_bb)) {
- /* Replace the original instruction with the new code sequence */
-
- mono_replace_ins (cfg, bb, ins, &prev, first_bb, cfg->cbb);
- first_bb->code = first_bb->last_ins = NULL;
- first_bb->in_count = first_bb->out_count = 0;
- cfg->cbb = first_bb;
- }
- else
- prev = ins;
- }
- }
-
- if (cfg->verbose_level > 3) mono_print_bb (bb, "AFTER HANDLE-SOFT-FLOAT ");
- }
-
- mono_decompose_long_opts (cfg);
-}
-
-#endif
-
static void
emit_stloc_ir (MonoCompile *cfg, MonoInst **sp, MonoMethodHeader *header, int n)
{
MonoInst *return_var, GList *dont_inline, MonoInst **inline_args,
guint inline_offset, gboolean is_virtual_call)
{
+ MonoError error;
MonoInst *ins, **sp, **stack_start;
MonoBasicBlock *bblock, *tblock = NULL, *init_localsbb = NULL;
+ MonoSimpleBasicBlock *bb = NULL;
MonoMethod *cmethod, *method_definition;
MonoInst **arg_array;
MonoMethodHeader *header;
GSList *class_inits = NULL;
gboolean dont_verify, dont_verify_stloc, readonly = FALSE;
int context_used;
- gboolean init_locals, seq_points;
+ gboolean init_locals, seq_points, skip_dead_blocks;
/* serialization and xdomain stuff may need access to private fields and methods */
dont_verify = method->klass->image->assembly->corlib_internal? TRUE: FALSE;
MONO_EMIT_NEW_CHECK_THIS (cfg, arg_ins->dreg);
}
+ skip_dead_blocks = !dont_verify;
+ if (skip_dead_blocks) {
+ bb = mono_basic_block_split (method, &error);
+ if (!mono_error_ok (&error)) {
+ mono_error_cleanup (&error);
+ UNVERIFIED;
+ }
+ g_assert (bb);
+ }
+
/* we use a spare stack slot in SWITCH and NEWOBJ and others */
stack_start = sp = mono_mempool_alloc0 (cfg->mempool, sizeof (MonoInst*) * (header->max_stack + 1));
start_new_bblock = 0;
cfg->cbb = bblock;
while (ip < end) {
-
if (cfg->method == method)
cfg->real_offset = ip - header->code;
else
}
}
+ if (skip_dead_blocks) {
+ int ip_offset = ip - header->code;
+
+ if (ip_offset == bb->end)
+ bb = bb->next;
+
+ if (bb->dead) {
+ int op_size = mono_opcode_size (ip, end);
+ g_assert (op_size > 0); /*The BB formation pass must catch all bad ops*/
+
+ if (cfg->verbose_level > 3) printf ("SKIPPING DEAD OP at %x\n", ip_offset);
+
+ if (ip_offset + op_size == bb->end) {
+ MONO_INST_NEW (cfg, ins, OP_NOP);
+ MONO_ADD_INS (bblock, ins);
+ start_new_bblock = 1;
+ }
+
+ ip += op_size;
+ continue;
+ }
+ }
/*
* Sequence points are points where the debugger can place a breakpoint.
* Currently, we generate these automatically at points where the IL
if (cfg->ret) {
MonoType *ret_type = mono_method_signature (method)->ret;
+ if (seq_points) {
+ /*
+ * Place a seq point here too even through the IL stack is not
+ * empty, so a step over on
+ * call <FOO>
+ * ret
+ * will work correctly.
+ */
+ NEW_SEQ_POINT (cfg, ins, ip - header->code, TRUE);
+ MONO_ADD_INS (cfg->cbb, ins);
+ }
+
g_assert (!return_var);
CHECK_STACK (1);
--sp;
}
} else {
#ifdef MONO_ARCH_SOFT_FLOAT
- if (!ret_type->byref && ret_type->type == MONO_TYPE_R4) {
+ if (COMPILE_SOFT_FLOAT (cfg) && !ret_type->byref && ret_type->type == MONO_TYPE_R4) {
MonoInst *iargs [1];
MonoInst *conv;
if (cfg->generic_sharing_context)
context_used = mono_class_check_context_used (klass);
- if (context_used) {
- MonoInst *args [2];
-
- /* obj */
- args [0] = *sp;
-
- /* klass */
- args [1] = emit_get_rgctx_klass (cfg, context_used,
- klass, MONO_RGCTX_INFO_KLASS);
-
- ins = mono_emit_jit_icall (cfg, mono_object_castclass, args);
- *sp ++ = ins;
- ip += 5;
- inline_costs += 2;
- } else if (mono_class_has_variant_generic_params (klass)) {
+ if (!context_used && mono_class_has_variant_generic_params (klass)) {
MonoInst *args [2];
/* obj */
*sp ++ = ins;
ip += 5;
inline_costs += 2;
- } else if (klass->marshalbyref || klass->flags & TYPE_ATTRIBUTE_INTERFACE) {
+ } else if (!context_used && (klass->marshalbyref || klass->flags & TYPE_ATTRIBUTE_INTERFACE)) {
MonoMethod *mono_castclass;
MonoInst *iargs [1];
int costs;
inline_costs += costs;
}
else {
- ins = handle_castclass (cfg, klass, *sp);
+ ins = handle_castclass (cfg, klass, *sp, context_used);
CHECK_CFG_EXCEPTION;
bblock = cfg->cbb;
*sp ++ = ins;
if (cfg->generic_sharing_context)
context_used = mono_class_check_context_used (klass);
- if (context_used) {
- MonoInst *args [2];
-
- /* obj */
- args [0] = *sp;
-
- /* klass */
- args [1] = emit_get_rgctx_klass (cfg, context_used, klass, MONO_RGCTX_INFO_KLASS);
-
- *sp = mono_emit_jit_icall (cfg, mono_object_isinst, args);
- sp++;
- ip += 5;
- inline_costs += 2;
- } else if (mono_class_has_variant_generic_params (klass)) {
+ if (!context_used && mono_class_has_variant_generic_params (klass)) {
MonoInst *args [2];
/* obj */
sp++;
ip += 5;
inline_costs += 2;
- } else if (klass->marshalbyref || klass->flags & TYPE_ATTRIBUTE_INTERFACE) {
+ } else if (!context_used && (klass->marshalbyref || klass->flags & TYPE_ATTRIBUTE_INTERFACE)) {
MonoMethod *mono_isinst;
MonoInst *iargs [1];
int costs;
inline_costs += costs;
}
else {
- ins = handle_isinst (cfg, klass, *sp);
+ ins = handle_isinst (cfg, klass, *sp, context_used);
CHECK_CFG_EXCEPTION;
bblock = cfg->cbb;
*sp ++ = ins;
*sp++ = iargs [0];
inline_costs += costs;
} else {
- ins = handle_castclass (cfg, klass, *sp);
+ ins = handle_castclass (cfg, klass, *sp, 0);
CHECK_CFG_EXCEPTION;
bblock = cfg->cbb;
*sp ++ = ins;
EMIT_NEW_LOAD_MEMBASE_TYPE (cfg, load, field->type, sp [0]->dreg, foffset);
load->flags |= ins_flag;
+ load->flags |= MONO_INST_FAULT;
*sp++ = load;
}
}
is_special_static = mono_class_field_is_special_static (field);
/* Generate IR to compute the field address */
+ if (is_special_static && ((gsize)addr & 0x80000000) == 0 && mono_get_thread_intrinsic (cfg) && !(cfg->opt & MONO_OPT_SHARED) && !context_used) {
+ /*
+ * Fast access to TLS data
+ * Inline version of get_thread_static_data () in
+ * threads.c.
+ */
+ guint32 offset;
+ int idx, static_data_reg, array_reg, dreg;
+ MonoInst *thread_ins;
+
+ // offset &= 0x7fffffff;
+ // idx = (offset >> 24) - 1;
+ // return ((char*) thread->static_data [idx]) + (offset & 0xffffff);
+
+ thread_ins = mono_get_thread_intrinsic (cfg);
+ MONO_ADD_INS (cfg->cbb, thread_ins);
+ static_data_reg = alloc_ireg (cfg);
+ MONO_EMIT_NEW_LOAD_MEMBASE (cfg, static_data_reg, thread_ins->dreg, G_STRUCT_OFFSET (MonoInternalThread, static_data));
+
+ if (cfg->compile_aot) {
+ int offset_reg, offset2_reg, idx_reg;
+
+ /* For TLS variables, this will return the TLS offset */
+ EMIT_NEW_SFLDACONST (cfg, ins, field);
+ offset_reg = ins->dreg;
+ MONO_EMIT_NEW_BIALU_IMM (cfg, OP_IAND_IMM, offset_reg, offset_reg, 0x7fffffff);
+ idx_reg = alloc_ireg (cfg);
+ MONO_EMIT_NEW_BIALU_IMM (cfg, OP_ISHR_IMM, idx_reg, offset_reg, 24);
+ MONO_EMIT_NEW_BIALU_IMM (cfg, OP_ISUB_IMM, idx_reg, idx_reg, 1);
+ MONO_EMIT_NEW_BIALU_IMM (cfg, OP_ISHL_IMM, idx_reg, idx_reg, sizeof (gpointer) == 8 ? 3 : 2);
+ MONO_EMIT_NEW_BIALU (cfg, OP_PADD, static_data_reg, static_data_reg, idx_reg);
+ array_reg = alloc_ireg (cfg);
+ MONO_EMIT_NEW_LOAD_MEMBASE (cfg, array_reg, static_data_reg, 0);
+ offset2_reg = alloc_ireg (cfg);
+ MONO_EMIT_NEW_BIALU_IMM (cfg, OP_IAND_IMM, offset2_reg, offset_reg, 0xffffff);
+ dreg = alloc_ireg (cfg);
+ EMIT_NEW_BIALU (cfg, ins, OP_PADD, dreg, array_reg, offset2_reg);
+ } else {
+ offset = (gsize)addr & 0x7fffffff;
+ idx = (offset >> 24) - 1;
- if ((cfg->opt & MONO_OPT_SHARED) ||
+ array_reg = alloc_ireg (cfg);
+ MONO_EMIT_NEW_LOAD_MEMBASE (cfg, array_reg, static_data_reg, idx * sizeof (gpointer));
+ dreg = alloc_ireg (cfg);
+ EMIT_NEW_BIALU_IMM (cfg, ins, OP_ADD_IMM, dreg, array_reg, (offset & 0xffffff));
+ }
+ } else if ((cfg->opt & MONO_OPT_SHARED) ||
(cfg->compile_aot && is_special_static) ||
(context_used && is_special_static)) {
MonoInst *iargs [2];
else
EMIT_NEW_PCONST (cfg, ins, addr);
} else {
- /*
- * insert call to mono_threads_get_static_data (GPOINTER_TO_UINT (addr))
- * This could be later optimized to do just a couple of
- * memory dereferences with constant offsets.
- */
MonoInst *iargs [1];
EMIT_NEW_ICONST (cfg, iargs [0], GPOINTER_TO_UINT (addr));
ins = mono_emit_jit_icall (cfg, mono_get_special_static_data, iargs);
CHECK_STACK_OVF (1);
CHECK_OPSIZE (6);
token = read32 (ip + 2);
- if (mono_metadata_token_table (token) == MONO_TABLE_TYPESPEC) {
+ if (mono_metadata_token_table (token) == MONO_TABLE_TYPESPEC && !method->klass->image->dynamic) {
MonoType *type = mono_type_create_from_typespec (image, token);
token = mono_type_size (type, &ialign);
} else {
}
}
+ if (cfg->init_ref_vars && cfg->method == method) {
+ /* Emit initialization for ref vars */
+ // FIXME: Avoid duplication initialization for IL locals.
+ for (i = 0; i < cfg->num_varinfo; ++i) {
+ MonoInst *ins = cfg->varinfo [i];
+
+ if (ins->opcode == OP_LOCAL && ins->type == STACK_OBJ)
+ MONO_EMIT_NEW_PCONST (cfg, ins->dreg, NULL);
+ }
+ }
+
/* Add a sequence point for method entry/exit events */
if (seq_points) {
NEW_SEQ_POINT (cfg, ins, METHOD_ENTRY_IL_OFFSET, FALSE);
exception_exit:
g_assert (cfg->exception_type != MONO_EXCEPTION_NONE);
g_slist_free (class_inits);
+ mono_basic_block_free (bb);
dont_inline = g_list_remove (dont_inline, method);
return -1;
inline_failure:
g_slist_free (class_inits);
+ mono_basic_block_free (bb);
dont_inline = g_list_remove (dont_inline, method);
return -1;
load_error:
g_slist_free (class_inits);
+ mono_basic_block_free (bb);
dont_inline = g_list_remove (dont_inline, method);
cfg->exception_type = MONO_EXCEPTION_TYPE_LOAD;
return -1;
unverified:
g_slist_free (class_inits);
+ mono_basic_block_free (bb);
dont_inline = g_list_remove (dont_inline, method);
set_exception_type_from_invalid_il (cfg, method, ip);
return -1;
if ((ins->opcode != OP_REGVAR) && !(ins->flags & MONO_INST_IS_DEAD)) {
switch (ins->type) {
-#ifdef MONO_ARCH_SOFT_FLOAT
case STACK_R8:
-#endif
case STACK_I8: {
MonoInst *tree;
+ if (ins->type == STACK_R8 && !COMPILE_SOFT_FLOAT (cfg))
+ break;
+
g_assert (ins->opcode == OP_REGOFFSET);
tree = get_vreg_to_inst (cfg, ins->dreg + 1);
* don't split live ranges, these will precisely describe the live range of
* the variable, i.e. the instruction range where a valid value can be found
* in the variables location.
+ * The live range is computed using the liveness info computed by the liveness pass.
+ * We can't use vmv->range, since that is an abstract live range, and we need
+ * one which is instruction precise.
+ * FIXME: Variables used in out-of-line bblocks have a hole in their live range.
*/
/* FIXME: Only do this if debugging info is requested */
live_range_start = g_new0 (MonoInst*, cfg->next_vreg);
lvreg = 0;
-#ifdef MONO_ARCH_SOFT_FLOAT
- if (store_opcode == OP_STORER8_MEMBASE_REG) {
+ if (COMPILE_SOFT_FLOAT (cfg) && store_opcode == OP_STORER8_MEMBASE_REG) {
regtype = 'l';
store_opcode = OP_STOREI8_MEMBASE_REG;
}
-#endif
ins->dreg = alloc_dreg (cfg, stacktypes [regtype]);
if (cfg->verbose_level > 2)
mono_print_ins_index (1, ins);
}
+
+ /* Extend the live range based on the liveness info */
+ if (cfg->compute_precise_live_ranges && bb->live_out_set && bb->code) {
+ for (i = 0; i < cfg->num_varinfo; i ++) {
+ MonoMethodVar *vi = MONO_VARINFO (cfg, i);
+
+ if (vreg_is_volatile (cfg, vi->vreg))
+ /* The liveness info is incomplete */
+ continue;
+
+ if (mono_bitset_test_fast (bb->live_in_set, i) && !live_range_start [vi->vreg]) {
+ /* Live from at least the first ins of this bb */
+ live_range_start [vi->vreg] = bb->code;
+ live_range_start_bb [vi->vreg] = bb;
+ }
+
+ if (mono_bitset_test_fast (bb->live_out_set, i)) {
+ /* Live at least until the last ins of this bb */
+ live_range_end [vi->vreg] = bb->last_ins;
+ live_range_end_bb [vi->vreg] = bb;
+ }
+ }
+ }
}
#ifdef MONO_ARCH_HAVE_LIVERANGE_OPS
* Emit LIVERANGE_START/LIVERANGE_END opcodes, the backend will implement them
* by storing the current native offset into MonoMethodVar->live_range_start/end.
*/
- for (i = 0; i < cfg->num_varinfo; ++i) {
- int vreg = MONO_VARINFO (cfg, i)->vreg;
- MonoInst *ins;
-
- if (live_range_start [vreg]) {
- MONO_INST_NEW (cfg, ins, OP_LIVERANGE_START);
- ins->inst_c0 = i;
- ins->inst_c1 = vreg;
- mono_bblock_insert_after_ins (live_range_start_bb [vreg], live_range_start [vreg], ins);
- }
- if (live_range_end [vreg]) {
- MONO_INST_NEW (cfg, ins, OP_LIVERANGE_END);
- ins->inst_c0 = i;
- ins->inst_c1 = vreg;
- mono_bblock_insert_after_ins (live_range_end_bb [vreg], live_range_end [vreg], ins);
+ if (cfg->compute_precise_live_ranges && cfg->comp_done & MONO_COMP_LIVENESS) {
+ for (i = 0; i < cfg->num_varinfo; ++i) {
+ int vreg = MONO_VARINFO (cfg, i)->vreg;
+ MonoInst *ins;
+
+ if (live_range_start [vreg]) {
+ MONO_INST_NEW (cfg, ins, OP_LIVERANGE_START);
+ ins->inst_c0 = i;
+ ins->inst_c1 = vreg;
+ mono_bblock_insert_after_ins (live_range_start_bb [vreg], live_range_start [vreg], ins);
+ }
+ if (live_range_end [vreg]) {
+ MONO_INST_NEW (cfg, ins, OP_LIVERANGE_END);
+ ins->inst_c0 = i;
+ ins->inst_c1 = vreg;
+ if (live_range_end [vreg] == live_range_end_bb [vreg]->last_ins)
+ mono_add_ins_to_end (live_range_end_bb [vreg], ins);
+ else
+ mono_bblock_insert_after_ins (live_range_end_bb [vreg], live_range_end [vreg], ins);
+ }
}
}
#endif
#define CALLCONV_IS_STDCALL(call_conv) ((call_conv) == MONO_CALL_STDCALL)
#endif
-/* amd64_mov_reg_imm () */
-#define BREAKPOINT_SIZE 8
-
/* This mutex protects architecture specific caches */
#define mono_mini_arch_lock() EnterCriticalSection (&mini_arch_mutex)
#define mono_mini_arch_unlock() LeaveCriticalSection (&mini_arch_mutex)
/* Enabled breakpoints read from this trigger page */
static gpointer bp_trigger_page;
+/* The size of the breakpoint sequence */
+static int breakpoint_size;
+
+/* The size of the breakpoint instruction causing the actual fault */
+static int breakpoint_fault_size;
+
+/* The size of the single step instruction causing the actual fault */
+static int single_step_fault_size;
+
#ifdef HOST_WIN32
/* On Win64 always reserve first 32 bytes for first four arguments */
#define ARGS_OFFSET 48
add_general (&gr, &stack_size, &cinfo->sig_cookie);
}
- if (sig->params [i]->byref) {
- add_general (&gr, &stack_size, ainfo);
- continue;
- }
ptype = mini_type_get_underlying_type (gsctx, sig->params [i]);
switch (ptype->type) {
case MONO_TYPE_BOOLEAN:
void
mono_arch_init (void)
{
+ int flags;
+
InitializeCriticalSection (&mini_arch_mutex);
- ss_trigger_page = mono_valloc (NULL, mono_pagesize (), MONO_MMAP_READ|MONO_MMAP_32BIT);
- bp_trigger_page = mono_valloc (NULL, mono_pagesize (), MONO_MMAP_READ|MONO_MMAP_32BIT);
+#ifdef MONO_ARCH_NOMAP32BIT
+ flags = MONO_MMAP_READ;
+ /* amd64_mov_reg_imm () + amd64_mov_reg_membase () */
+ breakpoint_size = 13;
+ breakpoint_fault_size = 3;
+ /* amd64_alu_membase_imm_size (code, X86_CMP, AMD64_R11, 0, 0, 4); */
+ single_step_fault_size = 5;
+#else
+ flags = MONO_MMAP_READ|MONO_MMAP_32BIT;
+ /* amd64_mov_reg_mem () */
+ breakpoint_size = 8;
+ breakpoint_fault_size = 8;
+ single_step_fault_size = 8;
+#endif
+
+ ss_trigger_page = mono_valloc (NULL, mono_pagesize (), flags);
+ bp_trigger_page = mono_valloc (NULL, mono_pagesize (), flags);
mono_mprotect (bp_trigger_page, mono_pagesize (), 0);
}
return sse_opts;
}
+#ifndef DISABLE_JIT
+
GList *
mono_arch_get_allocatable_int_vars (MonoCompile *cfg)
{
}
}
+ if (cfg->gen_seq_points) {
+ MonoInst *ins;
+
+ ins = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
+ ins->flags |= MONO_INST_VOLATILE;
+ cfg->arch.ss_trigger_page_var = ins;
+ }
+
#ifdef MONO_AMD64_NO_PUSHES
/*
* When this is set, we pass arguments on the stack by moves, and by allocating
{
MonoType *ret = mini_type_get_underlying_type (NULL, mono_method_signature (method)->ret);
- if (!ret->byref) {
- if (ret->type == MONO_TYPE_R4) {
- if (COMPILE_LLVM (cfg))
- MONO_EMIT_NEW_UNALU (cfg, OP_FMOVE, cfg->ret->dreg, val->dreg);
- else
- MONO_EMIT_NEW_UNALU (cfg, OP_AMD64_SET_XMMREG_R4, cfg->ret->dreg, val->dreg);
- return;
- } else if (ret->type == MONO_TYPE_R8) {
+ if (ret->type == MONO_TYPE_R4) {
+ if (COMPILE_LLVM (cfg))
MONO_EMIT_NEW_UNALU (cfg, OP_FMOVE, cfg->ret->dreg, val->dreg);
- return;
- }
+ else
+ MONO_EMIT_NEW_UNALU (cfg, OP_AMD64_SET_XMMREG_R4, cfg->ret->dreg, val->dreg);
+ return;
+ } else if (ret->type == MONO_TYPE_R8) {
+ MONO_EMIT_NEW_UNALU (cfg, OP_FMOVE, cfg->ret->dreg, val->dreg);
+ return;
}
MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, cfg->ret->dreg, val->dreg);
}
+#endif /* DISABLE_JIT */
+
#define EMIT_COND_BRANCH(ins,cond,sign) \
if (ins->inst_true_bb->native_offset) { \
x86_branch (code, cond, cfg->native_code + ins->inst_true_bb->native_offset, sign); \
return -1;
}
+#ifndef DISABLE_JIT
+
#define INST_IGNORES_CFLAGS(opcode) (!(((opcode) == OP_ADC) || ((opcode) == OP_ADC_IMM) || ((opcode) == OP_IADC) || ((opcode) == OP_IADC_IMM) || ((opcode) == OP_SBB) || ((opcode) == OP_SBB_IMM) || ((opcode) == OP_ISBB) || ((opcode) == OP_ISBB_IMM)))
/*
if (((ins2->opcode == OP_STORE_MEMBASE_IMM) || (ins2->opcode == OP_STOREI4_MEMBASE_IMM) || (ins2->opcode == OP_STOREI8_MEMBASE_IMM) || (ins2->opcode == OP_STORE_MEMBASE_IMM)) && (ins2->inst_imm == 0)) {
ins2->opcode = store_membase_imm_to_store_membase_reg (ins2->opcode);
ins2->sreg1 = ins->dreg;
- } else if ((ins2->opcode == OP_STOREI1_MEMBASE_IMM) || (ins2->opcode == OP_STOREI2_MEMBASE_IMM) || (ins2->opcode == OP_STOREI4_MEMBASE_REG) || (ins2->opcode == OP_STOREI8_MEMBASE_REG) || (ins2->opcode == OP_STORE_MEMBASE_REG)) {
+ } else if ((ins2->opcode == OP_STOREI1_MEMBASE_IMM) || (ins2->opcode == OP_STOREI2_MEMBASE_IMM) || (ins2->opcode == OP_STOREI4_MEMBASE_REG) || (ins2->opcode == OP_STOREI8_MEMBASE_REG) || (ins2->opcode == OP_STORE_MEMBASE_REG) || (ins2->opcode == OP_LIVERANGE_START)) {
/* Continue */
} else if (((ins2->opcode == OP_ICONST) || (ins2->opcode == OP_I8CONST)) && (ins2->dreg == ins->dreg) && (ins2->inst_c0 == 0)) {
NULLIFY_INS (ins2);
return code;
}
+#endif /* DISABLE_JIT */
+
/*
* mono_amd64_emit_tls_get:
* @code: buffer to store code to
* We do this _before_ the breakpoint, so single stepping after
* a breakpoint is hit will step to the next IL offset.
*/
- g_assert (((guint64)ss_trigger_page >> 32) == 0);
+ if (ins->flags & MONO_INST_SINGLE_STEP_LOC) {
+ if (((guint64)ss_trigger_page >> 32) == 0)
+ amd64_mov_reg_mem (code, AMD64_R11, (guint64)ss_trigger_page, 4);
+ else {
+ MonoInst *var = cfg->arch.ss_trigger_page_var;
- if (ins->flags & MONO_INST_SINGLE_STEP_LOC)
- amd64_mov_reg_mem (code, AMD64_R11, (guint64)ss_trigger_page, 4);
+ amd64_mov_reg_membase (code, AMD64_R11, var->inst_basereg, var->inst_offset, 8);
+ amd64_alu_membase_imm_size (code, X86_CMP, AMD64_R11, 0, 0, 4);
+ }
+ }
+ /*
+ * This is the address which is saved in seq points,
+ * get_ip_for_single_step () / get_ip_for_breakpoint () needs to compute this
+ * from the address of the instruction causing the fault.
+ */
mono_add_seq_point (cfg, bb, ins, code - cfg->native_code);
/*
* A placeholder for a possible breakpoint inserted by
* mono_arch_set_breakpoint ().
*/
- for (i = 0; i < BREAKPOINT_SIZE; ++i)
+ for (i = 0; i < breakpoint_size; ++i)
x86_nop (code);
break;
}
}
}
+#ifndef DISABLE_JIT
+
static int
get_max_epilog_size (MonoCompile *cfg)
{
}
#endif
+#ifndef TARGET_WIN32
+ if (mini_get_debug_options ()->init_stacks) {
+ /* Fill the stack frame with a dummy value to force deterministic behavior */
+
+ /* Save registers to the red zone */
+ amd64_mov_membase_reg (code, AMD64_RSP, -8, AMD64_RDI, 8);
+ amd64_mov_membase_reg (code, AMD64_RSP, -16, AMD64_RCX, 8);
+
+ amd64_mov_reg_imm (code, AMD64_RAX, 0x2a2a2a2a2a2a2a2a);
+ amd64_mov_reg_imm (code, AMD64_RCX, alloc_size / 8);
+ amd64_mov_reg_reg (code, AMD64_RDI, AMD64_RSP, 8);
+
+ amd64_cld (code);
+ amd64_prefix (code, X86_REP_PREFIX);
+ amd64_stosl (code);
+
+ amd64_mov_reg_membase (code, AMD64_RDI, AMD64_RSP, -8, 8);
+ amd64_mov_reg_membase (code, AMD64_RCX, AMD64_RSP, -16, 8);
+ }
+#endif
+
/* Save LMF */
if (method->save_lmf) {
/*
* The ip field is not set, the exception handling code will obtain it from the stack location pointed to by the sp field.
*/
- /* sp is saved right before calls */
+ /*
+ * sp is saved right before calls but we need to save it here too so
+ * async stack walks would work.
+ */
+ amd64_mov_membase_reg (code, cfg->frame_reg, cfg->arch.lmf_offset + G_STRUCT_OFFSET (MonoLMF, rsp), AMD64_RSP, 8);
/* Skip method (only needed for trampoline LMF frames) */
/* Save callee saved regs */
for (i = 0; i < MONO_MAX_IREGS; ++i) {
}
}
+ /* Initialize ss_trigger_page_var */
+ if (cfg->arch.ss_trigger_page_var) {
+ MonoInst *var = cfg->arch.ss_trigger_page_var;
+
+ g_assert (!cfg->compile_aot);
+ g_assert (var->opcode == OP_REGOFFSET);
+
+ amd64_mov_reg_imm (code, AMD64_R11, (guint64)ss_trigger_page);
+ amd64_mov_membase_reg (code, var->inst_basereg, var->inst_offset, AMD64_R11, 8);
+ }
+
cfg->code_len = code - cfg->native_code;
g_assert (cfg->code_len < cfg->code_size);
}
+#endif /* DISABLE_JIT */
+
void*
mono_arch_instrument_prolog (MonoCompile *cfg, void *func, void *p, gboolean enable_arguments)
{
return (MonoVTable*) regs [MONO_ARCH_RGCTX_REG];
}
+GSList*
+mono_arch_get_cie_program (void)
+{
+ GSList *l = NULL;
+
+ mono_add_unwind_op_def_cfa (l, (guint8*)NULL, (guint8*)NULL, AMD64_RSP, 8);
+ mono_add_unwind_op_offset (l, (guint8*)NULL, (guint8*)NULL, AMD64_RIP, -8);
+
+ return l;
+}
+
MonoInst*
mono_arch_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSignature *fsig, MonoInst **args)
{
* instead.
*/
g_assert (code [0] == 0x90);
+ if (breakpoint_size == 8) {
+ amd64_mov_reg_mem (code, AMD64_R11, (guint64)bp_trigger_page, 4);
+ } else {
+ amd64_mov_reg_imm_size (code, AMD64_R11, (guint64)bp_trigger_page, 8);
+ amd64_mov_reg_membase (code, AMD64_R11, AMD64_R11, 0, 4);
+ }
- g_assert (((guint64)bp_trigger_page >> 32) == 0);
-
- amd64_mov_reg_mem (code, AMD64_R11, (guint64)bp_trigger_page, 4);
- g_assert (code - orig_code == BREAKPOINT_SIZE);
+ g_assert (code - orig_code == breakpoint_size);
}
/*
guint8 *code = ip;
int i;
- for (i = 0; i < BREAKPOINT_SIZE; ++i)
+ for (i = 0; i < breakpoint_size; ++i)
x86_nop (code);
}
+
+gboolean
+mono_arch_is_breakpoint_event (void *info, void *sigctx)
+{
+#ifdef HOST_WIN32
+ EXCEPTION_RECORD* einfo = (EXCEPTION_RECORD*)info;
+ return FALSE;
+#else
+ siginfo_t* sinfo = (siginfo_t*) info;
+ /* Sometimes the address is off by 4 */
+ if (sinfo->si_addr >= bp_trigger_page && (guint8*)sinfo->si_addr <= (guint8*)bp_trigger_page + 128)
+ return TRUE;
+ else
+ return FALSE;
+#endif
+}
+
+/*
+ * mono_arch_get_ip_for_breakpoint:
+ *
+ * Convert the ip in CTX to the address where a breakpoint was placed.
+ */
+guint8*
+mono_arch_get_ip_for_breakpoint (MonoJitInfo *ji, MonoContext *ctx)
+{
+ guint8 *ip = MONO_CONTEXT_GET_IP (ctx);
+
+ /* ip points to the instruction causing the fault */
+ ip -= (breakpoint_size - breakpoint_fault_size);
+
+ return ip;
+}
+
+/*
+ * mono_arch_skip_breakpoint:
+ *
+ * Modify CTX so the ip is placed after the breakpoint instruction, so when
+ * we resume, the instruction is not executed again.
+ */
+void
+mono_arch_skip_breakpoint (MonoContext *ctx)
+{
+ MONO_CONTEXT_SET_IP (ctx, (guint8*)MONO_CONTEXT_GET_IP (ctx) + breakpoint_fault_size);
+}
/*
* mono_arch_start_single_stepping:
#endif
}
-gboolean
-mono_arch_is_breakpoint_event (void *info, void *sigctx)
-{
-#ifdef HOST_WIN32
- EXCEPTION_RECORD* einfo = (EXCEPTION_RECORD*)info;
- return FALSE;
-#else
- siginfo_t* sinfo = (siginfo_t*) info;
- /* Sometimes the address is off by 4 */
- if (sinfo->si_addr >= bp_trigger_page && (guint8*)sinfo->si_addr <= (guint8*)bp_trigger_page + 128)
- return TRUE;
- else
- return FALSE;
-#endif
-}
-
-/*
- * mono_arch_get_ip_for_breakpoint:
- *
- * Convert the ip in CTX to the address where a breakpoint was placed.
- */
-guint8*
-mono_arch_get_ip_for_breakpoint (MonoJitInfo *ji, MonoContext *ctx)
-{
- guint8 *ip = MONO_CONTEXT_GET_IP (ctx);
-
- /* size of xor r11, r11 */
- ip -= 0;
-
- return ip;
-}
-
/*
* mono_arch_get_ip_for_single_step:
*
{
guint8 *ip = MONO_CONTEXT_GET_IP (ctx);
- /* Size of amd64_mov_reg_mem (r11) */
- ip += 8;
+ ip += single_step_fault_size;
return ip;
}
-/*
- * mono_arch_skip_breakpoint:
- *
- * Modify CTX so the ip is placed after the breakpoint instruction, so when
- * we resume, the instruction is not executed again.
- */
-void
-mono_arch_skip_breakpoint (MonoContext *ctx)
-{
- MONO_CONTEXT_SET_IP (ctx, (guint8*)MONO_CONTEXT_GET_IP (ctx) + BREAKPOINT_SIZE);
-}
-
/*
* mono_arch_skip_single_step:
*
void
mono_arch_skip_single_step (MonoContext *ctx)
{
- MONO_CONTEXT_SET_IP (ctx, (guint8*)MONO_CONTEXT_GET_IP (ctx) + 8);
+ MONO_CONTEXT_SET_IP (ctx, (guint8*)MONO_CONTEXT_GET_IP (ctx) + single_step_fault_size);
}
/*
#ifdef HOST_WIN32
gpointer unwindinfo;
#endif
+ gpointer ss_trigger_page_var;
} MonoCompileArch;
typedef struct {
return "unknown";
}
+#ifndef DISABLE_JIT
+
static guint8*
emit_big_add (guint8 *code, int dreg, int sreg, int imm)
{
return code;
}
+#endif /* #ifndef DISABLE_JIT */
+
/*
* mono_arch_get_argument_info:
* @csig: a method signature
return opts;
}
+#ifndef DISABLE_JIT
+
static gboolean
is_regsize_var (MonoType *t) {
if (t->byref)
return 2;
}
+#endif /* #ifndef DISABLE_JIT */
+
#ifndef __GNUC_PREREQ
#define __GNUC_PREREQ(maj, min) (0)
#endif
return cinfo;
}
+#ifndef DISABLE_JIT
/*
* Set var information according to the calling convention. arm version.
{
MonoMethodSignature *sig;
MonoMethodHeader *header;
- MonoInst *inst;
+ MonoInst *ins;
int i, offset, size, align, curinst;
int frame_reg = ARMREG_FP;
CallInfo *cinfo;
offset &= ~(sizeof (gpointer) - 1);
cfg->ret->inst_offset = - offset;
} else {
- inst = cfg->vret_addr;
+ ins = cfg->vret_addr;
offset += sizeof(gpointer) - 1;
offset &= ~(sizeof(gpointer) - 1);
- inst->inst_offset = offset;
- inst->opcode = OP_REGOFFSET;
- inst->inst_basereg = frame_reg;
+ ins->inst_offset = offset;
+ ins->opcode = OP_REGOFFSET;
+ ins->inst_basereg = frame_reg;
if (G_UNLIKELY (cfg->verbose_level > 1)) {
printf ("vret_addr =");
mono_print_ins (cfg->vret_addr);
offset += sizeof(gpointer);
}
+ /* Allocate these first so they have a small offset, OP_SEQ_POINT depends on this */
+ if (cfg->arch.seq_point_info_var) {
+ MonoInst *ins;
+
+ ins = cfg->arch.seq_point_info_var;
+
+ size = 4;
+ align = 4;
+ offset += align - 1;
+ offset &= ~(align - 1);
+ ins->opcode = OP_REGOFFSET;
+ ins->inst_basereg = frame_reg;
+ ins->inst_offset = offset;
+ offset += size;
+
+ ins = cfg->arch.ss_trigger_page_var;
+ size = 4;
+ align = 4;
+ offset += align - 1;
+ offset &= ~(align - 1);
+ ins->opcode = OP_REGOFFSET;
+ ins->inst_basereg = frame_reg;
+ ins->inst_offset = offset;
+ offset += size;
+ }
+
curinst = cfg->locals_start;
for (i = curinst; i < cfg->num_varinfo; ++i) {
- inst = cfg->varinfo [i];
- if ((inst->flags & MONO_INST_IS_DEAD) || inst->opcode == OP_REGVAR)
+ ins = cfg->varinfo [i];
+ if ((ins->flags & MONO_INST_IS_DEAD) || ins->opcode == OP_REGVAR || ins->opcode == OP_REGOFFSET)
continue;
/* inst->backend.is_pinvoke indicates native sized value types, this is used by the
* pinvoke wrappers when they call functions returning structure */
- if (inst->backend.is_pinvoke && MONO_TYPE_ISSTRUCT (inst->inst_vtype) && inst->inst_vtype->type != MONO_TYPE_TYPEDBYREF) {
- size = mono_class_native_size (mono_class_from_mono_type (inst->inst_vtype), &ualign);
+ if (ins->backend.is_pinvoke && MONO_TYPE_ISSTRUCT (ins->inst_vtype) && ins->inst_vtype->type != MONO_TYPE_TYPEDBYREF) {
+ size = mono_class_native_size (mono_class_from_mono_type (ins->inst_vtype), &ualign);
align = ualign;
}
else
- size = mono_type_size (inst->inst_vtype, &align);
+ size = mono_type_size (ins->inst_vtype, &align);
/* FIXME: if a structure is misaligned, our memcpy doesn't work,
* since it loads/stores misaligned words, which don't do the right thing.
align = 4;
offset += align - 1;
offset &= ~(align - 1);
- inst->inst_offset = offset;
- inst->opcode = OP_REGOFFSET;
- inst->inst_basereg = frame_reg;
+ ins->opcode = OP_REGOFFSET;
+ ins->inst_offset = offset;
+ ins->inst_basereg = frame_reg;
offset += size;
//g_print ("allocating local %d to %d\n", i, inst->inst_offset);
}
curinst = 0;
if (sig->hasthis) {
- inst = cfg->args [curinst];
- if (inst->opcode != OP_REGVAR) {
- inst->opcode = OP_REGOFFSET;
- inst->inst_basereg = frame_reg;
+ ins = cfg->args [curinst];
+ if (ins->opcode != OP_REGVAR) {
+ ins->opcode = OP_REGOFFSET;
+ ins->inst_basereg = frame_reg;
offset += sizeof (gpointer) - 1;
offset &= ~(sizeof (gpointer) - 1);
- inst->inst_offset = offset;
+ ins->inst_offset = offset;
offset += sizeof (gpointer);
}
curinst++;
}
for (i = 0; i < sig->param_count; ++i) {
- inst = cfg->args [curinst];
+ ins = cfg->args [curinst];
- if (inst->opcode != OP_REGVAR) {
- inst->opcode = OP_REGOFFSET;
- inst->inst_basereg = frame_reg;
+ if (ins->opcode != OP_REGVAR) {
+ ins->opcode = OP_REGOFFSET;
+ ins->inst_basereg = frame_reg;
size = mini_type_stack_size_full (NULL, sig->params [i], &ualign, sig->pinvoke);
align = ualign;
/* FIXME: if a structure is misaligned, our memcpy doesn't work,
align = 4;
offset += align - 1;
offset &= ~(align - 1);
- inst->inst_offset = offset;
+ ins->inst_offset = offset;
offset += size;
}
curinst++;
MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, cfg->ret->dreg, val->dreg);
}
+#endif /* #ifndef DISABLE_JIT */
+
gboolean
mono_arch_is_inst_imm (gint64 imm)
{
}
}
+#ifndef DISABLE_JIT
+
/*
* Allow tracing to work with this interface (with an optional argument)
*/
return code;
}
+#endif /* #ifndef DISABLE_JIT */
+
typedef struct {
guchar *code;
const guchar *target;
return thumb_supported;
}
+#ifndef DISABLE_JIT
+
/*
* emit_load_volatile_arguments:
*
return code;
}
-#ifndef DISABLE_JIT
-
void
mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
{
}
}
+#ifndef DISABLE_JIT
+
/*
* Stack frame layout:
*
}
+#endif /* #ifndef DISABLE_JIT */
+
static gboolean tls_offset_inited = FALSE;
void
#ifdef MONO_ARCH_HAVE_IMT
+#ifndef DISABLE_JIT
+
void
mono_arch_emit_imt_argument (MonoCompile *cfg, MonoCallInst *call, MonoInst *imt_arg)
{
}
}
+#endif /* DISABLE_JIT */
+
MonoMethod*
mono_arch_find_imt_method (mgreg_t *regs, guint8 *code)
{
case OP_R4CONST:
printf (" [%f]", *(float*)ins->inst_p0);
break;
- case CEE_CALL:
- case CEE_CALLVIRT:
case OP_CALL:
case OP_CALL_MEMBASE:
case OP_CALL_REG:
case OP_CALL_HANDLER:
printf (" [B%d]", ins->inst_target_bb->block_num);
break;
- case CEE_BNE_UN:
- case CEE_BEQ:
- case CEE_BLT:
- case CEE_BLT_UN:
- case CEE_BGT:
- case CEE_BGT_UN:
- case CEE_BGE:
- case CEE_BGE_UN:
- case CEE_BLE:
- case CEE_BLE_UN:
case OP_IBNE_UN:
case OP_IBEQ:
case OP_IBLT:
static gint8 desc_to_fixed_reg [256];
static gboolean desc_to_fixed_reg_inited = FALSE;
+#ifndef DISABLE_JIT
+
/*
* Local register allocation.
* We first scan the list of instructions and we save the liveness info of
mono_opcode_to_cond (int opcode)
{
switch (opcode) {
- case CEE_BEQ:
case OP_CEQ:
case OP_IBEQ:
case OP_ICEQ:
case OP_CMOV_IEQ:
case OP_CMOV_LEQ:
return CMP_EQ;
- case CEE_BNE_UN:
case OP_IBNE_UN:
case OP_LBNE_UN:
case OP_FBNE_UN:
case OP_CMOV_INE_UN:
case OP_CMOV_LNE_UN:
return CMP_NE;
- case CEE_BLE:
case OP_IBLE:
case OP_LBLE:
case OP_FBLE:
case OP_CMOV_ILE:
case OP_CMOV_LLE:
return CMP_LE;
- case CEE_BGE:
case OP_IBGE:
case OP_LBGE:
case OP_FBGE:
case OP_CMOV_IGE:
case OP_CMOV_LGE:
return CMP_GE;
- case CEE_BLT:
case OP_CLT:
case OP_IBLT:
case OP_ICLT:
case OP_CMOV_ILT:
case OP_CMOV_LLT:
return CMP_LT;
- case CEE_BGT:
case OP_CGT:
case OP_IBGT:
case OP_ICGT:
case OP_CMOV_LGT:
return CMP_GT;
- case CEE_BLE_UN:
case OP_IBLE_UN:
case OP_LBLE_UN:
case OP_FBLE_UN:
case OP_CMOV_ILE_UN:
case OP_CMOV_LLE_UN:
return CMP_LE_UN;
- case CEE_BGE_UN:
case OP_IBGE_UN:
case OP_LBGE_UN:
case OP_FBGE_UN:
case OP_CMOV_IGE_UN:
case OP_CMOV_LGE_UN:
return CMP_GE_UN;
- case CEE_BLT_UN:
case OP_CLT_UN:
case OP_IBLT_UN:
case OP_ICLT_UN:
case OP_CMOV_ILT_UN:
case OP_CMOV_LLT_UN:
return CMP_LT_UN;
- case CEE_BGT_UN:
case OP_CGT_UN:
case OP_IBGT_UN:
case OP_ICGT_UN:
CompType
mono_opcode_to_type (int opcode, int cmp_opcode)
{
- if ((opcode >= CEE_BEQ) && (opcode <= CEE_BLT_UN))
- return CMP_TYPE_L;
- else if ((opcode >= OP_CEQ) && (opcode <= OP_CLT_UN))
+ if ((opcode >= OP_CEQ) && (opcode <= OP_CLT_UN))
return CMP_TYPE_L;
else if ((opcode >= OP_IBEQ) && (opcode <= OP_IBLT_UN))
return CMP_TYPE_I;
}
}
+#endif /* DISABLE_JIT */
+
gboolean
mono_is_regsize_var (MonoType *t)
{
return FALSE;
}
+#ifndef DISABLE_JIT
+
/*
* mono_peephole_ins:
*
}
}
+#endif /* DISABLE_JIT */
return ji;
}
+ /* maybe it is shared code, so we also search in the root domain */
+ if (domain != mono_get_root_domain ()) {
+ ji = mono_jit_info_table_find (mono_get_root_domain (), addr);
+ if (ji) {
+ if (out_domain)
+ *out_domain = mono_get_root_domain ();
+ return ji;
+ }
+ }
+
for (l = t->appdomain_refs; l; l = l->next) {
if (l->data != domain) {
ji = mono_jit_info_table_find ((MonoDomain*)l->data, addr);
obj = (MonoObject *)ex;
}
- if (!test_only)
- mono_debugger_agent_handle_exception (obj, ctx);
-
/*
* Allocate a new exception object instead of the preconstructed ones.
*/
if (!mono_handle_exception_internal (&ctx_cp, obj, original_ip, TRUE, FALSE, &first_filter_idx, out_ji)) {
if (mono_break_on_exc)
G_BREAKPOINT ();
+ mono_debugger_agent_handle_exception (obj, ctx, NULL);
// FIXME: This runs managed code so it might cause another stack overflow when
// we are handling a stack overflow
- mono_debugger_agent_handle_unhandled_exception (obj, ctx);
mono_unhandled_exception (obj);
+ } else {
+ mono_debugger_agent_handle_exception (obj, ctx, &ctx_cp);
}
}
tls->jit_tls = TlsGetValue (mono_jit_tls_id);
}
+static int precise_frame_count [2], precise_frame_limit = -1;
+static gboolean precise_frame_limit_inited;
+
+#define DEAD_REF ((gpointer)(gssize)0x2a2a2a2a2a2a2a2aULL)
+
static void
thread_mark_func (gpointer user_data, guint8 *stack_start, guint8 *stack_end, gboolean precise)
{
continue;
}
+ /*
+ * Debugging aid to control the number of frames scanned precisely
+ */
+ if (!precise_frame_limit_inited) {
+ if (getenv ("MONO_PRECISE_COUNT"))
+ precise_frame_limit = atoi (getenv ("MONO_PRECISE_COUNT"));
+ precise_frame_limit_inited = TRUE;
+ }
+
+ if (precise_frame_limit != -1) {
+ if (precise_frame_count [precise] == precise_frame_limit)
+ printf ("LAST PRECISE FRAME: %s\n", mono_method_full_name (ji->method, TRUE));
+ if (precise_frame_count [precise] > precise_frame_limit)
+ continue;
+ }
+ precise_frame_count [precise] ++;
+
#ifdef __x86_64__
if (map->frame_reg == AMD64_RSP)
fp = (guint8*)ctx.rsp;
MonoObject **ptr = (MonoObject**)(locals_start + (i * sizeof (gpointer)));
MonoObject *obj = *ptr;
- if (pc_offset >= map->live_ranges [loffset] && pc_offset < map->live_ranges [loffset + 1]) {
+ if (pc_offset >= map->live_ranges [loffset] && pc_offset < map->live_ranges [loffset + 1] && obj != DEAD_REF) {
if (obj) {
+ DEBUG (printf ("\tref %s0x%x(fp)=%p: %p ->", (guint8*)ptr >= (guint8*)fp ? "" : "-", ABS ((int)((gssize)ptr - (gssize)fp)), ptr, obj));
*ptr = mono_gc_scan_object (obj);
- DEBUG (printf ("\tref %s0x%x(fp)=%p: %p -> %p.\n", (guint8*)ptr >= (guint8*)fp ? "" : "-", ABS ((int)((gssize)ptr - (gssize)fp)), ptr, obj, *ptr));
+ DEBUG (printf (" %p.\n", *ptr));
} else {
DEBUG (printf ("\tref %s0x%x(fp)=%p: %p.\n", (guint8*)ptr >= (guint8*)fp ? "" : "-", ABS ((int)((gssize)ptr - (gssize)fp)), ptr, obj));
}
} else {
- DEBUG (printf ("\tref %s0x%x(fp)=%p: dead\n", (guint8*)ptr >= (guint8*)fp ? "" : "-", ABS ((int)((gssize)ptr - (gssize)fp)), ptr));
+ DEBUG (printf ("\tref %s0x%x(fp)=%p: dead (%p)\n", (guint8*)ptr >= (guint8*)fp ? "" : "-", ABS ((int)((gssize)ptr - (gssize)fp)), ptr, obj));
+ /*
+ * This serves two purposes:
+ * - fail fast if the live range is incorrect, and
+ * the JITted code tries to access this object
+ * - it avoids problems when a dead slot becomes live
+ * again due to a backward branch
+ * (see test_0_liveness_6).
+ */
+ *ptr = DEAD_REF;
}
loffset += 2;
(slots) [(pos)] = (val); \
} while (0)
+void
+mini_gc_init_gc_map (MonoCompile *cfg)
+{
+ if (COMPILE_LLVM (cfg))
+ return;
+
+ /* See mini_gc_create_gc_map () for comments as to why these are needed */
+
+ /* Extend the live ranges using the liveness information */
+ cfg->compute_precise_live_ranges = TRUE;
+ /* Is this still needed ? */
+ cfg->disable_reuse_ref_stack_slots = TRUE;
+ /*
+ * Initialize all variables holding refs to null in the initlocals bblock, not just
+ * variables representing IL locals.
+ */
+ cfg->init_ref_vars = TRUE;
+ /* Prevent these initializations from being optimized away */
+ cfg->disable_initlocals_opt_refs = TRUE;
+}
+
void
mini_gc_create_gc_map (MonoCompile *cfg)
{
guint32 *live_range_start, *live_range_end;
/*
- * This doesn't work yet, because the live ranges used to calculate the GC map
- * are not concrete/precise enough for several reasons:
+ * Since we currently don't use GC safe points, we need to create GC maps which
+ * are precise at every instruction within a method. We use the live ranges
+ * calculated by the JIT in mono_spill_global_vars () for this. Unfortunately by
+ * default these are not precise enought for several reasons:
* - the current calculation of MonoMethodVar->live_range_start/end is incorrect,
* it doesn't take into account loops etc. It needs to use the results of the
* liveness analysis pass.
* in them.
* - the live ranges of variables used in out-of-line bblocks also have holes in
* them.
+ * - the live ranges of variables used for handling stack args also have holes in
+ * them:
+ * if (A)
+ * x = <ref>
+ * else
+ * x = <ref>
+ * <use x>
+ * Here x is not live between the first and the second assignment.
+ *
+ * To work around these problems, we set a few cfg flags in mini_init_gc_maps ()
+ * which guarantee that the live range of stack slots have no holes, i.e. they hold
+ * a valid value (or null) during their entire live range.
+ * FIXME: This doesn't completely work yet, see test_0_liveness_6 (), where
+ * a variable becomes dead, then alive again.
*/
- NOT_IMPLEMENTED;
+ //NOT_IMPLEMENTED;
if (!(cfg->comp_done & MONO_COMP_LIVENESS))
/* Without liveness info, the live ranges are not precise enough */
continue;
if (t->byref || t->type == MONO_TYPE_PTR || t->type == MONO_TYPE_I || t->type == MONO_TYPE_U) {
- slots [pos] = SLOT_PIN;
- continue;
- }
- if (vmv && !vmv->live_range_start) {
- g_assert (pos >= 0 && pos < nslots);
- slots [pos] = SLOT_PIN;
+ set_slot (slots, nslots, pos, SLOT_PIN);
continue;
}
if (MONO_TYPE_IS_REFERENCE (ins->inst_vtype)) {
+ if (vmv && !vmv->live_range_start) {
+ set_slot (slots, nslots, pos, SLOT_PIN);
+ continue;
+ }
+
+ if (ins->flags & (MONO_INST_VOLATILE | MONO_INST_INDIRECT)) {
+ set_slot (slots, nslots, pos, SLOT_PIN);
+ continue;
+ }
+
set_slot (slots, nslots, pos, SLOT_REF);
/* Stack slots holding refs shouldn't be shared */
if (map->slots) {
precise_count ++;
- if (getenv ("MONO_PRECISE_COUNT")) {
- if (precise_count == atoi (getenv ("MONO_PRECISE_COUNT")))
+ if (getenv ("MONO_GCMAP_COUNT")) {
+ if (precise_count == atoi (getenv ("MONO_GCMAP_COUNT")))
printf ("LAST: %s\n", mono_method_full_name (cfg->method, TRUE));
- if (precise_count > atoi (getenv ("MONO_PRECISE_COUNT"))) {
+ if (precise_count > atoi (getenv ("MONO_GCMAP_COUNT"))) {
for (i = 0; i < nslots; ++i)
map->slots [i] = SLOT_PIN;
}
{
}
+void
+mini_gc_init_gc_map (MonoCompile *cfg)
+{
+}
+
void
mini_gc_create_gc_map (MonoCompile *cfg)
{
void mini_gc_init (void) MONO_INTERNAL;
+void mini_gc_init_gc_map (MonoCompile *cfg) MONO_INTERNAL;
+
void mini_gc_create_gc_map (MonoCompile *cfg) MONO_INTERNAL;
#endif
MonoGenericSharingContext*
mono_get_generic_context_from_code (guint8 *code)
{
- MonoJitInfo *jit_info = mono_jit_info_table_find (mono_domain_get (), (char*)code);
+ MonoJitInfo *jit_info = mini_jit_info_table_find (mono_domain_get (), (char*)code, NULL);
g_assert (jit_info);
/*
* mini_type_get_underlying_type:
*
- * Return the underlying type of TYPE, taking into account enums and generic
+ * Return the underlying type of TYPE, taking into account enums, byref and generic
* sharing.
*/
MonoType*
mini_type_get_underlying_type (MonoGenericSharingContext *gsctx, MonoType *type)
{
+ if (type->byref)
+ return &mono_defaults.int_class->byval_arg;
return mono_type_get_basic_type_from_generic (mono_type_get_underlying_type (type));
}
}
LLVMValueRef
-mono_llvm_build_volatile_load (LLVMBuilderRef builder, LLVMValueRef PointerVal,
- const char *Name)
+mono_llvm_build_load (LLVMBuilderRef builder, LLVMValueRef PointerVal,
+ const char *Name, gboolean is_volatile)
{
- return wrap(unwrap(builder)->CreateLoad(unwrap(PointerVal), true, Name));
+ return wrap(unwrap(builder)->CreateLoad(unwrap(PointerVal), is_volatile, Name));
}
void
Details.MF->getTarget ().setCodeModel (CodeModel::Default);
}
//#endif
- }
+ }
};
LLVMExecutionEngineRef
if (PassInf->getNormalCtor())
P = PassInf->getNormalCtor()();
- if (dynamic_cast<MachineFunctionPass*>(P) != 0) {
- errs () << PassInf->getPassName () << " is a machine function pass.\n";
- } else {
- fpm->add (P);
- }
+ fpm->add (P);
}
return wrap(EE);
int alignment, const char *Name);
LLVMValueRef
-mono_llvm_build_volatile_load (LLVMBuilderRef builder, LLVMValueRef PointerVal,
- const char *Name);
+mono_llvm_build_load (LLVMBuilderRef builder, LLVMValueRef PointerVal,
+ const char *Name, gboolean is_volatile);
void
mono_llvm_replace_uses_of (LLVMValueRef var, LLVMValueRef v);
static guint32 current_cfg_tls_id;
static MonoLLVMModule jit_module, aot_module;
+static gboolean jit_module_inited;
+
+static void init_jit_module (void);
/*
* IntPtrType:
if (!callee) {
callee = LLVMAddFunction (ctx->module, callee_name, llvm_sig);
+ LLVMSetVisibility (callee, LLVMHiddenVisibility);
+
g_hash_table_insert (ctx->lmodule->plt_entries, (char*)callee_name, callee);
}
LLVMBuilderRef builder = *builder_ref;
// FIXME: Nested clauses
- if (bb->region && MONO_BBLOCK_IS_IN_REGION (bb, MONO_REGION_TRY)) {
+ if (bb->region != -1 && MONO_BBLOCK_IS_IN_REGION (bb, MONO_REGION_TRY)) {
MonoMethodHeader *header = mono_method_get_header (cfg->method);
// FIXME: Add a macro for this
int clause_index = (bb->region >> 8) - 1;
ctx->addresses [reg] = build_alloca (ctx, sig->params [i]);
emit_reg_to_vtype (ctx, builder, sig->params [i], ctx->addresses [reg], ainfo, regs);
+
+ if (MONO_CLASS_IS_SIMD (ctx->cfg, mono_class_from_mono_type (sig->params [i]))) {
+ /* Treat these as normal values */
+ ctx->values [reg] = LLVMBuildLoad (builder, ctx->addresses [reg], "");
+ }
} else if (ainfo->storage == LLVMArgVtypeByVal) {
ctx->addresses [reg] = LLVMGetParam (ctx->lmethod, pindexes [i]);
} else {
method_name = mono_aot_get_method_name (cfg);
debug_name = mono_aot_get_method_debug_name (cfg);
} else {
+ init_jit_module ();
ctx->lmodule = &jit_module;
method_name = mono_method_full_name (cfg->method, TRUE);
debug_name = NULL;
type_info = LLVMAddGlobal (module, LLVMInt32Type (), ti_name);
LLVMSetInitializer (type_info, LLVMConstInt (LLVMInt32Type (), clause_index, FALSE));
+ LLVMSetLinkage (type_info, LLVMPrivateLinkage);
+ LLVMSetVisibility (type_info, LLVMHiddenVisibility);
+
/*
- * FIXME: llc currently generates incorrect data in the LSDA:
- * .byte 0x9B # @TType format (indirect pcrel sdata4)
- * and later:
- * .quad type_info_1 # TypeInfo
+ * Enabling this causes llc to crash:
+ * http://llvm.org/bugs/show_bug.cgi?id=6102
*/
LLVM_FAILURE (ctx, "aot+clauses");
} else {
/* exception_cb will decode this */
- ti = g_malloc (sizeof (MonoExceptionClause));
- memcpy (ti, &mono_method_get_header (cfg->method)->clauses [clause_index], sizeof (MonoExceptionClause));
+ ti = g_malloc (sizeof (gint32));
+ *(gint32*)ti = clause_index;
type_info = LLVMAddGlobal (module, i8ptr, ti_name);
case OP_LOADU4_MEM:
case OP_LOAD_MEM: {
int size = 8;
- LLVMValueRef index;
+ LLVMValueRef index, addr;
LLVMTypeRef t;
gboolean sext = FALSE, zext = FALSE;
+ gboolean is_volatile = (ins->flags & MONO_INST_FAULT);
t = load_store_to_llvm_type (ins->opcode, &size, &sext, &zext);
dname = (char*)"";
/*
- * We emit volatile loads because otherwise LLVM will
- * generate invalid code when encountering a load from a
+ * We emit volatile loads for loads which can fault, because otherwise
+ * LLVM will generate invalid code when encountering a load from a
* NULL address.
- * FIXME: Avoid this somehow.
*/
- g_assert (ins->inst_offset % size == 0);
if ((ins->opcode == OP_LOADI8_MEM) || (ins->opcode == OP_LOAD_MEM) || (ins->opcode == OP_LOADI4_MEM) || (ins->opcode == OP_LOADU4_MEM) || (ins->opcode == OP_LOADU1_MEM) || (ins->opcode == OP_LOADU2_MEM)) {
- values [ins->dreg] = mono_llvm_build_volatile_load (builder, convert (ctx, LLVMConstInt (IntPtrType (), ins->inst_imm, FALSE), LLVMPointerType (t, 0)), dname);
+ addr = LLVMConstInt (IntPtrType (), ins->inst_imm, FALSE);
} else if (ins->inst_offset == 0) {
- values [ins->dreg] = mono_llvm_build_volatile_load (builder, convert (ctx, values [ins->inst_basereg], LLVMPointerType (t, 0)), dname);
+ addr = values [ins->inst_basereg];
+ } else if (ins->inst_offset % size != 0) {
+ /* Unaligned load */
+ index = LLVMConstInt (LLVMInt32Type (), ins->inst_offset, FALSE);
+ addr = LLVMBuildGEP (builder, convert (ctx, values [ins->inst_basereg], LLVMPointerType (LLVMInt8Type (), 0)), &index, 1, "");
} else {
index = LLVMConstInt (LLVMInt32Type (), ins->inst_offset / size, FALSE);
- values [ins->dreg] = mono_llvm_build_volatile_load (builder, LLVMBuildGEP (builder, convert (ctx, values [ins->inst_basereg], LLVMPointerType (t, 0)), &index, 1, ""), dname);
+ addr = LLVMBuildGEP (builder, convert (ctx, values [ins->inst_basereg], LLVMPointerType (t, 0)), &index, 1, "");
}
+
+ addr = convert (ctx, addr, LLVMPointerType (t, 0));
+
+ values [ins->dreg] = mono_llvm_build_load (builder, addr, dname, is_volatile);
+
if (sext)
values [ins->dreg] = LLVMBuildSExt (builder, values [ins->dreg], LLVMInt32Type (), dname);
else if (zext)
case OP_STORER8_MEMBASE_REG:
case OP_STORE_MEMBASE_REG: {
int size = 8;
- LLVMValueRef index;
+ LLVMValueRef index, addr;
LLVMTypeRef t;
gboolean sext = FALSE, zext = FALSE;
t = load_store_to_llvm_type (ins->opcode, &size, &sext, &zext);
- g_assert (ins->inst_offset % size == 0);
- index = LLVMConstInt (LLVMInt32Type (), ins->inst_offset / size, FALSE);
- LLVMBuildStore (builder, convert (ctx, values [ins->sreg1], t), LLVMBuildGEP (builder, convert (ctx, values [ins->inst_destbasereg], LLVMPointerType (t, 0)), &index, 1, ""));
+ if (ins->inst_offset % size != 0) {
+ /* Unaligned store */
+ index = LLVMConstInt (LLVMInt32Type (), ins->inst_offset, FALSE);
+ addr = LLVMBuildGEP (builder, convert (ctx, values [ins->inst_destbasereg], LLVMPointerType (LLVMInt8Type (), 0)), &index, 1, "");
+ } else {
+ index = LLVMConstInt (LLVMInt32Type (), ins->inst_offset / size, FALSE);
+ addr = LLVMBuildGEP (builder, convert (ctx, values [ins->inst_destbasereg], LLVMPointerType (t, 0)), &index, 1, "");
+ }
+ LLVMBuildStore (builder, convert (ctx, values [ins->sreg1], t), convert (ctx, addr, LLVMPointerType (t, 0)));
break;
}
case OP_STOREI8_MEMBASE_IMM:
case OP_STORE_MEMBASE_IMM: {
int size = 8;
- LLVMValueRef index;
+ LLVMValueRef index, addr;
LLVMTypeRef t;
gboolean sext = FALSE, zext = FALSE;
t = load_store_to_llvm_type (ins->opcode, &size, &sext, &zext);
- g_assert (ins->inst_offset % size == 0);
- index = LLVMConstInt (LLVMInt32Type (), ins->inst_offset / size, FALSE);
- LLVMBuildStore (builder, convert (ctx, LLVMConstInt (LLVMInt32Type (), ins->inst_imm, FALSE), t), LLVMBuildGEP (builder, convert (ctx, values [ins->inst_destbasereg], LLVMPointerType (t, 0)), &index, 1, ""));
+ if (ins->inst_offset % size != 0) {
+ /* Unaligned store */
+ index = LLVMConstInt (LLVMInt32Type (), ins->inst_offset, FALSE);
+ addr = LLVMBuildGEP (builder, convert (ctx, values [ins->inst_destbasereg], LLVMPointerType (LLVMInt8Type (), 0)), &index, 1, "");
+ } else {
+ index = LLVMConstInt (LLVMInt32Type (), ins->inst_offset / size, FALSE);
+ addr = LLVMBuildGEP (builder, convert (ctx, values [ins->inst_destbasereg], LLVMPointerType (t, 0)), &index, 1, "");
+ }
+ LLVMBuildStore (builder, convert (ctx, LLVMConstInt (LLVMInt32Type (), ins->inst_imm, FALSE), t), addr);
break;
}
case OP_CHECK_THIS:
- mono_llvm_build_volatile_load (builder, convert (ctx, values [ins->sreg1], LLVMPointerType (IntPtrType (), 0)), "");
+ mono_llvm_build_load (builder, convert (ctx, values [ins->sreg1], LLVMPointerType (IntPtrType (), 0)), "", TRUE);
break;
case OP_OUTARG_VTRETADDR:
break;
guint32 got_offset;
LLVMValueRef indexes [2];
MonoJumpInfo *ji;
+ LLVMValueRef got_entry_addr;
/*
* FIXME: Can't allocate from the cfg mempool since that is freed if
indexes [0] = LLVMConstInt (LLVMInt32Type (), 0, FALSE);
indexes [1] = LLVMConstInt (LLVMInt32Type (), (gssize)got_offset, FALSE);
- values [ins->dreg] = LLVMBuildLoad (builder, LLVMBuildGEP (builder, ctx->lmodule->got_var, indexes, 2, ""), dname);
+ got_entry_addr = LLVMBuildGEP (builder, ctx->lmodule->got_var, indexes, 2, "");
+
+ // FIXME: This doesn't work right now, because it must be
+ // paired with an invariant.end, and even then, its only in effect
+ // inside its basic block
+#if 0
+ {
+ LLVMValueRef args [3];
+ LLVMValueRef ptr, val;
+
+ ptr = LLVMBuildBitCast (builder, got_entry_addr, LLVMPointerType (LLVMInt8Type (), 0), "ptr");
+
+ args [0] = LLVMConstInt (LLVMInt64Type (), sizeof (gpointer), FALSE);
+ args [1] = ptr;
+ val = LLVMBuildCall (builder, LLVMGetNamedFunction (module, "llvm.invariant.start"), args, 2, "");
+ }
+#endif
+
+ values [ins->dreg] = LLVMBuildLoad (builder, got_entry_addr, dname);
break;
}
case OP_NOT_REACHED:
/* Can't delete the method if it has an alias, so only add it if successful */
if (debug_name) {
debug_alias = LLVMAddAlias (module, LLVMTypeOf (method), method, debug_name);
+ LLVMSetLinkage (debug_alias, LLVMInternalLinkage);
LLVMSetVisibility (debug_alias, LLVMHiddenVisibility);
}
memcpy (cfg->llvm_ex_info, ei, ei_len * sizeof (MonoJitExceptionInfo));
/* Fill the rest of the information from the type info */
for (i = 0; i < ei_len; ++i) {
- MonoExceptionClause *clause = type_info [i];
+ gint32 clause_index = *(gint32*)type_info [i];
+ MonoExceptionClause *clause = &mono_method_get_header (cfg->method)->clauses [clause_index];
cfg->llvm_ex_info [i].flags = clause->flags;
cfg->llvm_ex_info [i].data.catch_class = clause->data.catch_class;
LLVMAddFunction (module, "llvm.umul.with.overflow.i64", LLVMFunctionType (LLVMStructType (ovf_res_i64, 2, FALSE), ovf_params_i64, 2, FALSE));
}
+ {
+ LLVMTypeRef struct_ptr = LLVMPointerType (LLVMStructType (NULL, 0, FALSE), 0);
+ LLVMTypeRef invariant_start_params [] = { LLVMInt64Type (), LLVMPointerType (LLVMInt8Type (), 0) };
+ LLVMTypeRef invariant_end_params [] = { struct_ptr, LLVMInt64Type (), LLVMPointerType (LLVMInt8Type (), 0) };
+
+ LLVMAddFunction (module, "llvm.invariant.start", LLVMFunctionType (struct_ptr, invariant_start_params, 2, FALSE));
+
+ LLVMAddFunction (module, "llvm.invariant.end", LLVMFunctionType (LLVMVoidType (), invariant_end_params, 3, FALSE));
+ }
+
/* EH intrinsics */
{
LLVMTypeRef arg_types [2];
mono_llvm_init (void)
{
current_cfg_tls_id = TlsAlloc ();
+}
+
+static void
+init_jit_module (void)
+{
+ if (jit_module_inited)
+ return;
+
+ mono_loader_lock ();
+
+ if (jit_module_inited) {
+ mono_loader_unlock ();
+ return;
+ }
jit_module.module = LLVMModuleCreateWithName ("mono");
jit_module.llvm_types = g_hash_table_new (NULL, NULL);
LLVMAddGlobalMapping (ee, LLVMGetNamedFunction (jit_module.module, "mono_resume_unwind"), mono_resume_unwind);
+
+ jit_module_inited = TRUE;
+
+ mono_loader_unlock ();
}
void
mono_llvm_cleanup (void)
{
- mono_llvm_dispose_ee (ee);
+ if (ee)
+ mono_llvm_dispose_ee (ee);
- g_hash_table_destroy (jit_module.llvm_types);
+ if (jit_module.llvm_types)
+ g_hash_table_destroy (jit_module.llvm_types);
}
void
LLVMSetInitializer (aot_module.got_var, LLVMConstNull (got_type));
}
- /* Add a method to generate the 'methods' symbol needed by the AOT compiler */
- {
- LLVMValueRef methods_method = LLVMAddFunction (aot_module.module, "methods", LLVMFunctionType (LLVMVoidType (), NULL, 0, FALSE));
- LLVMBasicBlockRef bb = LLVMAppendBasicBlock (methods_method, "BB_ENTRY");
- LLVMBuilderRef builder = LLVMCreateBuilder ();
- LLVMPositionBuilderAtEnd (builder, bb);
- LLVMBuildRetVoid (builder);
- }
-
/* Add a dummy personality function */
{
LLVMBasicBlockRef lbb;
mark_as_used (aot_module.module, real_got);
+ /* Delete the dummy got so it doesn't become a global */
+ LLVMDeleteGlobal (aot_module.got_var);
+
#if 0
{
char *verifier_err;
if (cfg->frame_reg != ppc_sp)
top = 31;
/* ppc_r13 is used by the system on PPC EABI */
- for (i = 14; i < top; ++i)
- regs = g_list_prepend (regs, GUINT_TO_POINTER (i));
+ for (i = 14; i < top; ++i) {
+ /*
+ * Reserve r29 for holding the vtable address for virtual calls in AOT mode,
+ * since the trampolines can clobber r11.
+ */
+ if (!(cfg->compile_aot && i == 29))
+ regs = g_list_prepend (regs, GUINT_TO_POINTER (i));
+ }
return regs;
}
case OP_VCALL2_MEMBASE:
case OP_VOIDCALL_MEMBASE:
case OP_CALL_MEMBASE:
- ppc_ldptr (code, ppc_r0, ins->inst_offset, ins->sreg1);
+ if (cfg->compile_aot && ins->sreg1 == ppc_r11) {
+ /* The trampolines clobber this */
+ ppc_mr (code, ppc_r29, ins->sreg1);
+ ppc_ldptr (code, ppc_r0, ins->inst_offset, ppc_r29);
+ } else {
+ ppc_ldptr (code, ppc_r0, ins->inst_offset, ins->sreg1);
+ }
ppc_mtlr (code, ppc_r0);
ppc_blrl (code);
/* FIXME: this should be handled somewhere else in the new jit */
}
if (method->wrapper_type == MONO_WRAPPER_NATIVE_TO_MANAGED) {
- ppc_load_ptr (code, ppc_r3, cfg->domain);
+ if (cfg->compile_aot)
+ /* AOT code is only used in the root domain */
+ ppc_load_ptr (code, ppc_r3, 0);
+ else
+ ppc_load_ptr (code, ppc_r3, cfg->domain);
mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD, (gpointer)"mono_jit_thread_attach");
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
ppc_load_func (code, ppc_r0, 0);
ppc_mtlr (code, ppc_r0);
ppc_blrl (code);
} else {
- // FIXME: AOT
ppc_bl (code, 0);
}
}
static GHashTable *class_init_hash_addr = NULL;
static GHashTable *rgctx_lazy_fetch_trampoline_hash = NULL;
static GHashTable *rgctx_lazy_fetch_trampoline_hash_addr = NULL;
+static guint32 trampoline_calls;
#define mono_trampolines_lock() EnterCriticalSection (&trampolines_mutex)
#define mono_trampolines_unlock() LeaveCriticalSection (&trampolines_mutex)
static gpointer
common_call_trampoline (mgreg_t *regs, guint8 *code, gpointer arg, guint8* tramp, MonoVTable *vt, gpointer *vtable_slot, gboolean need_rgctx_tramp)
{
- gpointer addr;
+ gpointer addr, compiled_method;
gboolean generic_shared = FALSE;
MonoMethod *m;
MonoMethod *declaring = NULL;
* Call this only if the called method is shared, cause it is slow/loads a lot of
* data in AOT.
*/
- ji = mono_jit_info_table_find (mono_domain_get (), (char*)code);
+ ji = mini_jit_info_table_find (mono_domain_get (), (char*)code, NULL);
if (ji && ji->from_llvm) {
/* LLVM can't pass an rgctx arg */
need_rgctx_tramp = TRUE;
MonoJitInfo *ji;
if (code)
- ji = mono_jit_info_table_find (mono_domain_get (), (char*)code);
+ ji = mini_jit_info_table_find (mono_domain_get (), (char*)code, NULL);
else
ji = NULL;
if (!code && mono_method_needs_static_rgctx_invoke (m, FALSE))
need_rgctx_tramp = TRUE;
- addr = mono_compile_method (m);
+ addr = compiled_method = mono_compile_method (m);
g_assert (addr);
mono_debugger_trampoline_compiled (code, m, addr);
} else {
MonoJitInfo *target_ji =
- mono_jit_info_table_find (mono_domain_get (), mono_get_addr_from_ftnptr (addr));
+ mono_jit_info_table_find (mono_domain_get (), mono_get_addr_from_ftnptr (compiled_method));
if (!ji)
ji = mono_jit_info_table_find (mono_domain_get (), (char*)code);
int displacement;
MonoVTable *vt;
+ trampoline_calls ++;
+
if (code && !mono_use_llvm)
vt = mono_arch_get_vcall_slot (code, regs, &displacement);
else
gpointer *vtable_slot;
int slot;
+ trampoline_calls ++;
+
/*
* We have the method which is called, we need to obtain the vtable slot without
* disassembly which is impossible with LLVM.
MonoMethod *imt_method, *declaring;
gpointer addr;
+ trampoline_calls ++;
+
g_assert (m->is_generic);
if (m->is_inflated)
guint8 *plt_entry;
gboolean need_rgctx_tramp = FALSE;
+ trampoline_calls ++;
+
image = *(gpointer*)(gpointer)token_info;
token_info += sizeof (gpointer);
token = *(guint32*)(gpointer)token_info;
guint32 plt_info_offset = mono_aot_get_plt_info_offset (regs, code);
gpointer res;
+ trampoline_calls ++;
+
res = mono_aot_plt_resolve (aot_module, plt_info_offset, code);
if (!res) {
if (mono_loader_get_last_error ())
{
guint8 *plt_entry = mono_aot_get_plt_entry (code);
+ trampoline_calls ++;
+
mono_runtime_class_init (vtable);
if (plt_entry) {
void
mono_generic_class_init_trampoline (mgreg_t *regs, guint8 *code, MonoVTable *vtable, guint8 *tramp)
{
+ trampoline_calls ++;
+
mono_runtime_class_init (vtable);
}
guint32 index = MONO_RGCTX_SLOT_INDEX (slot);
gboolean mrgctx = MONO_RGCTX_SLOT_IS_MRGCTX (slot);
+ trampoline_calls ++;
+
if (!inited) {
mono_counters_register ("RGCTX unmanaged lookups", MONO_COUNTER_GENERICS | MONO_COUNTER_INT, &num_lookups);
inited = TRUE;
guint8 *impl_this = tramp_data [1];
guint8 *impl_nothis = tramp_data [2];
+ trampoline_calls ++;
+
/* Obtain the delegate object according to the calling convention */
/*
#ifdef MONO_ARCH_LLVM_SUPPORTED
mono_trampoline_code [MONO_TRAMPOLINE_LLVM_VCALL] = mono_arch_create_trampoline_code (MONO_TRAMPOLINE_LLVM_VCALL);
#endif
+
+ mono_counters_register ("Calls to trampolines", MONO_COUNTER_JIT | MONO_COUNTER_INT, &trampoline_calls);
}
void
guint8* mono_unwind_decode_fde (guint8 *fde, guint32 *out_len, guint32 *code_len, MonoJitExceptionInfo **ex_info, guint32 *ex_info_len, gpointer **type_info) MONO_INTERNAL;
+GSList* mono_unwind_get_cie_program (void) MONO_INTERNAL;
+
#endif
static MonoCodeManager *global_codeman = NULL;
-/* FIXME: Make this static again */
-GHashTable *jit_icall_name_hash = NULL;
+static GHashTable *jit_icall_name_hash = NULL;
static MonoDebugOptions debug_options;
for (tmp = res; tmp; tmp = tmp->next) {
MonoVerifyInfoExtended *info = (MonoVerifyInfoExtended *)tmp->data;
if (info->info.status == MONO_VERIFY_ERROR) {
+ char *method_name = mono_method_full_name (method, TRUE);
cfg->exception_type = info->exception_type;
- cfg->exception_message = g_strdup (info->info.message);
+ cfg->exception_message = g_strdup_printf ("Error verifying %s: %s", method_name, info->info.message);
mono_free_verify_list (res);
+ g_free (method_name);
return TRUE;
}
if (info->info.status == MONO_VERIFY_NOT_VERIFIABLE && (!is_fulltrust || info->exception_type == MONO_EXCEPTION_METHOD_ACCESS || info->exception_type == MONO_EXCEPTION_FIELD_ACCESS)) {
+ char *method_name = mono_method_full_name (method, TRUE);
cfg->exception_type = info->exception_type;
- cfg->exception_message = g_strdup (info->info.message);
+ cfg->exception_message = g_strdup_printf ("Error verifying %s: %s", method_name, info->info.message);
mono_free_verify_list (res);
+ g_free (method_name);
return TRUE;
}
}
StackSlotInfo *scalar_stack_slots, *vtype_stack_slots, *slot_info;
MonoType *t;
int nvtypes;
+ gboolean reuse_slot;
LSCAN_DEBUG (printf ("Allocate Stack Slots 2 for %s:\n", mono_method_full_name (cfg->method, TRUE)));
align = 16;
}
+ reuse_slot = TRUE;
+ if (cfg->disable_reuse_stack_slots)
+ reuse_slot = FALSE;
+
t = mono_type_get_underlying_type (inst->inst_vtype);
switch (t->type) {
case MONO_TYPE_GENERICINST:
slot_info = &vtype_stack_slots [nvtypes];
nvtypes ++;
}
+ if (cfg->disable_reuse_ref_stack_slots)
+ reuse_slot = FALSE;
break;
case MONO_TYPE_PTR:
case MONO_TYPE_STRING:
/* Share non-float stack slots of the same size */
slot_info = &scalar_stack_slots [MONO_TYPE_CLASS];
+ if (cfg->disable_reuse_ref_stack_slots)
+ reuse_slot = FALSE;
break;
default:
LSCAN_DEBUG (printf ("R%d %s -> 0x%x\n", inst->dreg, mono_type_full_name (t), slot));
+ if (!reuse_slot)
+ slot = 0xffffff;
+
if (slot == 0xffffff) {
/*
* Allways allocate valuetypes to sizeof (gpointer) to allow more
StackSlotInfo *scalar_stack_slots, *vtype_stack_slots, *slot_info;
MonoType *t;
int nvtypes;
+ gboolean reuse_slot;
if ((cfg->num_varinfo > 0) && MONO_VARINFO (cfg, 0)->interval)
return mono_allocate_stack_slots_full2 (cfg, backward, stack_size, stack_align);
align = 16;
}
+ reuse_slot = TRUE;
+ if (cfg->disable_reuse_stack_slots)
+ reuse_slot = FALSE;
+
t = mono_type_get_underlying_type (inst->inst_vtype);
if (t->byref) {
slot_info = &scalar_stack_slots [MONO_TYPE_I];
slot_info = &vtype_stack_slots [nvtypes];
nvtypes ++;
}
+ if (cfg->disable_reuse_ref_stack_slots)
+ reuse_slot = FALSE;
break;
case MONO_TYPE_PTR:
case MONO_TYPE_STRING:
/* Share non-float stack slots of the same size */
slot_info = &scalar_stack_slots [MONO_TYPE_CLASS];
+ if (cfg->disable_reuse_ref_stack_slots)
+ reuse_slot = FALSE;
break;
default:
*/
}
- if (cfg->disable_reuse_stack_slots)
+ if (!reuse_slot)
slot = 0xffffff;
if (slot == 0xffffff) {
return mono_create_tls_get (cfg, mono_domain_get_tls_offset ());
}
+MonoInst*
+mono_get_thread_intrinsic (MonoCompile* cfg)
+{
+ return mono_create_tls_get (cfg, mono_thread_get_tls_offset ());
+}
+
void
mono_add_patch_info (MonoCompile *cfg, int ip, MonoJumpInfoType type, gconstpointer target)
{
case MONO_PATCH_INFO_SFLDA: {
MonoVTable *vtable = mono_class_vtable (domain, patch_info->data.field->parent);
+ if (mono_class_field_is_special_static (patch_info->data.field)) {
+ gpointer addr;
+
+ mono_domain_lock (domain);
+ if (domain->special_static_fields)
+ addr = g_hash_table_lookup (domain->special_static_fields, patch_info->data.field);
+ mono_domain_unlock (domain);
+ g_assert (addr);
+ return addr;
+ }
+
g_assert (vtable);
if (!vtable->initialized && !(vtable->klass->flags & TYPE_ATTRIBUTE_BEFORE_FIELD_INIT) && (method && mono_class_needs_cctor_run (vtable->klass, method)))
/* Done by the generated code */
bb->last_seq_point = ins;
}
+#ifndef DISABLE_JIT
+
static void
mono_compile_create_vars (MonoCompile *cfg)
{
mono_arch_create_vars (cfg);
}
+#endif /* #ifndef DISABLE_JIT */
+
void
mono_print_code (MonoCompile *cfg, const char* msg)
{
}
}
+static void
+collect_pred_seq_points (MonoBasicBlock *bb, MonoInst *ins, GSList **next, int depth)
+{
+ int i;
+ MonoBasicBlock *in_bb;
+
+ for (i = 0; i < bb->in_count; ++i) {
+ in_bb = bb->in_bb [i];
+
+ if (in_bb->last_seq_point) {
+ next [in_bb->last_seq_point->backend.size] = g_slist_append (next [in_bb->last_seq_point->backend.size], GUINT_TO_POINTER (ins->backend.size));
+ } else {
+ /* Have to look at its predecessors */
+ if (depth < 5)
+ collect_pred_seq_points (in_bb, ins, next, depth + 1);
+ }
+ }
+}
+
static void
mono_save_seq_point_info (MonoCompile *cfg)
{
- MonoBasicBlock *bb, *in_bb;
+ MonoBasicBlock *bb;
GSList *bb_seq_points, *l;
MonoInst *last;
MonoDomain *domain = cfg->domain;
next [last->backend.size] = g_slist_append (next [last->backend.size], GUINT_TO_POINTER (ins->backend.size));
} else {
/* Link with the last bb in the previous bblocks */
- /*
- * FIXME: What if the prev bb doesn't have a seq point, but
- * one of its predecessors has ?
- */
- for (i = 0; i < bb->in_count; ++i) {
- in_bb = bb->in_bb [i];
-
- if (in_bb->last_seq_point)
- next [in_bb->last_seq_point->backend.size] = g_slist_append (next [in_bb->last_seq_point->backend.size], GUINT_TO_POINTER (ins->backend.size));
- }
+ collect_pred_seq_points (bb, ins, next, 0);
}
last = ins;
}
}
+ if (cfg->verbose_level > 2) {
+ printf ("\nSEQ POINT MAP: \n");
+ }
+
for (i = 0; i < cfg->seq_points->len; ++i) {
SeqPoint *sp = &info->seq_points [i];
GSList *l;
- int j;
+ int j, next_index;
sp->next_len = g_slist_length (next [i]);
sp->next = g_new (int, sp->next_len);
j = 0;
- for (l = next [i]; l; l = l->next)
- sp->next [j ++] = GPOINTER_TO_UINT (l->data);
+ if (cfg->verbose_level > 2 && next [i]) {
+ printf ("\t0x%x ->", sp->il_offset);
+ for (l = next [i]; l; l = l->next) {
+ next_index = GPOINTER_TO_UINT (l->data);
+ printf (" 0x%x", info->seq_points [next_index].il_offset);
+ }
+ printf ("\n");
+ }
+ for (l = next [i]; l; l = l->next) {
+ next_index = GPOINTER_TO_UINT (l->data);
+ sp->next [j ++] = next_index;
+ }
g_slist_free (next [i]);
}
g_free (next);
cfg->disable_reuse_registers = TRUE;
cfg->disable_reuse_stack_slots = TRUE;
cfg->extend_live_ranges = TRUE;
+ cfg->compute_precise_live_ranges = TRUE;
}
+ mini_gc_init_gc_map (cfg);
+
if (COMPILE_LLVM (cfg)) {
cfg->opt |= MONO_OPT_ABCREM;
}
if (getenv ("MONO_VERBOSE_METHOD")) {
- if (strcmp (cfg->method->name, getenv ("MONO_VERBOSE_METHOD")) == 0)
- cfg->verbose_level = 4;
+ char *name = getenv ("MONO_VERBOSE_METHOD");
+
+ if (strchr (name, '.') || strchr (name, ':')) {
+ MonoMethodDesc *desc;
+
+ desc = mono_method_desc_new (name, TRUE);
+ if (mono_method_desc_full_match (desc, cfg->method)) {
+ cfg->verbose_level = 4;
+ }
+ mono_method_desc_free (desc);
+ } else {
+ if (strcmp (cfg->method->name, getenv ("MONO_VERBOSE_METHOD")) == 0)
+ cfg->verbose_level = 4;
+ }
}
ip = (guint8 *)header->code;
mono_raise_exception (exc);
}
- if (prof_options & MONO_PROFILE_JIT_COMPILATION)
- mono_profiler_method_end_jit (method, jinfo, MONO_PROFILE_OK);
+ if (prof_options & MONO_PROFILE_JIT_COMPILATION) {
+ if (method->wrapper_type == MONO_WRAPPER_MANAGED_TO_NATIVE)
+ /* The profiler doesn't know about wrappers, so pass the original icall method */
+ mono_profiler_method_end_jit (mono_marshal_method_from_wrapper (method), jinfo, MONO_PROFILE_OK);
+ else
+ mono_profiler_method_end_jit (method, jinfo, MONO_PROFILE_OK);
+ }
mono_runtime_class_init (vtable);
return code;
}
#endif
+#ifndef HOST_WIN32
+ if (mono_aot_is_pagefault (info->si_addr)) {
+ mono_aot_handle_pagefault (info->si_addr);
+ return;
+ }
+#endif
+
/* The thread might no be registered with the runtime */
if (!mono_domain_get () || !jit_tls) {
if (mono_chain_signal (SIG_HANDLER_PARAMS))
guint8 *addr = NULL;
if ((method->flags & METHOD_ATTRIBUTE_VIRTUAL) && mono_method_signature (method)->generic_param_count) {
- return mono_arch_create_specific_trampoline (method, MONO_TRAMPOLINE_GENERIC_VIRTUAL_REMOTING,
+ return mono_create_specific_trampoline (method, MONO_TRAMPOLINE_GENERIC_VIRTUAL_REMOTING,
domain, NULL);
}
#endif
gpointer
-mini_get_vtable_trampoline (void)
+mini_get_vtable_trampoline (int slot_index)
{
static gpointer tramp = NULL;
+
if (!tramp)
tramp = mono_create_specific_trampoline (MONO_FAKE_VTABLE_METHOD, MONO_TRAMPOLINE_JIT, mono_get_root_domain (), NULL);
return tramp;
debug_options.explicit_null_checks = TRUE;
else if (!strcmp (arg, "gen-seq-points"))
debug_options.gen_seq_points = TRUE;
+ else if (!strcmp (arg, "init-stacks"))
+ debug_options.init_stacks = TRUE;
else {
fprintf (stderr, "Invalid option for the MONO_DEBUG env variable: %s\n", arg);
- fprintf (stderr, "Available options: 'handle-sigint', 'keep-delegates', 'collect-pagefault-stats', 'break-on-unverified', 'no-gdb-backtrace', 'dont-free-domains', 'suspend-on-sigsegv', 'dyn-runtime-invoke', 'gdb', 'explicit-null-checks'\n");
+ fprintf (stderr, "Available options: 'handle-sigint', 'keep-delegates', 'collect-pagefault-stats', 'break-on-unverified', 'no-gdb-backtrace', 'dont-free-domains', 'suspend-on-sigsegv', 'dyn-runtime-invoke', 'gdb', 'explicit-null-checks', 'init-stacks'\n");
exit (1);
}
}
callbacks.get_addr_from_ftnptr = mini_get_addr_from_ftnptr;
callbacks.get_runtime_build_info = mono_get_runtime_build_info;
+#ifdef MONO_ARCH_HAVE_IMT
+ if (mono_use_imt) {
+ if (!mono_use_llvm) {
+ /* LLVM needs a per-method vtable trampoline */
+ callbacks.get_vtable_trampoline = mini_get_vtable_trampoline;
+ }
+ }
+#endif
+
mono_install_callbacks (&callbacks);
mono_arch_cpu_init ();
mono_install_get_class_from_name (mono_aot_get_class_from_name);
mono_install_jit_info_find_in_aot (mono_aot_find_jit_info);
+ if (debug_options.collect_pagefault_stats) {
+ mono_aot_set_make_unreadable (TRUE);
+ }
+
if (runtime_version)
domain = mono_init_version (filename, runtime_version);
else
else
mono_install_imt_thunk_builder (mono_arch_build_imt_thunk);
if (!mono_use_llvm) {
- /* LLVM needs a per-method vtable trampoline */
- mono_install_vtable_trampoline (mini_get_vtable_trampoline ());
/*
* The imt code in mono_magic_trampoline () can't handle LLVM code. By disabling
* this, we force iface calls to go through the llvm vcall trampoline.
g_hash_table_destroy (assemblies);
}
+#ifndef DISABLE_JIT
+
void*
mono_arch_instrument_epilog (MonoCompile *cfg, void *func, void *p, gboolean enable_arguments) {
return mono_arch_instrument_epilog_full (cfg, func, p, enable_arguments, FALSE);
}
+
+#endif
#define LLVM_ENABLED FALSE
#endif
+#ifdef MONO_ARCH_SOFT_FLOAT
+#define COMPILE_SOFT_FLOAT(cfg) (!COMPILE_LLVM ((cfg)))
+#else
+#define COMPILE_SOFT_FLOAT(cfg) 0
+#endif
+
#define NOT_IMPLEMENTED do { g_assert_not_reached (); } while (0)
/* for 32 bit systems */
/* the address of the variable has been taken */
MONO_INST_INDIRECT = 16,
MONO_INST_NORANGECHECK = 16,
+ /* On loads, the source address can be null */
+ MONO_INST_FAULT = 32
};
#define inst_c0 data.op[0].const_val
guint skip_visibility : 1;
guint disable_reuse_registers : 1;
guint disable_reuse_stack_slots : 1;
+ guint disable_reuse_ref_stack_slots : 1;
guint disable_initlocals_opt : 1;
+ guint disable_initlocals_opt_refs : 1;
guint disable_omit_fp : 1;
guint disable_vreg_to_lvreg : 1;
guint disable_deadce_vars : 1;
guint disable_out_of_line_bblocks : 1;
+ guint init_ref_vars : 1;
guint extend_live_ranges : 1;
+ guint compute_precise_live_ranges : 1;
guint has_got_slots : 1;
guint uses_rgctx_reg : 1;
guint uses_vtable_reg : 1;
/* Used by AOT */
guint32 got_offset, ex_info_offset, method_info_offset;
+ /* Symbol used to refer to this method in generated assembly */
+ char *asm_symbol;
MonoJitExceptionInfo *llvm_ex_info;
guint32 llvm_ex_info_len;
gboolean gdb;
gboolean gen_seq_points;
gboolean explicit_null_checks;
+ /*
+ * Fill stack frames with 0x2a in method prologs. This helps with the
+ * debugging of the stack marking code in the GC.
+ */
+ gboolean init_stacks;
} MonoDebugOptions;
enum {
gint32 mono_get_lmf_addr_tls_offset (void) MONO_INTERNAL;
MonoInst* mono_get_jit_tls_intrinsic (MonoCompile *cfg) MONO_INTERNAL;
MonoInst* mono_get_domain_intrinsic (MonoCompile* cfg) MONO_INTERNAL;
+MonoInst* mono_get_thread_intrinsic (MonoCompile* cfg) MONO_INTERNAL;
GList *mono_varlist_insert_sorted (MonoCompile *cfg, GList *list, MonoMethodVar *mv, gboolean sort_end) MONO_INTERNAL;
GList *mono_varlist_sort (MonoCompile *cfg, GList *list, int sort_type) MONO_INTERNAL;
void mono_analyze_liveness (MonoCompile *cfg) MONO_INTERNAL;
gboolean mini_method_verify (MonoCompile *cfg, MonoMethod *method) MONO_INTERNAL;
MonoInst *mono_get_got_var (MonoCompile *cfg) MONO_INTERNAL;
void mono_add_seq_point (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst *ins, int native_offset) MONO_INTERNAL;
+MonoInst* mono_emit_jit_icall (MonoCompile *cfg, gconstpointer func, MonoInst **args) MONO_INTERNAL;
+MonoInst* mono_emit_method_call (MonoCompile *cfg, MonoMethod *method, MonoInst **args, MonoInst *this) MONO_INTERNAL;
+
gboolean mini_class_is_system_array (MonoClass *klass) MONO_INTERNAL;
MonoMethodSignature *mono_get_element_address_signature (int arity) MONO_INTERNAL;
char* mono_aot_get_plt_symbol (MonoJumpInfoType type, gconstpointer data) MONO_INTERNAL;
char* mono_aot_get_method_debug_name (MonoCompile *cfg) MONO_INTERNAL;
MonoJumpInfo* mono_aot_patch_info_dup (MonoJumpInfo* ji) MONO_INTERNAL;
+void mono_aot_set_make_unreadable (gboolean unreadable) MONO_INTERNAL;
+gboolean mono_aot_is_pagefault (void *ptr) MONO_INTERNAL;
+void mono_aot_handle_pagefault (void *ptr) MONO_INTERNAL;
/* This is an exported function */
void mono_aot_register_globals (gpointer *globals);
void mono_monitor_enter_trampoline (mgreg_t *regs, guint8 *code, MonoObject *obj, guint8 *tramp) MONO_INTERNAL;
void mono_monitor_exit_trampoline (mgreg_t *regs, guint8 *code, MonoObject *obj, guint8 *tramp) MONO_INTERNAL;
gconstpointer mono_get_trampoline_func (MonoTrampolineType tramp_type);
-gpointer mini_get_vtable_trampoline (void) MONO_INTERNAL;
+gpointer mini_get_vtable_trampoline (int slot_index) MONO_INTERNAL;
gpointer* mono_get_vcall_slot_addr (guint8* code, mgreg_t *regs) MONO_INTERNAL;
gboolean mono_running_on_valgrind (void) MONO_INTERNAL;
GSList* mono_arch_get_delegate_invoke_impls (void) MONO_INTERNAL;
LLVMCallInfo* mono_arch_get_llvm_call_info (MonoCompile *cfg, MonoMethodSignature *sig) MONO_INTERNAL;
guint8* mono_arch_emit_load_got_addr (guint8 *start, guint8 *code, MonoCompile *cfg, MonoJumpInfo **ji) MONO_INTERNAL;
-guint8* mono_arch_emit_load_aotconst (guint8 *start, guint8 *code, MonoJumpInfo **ji, int tramp_type, gconstpointer target) MONO_INTERNAL;
+guint8* mono_arch_emit_load_aotconst (guint8 *start, guint8 *code, MonoJumpInfo **ji, int tramp_type, gconstpointer target) MONO_INTERNAL;
+GSList* mono_arch_get_cie_program (void) MONO_INTERNAL;
/* Soft Debug support */
#ifdef MONO_ARCH_SOFT_DEBUG_SUPPORTED
int depth, index;
int i;
gboolean mrgctx;
+ GSList *unwind_ops = NULL;
+ char *name;
*ji = NULL;
code = buf = mono_global_codeman_reserve (tramp_size);
+ unwind_ops = mono_arch_get_cie_program ();
+
rgctx_null_jumps = g_malloc (sizeof (guint8*) * (depth + 2));
if (mrgctx) {
*code_size = code - buf;
+ name = g_strdup_printf ("rgctx_fetch_trampoline_%s_%d", mrgctx ? "mrgctx" : "rgctx", index);
+ mono_save_trampoline_xdebug_info (name, buf, code - buf, unwind_ops);
+ g_free (name);
+
return buf;
}
static guint8* nullified_class_init_trampoline;
-/*
- * Return the instruction to jump from code to target, 0 if not
- * reachable with a single instruction
- */
-static guint32
-branch_for_target_reachable (guint8 *branch, guint8 *target)
-{
- gint diff = target - branch - 8;
- g_assert ((diff & 3) == 0);
- if (diff >= 0) {
- if (diff <= 33554431)
- return (ARMCOND_AL << ARMCOND_SHIFT) | (ARM_BR_TAG) | (diff >> 2);
- } else {
- /* diff between 0 and -33554432 */
- if (diff >= -33554432)
- return (ARMCOND_AL << ARMCOND_SHIFT) | (ARM_BR_TAG) | ((diff >> 2) & ~0xff000000);
- }
- return 0;
-}
-
-static inline guint8*
-emit_bx (guint8* code, int reg)
-{
- if (mono_arm_thumb_supported ())
- ARM_BX (code, reg);
- else
- ARM_MOV_REG_REG (code, ARMREG_PC, reg);
- return code;
-}
-
-/*
- * mono_arch_get_unbox_trampoline:
- * @gsctx: the generic sharing context
- * @m: method pointer
- * @addr: pointer to native code for @m
- *
- * when value type methods are called through the vtable we need to unbox the
- * this argument. This method returns a pointer to a trampoline which does
- * unboxing before calling the method
- */
-gpointer
-mono_arch_get_unbox_trampoline (MonoGenericSharingContext *gsctx, MonoMethod *m, gpointer addr)
-{
- guint8 *code, *start;
- int this_pos = 0;
- MonoDomain *domain = mono_domain_get ();
-
- if (MONO_TYPE_ISSTRUCT (mono_method_signature (m)->ret))
- this_pos = 1;
-
- start = code = mono_domain_code_reserve (domain, 16);
-
- ARM_LDR_IMM (code, ARMREG_IP, ARMREG_PC, 4);
- ARM_ADD_REG_IMM8 (code, this_pos, this_pos, sizeof (MonoObject));
- code = emit_bx (code, ARMREG_IP);
- *(guint32*)code = (guint32)addr;
- code += 4;
- mono_arch_flush_icache (start, code - start);
- g_assert ((code - start) <= 16);
- /*g_print ("unbox trampoline at %d for %s:%s\n", this_pos, m->klass->name, m->name);
- g_print ("unbox code is at %p for method at %p\n", start, addr);*/
-
- return start;
-}
-
-gpointer
-mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericContext *mrgctx, gpointer addr)
-{
- guint8 *code, *start;
- int buf_len;
-
- MonoDomain *domain = mono_domain_get ();
-
- buf_len = 16;
-
- start = code = mono_domain_code_reserve (domain, buf_len);
-
- ARM_LDR_IMM (code, MONO_ARCH_RGCTX_REG, ARMREG_PC, 0);
- ARM_LDR_IMM (code, ARMREG_PC, ARMREG_PC, 0);
- *(guint32*)code = (guint32)mrgctx;
- code += 4;
- *(guint32*)code = (guint32)addr;
- code += 4;
-
- g_assert ((code - start) <= buf_len);
-
- mono_arch_flush_icache (start, code - start);
-
- return start;
-}
-
void
mono_arch_patch_callsite (guint8 *method_start, guint8 *code_ptr, guint8 *addr)
{
mono_arch_patch_plt_entry (code, NULL, regs, nullified_class_init_trampoline);
}
+#ifndef DISABLE_JIT
+
+#define arm_is_imm12(v) ((int)(v) > -4096 && (int)(v) < 4096)
+
+/*
+ * Return the instruction to jump from code to target, 0 if not
+ * reachable with a single instruction
+ */
+static guint32
+branch_for_target_reachable (guint8 *branch, guint8 *target)
+{
+ gint diff = target - branch - 8;
+ g_assert ((diff & 3) == 0);
+ if (diff >= 0) {
+ if (diff <= 33554431)
+ return (ARMCOND_AL << ARMCOND_SHIFT) | (ARM_BR_TAG) | (diff >> 2);
+ } else {
+ /* diff between 0 and -33554432 */
+ if (diff >= -33554432)
+ return (ARMCOND_AL << ARMCOND_SHIFT) | (ARM_BR_TAG) | ((diff >> 2) & ~0xff000000);
+ }
+ return 0;
+}
+
+static inline guint8*
+emit_bx (guint8* code, int reg)
+{
+ if (mono_arm_thumb_supported ())
+ ARM_BX (code, reg);
+ else
+ ARM_MOV_REG_REG (code, ARMREG_PC, reg);
+ return code;
+}
+
/* Stack size for trampoline function
*/
#define STACK (sizeof (MonoLMF))
return buf;
}
-#define arm_is_imm12(v) ((int)(v) > -4096 && (int)(v) < 4096)
+/*
+ * mono_arch_get_unbox_trampoline:
+ * @gsctx: the generic sharing context
+ * @m: method pointer
+ * @addr: pointer to native code for @m
+ *
+ * when value type methods are called through the vtable we need to unbox the
+ * this argument. This method returns a pointer to a trampoline which does
+ * unboxing before calling the method
+ */
+gpointer
+mono_arch_get_unbox_trampoline (MonoGenericSharingContext *gsctx, MonoMethod *m, gpointer addr)
+{
+ guint8 *code, *start;
+ int this_pos = 0;
+ MonoDomain *domain = mono_domain_get ();
+
+ if (MONO_TYPE_ISSTRUCT (mono_method_signature (m)->ret))
+ this_pos = 1;
+
+ start = code = mono_domain_code_reserve (domain, 16);
+
+ ARM_LDR_IMM (code, ARMREG_IP, ARMREG_PC, 4);
+ ARM_ADD_REG_IMM8 (code, this_pos, this_pos, sizeof (MonoObject));
+ code = emit_bx (code, ARMREG_IP);
+ *(guint32*)code = (guint32)addr;
+ code += 4;
+ mono_arch_flush_icache (start, code - start);
+ g_assert ((code - start) <= 16);
+ /*g_print ("unbox trampoline at %d for %s:%s\n", this_pos, m->klass->name, m->name);
+ g_print ("unbox code is at %p for method at %p\n", start, addr);*/
+
+ return start;
+}
+
+gpointer
+mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericContext *mrgctx, gpointer addr)
+{
+ guint8 *code, *start;
+ int buf_len;
+
+ MonoDomain *domain = mono_domain_get ();
+
+ buf_len = 16;
+
+ start = code = mono_domain_code_reserve (domain, buf_len);
+
+ ARM_LDR_IMM (code, MONO_ARCH_RGCTX_REG, ARMREG_PC, 0);
+ ARM_LDR_IMM (code, ARMREG_PC, ARMREG_PC, 0);
+ *(guint32*)code = (guint32)mrgctx;
+ code += 4;
+ *(guint32*)code = (guint32)addr;
+ code += 4;
+
+ g_assert ((code - start) <= buf_len);
+
+ mono_arch_flush_icache (start, code - start);
+
+ return start;
+}
gpointer
mono_arch_create_rgctx_lazy_fetch_trampoline (guint32 slot)
return buf;
}
+
+#else
+
+guchar*
+mono_arch_create_trampoline_code_full (MonoTrampolineType tramp_type, guint32 *code_size, MonoJumpInfo **ji, GSList **out_unwind_ops, gboolean aot)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+guchar*
+mono_arch_create_trampoline_code (MonoTrampolineType tramp_type)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+gpointer
+mono_arch_get_nullified_class_init_trampoline (guint32 *code_len)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+gpointer
+mono_arch_create_specific_trampoline (gpointer arg1, MonoTrampolineType tramp_type, MonoDomain *domain, guint32 *code_len)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+gpointer
+mono_arch_get_unbox_trampoline (MonoGenericSharingContext *gsctx, MonoMethod *m, gpointer addr)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+gpointer
+mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericContext *mrgctx, gpointer addr)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+gpointer
+mono_arch_create_rgctx_lazy_fetch_trampoline (guint32 slot)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+gpointer
+mono_arch_create_rgctx_lazy_fetch_trampoline_full (guint32 slot, guint32 *code_size, MonoJumpInfo **ji, gboolean aot)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+gpointer
+mono_arch_create_generic_class_init_trampoline (void)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+gpointer
+mono_arch_create_generic_class_init_trampoline_full (guint32 *code_size, MonoJumpInfo **ji, gboolean aot)
+{
+ g_assert_not_reached ();
+ return NULL;
+}
+
+#endif /* DISABLE_JIT */
#include <mono/utils/mono-counters.h>
#include <mono/metadata/threads-types.h>
+#include <mono/metadata/mono-endian.h>
typedef enum {
LOC_SAME,
locations [reg].offset = decode_sleb128 (p, &p) * DWARF_DATA_ALIGN;
break;
case DW_CFA_advance_loc4:
- pos += *(guint32*)p;
+ pos += read32 (p);
p += 4;
break;
default:
action = action_table + action_offset - 1;
type_offset = decode_sleb128 (action, &action);
- g_assert (ttype_encoding == DW_EH_PE_absptr);
- tinfo = *(gpointer*)(ttype - (type_offset * sizeof (gpointer)));
if (landing_pad) {
//printf ("BLOCK: %p-%p %p, %d\n", code + block_start_offset, code + block_start_offset + block_size, code + landing_pad, action_offset);
+ if (ttype_encoding == DW_EH_PE_absptr) {
+ guint8 *ttype_entry = (ttype - (type_offset * sizeof (gpointer)));
+ tinfo = *(gpointer*)ttype_entry;
+ } else if (ttype_encoding == (DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4)) {
+ guint8 *ttype_entry = (ttype - (type_offset * 4));
+ gint32 offset = *(gint32*)ttype_entry;
+ guint8 *stub = ttype_entry + offset;
+ tinfo = *(gpointer*)stub;
+ } else {
+ g_assert_not_reached ();
+ }
+
if (ex_info) {
if (*type_info)
(*type_info) [i] = tinfo;
read_encoded_val (p_encoding, p, &p);
/* L */
- g_assert (*p == (DW_EH_PE_sdata4|DW_EH_PE_pcrel));
+ g_assert ((*p == (DW_EH_PE_sdata4|DW_EH_PE_pcrel)) || (*p == (DW_EH_PE_sdata8|DW_EH_PE_pcrel)));
p ++;
/* R */
g_assert (*p == (DW_EH_PE_sdata4|DW_EH_PE_pcrel));
gint32 lsda_offset;
guint8 *lsda;
- /*
- * For some reason, this is 8 bytes long, even through it only includes
- * the offset to the LSDA which is encoded as an sdata4.
- */
- g_assert (aug_len == sizeof (gpointer));
/* sdata|pcrel encoding */
- lsda_offset = *(gint32*)fde_aug;
+ if (aug_len == 4)
+ lsda_offset = *(gint64*)fde_aug;
+ else if (aug_len == 8)
+ lsda_offset = *(gint32*)fde_aug;
+ else
+ g_assert_not_reached ();
if (lsda_offset != 0) {
lsda = fde_aug + *(gint32*)fde_aug;
return g_realloc (buf, i);
}
+
+/*
+ * mono_unwind_get_cie_program:
+ *
+ * Get the unwind bytecode for the DWARF CIE.
+ */
+GSList*
+mono_unwind_get_cie_program (void)
+{
+#ifdef TARGET_AMD64
+ return mono_arch_get_cie_program ();
+#elif defined(TARGET_POWERPC)
+ GSList *l = NULL;
+
+ mono_add_unwind_op_def_cfa (l, (guint8*)NULL, (guint8*)NULL, ppc_r1, 0);
+
+ return l;
+#else
+ return NULL;
+#endif
+}
--- /dev/null
+/*
+ * xdebug.c: Support for emitting gdb debug info for JITted code.
+ *
+ * Author:
+ * Zoltan Varga (vargaz@gmail.com)
+ *
+ * (C) 2010 Novell, Inc.
+ */
+
+/*
+ * This works as follows:
+ * - the runtime writes out an xdb.s file containing DWARF debug info.
+ * - the user calls a gdb macro
+ * - the macro compiles and loads this shared library using add-symbol-file.
+ *
+ * This is based on the xdebug functionality in the Kaffe Java VM.
+ *
+ * We emit assembly code instead of using the ELF writer, so we can emit debug info
+ * incrementally as each method is JITted, and the debugger doesn't have to call
+ * into the runtime to emit the shared library, which would cause all kinds of
+ * complications, like threading issues, and the fact that the ELF writer's
+ * emit_writeout () function cannot be called more than once.
+ * GDB 7.0 and later has a JIT interface.
+ */
+
+#include "config.h"
+#include <glib.h>
+#include "mini.h"
+
+#if !defined(DISABLE_AOT) && !defined(DISABLE_JIT)
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+#include <fcntl.h>
+#include <ctype.h>
+#include <string.h>
+#ifndef HOST_WIN32
+#include <sys/time.h>
+#else
+#include <winsock2.h>
+#include <windows.h>
+#endif
+
+#include <errno.h>
+#include <sys/stat.h>
+
+#include "image-writer.h"
+#include "dwarfwriter.h"
+
+#define USE_GDB_JIT_INTERFACE
+
+/* The recommended gdb macro is: */
+/*
+ define xdb
+ shell rm -f xdb.so && as --64 -o xdb.o xdb.s && ld -shared -o xdb.so xdb.o
+ add-symbol-file xdb.so 0
+ end
+*/
+
+/*
+ * GDB JIT interface definitions.
+ *
+ * http://sources.redhat.com/gdb/onlinedocs/gdb_30.html
+ */
+typedef enum
+{
+ JIT_NOACTION = 0,
+ JIT_REGISTER_FN,
+ JIT_UNREGISTER_FN
+} jit_actions_t;
+
+struct jit_code_entry
+{
+ struct jit_code_entry *next_entry;
+ struct jit_code_entry *prev_entry;
+ const char *symfile_addr;
+ guint64 symfile_size;
+};
+
+struct jit_descriptor
+{
+ guint32 version;
+ /* This type should be jit_actions_t, but we use guint32
+ to be explicit about the bitwidth. */
+ guint32 action_flag;
+ struct jit_code_entry *relevant_entry;
+ struct jit_code_entry *first_entry;
+};
+
+
+#ifdef _MSC_VER
+#define MONO_NOINLINE __declspec (noinline)
+#else
+#define MONO_NOINLINE __attribute__((noinline))
+#endif
+
+/* GDB puts a breakpoint in this function. */
+void MONO_NOINLINE __jit_debug_register_code(void);
+
+#if defined(ENABLE_LLVM) && ((LLVM_MAJOR_VERSION == 2 && LLVM_MINOR_VERSION >= 7) || LLVM_MAJOR_VERSION > 2)
+/* LLVM already defines these */
+extern struct jit_descriptor __jit_debug_descriptor;
+#else
+
+/* Make sure to specify the version statically, because the
+ debugger may check the version before we can set it. */
+struct jit_descriptor __jit_debug_descriptor = { 1, 0, 0, 0 };
+
+void MONO_NOINLINE __jit_debug_register_code(void) { };
+#endif
+
+static MonoImageWriter *xdebug_w;
+static MonoDwarfWriter *xdebug_writer;
+static FILE *xdebug_fp, *il_file;
+static gboolean use_gdb_interface, save_symfiles;
+static int il_file_line_index;
+static GHashTable *xdebug_syms;
+
+void
+mono_xdebug_init (char *options)
+{
+ MonoImageWriter *w;
+ char **args, **ptr;
+
+ args = g_strsplit (options, ",", -1);
+ for (ptr = args; ptr && *ptr; ptr ++) {
+ char *arg = *ptr;
+
+ if (!strcmp (arg, "gdb"))
+ use_gdb_interface = TRUE;
+ if (!strcmp (arg, "save-symfiles"))
+ save_symfiles = TRUE;
+ }
+
+ /* This file will contain the IL code for methods which don't have debug info */
+ il_file = fopen ("xdb.il", "w");
+
+ if (use_gdb_interface)
+ return;
+
+ unlink ("xdb.s");
+ xdebug_fp = fopen ("xdb.s", "w");
+
+ w = img_writer_create (xdebug_fp, FALSE);
+
+ img_writer_emit_start (w);
+
+ xdebug_writer = mono_dwarf_writer_create (w, il_file, 0, TRUE);
+
+ /* Emit something so the file has a text segment */
+ img_writer_emit_section_change (w, ".text", 0);
+ img_writer_emit_string (w, "");
+
+ mono_dwarf_writer_emit_base_info (xdebug_writer, mono_unwind_get_cie_program ());
+}
+
+static void
+xdebug_begin_emit (MonoImageWriter **out_w, MonoDwarfWriter **out_dw)
+{
+ MonoImageWriter *w;
+ MonoDwarfWriter *dw;
+
+ w = img_writer_create (NULL, TRUE);
+
+ img_writer_emit_start (w);
+
+ /* This file will contain the IL code for methods which don't have debug info */
+ if (!il_file)
+ il_file = fopen ("xdb.il", "w");
+
+ dw = mono_dwarf_writer_create (w, il_file, il_file_line_index, FALSE);
+
+ mono_dwarf_writer_emit_base_info (dw, mono_unwind_get_cie_program ());
+
+ *out_w = w;
+ *out_dw = dw;
+}
+
+static void
+xdebug_end_emit (MonoImageWriter *w, MonoDwarfWriter *dw, MonoMethod *method)
+{
+ guint8 *img;
+ guint32 img_size;
+ struct jit_code_entry *entry;
+
+ il_file_line_index = mono_dwarf_writer_get_il_file_line_index (dw);
+ mono_dwarf_writer_close (dw);
+
+ img_writer_emit_writeout (w);
+
+ img = img_writer_get_output (w, &img_size);
+
+ img_writer_destroy (w);
+
+ if (FALSE) {
+ /* Save the symbol files to help debugging */
+ FILE *fp;
+ char *file_name;
+ static int file_counter;
+
+ file_counter ++;
+ file_name = g_strdup_printf ("xdb-%d.o", file_counter);
+ //printf ("%s -> %s\n", mono_method_full_name (method, TRUE), file_name);
+
+ fp = fopen (file_name, "w");
+ fwrite (img, img_size, 1, fp);
+ fclose (fp);
+ g_free (file_name);
+ }
+
+ /* Register the image with GDB */
+
+ entry = g_malloc (sizeof (struct jit_code_entry));
+
+ entry->symfile_addr = (const char*)img;
+ entry->symfile_size = img_size;
+
+ entry->next_entry = __jit_debug_descriptor.first_entry;
+ if (__jit_debug_descriptor.first_entry)
+ __jit_debug_descriptor.first_entry->prev_entry = entry;
+ __jit_debug_descriptor.first_entry = entry;
+
+ __jit_debug_descriptor.relevant_entry = entry;
+ __jit_debug_descriptor.action_flag = JIT_REGISTER_FN;
+
+ __jit_debug_register_code ();
+}
+
+/*
+ * mono_xdebug_flush:
+ *
+ * This could be called from inside gdb to flush the debugging information not yet
+ * registered with gdb.
+ */
+void
+mono_xdebug_flush (void)
+{
+ if (xdebug_w)
+ xdebug_end_emit (xdebug_w, xdebug_writer, NULL);
+
+ xdebug_begin_emit (&xdebug_w, &xdebug_writer);
+}
+
+static int xdebug_method_count;
+
+/*
+ * mono_save_xdebug_info:
+ *
+ * Emit debugging info for METHOD into an assembly file which can be assembled
+ * and loaded into gdb to provide debugging info for JITted code.
+ * LOCKING: Acquires the loader lock.
+ */
+void
+mono_save_xdebug_info (MonoCompile *cfg)
+{
+ if (use_gdb_interface) {
+ mono_loader_lock ();
+
+ if (!xdebug_syms)
+ xdebug_syms = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+
+ /*
+ * gdb is not designed to handle 1000s of symbol files (one per method). So we
+ * group them into groups of 100.
+ */
+ if ((xdebug_method_count % 100) == 0)
+ mono_xdebug_flush ();
+
+ xdebug_method_count ++;
+
+ mono_dwarf_writer_emit_method (xdebug_writer, cfg, cfg->jit_info->method, NULL, NULL, cfg->jit_info->code_start, cfg->jit_info->code_size, cfg->args, cfg->locals, cfg->unwind_ops, mono_debug_find_method (cfg->jit_info->method, mono_domain_get ()));
+
+#if 0
+ /*
+ * Emit a symbol for the code by emitting it at the beginning of the text
+ * segment, and setting the text segment to have an absolute address.
+ * This symbol can be used to set breakpoints in gdb.
+ * FIXME: This doesn't work when multiple methods are emitted into the same file.
+ */
+ sym = get_debug_sym (cfg->jit_info->method, "", xdebug_syms);
+ img_writer_emit_section_change (w, ".text", 0);
+ if (!xdebug_text_addr) {
+ xdebug_text_addr = cfg->jit_info->code_start;
+ img_writer_set_section_addr (w, (gssize)xdebug_text_addr);
+ }
+ img_writer_emit_global_with_size (w, sym, cfg->jit_info->code_size, TRUE);
+ img_writer_emit_label (w, sym);
+ img_writer_emit_bytes (w, cfg->jit_info->code_start, cfg->jit_info->code_size);
+ g_free (sym);
+#endif
+
+ mono_loader_unlock ();
+ } else {
+ if (!xdebug_writer)
+ return;
+
+ mono_loader_lock ();
+ mono_dwarf_writer_emit_method (xdebug_writer, cfg, cfg->jit_info->method, NULL, NULL, cfg->jit_info->code_start, cfg->jit_info->code_size, cfg->args, cfg->locals, cfg->unwind_ops, mono_debug_find_method (cfg->jit_info->method, mono_domain_get ()));
+ fflush (xdebug_fp);
+ mono_loader_unlock ();
+ }
+}
+
+/*
+ * mono_save_trampoline_xdebug_info:
+ *
+ * Same as mono_save_xdebug_info, but for trampolines.
+ * LOCKING: Acquires the loader lock.
+ */
+void
+mono_save_trampoline_xdebug_info (const char *tramp_name, guint8 *code, guint32 code_size, GSList *unwind_info)
+{
+ if (use_gdb_interface) {
+ MonoImageWriter *w;
+ MonoDwarfWriter *dw;
+
+ mono_loader_lock ();
+
+ xdebug_begin_emit (&w, &dw);
+
+ mono_dwarf_writer_emit_trampoline (dw, tramp_name, NULL, NULL, code, code_size, unwind_info);
+
+ xdebug_end_emit (w, dw, NULL);
+
+ mono_loader_unlock ();
+ } else {
+ if (!xdebug_writer)
+ return;
+
+ mono_loader_lock ();
+ mono_dwarf_writer_emit_trampoline (xdebug_writer, tramp_name, NULL, NULL, code, code_size, unwind_info);
+ fflush (xdebug_fp);
+ mono_loader_unlock ();
+ }
+}
+
+#else /* !defined(DISABLE_AOT) && !defined(DISABLE_JIT) */
+
+void
+mono_xdebug_init (char *options)
+{
+}
+
+void
+mono_save_xdebug_info (MonoCompile *cfg)
+{
+}
+
+void
+mono_save_trampoline_xdebug_info (const char *tramp_name, guint8 *code, guint32 code_size, GSList *unwind_info)
+{
+}
+
+#endif
+2010-02-13 Zoltan Varga <vargaz@gmail.com>
+
+ * mono-profiler-aot.c (output_image): Emit method names instead of tokens so
+ the info can be used for different versions of the same assembly. Don't append
+ the assembly guid to the file names.
+
2010-01-11 Zoltan Varga <vargaz@gmail.com>
* mono-profiler-logging.c (_ProfilerFileWriteBuffer): Use MONO_ZERO_LEN_ARRAY.
{
ForeachData *udata = (ForeachData*)user_data;
MonoMethod *method = (MonoMethod*)data;
+ char *name;
if (!mono_method_get_token (method) || mono_class_get_image (mono_method_get_class (method)) != udata->image)
return;
- fprintf (udata->outfile, "%d\n", mono_method_get_token (method));
+ name = mono_method_full_name (method, TRUE);
+ fprintf (udata->outfile, "%s\n", name);
+ g_free (name);
}
static void
i = 0;
while (TRUE) {
- outfile_name = g_strdup_printf ("%s/%s-%s-%d", tmp, mono_image_get_name (image), mono_image_get_guid (image), i);
+ outfile_name = g_strdup_printf ("%s/%s-%d", tmp, mono_image_get_name (image), i);
if (!g_file_test (outfile_name, G_FILE_TEST_IS_REGULAR))
break;
outfile = fopen (outfile_name, "w+");
g_assert (outfile);
- fprintf (outfile, "#VER:%d\n", 1);
+ fprintf (outfile, "#VER:%d\n", 2);
data.prof = prof;
data.outfile = outfile;
+2010-02-11 Zoltan Varga <vargaz@gmail.com>
+
+ * dtest.cs: Add a test for exception subclasses.
+
+2010-02-04 Zoltan Varga <vargaz@gmail.com>
+
+ * dtest.cs: Add a test for TypeMirror.EnumUnderlyingType.
+
+ * dtest.cs dtest-app.cs: Add tests for TypeMirror.IsEnum and
+ VirtualMachine.CreateEnumMirror ().
+
+2010-01-28 Zoltan Varga <vargaz@gmail.com>
+
+ * dtest.cs: Add minimal tests for assembly unloading.
+
+2010-01-28 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * large-gc-bitmap.cs: Respect the 1Mb size limit for valuetype types.
+
2010-01-19 Sylvain Dupont <duposyl@gmail.com>
* cominterop.cs libtest.c: Added tests for marshalling
unsafe {
AStruct s = new AStruct () { i = 42, s = "S", k = 43 };
- ti2 (new string [] { "BAR", "BAZ" }, new int[] { 42, 43 }, new int [,] { { 1, 2 }, { 3, 4 }}, ref val, (int*)IntPtr.Zero, 5, s, new Tests (), new Tests2 (), new GClass <int> ());
+ ti2 (new string [] { "BAR", "BAZ" }, new int[] { 42, 43 }, new int [,] { { 1, 2 }, { 3, 4 }}, ref val, (int*)IntPtr.Zero, 5, s, new Tests (), new Tests2 (), new GClass <int> (), AnEnum.B);
}
}
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
- public static unsafe string ti2 (string[] s2, int[] s3, int[,] s4, ref int ri, int* ptr, int i, AStruct s, Tests t, Tests2 t2, GClass<int> g) {
+ public static unsafe string ti2 (string[] s2, int[] s3, int[,] s4, ref int ri, int* ptr, int i, AStruct s, Tests t, Tests2 t2, GClass<int> g, AnEnum ae) {
return s2 [0] + s3 [0] + s4 [0, 0];
}
throw new ArgumentException ();
} catch (Exception) {
}
+ try {
+ throw new OverflowException ();
+ } catch (Exception) {
+ }
object o = null;
try {
}
}
+ BreakpointEvent run_until (string name) {
+ // String
+ MethodMirror m = entry_point.DeclaringType.GetMethod (name);
+ Assert.IsNotNull (m);
+ vm.SetBreakpoint (m, 0);
+
+ Event e = null;
+
+ while (true) {
+ vm.Resume ();
+ e = vm.GetNextEvent ();
+ if (e is BreakpointEvent)
+ break;
+ }
+
+ Assert.IsInstanceOfType (typeof (BreakpointEvent), e);
+ Assert.AreEqual (m, (e as BreakpointEvent).Method);
+
+ return (e as BreakpointEvent);
+ }
+
+ Event single_step (ThreadMirror t) {
+ var req = vm.CreateStepRequest (t);
+ req.Enable ();
+
+ vm.Resume ();
+ Event e = vm.GetNextEvent ();
+ Assert.IsTrue (e is StepEvent);
+
+ req.Disable ();
+
+ return e;
+ }
+
+ void check_arg_val (StackFrame frame, int pos, Type type, object eval) {
+ object val = frame.GetArgument (pos);
+ Assert.IsTrue (val is PrimitiveValue);
+ object v = (val as PrimitiveValue).Value;
+ Assert.AreEqual (type, v.GetType ());
+ if (eval is float)
+ Assert.IsTrue (Math.Abs ((float)eval - (float)v) < 0.0001);
+ else if (eval is double)
+ Assert.IsTrue (Math.Abs ((double)eval - (double)v) < 0.0001);
+ else
+ Assert.AreEqual (eval, v);
+ }
+
+ void AssertValue (object expected, object val) {
+ if (expected is string) {
+ Assert.IsTrue (val is StringMirror);
+ Assert.AreEqual (expected, (val as StringMirror).Value);
+ } else if (val is StructMirror && (val as StructMirror).Type.Name == "IntPtr") {
+ AssertValue (expected, (val as StructMirror).Fields [0]);
+ } else {
+ Assert.IsTrue (val is PrimitiveValue);
+ Assert.AreEqual (expected, (val as PrimitiveValue).Value);
+ }
+ }
+
[SetUp]
public void SetUp () {
Start (new string [] { "dtest-app.exe" });
req1.Disable ();
}
- BreakpointEvent run_until (string name) {
- // String
- MethodMirror m = entry_point.DeclaringType.GetMethod (name);
- Assert.IsNotNull (m);
- vm.SetBreakpoint (m, 0);
-
- Event e = null;
-
- while (true) {
- vm.Resume ();
- e = vm.GetNextEvent ();
- if (e is BreakpointEvent)
- break;
- }
-
- Assert.IsInstanceOfType (typeof (BreakpointEvent), e);
- Assert.AreEqual (m, (e as BreakpointEvent).Method);
-
- return (e as BreakpointEvent);
- }
-
- Event single_step (ThreadMirror t) {
- var req = vm.CreateStepRequest (t);
- req.Enable ();
-
- vm.Resume ();
- Event e = vm.GetNextEvent ();
- Assert.IsTrue (e is StepEvent);
-
- req.Disable ();
-
- return e;
- }
-
- void check_arg_val (StackFrame frame, int pos, Type type, object eval) {
- object val = frame.GetArgument (pos);
- Assert.IsTrue (val is PrimitiveValue);
- object v = (val as PrimitiveValue).Value;
- Assert.AreEqual (type, v.GetType ());
- if (eval is float)
- Assert.IsTrue (Math.Abs ((float)eval - (float)v) < 0.0001);
- else if (eval is double)
- Assert.IsTrue (Math.Abs ((double)eval - (double)v) < 0.0001);
- else
- Assert.AreEqual (eval, v);
- }
-
- void AssertValue (object expected, object val) {
- if (expected is string) {
- Assert.IsTrue (val is StringMirror);
- Assert.AreEqual (expected, (val as StringMirror).Value);
- } else if (val is StructMirror && (val as StructMirror).Type.Name == "IntPtr") {
- AssertValue (expected, (val as StructMirror).Fields [0]);
- } else {
- Assert.IsTrue (val is PrimitiveValue);
- Assert.AreEqual (expected, (val as PrimitiveValue).Value);
- }
- }
-
[Test]
public void Arguments () {
object val;
// enums
- f = o.GetValue (o.Type.GetField ("field_enum"));
+ FieldInfoMirror field = o.Type.GetField ("field_enum");
+ f = o.GetValue (field);
(f as EnumMirror).Value = 5;
- o.SetValue (o.Type.GetField ("field_enum"), f);
- f = o.GetValue (o.Type.GetField ("field_enum"));
+ o.SetValue (field, f);
+ f = o.GetValue (field);
Assert.AreEqual (5, (f as EnumMirror).Value);
// null
f = o.GetValue (o.Type.GetField ("field_s"));
AssertValue (null, f);
+ // vtype instances
+ field = o.Type.GetField ("generic_field_struct");
+ f = o.GetValue (field);
+ o.SetValue (field, f);
+
// Argument checking
AssertThrows<ArgumentNullException> (delegate () {
o.SetValues (null, new Value [0]);
t = frame.Method.GetParameters ()[9].ParameterType;
Assert.AreEqual ("GClass`1", t.Name);
+ // enums
+ t = frame.Method.GetParameters ()[10].ParameterType;
+ Assert.AreEqual ("AnEnum", t.Name);
+ Assert.IsTrue (t.IsEnum);
+ Assert.AreEqual ("Int32", t.EnumUnderlyingType.Name);
+
// properties
t = frame.Method.GetParameters ()[7].ParameterType;
Assert.AreEqual ("Assembly", frame.Method.DeclaringType.Assembly.GetAssemblyObject ().Type.Name);
- TypeMirror t = vm.RootDomain.Corlib.GetType ("System.Diagnostics.DebuggerDisplayAttribute", false, false);
+ TypeMirror t = vm.RootDomain.Corlib.GetType ("System.Diagnostics.DebuggerDisplayAttribute");
Assert.AreEqual ("DebuggerDisplayAttribute", t.Name);
}
// exception type filter
- req = vm.CreateExceptionRequest (vm.RootDomain.Corlib.GetType ("System.ArgumentException", false, false));
+ req = vm.CreateExceptionRequest (vm.RootDomain.Corlib.GetType ("System.ArgumentException"));
req.Enable ();
// Skip the throwing of the second OverflowException
Assert.AreEqual ("ArgumentException", (e as ExceptionEvent).Exception.Type.Name);
req.Disable ();
+ // exception type filter for subclasses
+ req = vm.CreateExceptionRequest (vm.RootDomain.Corlib.GetType ("System.Exception"));
+ req.Enable ();
+
+ vm.Resume ();
+
+ e = vm.GetNextEvent ();
+ Assert.IsInstanceOfType (typeof (ExceptionEvent), e);
+ Assert.AreEqual ("OverflowException", (e as ExceptionEvent).Exception.Type.Name);
+ req.Disable ();
+
// Implicit exceptions
req = vm.CreateExceptionRequest (null);
req.Enable ();
Start (new string [] { "dtest-app.exe", "domain-test" });
- vm.EnableEvents (EventType.AppDomainCreate, EventType.AppDomainUnload);
+ vm.EnableEvents (EventType.AppDomainCreate, EventType.AppDomainUnload, EventType.AssemblyUnload);
Event e = run_until ("domains");
Assert.AreEqual ("domain", domain.FriendlyName);
// Run until the unload
- vm.Resume ();
-
- e = vm.GetNextEvent ();
+ while (true) {
+ vm.Resume ();
+ e = vm.GetNextEvent ();
+ if (e is AssemblyUnloadEvent) {
+ continue;
+ } else {
+ break;
+ }
+ }
Assert.IsInstanceOfType (typeof (AppDomainUnloadEvent), e);
Assert.AreEqual (domain, (e as AppDomainUnloadEvent).Domain);
t.InvokeMethod (e.Thread, m, null);
});
}
+
+ [Test]
+ public void VirtualMachine_CreateEnumMirror () {
+ var e = run_until ("o1");
+ var frame = e.Thread.GetFrames () [0];
+
+ object val = frame.GetThis ();
+ Assert.IsTrue (val is ObjectMirror);
+ Assert.AreEqual ("Tests", (val as ObjectMirror).Type.Name);
+ ObjectMirror o = (val as ObjectMirror);
+
+ FieldInfoMirror field = o.Type.GetField ("field_enum");
+ Value f = o.GetValue (field);
+ TypeMirror enumType = (f as EnumMirror).Type;
+
+ o.SetValue (field, vm.CreateEnumMirror (enumType, vm.CreateValue (1)));
+ f = o.GetValue (field);
+ Assert.AreEqual (1, (f as EnumMirror).Value);
+
+ // Argument checking
+ AssertThrows<ArgumentNullException> (delegate () {
+ vm.CreateEnumMirror (enumType, null);
+ });
+
+ AssertThrows<ArgumentNullException> (delegate () {
+ vm.CreateEnumMirror (null, vm.CreateValue (1));
+ });
+
+ // null value
+ AssertThrows<ArgumentException> (delegate () {
+ vm.CreateEnumMirror (enumType, vm.CreateValue (null));
+ });
+
+ // value of a wrong type
+ AssertThrows<ArgumentException> (delegate () {
+ vm.CreateEnumMirror (enumType, vm.CreateValue ((long)1));
+ });
+ }
}
\ No newline at end of file
}
public class main {
- static Nester<Nester<Nester<Nester<Nester<Nester<Nester<Nester<Nester<object>>>>>>>>> nester;
+ static Nester<Nester<Nester<Nester<Nester<Nester<Nester<Nester<object>>>>>>>> nester;
public static int Main (string [] args) {
return 0;
+2010-02-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * make_endfilter_test.sh: Fix this test to not have a throw that make some of the
+ endfilter unreachable.
+
+2010-02-04 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * invalid_branch_in_between_prefix_and_instruction.il:
+ * invalid_empty_filter_block.il:
+ * make_endfilter_test.sh
+ * make_endfinally_test.sh: Bunch of OSX and test fixes.
+
+2010-01-28 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * Makefile, *.sh, *.il: Change status of a bunch of a tests to reflect the metadata
+ verifier. First pass into making the test suite works under OSX.
+
2010-01-08 Rodrigo Kumpera <rkumpera@novell.com>
* valid_iface_with_variant_constraint.cs: Constraints can be variant.
if [ "$$FIRST" == "strict" ]; \
then \
#in strict more it must fail under strict check and pass under non-strict check \
- ../../metadata/pedump --verify error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
+ ../../metadata/pedump --verify partial-md,error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
R1=$$?; \
- ../../metadata/pedump --verify error,warn,cls,code,non-strict $$TEST.exe >/dev/null 2>/dev/null; \
+ ../../metadata/pedump --verify partial-md,error,warn,cls,code,non-strict $$TEST.exe >/dev/null 2>/dev/null; \
R2=$$?; \
if [ $$R1 != 2 ] && [ $$R1 != 3 ]; then \
echo "$$TEST is strict but did not fail under strict check, got $${R1} but expected 2 or 3"; \
fi \
elif [ "$$FIRST" == "typeunverifiable" ]; then \
#in type unverifiable more it must fail under verifiable mode but it's ok under valid mode \
- ../../metadata/pedump --verify error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
+ ../../metadata/pedump --verify partial-md,error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
R1=$$?; \
- ../../metadata/pedump --verify error,warn,cls,code,valid-only $$TEST.exe >/dev/null 2>/dev/null; \
+ ../../metadata/pedump --verify partial-md,error,warn,cls,code,valid-only $$TEST.exe >/dev/null 2>/dev/null; \
R2=$$?; \
if [ $$R1 != 3 ]; then \
echo "$$TEST is type unverifiable but did not fail under verifiable check, got $${R1} but expected 3"; \
echo "$$TEST is type unverifiable but did not pass under non-strict check, got $${R2} but expected 0"; \
fi \
elif [ $$RES != 99 ]; then \
- ../../metadata/pedump --verify error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
+ ../../metadata/pedump --verify partial-md,error,warn,cls,code $$TEST.exe >/dev/null 2>/dev/null; \
R=$$?; \
if [ $$R != $$RES ]; then \
echo "$$TEST failed expected $$RES but got $$R"; \
--- /dev/null
+
+.assembly extern mscorlib
+{
+ .ver 2:0:0:0
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
+}
+
+.assembly 'cmmp_test'
+{
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+
+.module cmmp.exe
+
+.class ClassA extends [mscorlib]System.Object
+{
+ .field public int32 valid
+ .field public static int32 test
+
+ .method public hidebysig specialname rtspecialname instance default void .ctor () cil managed
+ {
+ .maxstack 8
+ ldarg.0
+ call instance void object::.ctor()
+ ret
+ }
+}
+
+
+
+.method public static int32 Main ()
+{
+ .entrypoint
+ .maxstack 8
+ .locals init (ClassA V_0)
+
+ newobj instance void class ClassA::.ctor()
+ stloc.0
+ ldloc.0
+ brtrue MIDDLE
+
+ nop
+ volatile.
+MIDDLE:
+ ldsfld int32 ClassA::test
+ pop
+
+ ldc.i4.0
+ ret
+}
+
BB_01:
BB_02:
- pop
- ldc.i4.0
- endfilter
+ nop
+ nop
+ br END
BB_03:
BB_04:
--- /dev/null
+.assembly extern mscorlib
+{
+ .ver 2:0:0:0
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
+}
+.assembly extern System.Core
+{
+ .ver 3:5:0:0
+ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
+}
+.assembly 'test-anon-01'
+{
+ .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = (
+ 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
+ 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
+
+ .hash algorithm 0x00008004
+ .ver 0:0:0:0
+}
+.module 'test-anon-01.exe' // GUID = {38A511CD-E5D7-4DA2-88C0-A137887BAFBC}
+
+
+ .class public auto ansi beforefieldinit Test
+ extends [mscorlib]System.Object
+ {
+ .field private static class [System.Core]System.Func`1<!!0> '<>f__am$cache0'
+ .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
+
+
+ // method line 1
+ .method public hidebysig specialname rtspecialname
+ instance default void '.ctor' () cil managed
+ {
+ // Method begins at RVA 0x20ec
+ // Code size 7 (0x7)
+ .maxstack 8
+ IL_0000: ldarg.0
+ IL_0001: call instance void object::'.ctor'()
+ IL_0006: ret
+ } // end of method Test::.ctor
+
+ // method line 2
+ .method private static hidebysig
+ default class [System.Core]System.Func`1<!!T> XX<T> () cil managed
+ {
+ // Method begins at RVA 0x20f4
+ // Code size 32 (0x20)
+ .maxstack 4
+ .locals init (
+ class [System.Core]System.Func`1<!!T> V_0)
+ IL_0000: ldsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
+ IL_0005: brtrue.s IL_0018
+
+ IL_0007: ldnull
+ IL_0008: ldftn !!0 class Test::'<XX>m__0'<!!0> ()
+ IL_000e: newobj instance void class [System.Core]System.Func`1<!!T>::'.ctor'(object, native int)
+ IL_0013: stsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
+ IL_0018: ldsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
+ IL_001d: stloc.0
+ IL_001e: ldloc.0
+ IL_001f: ret
+ } // end of method Test::XX
+
+ // method line 3
+ .method public static hidebysig
+ default int32 Main () cil managed
+ {
+ // Method begins at RVA 0x2120
+ .entrypoint
+ // Code size 103 (0x67)
+ .maxstack 20
+ IL_0000: call class [System.Core]System.Func`1<!!0> class Test::XX<bool> ()
+ IL_0005: callvirt instance !0 class [System.Core]System.Func`1<bool>::Invoke()
+ IL_000a: box [mscorlib]System.Boolean
+ IL_000f: call instance class [mscorlib]System.Type object::GetType()
+ IL_0014: ldtoken [mscorlib]System.Boolean
+ IL_0019: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_001e: beq IL_0025
+
+ IL_0023: ldc.i4.1
+ IL_0024: ret
+ IL_0025: call class [System.Core]System.Func`1<!!0> class Test::XX<int32> ()
+ IL_002a: callvirt instance !0 class [System.Core]System.Func`1<int32>::Invoke()
+ IL_002f: box [mscorlib]System.Int32
+ IL_0034: call instance class [mscorlib]System.Type object::GetType()
+ IL_0039: ldtoken [mscorlib]System.Int32
+ IL_003e: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
+ IL_0043: beq IL_004a
+
+ IL_0048: ldc.i4.1
+ IL_0049: ret
+ IL_004a: call class [System.Core]System.Func`1<!!0> class Test::XX<object> ()
+ IL_004f: callvirt instance !0 class [System.Core]System.Func`1<object>::Invoke()
+ IL_0054: brfalse IL_005b
+
+ IL_0059: ldc.i4.2
+ IL_005a: ret
+ IL_005b: ldstr "OK"
+ IL_0060: call void class [mscorlib]System.Console::WriteLine(string)
+ IL_0065: ldc.i4.0
+ IL_0066: ret
+ } // end of method Test::Main
+
+ // method line 4
+ .method private static hidebysig
+ default !!T '<XX>m__0'<T> () cil managed
+ {
+ .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
+
+ // Method begins at RVA 0x2194
+ // Code size 12 (0xc)
+ .maxstack 2
+ .locals init (
+ !!T V_0,
+ !!T V_1)
+ IL_0000: ldloca.s 0
+ IL_0002: initobj !!0
+ IL_0008: ldloc.0
+ IL_0009: ret
+ IL_000a: ldloc.1
+ IL_000b: ret
+ } // end of method Test::<XX>m__0
+
+ } // end of class Test
+
#! /bin/sh
+SED="sed"
+if [ `which gsed` ] ; then
+ SED="gsed"
+fi
+
TEST_NAME=$1
TEST_VALIDITY=$2
TEST_TYPE1=$3
fi
fi
-TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | sed -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
+TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | $SED -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
echo $TEST_FILE
-sed -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/TYPE3/${TEST_TYPE3}/g" -e "s/INIT_LOCS/${INIT_LOCS}/g" -e "s/INIT_IL/${INIT_IL}/g"> $TEST_FILE <<//EOF
+$SED -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/TYPE3/${TEST_TYPE3}/g" -e "s/INIT_LOCS/${INIT_LOCS}/g" -e "s/INIT_IL/${INIT_IL}/g"> $TEST_FILE <<//EOF
.assembly extern mscorlib
{
#! /bin/sh
+SED="sed"
+if [ `which gsed` ] ; then
+ SED="gsed"
+fi
TEST_NAME=$1
TEST_VALIDITY=$2
for I in {2..5};
do
- declare LEAVE_${I}="leave END"
+ declare LEAVE_${I}="leave NEXT_${I}"
done
declare OPCODE_${TEST_POS}="endfilter"
TEST_NAME=${TEST_VALIDITY}_${TEST_NAME}
TEST_FILE=${TEST_NAME}_generated.il
echo $TEST_FILE
-sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/FILTER_EXTRAS/${TEST_FILTER_EXTRAS}/g" > $TEST_FILE <<//EOF
+$SED -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/FILTER_EXTRAS/${TEST_FILTER_EXTRAS}/g" > $TEST_FILE <<//EOF
// VALIDITY
.assembly '${TEST_NAME}_generated'
.try
{
- newobj instance void class [mscorlib]System.Exception::.ctor()
- throw
+ nop
+ nop
${LEAVE_2}
}
${LEAVE_3}
}
+NEXT_2:
+NEXT_3:
+
+TRY_2:
.try {
.try
{
- newobj instance void class [mscorlib]System.Exception::.ctor()
- throw
+ nop
+ nop
${LEAVE_4}
}
{
pop
leave END
- }
+ }
+NEXT_4:
.try
{
- newobj instance void class [mscorlib]System.Exception::.ctor()
- throw
+ nop
+ nop
leave END
${LEAVE_5}
}
+NEXT_5:
+
END:
ldc.i4.0
ret
#! /bin/sh
+SED="sed"
+if [ `which gsed` ] ; then
+ SED="gsed"
+fi
+
TEST_NAME=$1
TEST_VALIDITY=$2
TEST_BLOCK=$3
TEST_NAME=${TEST_VALIDITY}_${TEST_NAME}
TEST_FILE=${TEST_NAME}_generated.il
echo $TEST_FILE
-sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/LOCAL/${TEST_LOCAL}/g" -e "s/BLOCK/${TEST_BLOCK}/g" -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" > $TEST_FILE <<//EOF
+$SED -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/LOCAL/${TEST_LOCAL}/g" -e "s/BLOCK/${TEST_BLOCK}/g" -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" > $TEST_FILE <<//EOF
// VALIDITY
.assembly '${TEST_NAME}_generated'
{
nop
${OPCODE_2}
- leave END
+ leave TRY_2
}
catch [mscorlib]System.NullReferenceException
{
pop
${OPCODE_3}
leave END
- }
+ }
+
+TRY_2:
.try
{
nop
${OPCODE_4}
- leave END
+ leave TRY_3
}
BLOCK
endfinally
}
+TRY_3:
.try {
.try
{
nop
- leave END
+ leave TRY_4
}
catch [mscorlib]System.NullReferenceException
{
endfinally
}
+TRY_4:
+
.try
{
nop
#! /bin/sh
+SED="sed"
+if [ `which gsed` ] ; then
+ SED="gsed"
+fi
+
TEST_NAME=$1
TEST_VALIDITY=$2
TEST_TYPE1=$3
INIT_IL="ldloca.s 2\n\tstloc.1"
fi
-TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | sed -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
+TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | $SED -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
echo $TEST_FILE
-sed -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/TYPE3/${TEST_TYPE3}/g" -e "s/INIT_LOCS/${INIT_LOCS}/g" -e "s/INIT_IL/${INIT_IL}/g"> $TEST_FILE <<//EOF
+$SED -e "s/EXTRA_OPS/${TEST_EXTRA_OPS}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/TYPE3/${TEST_TYPE3}/g" -e "s/INIT_LOCS/${INIT_LOCS}/g" -e "s/INIT_IL/${INIT_IL}/g"> $TEST_FILE <<//EOF
.assembly extern mscorlib
{
#! /bin/sh
+SED="sed"
+if [ `which gsed` ] ; then
+ SED="gsed"
+fi
+
TEST_NAME=$1
TEST_VALIDITY=$2
TEST_OP=$3
TEST_NAME=${TEST_VALIDITY}_${TEST_NAME}
TEST_FILE=${TEST_NAME}_generated.il
echo $TEST_FILE
-TEST_TYPE1=`echo $TEST_TYPE1 | sed -s 's/&/\\\&/'`
-TEST_TYPE2=`echo $TEST_TYPE2 | sed -s 's/&/\\\&/'`
-sed -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/OPCODE/${TEST_OP}/g" > $TEST_FILE <<//EOF
+TEST_TYPE1=`echo $TEST_TYPE1 | $SED -s 's/&/\\\&/'`
+TEST_TYPE2=`echo $TEST_TYPE2 | $SED -s 's/&/\\\&/'`
+$SED -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/TYPE2/${TEST_TYPE2}/g" -e "s/OPCODE/${TEST_OP}/g" > $TEST_FILE <<//EOF
// VALIDITY CIL which breaks the ECMA-335 rules.
// this CIL should fail verification by a conforming CLI verifier.
I=`expr $I + 1`
done
- ./make_unary_test.sh conv_op_${J}_${I} badmd $OP "$TYPE" "typedref&"
+ ./make_unary_test.sh conv_op_${J}_${I} invalid $OP "typedref&"
J=`expr $J + 1`
I=1
done
./make_store_test.sh coercion_78_${I} unverifiable "$OP" typedref 'native int'
./make_store_test.sh coercion_89_${I} unverifiable "$OP" typedref int64
./make_store_test.sh coercion_80_${I} unverifiable "$OP" typedref float64
- ./make_store_test.sh coercion_81_${I} badmd "$OP" typedref 'typedref&'
+ ./make_store_test.sh coercion_81_${I} invalid "$OP" typedref 'typedref&'
./make_store_test.sh coercion_82_${I} unverifiable "$OP" typedref object
I=`expr $I + 1`
done
#for T1 in "int8" "int64" "float64" "object" "string" "class Class" "int32[]" "int32[,]" "valuetype MyStruct" "valuetype MyStruct2" "int32 *" "valuetype MyStruct *" "method int32 *(int32)"
for T1 in "native int" "int8*" "typedref"
do
- for T2 in "int8" "int64" "float64" "object" "string" "class Class" "int32[]" "int32[,]" "valuetype MyStruct" "valuetype MyStruct2" "int32 *" "valuetype MyStruct *" "method int32 *(int32)" "native int" "typedref" "typedref\&" "class Template\`1<object>" "valuetype StructTemplate\`1<object>" "valuetype StructTemplate2\`1<object>"
+ for T2 in "int8" "int64" "float64" "object" "string" "class Class" "int32[]" "int32[,]" "valuetype MyStruct" "valuetype MyStruct2" "int32 *" "valuetype MyStruct *" "method int32 *(int32)" "native int" "typedref" "class Template\`1<object>" "valuetype StructTemplate\`1<object>" "valuetype StructTemplate2\`1<object>"
do
./make_ldobj_test.sh ldobj_${I} unverifiable "${T1}" "${T2}"
I=`expr $I + 1`
done
done
+for T1 in "native int" "int8*" "typedref"
+do
+ ./make_ldobj_test.sh ldobj_${I} invalid "${T1}" "typedref\&"
+ I=`expr $I + 1`
+done
done
-for TYPE in "int32*" "typedref" "method int32 *(int32)"
+for TYPE in "int32*" "method int32 *(int32)"
do
./make_stobj_test.sh stobj_simple_${I} unverifiable "$TYPE" "$TYPE\&" "$TYPE"
I=`expr $I + 1`
done
-for TYPE in "int32\&" "void"
+for TYPE in "int32\&" "void" "typedref"
do
- ./make_stobj_test.sh stobj_simple_${I} badmd "$TYPE" "$TYPE\&" "$TYPE"
+ ./make_stobj_test.sh stobj_simple_${I} invalid "$TYPE" "$TYPE\&" "$TYPE"
I=`expr $I + 1`
done
done
#should be able to use unmanaged types
-for TYPE in "int32*" "typedref" "method int32 *(int32)"
+for TYPE in "int32*" "method int32 *(int32)"
do
./make_cpobj_test.sh cpobj_simple_${I} unverifiable "${TYPE}\&" "${TYPE}\&" "${TYPE}"
I=`expr $I + 1`
done
#should be able to use invalid types
-for TYPE in "int32\&" "void"
+for TYPE in "int32\&" "void" "typedref"
do
- ./make_cpobj_test.sh cpobj_simple_${I} badmd "${TYPE}\&" "${TYPE}\&" "${TYPE}"
+ ./make_cpobj_test.sh cpobj_simple_${I} invalid "${TYPE}\&" "${TYPE}\&" "${TYPE}"
I=`expr $I + 1`
done
#call conv
./make_delegate_compat_test.sh delegate_bad_cconv_1 unverifiable int32 int32 int32 int32 "default" "vararg"
-./make_delegate_compat_test.sh delegate_bad_cconv_2 unverifiable int32 int32 int32 int32 "vararg" " "
+#This is invalid because we don't properly decode memberref signatures
+./make_delegate_compat_test.sh delegate_bad_cconv_2 invalid int32 int32 int32 int32 "vararg" " "
#return type
#! /bin/sh
+SED="sed"
+if [ `which gsed` ] ; then
+ SED="gsed"
+fi
+
TEST_NAME=$1
TEST_VALIDITY=$2
TEST_OP=$3
TEST_TYPE1=$4
-TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | sed -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
+TEST_FILE=`echo ${TEST_VALIDITY}_${TEST_NAME} | $SED -e 's/ /_/g' -e 's/\./_/g' -e 's/&/mp/g' -e 's/\[/_/g' -e 's/\]/_/g'`_generated.il
echo $TEST_FILE
-TEST_TYPE1=`echo $TEST_TYPE1 | sed -s 's/&/\\\&/'`
-sed -e "s/OPCODE/${TEST_OP}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/LOAD_OPCODE/${TEST_LOAD_OP}/g" > $TEST_FILE <<//EOF
+TEST_TYPE1=`echo $TEST_TYPE1 | $SED -s 's/&/\\\&/'`
+$SED -e "s/OPCODE/${TEST_OP}/g" -e "s/VALIDITY/${TEST_VALIDITY}/g" -e "s/TYPE1/${TEST_TYPE1}/g" -e "s/LOAD_OPCODE/${TEST_LOAD_OP}/g" > $TEST_FILE <<//EOF
// VALIDITY CIL which breaks the ECMA-335 rules.
// this CIL should fail verification by a conforming CLI verifier.
.field [0] private int32 privateIntVal
.field [0] public int32 publicIntVal
.field [4] public int32 intVal
- //.field [4] public object objVal
}
.method public static int32 Main() cil managed
+++ /dev/null
-.assembly extern mscorlib
-{
- .ver 2:0:0:0
- .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
-}
-.assembly extern System.Core
-{
- .ver 3:5:0:0
- .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
-}
-.assembly 'test-anon-01'
-{
- .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = (
- 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
- 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
-
- .hash algorithm 0x00008004
- .ver 0:0:0:0
-}
-.module 'test-anon-01.exe' // GUID = {38A511CD-E5D7-4DA2-88C0-A137887BAFBC}
-
-
- .class public auto ansi beforefieldinit Test
- extends [mscorlib]System.Object
- {
- .field private static class [System.Core]System.Func`1<!!0> '<>f__am$cache0'
- .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
-
-
- // method line 1
- .method public hidebysig specialname rtspecialname
- instance default void '.ctor' () cil managed
- {
- // Method begins at RVA 0x20ec
- // Code size 7 (0x7)
- .maxstack 8
- IL_0000: ldarg.0
- IL_0001: call instance void object::'.ctor'()
- IL_0006: ret
- } // end of method Test::.ctor
-
- // method line 2
- .method private static hidebysig
- default class [System.Core]System.Func`1<!!T> XX<T> () cil managed
- {
- // Method begins at RVA 0x20f4
- // Code size 32 (0x20)
- .maxstack 4
- .locals init (
- class [System.Core]System.Func`1<!!T> V_0)
- IL_0000: ldsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
- IL_0005: brtrue.s IL_0018
-
- IL_0007: ldnull
- IL_0008: ldftn !!0 class Test::'<XX>m__0'<!!0> ()
- IL_000e: newobj instance void class [System.Core]System.Func`1<!!T>::'.ctor'(object, native int)
- IL_0013: stsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
- IL_0018: ldsfld class [System.Core]System.Func`1<!!0> Test::'<>f__am$cache0'
- IL_001d: stloc.0
- IL_001e: ldloc.0
- IL_001f: ret
- } // end of method Test::XX
-
- // method line 3
- .method public static hidebysig
- default int32 Main () cil managed
- {
- // Method begins at RVA 0x2120
- .entrypoint
- // Code size 103 (0x67)
- .maxstack 20
- IL_0000: call class [System.Core]System.Func`1<!!0> class Test::XX<bool> ()
- IL_0005: callvirt instance !0 class [System.Core]System.Func`1<bool>::Invoke()
- IL_000a: box [mscorlib]System.Boolean
- IL_000f: call instance class [mscorlib]System.Type object::GetType()
- IL_0014: ldtoken [mscorlib]System.Boolean
- IL_0019: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
- IL_001e: beq IL_0025
-
- IL_0023: ldc.i4.1
- IL_0024: ret
- IL_0025: call class [System.Core]System.Func`1<!!0> class Test::XX<int32> ()
- IL_002a: callvirt instance !0 class [System.Core]System.Func`1<int32>::Invoke()
- IL_002f: box [mscorlib]System.Int32
- IL_0034: call instance class [mscorlib]System.Type object::GetType()
- IL_0039: ldtoken [mscorlib]System.Int32
- IL_003e: call class [mscorlib]System.Type class [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
- IL_0043: beq IL_004a
-
- IL_0048: ldc.i4.1
- IL_0049: ret
- IL_004a: call class [System.Core]System.Func`1<!!0> class Test::XX<object> ()
- IL_004f: callvirt instance !0 class [System.Core]System.Func`1<object>::Invoke()
- IL_0054: brfalse IL_005b
-
- IL_0059: ldc.i4.2
- IL_005a: ret
- IL_005b: ldstr "OK"
- IL_0060: call void class [mscorlib]System.Console::WriteLine(string)
- IL_0065: ldc.i4.0
- IL_0066: ret
- } // end of method Test::Main
-
- // method line 4
- .method private static hidebysig
- default !!T '<XX>m__0'<T> () cil managed
- {
- .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::'.ctor'() = (01 00 00 00 ) // ....
-
- // Method begins at RVA 0x2194
- // Code size 12 (0xc)
- .maxstack 2
- .locals init (
- !!T V_0,
- !!T V_1)
- IL_0000: ldloca.s 0
- IL_0002: initobj !!0
- IL_0008: ldloc.0
- IL_0009: ret
- IL_000a: ldloc.1
- IL_000b: ret
- } // end of method Test::<XX>m__0
-
- } // end of class Test
-
+
+Wed Feb 24 15:50:55 CET 2010 Paolo Molaro <lupus@ximian.com>
+
+ * mono-publib.h, mono-publib.c: new public header file to allow
+ the removal of gli from the other public headers.
+ * Makefile.am: install only the public header mono-publib.h.
+
+2010-02-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * mono-semaphore.h: enable the #defines when io-layer is in use.
+ * Makefile.am: added new file.
+ * mono-semaphore.c: new mono_sem_timedwait() function.
+
+2010-02-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * mono-semaphore.h: set maximum count to 0x7fffffff.
+
+2010-01-28 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * mono-error-internals.h: Add mono_error_set_not_verifiable.
+
+ * mono-error.h: Add MONO_ERROR_NOT_VERIFIABLE.
+
+ * mono-error.c: Implement mono_error_set_not_verifiable.
+
+2010-01-26 U-anarquia\miguel <miguel@anarquia>
+
+ * mono-dl.c: Removed debugging messages for the embeddable version
+ of mono-dl.
+
+2010-01-22 Miguel de Icaza (miguel@novell.com)
+
+ * mono-dl.c: Always strdup the return value, for consistency.
+
2010-01-18 Sebastien Pouliot <sebastien@ximian.com>
* mono-error.c: Call va_end/va_start before reusing 'args'.
mono-networkinterfaces.h \
mono-proclib.c \
mono-proclib.h \
+ mono-publib.c \
mono-string.h \
mono-time.c \
mono-time.h \
mono-uri.c \
mono-poll.c \
mono-path.c \
+ mono-semaphore.c \
mono-semaphore.h \
mono-sigcontext.h \
mono-stdlib.c \
gc_wrapper.h \
mono-error.c \
mono-error-internals.h \
- valgrind.h \
- memcheck.h
-
-libmonoutilsincludedir = $(includedir)/mono-$(API_VER)/mono/utils
-
-libmonoutilsinclude_HEADERS = \
monobitset.h \
mono-codeman.h \
mono-counters.h \
mono-path.h \
mono-poll.h \
mono-uri.h \
- mono-stdlib.h
+ mono-stdlib.h \
+ valgrind.h \
+ memcheck.h
+
+libmonoutilsincludedir = $(includedir)/mono-$(API_VER)/mono/utils
+
+libmonoutilsinclude_HEADERS = \
+ mono-publib.h
EXTRA_DIST = ChangeLog mono-hash.c mono-hash.h mono-ehash.c
* from the module to the shared namespace. The MONO_DL_LAZY bit can be set
* to lazily load the symbols instead of resolving everithing at load time.
* @error_msg points to a string where an error message will be stored in
- * case of failure.
+ * case of failure. The error must be released with g_free.
*
* Returns: a MonoDl pointer on success, NULL on failure.
*/
mappings = g_hash_table_lookup (mono_dls, file);
ll_last_error = mappings == NULL ? "File not registered" : "";
- printf ("Returning mappings=0x%p\n", mappings);
return mappings;
}
{
MonoDlMapping *mappings = (MonoDlMapping *) handle;
- printf ("During lookup: 0x%p\n", handle);
for (;mappings->name; mappings++){
if (strcmp (symbol, mappings->name) == 0){
ll_last_error = "";
char *
LL_SO_ERROR (void)
{
- return ll_last_error;
+ return g_strdup (ll_last_error);
}
#endif
void
mono_error_set_argument (MonoError *error, const char *argument, const char *msg_format, ...) MONO_INTERNAL;
+void
+mono_error_set_not_verifiable (MonoError *oerror, MonoMethod *method, const char *msg_format, ...) MONO_INTERNAL;
+
void
mono_error_set_generic_error (MonoError *error, const char * name_space, const char *name, const char *msg_format, ...) MONO_INTERNAL;
set_error_message ();
}
+void
+mono_error_set_not_verifiable (MonoError *oerror, MonoMethod *method, const char *msg_format, ...)
+{
+ MonoErrorInternal *error = (MonoErrorInternal*)oerror;
+ mono_error_prepare (error);
+
+ error->error_code = MONO_ERROR_NOT_VERIFIABLE;
+ mono_error_set_class (oerror, method->klass);
+ if (method)
+ mono_error_set_member_name (oerror, mono_method_full_name (method, 1));
+
+ set_error_message ();
+}
+
+
static MonoString*
get_type_name_as_mono_string (MonoErrorInternal *error, MonoDomain *domain, MonoError *error_out)
{
exception = mono_get_exception_argument (error->type_name, mono_internal_error_get_message (error));
break;
+ case MONO_ERROR_NOT_VERIFIABLE: {
+ char *type_name = NULL, *message;
+ if (error->klass) {
+ type_name = mono_type_get_full_name (error->klass);
+ if (!type_name) {
+ mono_error_set_out_of_memory (error_out, "Could not allocate message");
+ break;
+ }
+ }
+ message = g_strdup_printf ("Error in %s:%s %s", type_name, error->member_name, mono_internal_error_get_message (error));
+ if (!message) {
+ g_free (type_name);
+ mono_error_set_out_of_memory (error_out, "Could not allocate message");
+ break;
+ }
+ exception = mono_exception_from_name_msg (mono_defaults.corlib, "System.Security", "VerificationException", message);
+ g_free (message);
+ g_free (type_name);
+ break;
+ }
case MONO_ERROR_GENERIC:
if (!error->exception_name_space || !error->exception_name)
mono_error_set_generic_error (error_out, "System", "ExecutionEngineException", "MonoError with generic error but no exception name was supplied");
MONO_ERROR_BAD_IMAGE = 5,
MONO_ERROR_OUT_OF_MEMORY = 6,
MONO_ERROR_ARGUMENT = 7,
+ MONO_ERROR_NOT_VERIFIABLE = 8,
/*
* This is a generic error mechanism is you need to raise an arbitrary corlib exception.
* You must pass the exception name otherwise prepare_exception will fail with internal execution.
*/
- MONO_ERROR_GENERIC = 8
+ MONO_ERROR_GENERIC = 9
};
/*Keep in sync with MonoErrorInternal*/
--- /dev/null
+#include "config.h"
+#include <mono/utils/mono-publib.h>
+#include <glib.h>
+
+void
+mono_free (void *ptr)
+{
+ g_free (ptr);
+}
+
--- /dev/null
+#ifndef __MONO_PUBLIB_H__
+#define __MONO_PUBLIB_H__
+
+/*
+ * Minimal general purpose header for use in public mono header files.
+ * We can't include config.h, so we use compiler-specific preprocessor
+ * directives where needed.
+ */
+
+#ifdef __cplusplus
+#define MONO_BEGIN_DECLS extern "C" {
+#define MONO_END_DECLS }
+#else
+#define MONO_BEGIN_DECLS
+#define MONO_END_DECLS
+#endif
+
+MONO_BEGIN_DECLS
+
+#if defined(_MSC_VER)
+
+typedef __int8 int8_t;
+typedef unsigned __int8 uint8_t;
+typedef __int16 int16_t;
+typedef unsigned __int16 uint16_t;
+typedef __int32 int32_t;
+typedef unsigned __int32 uint32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+
+#else
+
+#include <stdint.h>
+
+#endif /* end of compiler-specific stuff */
+
+typedef int32_t mono_bool;
+typedef uint8_t mono_byte;
+typedef uint16_t mono_unichar2;
+
+typedef void (*MonoFunc) (void* data, void* user_data);
+typedef void (*MonoHFunc) (void* key, void* value, void* user_data);
+
+void mono_free (void *);
+
+#define MONO_CONST_RETURN const
+
+MONO_END_DECLS
+
+#endif /* __MONO_PUBLIB_H__ */
+
--- /dev/null
+/*
+ * mono-semaphore.c: mono-semaphore functions
+ *
+ * Author:
+ * Gonzalo Paniagua Javier <gonzalo@novell.com>
+ *
+ * (C) 2010 Novell, Inc.
+ */
+
+#include <config.h>
+#include "utils/mono-semaphore.h"
+
+#if defined(HAVE_SEMAPHORE_H) || defined(USE_MACH_SEMA)
+/* sem_* or semaphore_* functions in use */
+# ifdef USE_MACH_SEMA
+# define TIMESPEC mach_timespec_t
+# define WAIT_BLOCK(a,b) semaphore_timedwait (*(a), *(b))
+# else
+# define TIMESPEC struct timespec
+# define WAIT_BLOCK(a,b) sem_timedwait (a, b)
+# endif
+
+gboolean
+mono_sem_timedwait (MonoSemType *sem, guint32 timeout_ms)
+{
+ TIMESPEC tv;
+
+#ifndef USE_MACH_SEMA
+ if (timeout_ms == 0)
+ return (!sem_trywait (sem));
+#endif
+
+ tv.tv_sec = timeout_ms / 1000;
+ tv.tv_nsec = (timeout_ms % 1000) * 1000000;
+ return (!WAIT_BLOCK (sem, &tv));
+}
+
+#else
+/* Windows or io-layer functions in use */
+gboolean
+mono_sem_timedwait (MonoSemType *sem, guint32 timeout_ms)
+{
+ return WaitForSingleObjectEx (*sem, timeout_ms, TRUE);
+}
+
+#endif
+
#define _MONO_SEMAPHORE_H_
#include <config.h>
+#include <glib.h>
#ifdef HAVE_SEMAPHORE_H
#include <semaphore.h>
#endif
# define MONO_SEM_POST(sem) sem_post ((sem))
# define MONO_SEM_DESTROY(sem) sem_destroy ((sem))
# endif
-#elif defined(HOST_WIN32)
+#elif defined(HOST_WIN32) || defined(_WAPI_SEMAPHORES_H)
# define MONO_HAS_SEMAPHORES
typedef HANDLE MonoSemType;
-# define MONO_SEM_INIT(addr,value) do {*(addr) = CreateSemaphore ( NULL,(value),10,NULL);} while(0)
+# define MONO_SEM_INIT(addr,initial) do {*(addr) = CreateSemaphore ( NULL,(initial),0x7FFFFFFF,NULL);} while(0)
# define MONO_SEM_WAIT(sem) WaitForSingleObjectEx (*(sem),INFINITE, TRUE)
# define MONO_SEM_POST(sem) (!(ReleaseSemaphore (*(sem),1,NULL)))
# define MONO_SEM_DESTROY(sem) CloseHandle (*(sem))
#endif
+#define MONO_SEM_TIMEDWAIT(sem, timeout_ms) mono_sem_timedwait ((sem), (timeout_ms))
+
+G_BEGIN_DECLS
+
+gboolean mono_sem_timedwait (MonoSemType *sem, guint32 timeout_ms);
+
+G_END_DECLS
#endif /* _MONO_SEMAPHORE_H_ */
RelativePath="..\mono\metadata\mono-debug-debugger.h"\r
>\r
</File>\r
- <File\r
+ <File\r
+ RelativePath="..\mono\metadata\mono-basic-block.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\mono\metadata\mono-basic-block.h"\r
+ >\r
+ </File>\r
+ <File\r
RelativePath="..\mono\metadata\mono-debug.c"\r
>\r
<FileConfiguration\r
RelativePath="..\mono\mini\debugger-agent.c"\r
>\r
</File>\r
+ <File\r
+ RelativePath="..\mono\mini\xdebug.c"\r
+ >\r
+ </File>\r
<File\r
RelativePath="..\mono\mini\debugger-agent.h"\r
>\r
mono_verify_corlib
mono_vfree
mono_vtable_get_static_field_data
-mono_walk_stack
\ No newline at end of file
+mono_walk_stack
+mono_basic_block_free
+mono_basic_block_split
+mono_opcode_value_and_size
+mono_opcode_size
\ No newline at end of file
#include <mono/metadata/debug-helpers.h>
#include <string.h>
#include <stdlib.h>
+#include <glib.h>
/*
* Simple mono embedding example.
* We show how to create objects and invoke methods and set fields in them.
* Compile with:
- * gcc -Wall -o test-invoke test-invoke.c `pkg-config --cflags --libs mono` -lm
+ * gcc -Wall -o test-invoke test-invoke.c `pkg-config --cflags --libs mono-2` -lm
* mcs invoke.cs
* Run with:
* ./test-invoke invoke.exe
#include <mono/jit/jit.h>
+#include <glib.h>
/*
* Very simple mono embedding example.
* This sample shows how to access metadata elements from an image.
* Compile with:
- * gcc -o test-metadata test-metadata.c `pkg-config --cflags --libs mono` -lm
+ * gcc -o test-metadata test-metadata.c `pkg-config --cflags --libs mono-2` -lm
* Run with:
* ./test-metadata namespace name
*/
/*
* Very simple mono embedding example.
* Compile with:
- * gcc -o teste teste.c `pkg-config --cflags --libs mono` -lm
+ * gcc -o teste teste.c `pkg-config --cflags --libs mono-2` -lm
* mcs test.cs
* Run with:
* ./teste test.exe
mod$(SCRIPT_SUFFIX) \
mono-test-install \
peverify \
- mono-heapviz
+ mono-heapviz \
+ $(scripts_mono_configuration_crypto)
if INSTALL_4_0
bin_SCRIPTS += $(scripts_4_0)
scripts_nunit = nunit-console$(SCRIPT_SUFFIX) nunit-console2$(SCRIPT_SUFFIX)
scripts_rpmhelpers = mono-find-provides mono-find-requires
scripts_mcs = mcs$(SCRIPT_SUFFIX)
+scripts_mono_configuration_crypto = mono-configuration-crypto$(SCRIPT_SUFFIX)
-CLEANFILES = $(scripts_mcs) $(scripts_2_0_umask) $(scripts_2_0) $(scripts_defaults) $(scripts_4_0) mono-service mono-service2 nunit-console nunit-console2 mono-find-provides mono-find-requires mod $(MDOC_SUBCOMMANDS)
+CLEANFILES = $(scripts_mono_configuration_crypto) $(scripts_mcs) $(scripts_2_0_umask) $(scripts_2_0) $(scripts_defaults) $(scripts_4_0) mono-service mono-service2 nunit-console nunit-console2 mono-find-provides mono-find-requires mod $(MDOC_SUBCOMMANDS)
DISTCLEANFILES = $(pkgconfig_DATA) $(scripts_rpmhelpers)
EXTRA_DIST = \
mono-heapviz \
$(MDOC_COMPAT) \
patch-quiet.sh \
- get-cygwin-deps.sh
+ get-cygwin-deps.sh \
+ mono-configuration-crypto.in
if USE_JIT
mono_interp = mono
$(REWRITE4) -e "s,@""exe_name@,$$n,g" $(srcdir)/$(SCRIPT_IN) | $(FILTER) > $@.tmp
mv -f $@.tmp $@
+$(scripts_mono_configuration_crypto): mono-configuration-crypto.in
+ $(REWRITE2) -e "s,@exe_name@,mono-configuration-crypto,g" $(srcdir)/mono-configuration-crypto.in > $@.tmp
+ mv -f $@.tmp $@
+
$(MDOC_SUBCOMMANDS): Makefile
for script in $(MDOC_SUBCOMMANDS) ; do \
cmd=`echo $$script | sed 's/mdoc-//'` ; \
--- /dev/null
+#!/bin/sh
+exec @bindir@/@mono_interp@ $MONO_OPTIONS @mono_instdir@/mono-configuration-crypto/@framework_version@/@exe_name@.exe "$@"
+2010-02-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * serial.cs: Add 921600 to the list of possible baud rates, and
+ use it only if defined, as is not available in all the unix systems.
+ Fixes #445520.
+
+2010-01-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+ * zlib-helper.c: no need for sync flush when compressing.
+ Thanks to Hin-Tak Leung.
+
+2010-01-28 Rodrigo Kumpera <rkumpera@novell.com>
+
+ * serial.c: Fix the OSX build.
+
+2010-01-22 Leszek Ciesielski <skolima@gmail.com>
+
+ * serial.c: baud rate 460800 by Thad Thompson <TThompson@nucsafe.com>
+ * serial.c: report errors from every function
+
2009-12-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
* zlib-helper.c: when finishing uncompressing a buffer, we might need
int fd;
fd = open (devfile, O_RDWR | O_NOCTTY | O_NONBLOCK);
- if (fd == -1)
- return -1;
-
return fd;
}
return 0;
}
-void
+int
discard_buffer (int fd, gboolean input)
{
- tcflush(fd, input ? TCIFLUSH : TCOFLUSH);
+ return tcflush(fd, input ? TCIFLUSH : TCOFLUSH);
}
gint32
{
struct termios newtio;
- tcgetattr (fd, &newtio);
+ if (tcgetattr (fd, &newtio) == -1)
+ return FALSE;
+
newtio.c_cflag |= (CLOCAL | CREAD);
newtio.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL | ISIG | IEXTEN );
newtio.c_oflag &= ~(OPOST);
/* setup baudrate */
switch (baud_rate)
{
+/*Some values are not defined on OSX and *BSD */
+#if defined(B921600)
+ case 921600:
+ baud_rate = B921600;
+ break;
+#endif
+#if defined(B460800)
+ case 460800:
+ baud_rate = B460800;
+ break;
+#endif
case 230400:
baud_rate = B230400;
break;
return 1;
}
-void
+int
breakprop (int fd)
{
- tcsendbreak (fd, 0);
+ return tcsendbreak (fd, 0);
}
gboolean
zs->next_out = stream->buffer;
zs->avail_out = BUFFER_SIZE;
}
- status = deflate (stream->stream, Z_SYNC_FLUSH);
+ status = deflate (stream->stream, Z_NO_FLUSH);
if (status != Z_OK && status != Z_STREAM_END)
return status;
+2010-02-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * supp/ns_BE.xml : add number format. Fixed bug #324019.
+
2010-01-06 Atsushi Enomoto <atsushi@ximian.com>
* Driver.cs : support FirstDayOfWeek. Fixed bug #567944.
</calendar>
</calendars>
</dates>
-</ldml>
\ No newline at end of file
+ <numbers>
+ <currencyFormats>
+ <currencyFormatLength >
+ <currencyFormat >
+ <pattern>¤ #,##0.00;¤ -#,##0.00</pattern>
+ </currencyFormat>
+ </currencyFormatLength >
+ </currencyFormats>
+ </numbers>
+</ldml>