diff options
424 files changed, 2781 insertions, 12202 deletions
diff --git a/ChangeLog b/ChangeLog index 0d6652e7977..09368584c04 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,22 +1,3 @@ -2006-01-13 Raja R Harinath <rharinath@novell.com> - - * data/net_2_0/machine.config: Fix a couple of typos in type names. - -2006-01-10 Raja R Harinath <rharinath@novell.com> - - * scripts/Makefile.am (scripts_2_0): Add nunit-console2. - -2006-01-09 Chris Toshok <toshok@ximian.com> - - * data/net_2_0/machine.config: switch over to the 2.0 - configuration sections for System.Web and System.Web.Services. - Also, add the configProtectedData stuff so we can encrypt config - sections. - -2006-01-08 Robert Jordan <robertj@gmx.net> - - * man/mkbundle.1: Documented environment variables and Windows issues. - 2006-01-06 Jonathan Pryor <jonpryor@vt.edu> * data/config.in: s/libintl/intl/g. Mono.Unix.Catalog DllImports "intl" @@ -25,11 +25,6 @@ This is Mono. http://www.hpl.hp.com/research/linux/libunwind/download.php4 - On Solaris, make sure that you used GNU tar to unpack this package, as - Solaris tar will not unpack this correctly, and you will get strange errors. - - On Solaris, make sure that you use the GNU toolchain to build the software. - Optional dependencies: * libgdiplus diff --git a/configure.in b/configure.in index 403063d9655..a1bf690eb4f 100644 --- a/configure.in +++ b/configure.in @@ -6,7 +6,7 @@ AC_CANONICAL_SYSTEM m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])]) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(mono,1.1.13) +AM_INIT_AUTOMAKE(mono,1.1.13.2) AM_MAINTAINER_MODE AC_PROG_LN_S diff --git a/data/net_1_1/machine.config b/data/net_1_1/machine.config index 10066f9666e..3540f71215a 100644 --- a/data/net_1_1/machine.config +++ b/data/net_1_1/machine.config @@ -87,7 +87,6 @@ <add verb="*" path="*.asax" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add verb="*" path="*.ascx" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <add verb="*" path="*.Config" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add verb="*" path="*.cs" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add verb="*" path="*.rem" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" /> <add verb="*" path="*.soap" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" /> diff --git a/data/net_2_0/machine.config b/data/net_2_0/machine.config index 498755cddd4..dfadb2fc838 100644 --- a/data/net_2_0/machine.config +++ b/data/net_2_0/machine.config @@ -3,35 +3,41 @@ <configuration> <configSections> - <section name="configProtectedData" type="System.Configuration.ProtectedConfigurationSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <section name="system.runtime.remoting" type="System.Configuration.IgnoreSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/> <section name="strongNames" type="System.Configuration.IgnoreSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/> - <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="authorization" type="System.Web.Configuration.AuthorizationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="clientTarget" type="System.Web.Configuration.ClientTargetSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="compilation" type="System.Web.Configuration.CompilationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="globalization" type="System.Web.Configuration.GlobalizationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="httpRuntime" type="System.Web.Configuration.HttpRuntimeSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="pages" type="System.Web.Configuration.PagesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="profile" type="System.Web.Configuration.ProfileSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="sessionState" type="System.Web.Configuration.SessionStateSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="trace" type="System.Web.Configuration.TraceSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="webControls" type="System.Web.Configuration.WebControlsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="webServices" type="System.Web.Services.Configuration.WebServicesSection, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <sectionGroup name="caching" type="System.Web.Configuration.SystemWebCachingSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <section name="cache" type="System.Web.Configuration.CacheSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="outputCache" type="System.Web.Configuration.OutputCacheSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="outputCacheSettings" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <section name="sqlCacheDependency" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - </sectionGroup> + <sectionGroup name="system.web"> + <section name="httpHandlers" + type="System.Web.Configuration.HttpHandlersSectionHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="httpModules" + type="System.Web.Configuration.HttpModulesConfigurationHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="machineKey" + type="System.Web.Configuration.MachineKeyConfigHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="authentication" + type="System.Web.Configuration.AuthenticationConfigHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="authorization" + type="System.Web.Configuration.AuthorizationConfigHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="globalization" + type="System.Web.Configuration.GlobalizationConfigurationHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="sessionState" + type="System.Web.SessionState.SessionStateSectionHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="trace" + type="System.Web.Configuration.TraceConfigurationHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="webServices" + type="System.Web.Services.Configuration.WebServicesConfigurationSectionHandler, System.Web.Services, Version=2.0.0.0 Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="webControls" + type="System.Web.Configuration.WebControlsSectionHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="compilation" + type="System.Web.Configuration.CompilationConfigurationHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="httpRuntime" + type="System.Web.Configuration.HttpRuntimeConfigurationHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="customErrors" + type="System.Web.Configuration.CustomErrorsConfigHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <section name="pages" + type="System.Web.Configuration.PagesConfigurationHandler, System.Web, Version=2.0.0.0, Culture=neutral" /> + <section name="clientTarget" + type="System.Web.Configuration.ClientTargetSectionHandler, System.Web, Version=2.0.0.0, Culture=neutral" /> </sectionGroup> <sectionGroup name="system.net"> <section name="settings" @@ -47,16 +53,6 @@ </sectionGroup> <section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </configSections> - - <configProtectedData defaultProvider="RsaProtectedConfigurationProvider"> - <providers> - <add name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" - description="" keyContainerName="MonoFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" /> - <add name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" - description="" useMachineProtection="true" keyEntropy="" /> - </providers> - </configProtectedData> - <system.net> <connectionManagement> <add address="*" maxconnection="2" /> @@ -92,7 +88,6 @@ <add verb="*" path="*.asax" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add verb="*" path="*.ascx" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <add verb="*" path="*.Config" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add verb="*" path="*.cs" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add verb="*" path="*.rem" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" /> <add verb="*" path="*.soap" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" /> @@ -156,6 +151,10 @@ minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> + <pages buffer="true" + enableSessionState="true" + autoEventWireup="true" + validateRequest="true" /> <clientTarget> <add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" /> <add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" /> diff --git a/libgc/ChangeLog b/libgc/ChangeLog index 169cc8d6986..c26cb699653 100644 --- a/libgc/ChangeLog +++ b/libgc/ChangeLog @@ -1,7 +1,3 @@ -2006-01-11 Zoltan Varga <vargaz@gmail.com> - - * include/private/gcconfig.h: Undef _FILE_OFFSET_BITS on sparc. - 2006-01-03 Geoff Norton <gnorton@customerdna.com> * darwin_stop_world.c: Merge a patch from Bruce Mitchener that fixes a small diff --git a/libgc/include/private/gcconfig.h b/libgc/include/private/gcconfig.h index 2bbd38c4151..c5ecb7e5ffb 100644 --- a/libgc/include/private/gcconfig.h +++ b/libgc/include/private/gcconfig.h @@ -834,10 +834,6 @@ # define CPP_WORDSZ 32 # endif # define ALIGN_DOUBLE -# ifdef _FILE_OFFSET_BITS -# undef _FILE_OFFSET_BITS /* libelf.h & procfs.h doesn't compile with large file support */ -# define _FILE_OFFSET_BITS 32 -# endif # ifdef SUNOS5 # define OS_TYPE "SUNOS5" extern int _etext[]; diff --git a/man/mkbundle.1 b/man/mkbundle.1 index 465854fad8b..dec60d9111f 100644 --- a/man/mkbundle.1 +++ b/man/mkbundle.1 @@ -87,22 +87,9 @@ When passed, DIR will be set for the MONO_CFG_DIR environment variable Compresses the assemblies before embedding. This results in smaller executable files, but increases startup time and requires zlib to be installed on the target system. -.SH ENVIRONMENT VARIABLES -.TP -.I "AS" -Assembler command. The default is "as". -.TP -.I "CC" -C compiler command. The default is "cc" under Linux and "gcc -mno-cygwin" -under Windows. .SH FILES This program will load referenced assemblies from the Mono assembly cache. -.SH BUGS -The options "--static" and "-z" are not supported under Windows. -Moreover, a full cygwin environment containing at least "gcc" and "as" -is required for the build process. The generated executable does not -depend on cygwin. .SH MAILING LISTS Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details. .SH WEB SITE diff --git a/mcs/build/ChangeLog b/mcs/build/ChangeLog index 4cbf05c7e5d..9bc90bae32d 100644 --- a/mcs/build/ChangeLog +++ b/mcs/build/ChangeLog @@ -1,14 +1,3 @@ -2006-01-19 Raja R Harinath <rharinath@novell.com> - - * library.make (test_lib): Don't allow to be overridden. - (test_against, test_dep): Remove. - -2006-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * executable.make: allow installing a different .config file for - executables such as nunit-console.exe that should use a different one - depending on the profile. - 2006-01-05 Raja R Harinath <rharinath@novell.com> * library.make (run-test-lib, run-test-ondotnet-lib): Workaround a diff --git a/mcs/build/executable.make b/mcs/build/executable.make index 726ac000f86..7ad29cd9eeb 100644 --- a/mcs/build/executable.make +++ b/mcs/build/executable.make @@ -4,10 +4,7 @@ base_prog = $(shell basename $(PROGRAM)) sourcefile = $(base_prog).sources -base_prog_config := $(wildcard $(base_prog).config.$(PROFILE)) -ifndef base_prog_config base_prog_config := $(wildcard $(base_prog).config) -endif ifdef base_prog_config PROGRAM_config := $(PROGRAM).config endif diff --git a/mcs/build/library.make b/mcs/build/library.make index 30e8804cb4c..e195149c7f5 100644 --- a/mcs/build/library.make +++ b/mcs/build/library.make @@ -63,20 +63,33 @@ test_nunit_dep = $(test_nunit_lib:%=$(topdir)/class/lib/$(PROFILE)/%) test_nunit_ref = $(test_nunit_dep:%=-r:%) library_CLEAN_FILES += TestResult*.xml +ifndef test_against +test_against = $(the_lib) +test_dep = $(the_lib) +endif + +ifndef test_lib test_lib = $(LIBRARY:.dll=_test_$(PROFILE).dll) test_sourcefile = $(LIBRARY:.dll=_test.dll.sources) +else +test_sourcefile = $(test_lib).sources +endif test_pdb = $(test_lib:.dll=.pdb) test_response = $(depsdir)/$(test_lib).response test_makefrag = $(depsdir)/$(test_lib).makefrag -test_flags = -r:$(the_lib) $(test_nunit_ref) $(TEST_MCS_FLAGS) +test_flags = -r:$(test_against) $(test_nunit_ref) $(TEST_MCS_FLAGS) library_CLEAN_FILES += $(LIBRARY:.dll=_test*.dll) $(LIBRARY:.dll=_test*.pdb) $(test_response) $(test_makefrag) +ifndef btest_lib btest_lib = $(LIBRARY:.dll=_btest_$(PROFILE).dll) btest_sourcefile = $(LIBRARY:.dll=_btest.dll.sources) +else +btest_sourcefile = $(btest_lib).sources +endif btest_pdb = $(btest_lib:.dll=.pdb) btest_response = $(depsdir)/$(btest_lib).response btest_makefrag = $(depsdir)/$(btest_lib).makefrag -btest_flags = -r:$(the_lib) $(test_nunit_ref) $(TEST_MBAS_FLAGS) +btest_flags = -r:$(test_against) $(test_nunit_ref) $(TEST_MBAS_FLAGS) library_CLEAN_FILES += $(LIBRARY:.dll=_btest*.dll) $(LIBRARY:.dll=_btest*.pdb) $(btest_response) $(btest_makefrag) ifndef HAVE_CS_TESTS @@ -306,7 +319,7 @@ endif ifdef HAVE_CS_TESTS -$(test_lib): $(the_lib) $(test_response) $(test_nunit_dep) +$(test_lib): $(test_dep) $(test_response) $(test_nunit_dep) $(TEST_COMPILE) -target:library -out:$@ $(test_flags) @$(test_response) $(test_response): $(test_sourcefile) @@ -323,7 +336,7 @@ endif ifdef HAVE_VB_TESTS -$(btest_lib): $(the_lib) $(btest_response) $(test_nunit_dep) +$(btest_lib): $(test_dep) $(btest_response) $(test_nunit_dep) $(BTEST_COMPILE) -target:library -out:$@ $(btest_flags) @$(btest_response) $(btest_response): $(btest_sourcefile) diff --git a/mcs/class/ChangeLog b/mcs/class/ChangeLog index 6967e5a33fa..0aa92d0ecf6 100644 --- a/mcs/class/ChangeLog +++ b/mcs/class/ChangeLog @@ -1,8 +1,3 @@ -2006-01-18 Chris Toshok <toshok@ximian.com> - - * Makefile (common_dirs): add System.Web again after - System.Web.Services. - 2006-01-05 Raja R Harinath <rharinath@novell.com> * Makefile: Build FirebirdSql.Data.Firebird only in the "default" diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/ChangeLog b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/ChangeLog index 8337c84ebaf..0151392b16a 100644 --- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/ChangeLog +++ b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/ChangeLog @@ -1,43 +1,6 @@ -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * RdpObjects.cs : fixed warnings. - -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * RdpPatterns.cs : RdpOneOrMore.EmptyTextDeriv() should be "override". - RdpList.EmptyTextDeriv() (which was also virtual incorrectly) was - removed since the code was in wrong assumption. - * Util.cs : debug string now contains data and dataExcept info. - -2006-01-15 Atsushi Enomoto <atsushi@ximian.com> - - * RdpPatterns.cs : lazy evaluate Group branches. If left hand is - notAllowed, the returned value is always NotAllowed, no need to - compute another branch. - -2006-01-13 Atsushi Enomoto <atsushi@ximian.com> - - * RdpObjects.cs, RdpPatterns.cs : introduced "IsContextDependent" - optimization; when a pattern is (namespace) context independent - (almost all cases except for QName validation), new TextDeriv() - overload that takes MemoizationStore memoizes TextDeriv results. - -2006-01-12 Atsushi Enomoto <atsushi@ximian.com> +2005-01-05 Atsushi Enomoto <atsushi@ximian.com> * RdpPattern.cs : - Introduced EmptyTextDeriv() so that the results could be memoized. - -2006-01-10 Atsushi Enomoto <atsushi@ximian.com> - - * RdpPatterns.cs : - - Added StartAttDeriv(), EndAttDeriv() and IsTextValueDependent. - (See corresponding changes in RelaxngValidatingReader.cs). - - Added a bunch of derivative method overloads to receive - MemoizationStore and memoize results efficiently. - -2006-01-05 Atsushi Enomoto <atsushi@ximian.com> - - * RdpPatterns.cs : - Fixed RdpPattern.TextDeriv() and MixedTextDeriv() to not allow whitespaces incorrectly. - Fixed MixedTextDeriv() to not require string argument. @@ -52,7 +15,7 @@ derivative algorithm (it incorrectly extended to return false for RELAX NG predefined datatypes). -2006-01-04 Atsushi Enomoto <atsushi@ximian.com> +2005-01-04 Atsushi Enomoto <atsushi@ximian.com> * RdpPattern.cs : - Implemented textOnlyDeriv and mixedTextDeriv of "memoization". @@ -65,12 +28,12 @@ - Avoid extra pattern creation with related to empty and notAllowed as one hand of binary branches. -2006-01-03 Atsushi Enomoto <atsushi@ximian.com> +2005-01-03 Atsushi Enomoto <atsushi@ximian.com> * RdpPattern.cs : reduced RdpFlip instantiation. Share patternPool only when it does not exist. -2006-01-03 Atsushi Enomoto <atsushi@ximian.com> +2005-01-03 Atsushi Enomoto <atsushi@ximian.com> * Util.cs, RdpPatterns.cs : optimization. Removed extraneous delegate instantiation. Avoid using enum for HashTable keys. diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/RdpObjects.cs b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/RdpObjects.cs index 27727056a82..794b383c210 100644 --- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/RdpObjects.cs +++ b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/RdpObjects.cs @@ -69,7 +69,7 @@ namespace Commons.Xml.Relaxng.Derivative public class RdpDatatype { - //RelaxngDatatypeProvider provider; + RelaxngDatatypeProvider provider; string localName; string ns; RelaxngDatatype datatype; @@ -78,7 +78,7 @@ namespace Commons.Xml.Relaxng.Derivative { this.ns = ns; this.localName = localName; - //this.provider = provider; + this.provider = provider; if (provider == null) provider = RelaxngMergedProvider.DefaultProvider; datatype = provider.GetDatatype (localName, ns, parameters); @@ -95,15 +95,13 @@ namespace Commons.Xml.Relaxng.Derivative get { return localName; } } - public bool IsContextDependent { - get { return datatype.IsContextDependent; } - } - public virtual bool IsAllowed (string value, XmlReader reader) { return datatype.IsValid (value, reader); } + static char [] wsChars = new char [] {' ', '\n', '\r', '\t'}; + public virtual bool IsTypeEqual (string s1, string s2, XmlReader reader) { return datatype.CompareString (s1, s2, reader); diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/RdpPatterns.cs b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/RdpPatterns.cs index 8dc7befd760..afd3fbc8e8d 100644 --- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/RdpPatterns.cs +++ b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/RdpPatterns.cs @@ -290,14 +290,6 @@ namespace Commons.Xml.Relaxng.Derivative public abstract bool Nullable { get; } - internal virtual bool IsTextValueDependent { - get { return false; } - } - - internal virtual bool IsContextDependent { - get { return false; } - } - // fills QName collection public void GetLabels (LabelList elements, LabelList attributes) { @@ -330,36 +322,16 @@ namespace Commons.Xml.Relaxng.Derivative return RdpNotAllowed.Instance; } - internal virtual RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo) - { - return TextDeriv (s, reader); - } - - internal virtual RdpPattern EmptyTextDeriv (MemoizationStore memo) - { - return TextDeriv (String.Empty, null, memo); - } - internal virtual RdpPattern TextOnlyDeriv () { return this; } - internal virtual RdpPattern TextOnlyDeriv (MemoizationStore store) - { - return this; - } - internal virtual RdpPattern MixedTextDeriv () { return RdpNotAllowed.Instance; } - internal virtual RdpPattern MixedTextDeriv (MemoizationStore memo) - { - return RdpNotAllowed.Instance; - } - public RdpPattern ListDeriv (string [] list, int index, XmlReader reader) { return listDerivInternal (list, 0, reader); @@ -435,11 +407,6 @@ namespace Commons.Xml.Relaxng.Derivative return RdpNotAllowed.Instance; } - internal virtual RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo) - { - return StartTagOpenDeriv (name, ns); - } - // attDeriv(ctx, this, att) // attDeriv _ _ _ = NotAllowed public virtual RdpPattern AttDeriv (string name, string ns, string value, XmlReader reader) @@ -447,26 +414,6 @@ namespace Commons.Xml.Relaxng.Derivative return RdpNotAllowed.Instance; } - public virtual RdpPattern StartAttDeriv (string name, string ns) - { - return RdpNotAllowed.Instance; - } - - internal virtual RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) - { - return StartAttDeriv (name, ns); - } - - public virtual RdpPattern EndAttDeriv () - { - return RdpNotAllowed.Instance; - } - - internal virtual RdpPattern EndAttDeriv (MemoizationStore memo) - { - return EndAttDeriv (); - } - public bool ValueMatch (string s, XmlReader reader) { return Nullable && Util.IsWhitespace (s) || @@ -478,11 +425,6 @@ namespace Commons.Xml.Relaxng.Derivative return this; } - internal virtual RdpPattern StartTagCloseDeriv (MemoizationStore memo) - { - return StartTagCloseDeriv (); - } - public RdpPattern OneOrMore () { if (PatternType == RelaxngPatternType.NotAllowed) @@ -495,11 +437,6 @@ namespace Commons.Xml.Relaxng.Derivative { return RdpNotAllowed.Instance; } - - internal virtual RdpPattern EndTagDeriv (MemoizationStore memo) - { - return EndTagDeriv (); - } #endregion } @@ -516,14 +453,6 @@ namespace Commons.Xml.Relaxng.Derivative get { return true; } } - internal override bool IsTextValueDependent { - get { return false; } - } - - internal override bool IsContextDependent { - get { return false; } - } - static RdpEmpty instance; public static RdpEmpty Instance { get { return instance; } @@ -577,14 +506,6 @@ namespace Commons.Xml.Relaxng.Derivative get { return false; } } - internal override bool IsTextValueDependent { - get { return false; } - } - - internal override bool IsContextDependent { - get { return false; } - } - public override RdpPattern ApplyAfter (RdpApplyAfterHandler h) { return RdpNotAllowed.Instance; @@ -637,14 +558,6 @@ namespace Commons.Xml.Relaxng.Derivative get { return true; } } - internal override bool IsTextValueDependent { - get { return false; } - } - - internal override bool IsContextDependent { - get { return false; } - } - public override RelaxngPatternType PatternType { get { return RelaxngPatternType.Text; } } @@ -658,21 +571,11 @@ namespace Commons.Xml.Relaxng.Derivative return this; } - internal override RdpPattern EmptyTextDeriv (MemoizationStore memo) - { - return this; - } - internal override RdpPattern MixedTextDeriv () { return this; } - internal override RdpPattern MixedTextDeriv (MemoizationStore memo) - { - return this; - } - internal override void MarkReachableDefs () { // do nothing @@ -809,32 +712,6 @@ namespace Commons.Xml.Relaxng.Derivative } } - bool isTextValueDependentComputed; - bool isTextValueDependent; - - internal override bool IsTextValueDependent { - get { - if (!isTextValueDependentComputed) { - isTextValueDependent = LValue.IsTextValueDependent || RValue.IsTextValueDependent; - isTextValueDependentComputed = true; - } - return isTextValueDependent; - } - } - - bool isContextDependentComputed; - bool isContextDependent; - - internal override bool IsContextDependent { - get { - if (!isContextDependentComputed) { - isContextDependent = LValue.IsContextDependent || RValue.IsContextDependent; - isContextDependentComputed = true; - } - return isContextDependent; - } - } - public override RelaxngPatternType PatternType { get { return RelaxngPatternType.Choice; } } @@ -897,41 +774,18 @@ namespace Commons.Xml.Relaxng.Derivative return LValue.TextDeriv (s, reader).Choice (RValue.TextDeriv (s, reader)); } - internal override RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo) - { - return memo.TextDeriv (LValue, s, reader).Choice (memo.TextDeriv (RValue, s, reader)); - } - - internal override RdpPattern EmptyTextDeriv (MemoizationStore memo) - { - return memo.EmptyTextDeriv (LValue) - .Choice (memo.EmptyTextDeriv (RValue)); - } - internal override RdpPattern TextOnlyDeriv () { return LValue.TextOnlyDeriv ().Choice ( RValue.TextOnlyDeriv ()); } - internal override RdpPattern TextOnlyDeriv (MemoizationStore memo) - { - return memo.TextOnlyDeriv (LValue).Choice ( - memo.TextOnlyDeriv (RValue)); - } - internal override RdpPattern MixedTextDeriv () { return LValue.MixedTextDeriv ().Choice ( RValue.MixedTextDeriv ()); } - internal override RdpPattern MixedTextDeriv (MemoizationStore memo) - { - return memo.MixedTextDeriv (LValue).Choice ( - memo.MixedTextDeriv (RValue)); - } - public override RdpPattern ApplyAfter (RdpApplyAfterHandler handler) { // return handler (LValue).Choice (handler (RValue)); @@ -950,12 +804,6 @@ namespace Commons.Xml.Relaxng.Derivative #endif } - internal override RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo) - { - RdpPattern lDeriv = memo.StartTagOpenDeriv (LValue, name, ns); - return lDeriv.Choice (memo.StartTagOpenDeriv (RValue, name, ns)); - } - // attDeriv cx (Choice p1 p2) att = // choice (attDeriv cx p1 att) (attDeriv cx p2 att) public override RdpPattern AttDeriv (string name, string ns, string value, XmlReader reader) @@ -964,28 +812,6 @@ namespace Commons.Xml.Relaxng.Derivative .Choice (RValue.AttDeriv (name, ns, value, reader)); } - public override RdpPattern StartAttDeriv (string name, string ns) - { - RdpPattern lDeriv = LValue.StartAttDeriv (name, ns); - return lDeriv.Choice (RValue.StartAttDeriv (name, ns)); - } - - internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) - { - return memo.StartAttDeriv (LValue, name, ns) - .Choice (memo.StartAttDeriv (RValue, name, ns)); - } - - public override RdpPattern EndAttDeriv () - { - return LValue.EndAttDeriv ().Choice (RValue.EndAttDeriv ()); - } - - internal override RdpPattern EndAttDeriv (MemoizationStore memo) - { - return memo.EndAttDeriv (LValue).Choice (memo.EndAttDeriv (RValue)); - } - // startTagCloseDeriv (Choice p1 p2) = // choice (startTagCloseDeriv p1) (startTagCloseDeriv p2) public override RdpPattern StartTagCloseDeriv () @@ -994,22 +820,11 @@ namespace Commons.Xml.Relaxng.Derivative .Choice (RValue.StartTagCloseDeriv ()); } - internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo) - { - return memo.StartTagCloseDeriv (LValue) - .Choice (memo.StartTagCloseDeriv (RValue)); - } - public override RdpPattern EndTagDeriv () { return LValue.EndTagDeriv ().Choice (RValue.EndTagDeriv ()); } - internal override RdpPattern EndTagDeriv (MemoizationStore memo) - { - return memo.EndTagDeriv (LValue).Choice (memo.EndTagDeriv (RValue)); - } - internal override void CheckConstraints (bool attribute, bool oneOrMore, bool oneOrMoreGroup, bool oneOrMoreInterleave, bool list, bool dataExcept) { LValue.CheckConstraints (attribute, oneOrMore, oneOrMoreGroup, oneOrMoreInterleave, list, dataExcept); @@ -1035,14 +850,6 @@ namespace Commons.Xml.Relaxng.Derivative } } - internal override bool IsTextValueDependent { - get { return LValue.IsTextValueDependent || RValue.IsTextValueDependent; } - } - - internal override bool IsContextDependent { - get { return LValue.IsContextDependent || RValue.IsContextDependent; } - } - public override void GetLabels (LabelList elements, LabelList attributes, bool collectNameClass) { LValue.GetLabels (elements, attributes, collectNameClass); @@ -1072,40 +879,16 @@ namespace Commons.Xml.Relaxng.Derivative .Choice (LValue.Interleave (RValue.TextDeriv (s, reader))); } - internal override RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo) - { - return memo.TextDeriv (LValue, s, reader).Interleave (RValue) - .Choice (LValue.Interleave (memo.TextDeriv (RValue, s, reader))); - } - - internal override RdpPattern EmptyTextDeriv (MemoizationStore memo) - { - return memo.EmptyTextDeriv (LValue).Interleave (RValue) - .Choice (LValue.Interleave (memo.EmptyTextDeriv (RValue))); - } - internal override RdpPattern TextOnlyDeriv () { return LValue.TextOnlyDeriv ().Interleave ( RValue.TextOnlyDeriv ()); } - internal override RdpPattern TextOnlyDeriv (MemoizationStore memo) - { - return memo.TextOnlyDeriv (LValue).Interleave ( - memo.TextOnlyDeriv (RValue)); - } - internal override RdpPattern MixedTextDeriv () { - return LValue.MixedTextDeriv ().Interleave (RValue).Choice ( - LValue.Interleave (RValue.MixedTextDeriv ())); - } - - internal override RdpPattern MixedTextDeriv (MemoizationStore memo) - { - return memo.MixedTextDeriv (LValue).Interleave (RValue).Choice ( - LValue.Interleave (memo.MixedTextDeriv (RValue))); + return MakeInterleave (LValue.MixedTextDeriv (), RValue).Choice ( + MakeInterleave (LValue, RValue.MixedTextDeriv ())); } // => choice (applyAfter (flip interleave p2) (startTagOpenDeriv p1 qn)) (applyAfter (interleave p1) (startTagOpenDeriv p2 qn) @@ -1120,16 +903,6 @@ namespace Commons.Xml.Relaxng.Derivative return choiceL.Choice (choiceR); } - internal override RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo) - { - RdpPattern handledL = memo.StartTagOpenDeriv (LValue, name, ns); - RdpPattern handledR = memo.StartTagOpenDeriv (RValue, name, ns); - RdpFlip flipL = MakeFlip (RdpUtil.InterleaveFunction, RValue); - RdpPattern choiceL = handledL.ApplyAfter (new RdpApplyAfterHandler (flipL.Apply)); - RdpPattern choiceR = handledR.ApplyAfter (new RdpApplyAfterHandler (LValue.Interleave)); - return choiceL.Choice (choiceR); - } - // attDeriv cx (Interleave p1 p2) att = // choice (interleave (attDeriv cx p1 att) p2) // (interleave p1 (attDeriv cx p2 att)) @@ -1141,26 +914,6 @@ namespace Commons.Xml.Relaxng.Derivative RValue.AttDeriv (name, ns, value, reader))); } - public override RdpPattern StartAttDeriv (string name, string ns) - { - RdpPattern handledL = LValue.StartAttDeriv (name, ns); - RdpPattern handledR = RValue.StartAttDeriv (name, ns); - RdpFlip flipL = MakeFlip (RdpUtil.InterleaveFunction, RValue); - RdpPattern choiceL = handledL.ApplyAfter (new RdpApplyAfterHandler (flipL.Apply)); - RdpPattern choiceR = handledR.ApplyAfter (new RdpApplyAfterHandler (LValue.Interleave)); - return choiceL.Choice (choiceR); - } - - internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) - { - RdpPattern handledL = memo.StartAttDeriv (LValue, name, ns); - RdpPattern handledR = memo.StartAttDeriv (RValue, name, ns); - RdpFlip flipL = MakeFlip (RdpUtil.InterleaveFunction, RValue); - RdpPattern choiceL = handledL.ApplyAfter (new RdpApplyAfterHandler (flipL.Apply)); - RdpPattern choiceR = handledR.ApplyAfter (new RdpApplyAfterHandler (LValue.Interleave)); - return choiceL.Choice (choiceR); - } - // startTagCloseDeriv (Interleave p1 p2) = // interleave (startTagCloseDeriv p1) (startTagCloseDeriv p2) public override RdpPattern StartTagCloseDeriv () @@ -1169,12 +922,6 @@ namespace Commons.Xml.Relaxng.Derivative .Interleave (RValue.StartTagCloseDeriv ()); } - internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo) - { - return memo.StartTagCloseDeriv (LValue) - .Interleave (memo.StartTagCloseDeriv (RValue)); - } - public override RelaxngPatternType PatternType { get { return RelaxngPatternType.Interleave; } } @@ -1217,14 +964,6 @@ namespace Commons.Xml.Relaxng.Derivative } } - internal override bool IsTextValueDependent { - get { return LValue.IsTextValueDependent || (LValue.Nullable ? RValue.IsTextValueDependent : false); } - } - - internal override bool IsContextDependent { - get { return LValue.IsContextDependent || (LValue.Nullable ? RValue.IsContextDependent : false); } - } - public override void GetLabels (LabelList elements, LabelList attributes, bool collectNameClass) { LValue.GetLabels (elements, attributes, collectNameClass); @@ -1236,43 +975,15 @@ namespace Commons.Xml.Relaxng.Derivative public override RdpPattern TextDeriv (string s, XmlReader reader) { - RdpPattern p = LValue.TextDeriv (s, reader); - p = (p.PatternType == RelaxngPatternType.NotAllowed) ? - p : p.Group (RValue); + RdpPattern p = LValue.TextDeriv (s, reader).Group (RValue); return LValue.Nullable ? p.Choice (RValue.TextDeriv (s, reader)) : p; } - internal override RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo) - { - RdpPattern p = memo.TextDeriv (LValue, s, reader); - p = (p.PatternType == RelaxngPatternType.NotAllowed) ? - p : p.Group (RValue); - return LValue.Nullable ? - p.Choice (memo.TextDeriv (RValue, s, reader)) : p; - } - - internal override RdpPattern EmptyTextDeriv (MemoizationStore memo) - { - RdpPattern p = memo.EmptyTextDeriv (LValue); - p = p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (RValue); - return LValue.Nullable ? - p.Choice (memo.EmptyTextDeriv (RValue)) : p; - } - internal override RdpPattern TextOnlyDeriv () { - RdpPattern p = LValue.TextOnlyDeriv (); - return p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (RValue.TextOnlyDeriv ()); - } - - internal override RdpPattern TextOnlyDeriv (MemoizationStore memo) - { - RdpPattern p = memo.TextOnlyDeriv (LValue); - return p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (memo.TextOnlyDeriv (RValue)); + return LValue.TextOnlyDeriv ().Group ( + RValue.TextOnlyDeriv ()); } internal override RdpPattern MixedTextDeriv () @@ -1282,13 +993,6 @@ namespace Commons.Xml.Relaxng.Derivative p.Choice (RValue.MixedTextDeriv ()) : p; } - internal override RdpPattern MixedTextDeriv (MemoizationStore memo) - { - RdpPattern p = memo.MixedTextDeriv (LValue).Group (RValue); - return LValue.Nullable ? - p.Choice (memo.MixedTextDeriv (RValue)) : p; - } - // startTagOpenDeriv (Group p1 p2) qn = // let x = applyAfter (flip group p2) (startTagOpenDeriv p1 qn) // in if nullable p1 then @@ -1306,17 +1010,6 @@ namespace Commons.Xml.Relaxng.Derivative return x; } - internal override RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo) - { - RdpPattern handled = memo.StartTagOpenDeriv (LValue, name, ns); - RdpFlip f = MakeFlip (RdpUtil.GroupFunction, RValue); - RdpPattern x = handled.ApplyAfter (new RdpApplyAfterHandler (f.Apply)); - if (LValue.Nullable) - return x.Choice (memo.StartTagOpenDeriv (RValue, name, ns)); - else - return x; - } - // attDeriv cx (Group p1 p2) att = // choice (group (attDeriv cx p1 att) p2) // (group p1 (attDeriv cx p2 att)) @@ -1327,41 +1020,12 @@ namespace Commons.Xml.Relaxng.Derivative RValue.AttDeriv (name, ns, value, reader))); } - // startAttDeriv (group p1 p2) == startAttDeriv (interleave p1 p2) - public override RdpPattern StartAttDeriv (string name, string ns) - { - RdpPattern handledL = LValue.StartAttDeriv (name, ns); - RdpPattern handledR = RValue.StartAttDeriv (name, ns); - RdpFlip flipL = MakeFlip (RdpUtil.GroupFunction, RValue); - RdpPattern choiceL = handledL.ApplyAfter (new RdpApplyAfterHandler (flipL.Apply)); - RdpPattern choiceR = handledR.ApplyAfter (new RdpApplyAfterHandler (LValue.Group)); - return choiceL.Choice (choiceR); - } - - internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) - { - RdpPattern handledL = memo.StartAttDeriv (LValue, name, ns); - RdpPattern handledR = memo.StartAttDeriv (RValue, name, ns); - RdpFlip flipL = MakeFlip (RdpUtil.GroupFunction, RValue); - RdpPattern choiceL = handledL.ApplyAfter (new RdpApplyAfterHandler (flipL.Apply)); - RdpPattern choiceR = handledR.ApplyAfter (new RdpApplyAfterHandler (LValue.Group)); - return choiceL.Choice (choiceR); - } - // startTagCloseDeriv (Group p1 p2) = // group (startTagCloseDeriv p1) (startTagCloseDeriv p2) public override RdpPattern StartTagCloseDeriv () { - RdpPattern p = LValue.StartTagCloseDeriv (); - return p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (RValue.StartTagCloseDeriv ()); - } - - internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo) - { - RdpPattern p = memo.StartTagCloseDeriv (LValue); - return p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (memo.StartTagCloseDeriv (RValue)); + return LValue.StartTagCloseDeriv () + .Group (RValue.StartTagCloseDeriv ()); } public override RelaxngPatternType PatternType { @@ -1437,14 +1101,6 @@ namespace Commons.Xml.Relaxng.Derivative get { return Child.Nullable; } } - internal override bool IsTextValueDependent { - get { return Child.IsTextValueDependent; } - } - - internal override bool IsContextDependent { - get { return Child.IsContextDependent; } - } - public override void GetLabels (LabelList elements, LabelList attributes, bool collectNameClass) { Child.GetLabels (elements, attributes, collectNameClass); @@ -1469,23 +1125,7 @@ namespace Commons.Xml.Relaxng.Derivative public override RdpPattern TextDeriv (string s, XmlReader reader) { - RdpPattern p = Child.TextDeriv (s, reader); - return p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (this.Choice (RdpEmpty.Instance)); - } - - internal override RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo) - { - RdpPattern p = memo.TextDeriv (Child, s, reader); - return p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (this.Choice (RdpEmpty.Instance)); - } - - internal override RdpPattern EmptyTextDeriv (MemoizationStore memo) - { - RdpPattern p = memo.EmptyTextDeriv (Child); - return p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (this.Choice (RdpEmpty.Instance)); + return Child.TextDeriv (s, reader).Group (this.Choice (RdpEmpty.Instance)); } internal override RdpPattern TextOnlyDeriv () @@ -1493,32 +1133,24 @@ namespace Commons.Xml.Relaxng.Derivative return Child.TextOnlyDeriv ().OneOrMore (); } - internal override RdpPattern TextOnlyDeriv (MemoizationStore memo) - { - return memo.TextOnlyDeriv (Child).OneOrMore (); - } - internal override RdpPattern MixedTextDeriv () { - RdpPattern p = Child.MixedTextDeriv (); - return p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (this.Choice (RdpEmpty.Instance)); - } - - internal override RdpPattern MixedTextDeriv (MemoizationStore memo) - { - RdpPattern p = memo.MixedTextDeriv (Child); - return p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (this.Choice (RdpEmpty.Instance)); + return Child.MixedTextDeriv ().Group ( + this.Choice (RdpEmpty.Instance)); } // attDeriv cx (OneOrMore p) att = // group (attDeriv cx p att) (choice (OneOrMore p) Empty) public override RdpPattern AttDeriv (string name, string ns, string value, XmlReader reader) { - RdpPattern p = Child.AttDeriv (name, ns, value, reader); - return p.PatternType == RelaxngPatternType.NotAllowed ? - p : p.Group (Choice (RdpEmpty.Instance)); +#if UseStatic + return RdpUtil.Group ( + RdpUtil.AttDeriv (ctx, children, att), + RdpUtil.Choice (RdpUtil.OneOrMore (children), RdpEmpty.Instance)); +#else + return Child.AttDeriv (name, ns, value, reader) + .Group (Choice (RdpEmpty.Instance)); +#endif } // startTagOpenDeriv (OneOrMore p) qn = @@ -1532,30 +1164,6 @@ namespace Commons.Xml.Relaxng.Derivative return handled.ApplyAfter (new RdpApplyAfterHandler (f.Apply)); } - internal override RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo) - { - RdpPattern rest = RdpEmpty.Instance.Choice (Child.OneOrMore ()); - RdpPattern handled = memo.StartTagOpenDeriv (Child, name, ns); - RdpFlip f = MakeFlip (RdpUtil.GroupFunction, rest); - return handled.ApplyAfter (new RdpApplyAfterHandler (f.Apply)); - } - - public override RdpPattern StartAttDeriv (string name, string ns) - { - RdpPattern rest = RdpEmpty.Instance.Choice (Child.OneOrMore ()); - RdpPattern handled = Child.StartAttDeriv (name, ns); - RdpFlip f = MakeFlip (RdpUtil.GroupFunction, rest); - return handled.ApplyAfter (new RdpApplyAfterHandler (f.Apply)); - } - - internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) - { - RdpPattern rest = RdpEmpty.Instance.Choice (Child.OneOrMore ()); - RdpPattern handled = memo.StartAttDeriv (Child, name, ns); - RdpFlip f = MakeFlip (RdpUtil.GroupFunction, rest); - return handled.ApplyAfter (new RdpApplyAfterHandler (f.Apply)); - } - // startTagCloseDeriv (OneOrMore p) = // oneOrMore (startTagCloseDeriv p) public override RdpPattern StartTagCloseDeriv () @@ -1568,11 +1176,6 @@ namespace Commons.Xml.Relaxng.Derivative #endif } - internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo) - { - return memo.StartTagCloseDeriv (Child).OneOrMore (); - } - internal override void CheckConstraints (bool attribute, bool oneOrMore, bool oneOrMoreGroup, bool oneOrMoreInterleave, bool list, bool dataExcept) { if (dataExcept) @@ -1607,14 +1210,6 @@ namespace Commons.Xml.Relaxng.Derivative get { return false; } } - internal override bool IsTextValueDependent { - get { return true; } - } - - internal override bool IsContextDependent { - get { return Child.IsContextDependent; } - } - public override RelaxngPatternType PatternType { get { return RelaxngPatternType.List; } } @@ -1666,14 +1261,6 @@ namespace Commons.Xml.Relaxng.Derivative get { return false; } } - internal override bool IsTextValueDependent { - get { return true; } - } - - internal override bool IsContextDependent { - get { return dt.IsContextDependent; } - } - public override RelaxngPatternType PatternType { get { return RelaxngPatternType.Data; } } @@ -1794,14 +1381,6 @@ namespace Commons.Xml.Relaxng.Derivative get { return false; } } - internal override bool IsTextValueDependent { - get { return true; } - } - - internal override bool IsContextDependent { - get { return dt.IsContextDependent; } - } - public override RelaxngPatternType PatternType { get { return RelaxngPatternType.Value; } } @@ -1815,20 +1394,8 @@ namespace Commons.Xml.Relaxng.Derivative // do nothing } - string cachedValue; - RdpPattern cachedPattern; - public override RdpPattern TextDeriv (string s, XmlReader reader) { - if (s == cachedValue && !IsContextDependent) - return cachedPattern; - cachedPattern = TextDerivCore (s, reader); - cachedValue = s; - return cachedPattern; - } - - RdpPattern TextDerivCore (string s, XmlReader reader) - { if (dt.IsTypeEqual (value, s, reader)) return RdpEmpty.Instance; else @@ -1875,14 +1442,6 @@ namespace Commons.Xml.Relaxng.Derivative get { return false; } } - internal override bool IsTextValueDependent { - get { return false; } - } - - internal override bool IsContextDependent { - get { return false; } - } - public override RelaxngPatternType PatternType { get { return RelaxngPatternType.Attribute; } } @@ -1946,29 +1505,12 @@ namespace Commons.Xml.Relaxng.Derivative #endif } - public override RdpPattern StartAttDeriv (string name, string ns) - { - return nameClass.Contains (name, ns) ? - children.After (RdpEmpty.Instance) : RdpNotAllowed.Instance; - } - - internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) - { - return nameClass.Contains (name, ns) ? - children.After (RdpEmpty.Instance) : RdpNotAllowed.Instance; - } - // startTagCloseDeriv (Attribute _ _) = NotAllowed public override RdpPattern StartTagCloseDeriv () { return RdpNotAllowed.Instance; } - internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo) - { - return RdpNotAllowed.Instance; - } - internal override void MarkReachableDefs () { children.MarkReachableDefs (); @@ -2019,14 +1561,6 @@ namespace Commons.Xml.Relaxng.Derivative get { return false; } } - internal override bool IsTextValueDependent { - get { return false; } - } - - internal override bool IsContextDependent { - get { return false; } - } - public override RelaxngPatternType PatternType { get { return RelaxngPatternType.Element; } } @@ -2084,11 +1618,6 @@ namespace Commons.Xml.Relaxng.Derivative return RdpNotAllowed.Instance; } - internal override RdpPattern TextOnlyDeriv (MemoizationStore memo) - { - return RdpNotAllowed.Instance; - } - public override RdpPattern StartTagOpenDeriv (string name, string ns) { #if UseStatic @@ -2103,13 +1632,6 @@ namespace Commons.Xml.Relaxng.Derivative #endif } - internal override RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo) - { - return nameClass.Contains (name, ns) ? - children.After (RdpEmpty.Instance) : - RdpNotAllowed.Instance; - } - internal override void MarkReachableDefs () { children.MarkReachableDefs (); @@ -2143,14 +1665,6 @@ namespace Commons.Xml.Relaxng.Derivative get { return false; } } - internal override bool IsTextValueDependent { - get { return LValue.IsTextValueDependent; } - } - - internal override bool IsContextDependent { - get { return LValue.IsContextDependent; } - } - public override void GetLabels (LabelList elements, LabelList attributes, bool collectNameClass) { LValue.GetLabels (elements, attributes, collectNameClass); @@ -2161,36 +1675,16 @@ namespace Commons.Xml.Relaxng.Derivative return LValue.TextDeriv (s, reader).After (RValue); } - internal override RdpPattern TextDeriv (string s, XmlReader reader, MemoizationStore memo) - { - return memo.TextDeriv (LValue, s, reader).After (RValue); - } - - internal override RdpPattern EmptyTextDeriv (MemoizationStore memo) - { - return memo.EmptyTextDeriv (LValue).After (RValue); - } - internal override RdpPattern TextOnlyDeriv () { return LValue.TextOnlyDeriv ().After (RValue); } - internal override RdpPattern TextOnlyDeriv (MemoizationStore memo) - { - return memo.TextOnlyDeriv (LValue).After (RValue); - } - internal override RdpPattern MixedTextDeriv () { return LValue.MixedTextDeriv ().After (RValue); } - internal override RdpPattern MixedTextDeriv (MemoizationStore memo) - { - return memo.MixedTextDeriv (LValue).After (RValue); - } - // startTagOpenDeriv (After p1 p2) qn = // applyAfter (flip after p2) (startTagOpenDeriv p1 qn) public override RdpPattern StartTagOpenDeriv (string name, string ns) @@ -2201,14 +1695,6 @@ namespace Commons.Xml.Relaxng.Derivative f.Apply)); } - internal override RdpPattern StartTagOpenDeriv (string name, string ns, MemoizationStore memo) - { - RdpPattern handled = memo.StartTagOpenDeriv (LValue, name, ns); - RdpFlip f = MakeFlip (RdpUtil.AfterFunction, RValue); - return handled.ApplyAfter (new RdpApplyAfterHandler ( - f.Apply)); - } - public override RdpPattern ApplyAfter (RdpApplyAfterHandler handler) { return LValue.After (handler (RValue)); @@ -2221,37 +1707,11 @@ namespace Commons.Xml.Relaxng.Derivative return LValue.AttDeriv (name, ns, value, reader).After (RValue); } - public override RdpPattern StartAttDeriv (string name, string ns) - { - RdpPattern handled = LValue.StartAttDeriv (name, ns); - RdpFlip f = MakeFlip (RdpUtil.AfterFunction, RValue); - return handled.ApplyAfter (new RdpApplyAfterHandler ( - f.Apply)); - } - - internal override RdpPattern StartAttDeriv (string name, string ns, MemoizationStore memo) - { - RdpPattern handled = memo.StartAttDeriv (LValue, name, ns); - RdpFlip f = MakeFlip (RdpUtil.AfterFunction, RValue); - return handled.ApplyAfter (new RdpApplyAfterHandler ( - f.Apply)); - } - - public override RdpPattern EndAttDeriv () - { - return LValue.Nullable ? RValue : RdpNotAllowed.Instance; - } - public override RdpPattern StartTagCloseDeriv () { return LValue.StartTagCloseDeriv ().After (RValue); } - internal override RdpPattern StartTagCloseDeriv (MemoizationStore memo) - { - return memo.StartTagCloseDeriv (LValue).After (RValue); - } - public override RdpPattern EndTagDeriv () { return LValue.Nullable ? RValue : RdpNotAllowed.Instance; diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/Util.cs b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/Util.cs index b1274648aab..c8b878d190a 100644 --- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/Util.cs +++ b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.Derivative/Util.cs @@ -91,22 +91,6 @@ namespace Commons.Xml.Relaxng.Derivative intl = DebugRdpPattern (b.LValue, visitedPattern) + DebugRdpPattern (b.RValue, visitedPattern); - RdpData data = p as RdpData; - if (data != null) - intl = String.Format ("name={0},ns={1},type={2} {3}", - data.Datatype.LocalName, - data.Datatype.NamespaceURI, - data.Datatype.GetType (), - data is RdpDataExcept ? DebugRdpPattern (((RdpDataExcept) data).Except, visitedPattern) : String.Empty); - - RdpValue value = p as RdpValue; - if (value != null) - intl = String.Format ("name={0},ns={1},value={2} type={3}", - value.Datatype.LocalName, - value.Datatype.NamespaceURI, - value.Value, - value.Datatype.GetType ()); - RdpElement el = p as RdpElement; if (el != null) intl = DebugNameClass (el.NameClass) + diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/ChangeLog b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/ChangeLog index 74997df03f8..16632d4a8ca 100644 --- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/ChangeLog +++ b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/ChangeLog @@ -1,54 +1,3 @@ -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * RelaxngValidatingReader.cs : fixed warning. - -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * RelaxngValidatingReader.cs : just keep previous TextDeriv() result - for each pattern; they are mostly not reused. It makes validator - about 30% faster in certain validation and reduces memory use. - -2006-01-13 Atsushi Enomoto <atsushi@ximian.com> - - * RelaxngValidatingReader.cs : actually using Hashtable of Hashtable - (instead of ArrayList of custom MemoizationStart class) is much - better for performance. It makes StartTagOpenDeriv and - StartAttDeriv more than 10x faster than before. - -2006-01-13 Atsushi Enomoto <atsushi@ximian.com> - - * RelaxngDatatype.cs, RelaxngDefaultDatatypes.cs, - XsdDatatypeProvider.cs, RelaxngValidatingReader.cs : - Memoize TextDeriv() results for context independent inputs. - - Due to the API freeze they are kept as internal virtual for now. - -2006-01-12 Atsushi Enomoto <atsushi@ximian.com> - - * RelaxngValidatingReader.cs : Use RdpPattern.EmptyTextDeriv(). It - significantly improves performance wrt empty text nodes. - -2006-01-10 Atsushi Enomoto <atsushi@ximian.com> - - * RelaxngValidatingReader.cs : - - Split memoization support things into MemoizationStore class. - - Split single memo ArrayList into a couple of Hashtables and - ArrayLists which memoize each kind of derivative results. - - Introduced StartAttDeriv() and EndAttDeriv() to replace AttDeriv() - and memoize results efficiently. It is textually written in the - "derivative algorithm", but not formally specified. - - Introduced IsTextValueDependent and EmptyTextDeriv() to - differentiate those patterns which results differ depending on - the text value and those which doesn't. - Those EmptyTextDeriv results are memoized. - -2006-01-10 Atsushi Enomoto <atsushi@ximian.com> - - * Misc.cs : NormalizeWhitespace() was creating extraneous char[] and - it could be heavily called depending on patterns. - * RelaxngDefaultDatatypes.cs : avoid extraneous call to - NormalizeWhitespace(). - 2006-01-05 Atsushi Enomoto <atsushi@ximian.com> * RelaxngValidatingReader.cs : diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/Misc.cs b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/Misc.cs index bc51d78bf96..f8e16f71b18 100644 --- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/Misc.cs +++ b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/Misc.cs @@ -33,7 +33,6 @@ using System; using System.Collections; using System.IO; -using System.Text; using System.Xml; using Commons.Xml.Relaxng.Derivative; @@ -46,42 +45,28 @@ namespace Commons.Xml.Relaxng if (s.Length == 0) return s; - StringBuilder sb = null; - int noSpaceIndex = 0; - bool inSpace = false; - - for (int i = 0; i < s.Length; i++) { - switch (s [i]) { + char [] ca = s.ToCharArray (); + int j = 0; + for (int i = 0; i < ca.Length; i++) { + switch (ca [i]) { case ' ': case '\r': case '\t': case '\n': - if (inSpace) - continue; - if (sb == null) - sb = new StringBuilder (s.Length); - if (noSpaceIndex < i) { - if (sb.Length > 0) - sb.Append (' '); - sb.Append (s, noSpaceIndex, i - noSpaceIndex); - } - inSpace = true; + if (j == 0) + break; + if (ca [j - 1] != ' ') + ca [j++] = ' '; break; default: - if (inSpace) { - noSpaceIndex = i; - inSpace = false; - } + ca [j++] = ca [i]; break; } } - if (sb == null) - return s; - if (!inSpace && noSpaceIndex < s.Length) { - sb.Append (' '); - sb.Append (s, noSpaceIndex, s.Length - noSpaceIndex); - } - return sb.ToString (); + if (j == 0) + return String.Empty; + string r = new string (ca, 0, (ca [j - 1] != ' ') ? j : j - 1); + return r; } public static bool IsWhitespace (string s) diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngDatatype.cs b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngDatatype.cs index 5f57702eab6..b59a8635456 100644 --- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngDatatype.cs +++ b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngDatatype.cs @@ -38,11 +38,6 @@ namespace Commons.Xml.Relaxng public abstract string Name { get; } public abstract string NamespaceURI { get; } - internal virtual bool IsContextDependent { - // safe default value - get { return true; } - } - public abstract object Parse (string text, XmlReader reader); public virtual bool Compare (object o1, object o2) diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngDefaultDatatypes.cs b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngDefaultDatatypes.cs index 4d31c481235..04adc51ee4b 100644 --- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngDefaultDatatypes.cs +++ b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngDefaultDatatypes.cs @@ -48,10 +48,6 @@ namespace Commons.Xml.Relaxng public override string Name { get { return "string"; } } public override string NamespaceURI { get { return String.Empty; } } - internal override bool IsContextDependent { - get { return false; } - } - public override bool IsValid (string text, XmlReader reader) { return true; @@ -83,10 +79,6 @@ namespace Commons.Xml.Relaxng public override string Name { get { return "token"; } } public override string NamespaceURI { get { return String.Empty; } } - internal override bool IsContextDependent { - get { return false; } - } - public override bool IsValid (string text, XmlReader reader) { return true; @@ -97,55 +89,10 @@ namespace Commons.Xml.Relaxng return Util.NormalizeWhitespace (text); } - int SkipWhitespaces (string s, int i) - { - while (i < s.Length) { - switch (s [i]) { - case '\n': case '\r': case ' ': case '\t': - i++; - continue; - } - break; - } - return i; - } - public override bool Compare (object o1, object o2) { - string s1 = o1 as string; - string s2 = o2 as string; - - int i1 = 0; - int i2 = 0; - - while (i1 < s1.Length && i2 < s2.Length) { - i1 = SkipWhitespaces (s1, i1); - i2 = SkipWhitespaces (s2, i2); - while (i1 < s1.Length && i2 < s2.Length) { - if (s1 [i1] != s2 [i2]) - return false; - i1++; - i2++; - if (i1 == s1.Length || i2 == s2.Length) - break; - if (XmlChar.IsWhitespace (s1 [i1])) { - if (!XmlChar.IsWhitespace (s2 [i2])) - return false; - else - break; - } - else if (XmlChar.IsWhitespace (s2 [i2])) - return false; - } - } - i1 = SkipWhitespaces (s1, i1); - i2 = SkipWhitespaces (s2, i2); - return i1 == s1.Length && i2 == s2.Length; - } - - public override bool CompareString (string s1, string s2, XmlReader reader) - { - return Compare (s1, s2); + return Util.NormalizeWhitespace ((string) o1) == + Util.NormalizeWhitespace ((string) o2); } } } diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngValidatingReader.cs b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngValidatingReader.cs index 74a74febcb9..56a23466e17 100644 --- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngValidatingReader.cs +++ b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/RelaxngValidatingReader.cs @@ -68,8 +68,11 @@ namespace Commons.Xml.Relaxng RelaxngPattern pattern; RdpPattern vState; RdpPattern prevState; // Mainly for debugging. + ArrayList PredefinedAttributes = new ArrayList (); + bool labelsComputed; Hashtable elementLabels = new Hashtable (); Hashtable attributeLabels = new Hashtable (); + bool isEmptiable; bool roughLabelCheck; ArrayList strictCheckCache; bool reportDetails; @@ -365,6 +368,7 @@ namespace Commons.Xml.Relaxng { PrepareState (); + labelsComputed = false; elementLabels.Clear (); attributeLabels.Clear (); @@ -383,7 +387,7 @@ namespace Commons.Xml.Relaxng inContent = true; // StartTagOpenDeriv prevState = vState; - vState = memo.StartTagOpenDeriv (vState, + vState = StartTagOpenDeriv (vState, reader.LocalName, reader.NamespaceURI); if (vState.PatternType == RelaxngPatternType.NotAllowed) throw CreateValidationError (String.Format ("Invalid start tag found. LocalName = {0}, NS = {1}.", reader.LocalName, reader.NamespaceURI), true); @@ -397,36 +401,16 @@ namespace Commons.Xml.Relaxng prevState = vState; string attrNS = reader.NamespaceURI; - -#if false // old code - vState = vState.AttDeriv (reader.LocalName, attrNS, reader.GetAttribute (reader.LocalName, attrNS), this); - if (vState == RdpNotAllowed.Instance) - throw CreateValidationError (String.Format ("Invalid attribute found. LocalName = {0}, NS = {1}.", reader.LocalName, reader.NamespaceURI), false); - -#else - - prevState = vState; - vState = memo.StartAttDeriv (vState, reader.LocalName, attrNS); - if (vState == RdpNotAllowed.Instance) + if (vState.PatternType == RelaxngPatternType.NotAllowed) throw CreateValidationError (String.Format ("Invalid attribute found. LocalName = {0}, NS = {1}.", reader.LocalName, reader.NamespaceURI), false); - prevState = vState; - vState = memo.TextOnlyDeriv (vState); - vState = TextDeriv (vState, reader.Value, reader); - if (Util.IsWhitespace (reader.Value)) - vState = vState.Choice (prevState); - vState = memo.EndAttDeriv (vState); - if (vState == RdpNotAllowed.Instance) - throw CreateValidationError (String.Format ("Invalid attribute value is found. Value = '{0}'", reader.Value), false); - -#endif } while (reader.MoveToNextAttribute ()); MoveToElement (); } // StarTagCloseDeriv prevState = vState; - vState = memo.StartTagCloseDeriv (vState); + vState = StartTagCloseDeriv (vState); if (vState.PatternType == RelaxngPatternType.NotAllowed) throw CreateValidationError (String.Format ("Invalid start tag closing found. LocalName = {0}, NS = {1}.", reader.LocalName, reader.NamespaceURI), false); @@ -441,7 +425,7 @@ namespace Commons.Xml.Relaxng inContent = false; // EndTagDeriv prevState = vState; - vState = memo.EndTagDeriv (vState); + vState = EndTagDeriv (vState); if (vState.PatternType == RelaxngPatternType.NotAllowed) throw CreateValidationError (String.Format ("Invalid end tag found. LocalName = {0}, NS = {1}.", reader.LocalName, reader.NamespaceURI), true); break; @@ -466,14 +450,6 @@ namespace Commons.Xml.Relaxng return ret; } - RdpPattern TextDeriv (RdpPattern p, string value, XmlReader context) - { - if (value.Length > 0 && p.IsTextValueDependent) - return memo.TextDeriv (p, value, context); - else - return memo.EmptyTextDeriv (p); - } - void ValidateText (bool remain) { RdpPattern ts = vState; @@ -486,8 +462,8 @@ namespace Commons.Xml.Relaxng case XmlNodeType.Element: startElementDepth = -1; if (!Util.IsWhitespace (cachedValue)) { - ts = memo.MixedTextDeriv (ts); - ts = TextDeriv (ts, cachedValue, reader); + ts = MixedTextDeriv (ts); + ts = ts.TextDeriv (cachedValue, reader); } break; default: @@ -523,167 +499,125 @@ namespace Commons.Xml.Relaxng RdpPattern ValidateTextOnlyCore () { - RdpPattern ts = memo.TextOnlyDeriv (vState); - ts = TextDeriv (ts, cachedValue, reader); + RdpPattern ts = TextOnlyDeriv (vState); + ts = ts.TextDeriv (cachedValue, reader); if (Util.IsWhitespace (cachedValue)) - ts = vState.Choice (ts); + ts = vState.MakeChoice (ts, vState); return ts; } - MemoizationStore memo = new MemoizationStore (); - } + #region Memoization support - #region Memoization support - internal class MemoizationStore - { - Hashtable startOpen = new Hashtable (); - Hashtable startClose = new Hashtable (); - Hashtable startAtt = new Hashtable (); - Hashtable endTag = new Hashtable (); - Hashtable endAtt = new Hashtable (); - Hashtable textOnly = new Hashtable (); - Hashtable mixedText = new Hashtable (); - Hashtable emptyText = new Hashtable (); - Hashtable text = new Hashtable (); - Hashtable text_value = new Hashtable (); - Hashtable qnames = new Hashtable (); + ArrayList memo = new ArrayList (); enum DerivativeType { StartTagOpen, - StartAtt, StartTagClose, EndTag, - EndAtt, Mixed, TextOnly } - XmlQualifiedName GetQName (string local, string ns) + class Memoization { - Hashtable nst = qnames [ns] as Hashtable; - if (nst == null) { - nst = new Hashtable (); - qnames [ns] = nst; - } - XmlQualifiedName qn = nst [local] as XmlQualifiedName; - if (qn == null) { - qn = new XmlQualifiedName (local, ns); - nst [local] = qn; + public Memoization (DerivativeType type, RdpPattern input, RdpPattern output) + { + Type = type; + Input = input; + Output = output; } - return qn; - } - public RdpPattern StartTagOpenDeriv (RdpPattern p, string local, string ns) - { - Hashtable h = startOpen [p] as Hashtable; - if (h == null) { - h = new Hashtable (); - startOpen [p] = h; - } - XmlQualifiedName qn = GetQName (local, ns); - RdpPattern m = h [qn] as RdpPattern; - if (m == null) { - m = p.StartTagOpenDeriv (local, ns, this); - h [qn] = m; - } - return m; + public readonly DerivativeType Type; + public readonly RdpPattern Input; + public readonly RdpPattern Output; } - public RdpPattern StartAttDeriv (RdpPattern p, string local, string ns) + class MemoizationStartTagOpen : Memoization { - Hashtable h = startAtt [p] as Hashtable; - if (h == null) { - h = new Hashtable (); - startAtt [p] = h; - } - XmlQualifiedName qn = GetQName (local, ns); - RdpPattern m = h [qn] as RdpPattern; - if (m == null) { - m = p.StartAttDeriv (local, ns, this); - h [qn] = m; + public MemoizationStartTagOpen (string name, string ns, RdpPattern input, RdpPattern output) + : base (DerivativeType.StartTagOpen, input, output) + { + Name = name; + NS = ns; } - return m; - } - public RdpPattern StartTagCloseDeriv (RdpPattern p) - { - RdpPattern m = startClose [p] as RdpPattern; - if (m != null) - return m; - - m = p.StartTagCloseDeriv (this); - startClose [p] = m; - return m; + public readonly string Name; + public readonly string NS; } - public RdpPattern EndTagDeriv (RdpPattern p) + RdpPattern StartTagOpenDeriv (RdpPattern p, string local, string ns) { - RdpPattern m = endTag [p] as RdpPattern; - if (m != null) - return m; + for (int i = 0; i < memo.Count; i++) { + Memoization tag = (Memoization) memo [i]; + if (tag.Type != DerivativeType.StartTagOpen) + continue; + MemoizationStartTagOpen sto = + tag as MemoizationStartTagOpen; + if (sto.Input == p && + object.ReferenceEquals (sto.Name, local) && + object.ReferenceEquals (sto.NS, ns)) + return tag.Output; + } - m = p.EndTagDeriv (this); - endTag [p] = m; + RdpPattern m = p.StartTagOpenDeriv (local, ns); + memo.Add (new MemoizationStartTagOpen (local, ns, p, m)); return m; } - public RdpPattern EndAttDeriv (RdpPattern p) + RdpPattern StartTagCloseDeriv (RdpPattern p) { - RdpPattern m = endAtt [p] as RdpPattern; - if (m != null) - return m; + for (int i = 0; i < memo.Count; i++) { + Memoization tag = (Memoization) memo [i]; + if (tag.Type == DerivativeType.StartTagClose && tag.Input == p) + return tag.Output; + } - m = p.EndAttDeriv (this); - endAtt [p] = m; + RdpPattern m = p.StartTagCloseDeriv (); + memo.Add (new Memoization ( + DerivativeType.StartTagClose, p, m)); return m; } - public RdpPattern MixedTextDeriv (RdpPattern p) + RdpPattern EndTagDeriv (RdpPattern p) { - RdpPattern m = mixedText [p] as RdpPattern; - if (m != null) - return m; + for (int i = 0; i < memo.Count; i++) { + Memoization tag = (Memoization) memo [i]; + if (tag.Type == DerivativeType.EndTag && tag.Input == p) + return tag.Output; + } - m = p.MixedTextDeriv (this); - mixedText [p] = m; + RdpPattern m = p.EndTagDeriv (); + memo.Add (new Memoization (DerivativeType.EndTag, p, m)); return m; } - public RdpPattern TextOnlyDeriv (RdpPattern p) + RdpPattern MixedTextDeriv (RdpPattern p) { - RdpPattern m = textOnly [p] as RdpPattern; - if (m != null) - return m; + for (int i = 0; i < memo.Count; i++) { + Memoization tag = (Memoization) memo [i]; + if (tag.Type == DerivativeType.Mixed && tag.Input == p) + return tag.Output; + } - m = p.TextOnlyDeriv (this); - textOnly [p] = m; + RdpPattern m = p.MixedTextDeriv (); + memo.Add (new Memoization (DerivativeType.Mixed, p, m)); return m; } - public RdpPattern TextDeriv (RdpPattern p, string value, XmlReader context) + RdpPattern TextOnlyDeriv (RdpPattern p) { - if (p.IsContextDependent) - return p.TextDeriv (value, context); + for (int i = 0; i < memo.Count; i++) { + Memoization tag = (Memoization) memo [i]; + if (tag.Type == DerivativeType.TextOnly && tag.Input == p) + return tag.Output; + } - if (Object.ReferenceEquals (text_value [p], value)) - return text [p] as RdpPattern; - RdpPattern m = p.TextDeriv (value, context, this); - text_value [p] = value; - text [p] = m; + RdpPattern m = p.TextOnlyDeriv (); + memo.Add (new Memoization (DerivativeType.TextOnly, p, m)); return m; } - public RdpPattern EmptyTextDeriv (RdpPattern p) - { - RdpPattern m = emptyText [p] as RdpPattern; - if (m != null) - return m; - - m = p.EmptyTextDeriv (this); - emptyText [p] = m; - return m; - } + #endregion } - #endregion } diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/XsdDatatypeProvider.cs b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/XsdDatatypeProvider.cs index 7e736cf4515..cfb8fa81e18 100644 --- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/XsdDatatypeProvider.cs +++ b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng/XsdDatatypeProvider.cs @@ -197,10 +197,6 @@ namespace Commons.Xml.Relaxng.XmlSchema get { return type.QualifiedName.Namespace; } } - internal override bool IsContextDependent { - get { return type.Datatype != null && type.Datatype.TokenizedType == XmlTokenizedType.QName; } - } - public override object Parse (string value, XmlReader reader) { // Now we create XmlValidatingReader to handle @@ -233,10 +229,6 @@ namespace Commons.Xml.Relaxng.XmlSchema dt = xstype; } - internal override bool IsContextDependent { - get { return dt.TokenizedType == XmlTokenizedType.QName; } - } - public override string Name { get { return name; } } @@ -268,10 +260,6 @@ namespace Commons.Xml.Relaxng.XmlSchema get { return "http://www.w3.org/2001/XMLSchema-datatypes"; } } - internal override bool IsContextDependent { - get { return true; } - } - public override object Parse (string s, XmlReader reader) { int colonAt = s.IndexOf (':'); diff --git a/mcs/class/I18N/CJK/CP51932.cs b/mcs/class/I18N/CJK/CP51932.cs index 9cb355d7f59..43ed6f62cf2 100644 --- a/mcs/class/I18N/CJK/CP51932.cs +++ b/mcs/class/I18N/CJK/CP51932.cs @@ -58,15 +58,22 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP51932 : MonoEncoding { // Magic number used by Windows for the EUC-JP code page. private const int EUC_JP_CODE_PAGE = 51932; + // Internal state. + private JISConvert convert; + + // Conversion cache (note that encoding is not thread safe) + int lastByte; + // Constructor. public CP51932 () : base (EUC_JP_CODE_PAGE) { + // Load the JIS conversion tables. + convert = JISConvert.Convert; } // Get the number of bytes needed to encode a character buffer. @@ -87,8 +94,8 @@ public class CP51932 : MonoEncoding // Determine the length of the final output. int length = 0; int ch, value; - byte [] cjkToJis = JISConvert.Convert.cjkToJis; - byte [] extraToJis = JISConvert.Convert.extraToJis; + byte [] cjkToJis = convert.cjkToJis; + byte [] extraToJis = convert.extraToJis; while (count > 0) { ch = chars [index++]; @@ -147,9 +154,9 @@ public class CP51932 : MonoEncoding int byteLength = byteCount; int ch, value; - byte[] cjkToJis = JISConvert.Convert.cjkToJis; - byte[] greekToJis = JISConvert.Convert.greekToJis; - byte[] extraToJis = JISConvert.Convert.extraToJis; + byte[] cjkToJis = convert.cjkToJis; + byte[] greekToJis = convert.greekToJis; + byte[] extraToJis = convert.extraToJis; for (; charCount > 0; charIndex++, --charCount) { ch = chars [charIndex]; @@ -217,6 +224,7 @@ public class CP51932 : MonoEncoding } // Get the number of characters needed to decode a byte buffer. + // TODO: check public override int GetCharCount (byte [] bytes, int index, int count) { // Validate the parameters. @@ -231,96 +239,50 @@ public class CP51932 : MonoEncoding throw new ArgumentOutOfRangeException ("count", Strings.GetString("ArgRange_Array")); - - // Determine the total length of the converted string. - int value = 0; - byte[] table0208 = JISConvert.Convert.jisx0208ToUnicode; - byte[] table0212 = JISConvert.Convert.jisx0212ToUnicode; int length = 0; - int byteval = 0; + int byteval; int last = 0; while (count > 0) { byteval = bytes [index++]; --count; + if (last == 0) { if (byteval == 0x8F) { if (byteval != 0) { - // Invalid second byte of a 3-byte character. + // Invalid second byte of a 3-byte character + // FIXME: What should we do? last = 0; - length++; } // First byte in a triple-byte sequence else last = byteval; } else if (byteval <= 0x7F) { // Ordinary ASCII/Latin1/Control character. - length++; - } else if (byteval == 0x8E) { - // First byte of half-width Katakana - last = byteval; + ++length; } else if (byteval >= 0xA1 && byteval <= 0xFE) { // First byte in a double-byte sequence. last = byteval; + } else if (byteval == 0x87) { + // First byte in half-width katakana } else { - // Invalid first byte. - length++; - } - } - else if (last == 0x8E) { - if (byteval >= 0xA1 && byteval <= 0xDF) { - value = ((byteval - 0x40) | - (last + 0x71) << 8); - length++; - } else { - // Invalid second byte. - length++; + // Invalid first byte. Let '?' + ++length; } - last =0; - } - else if (last == 0x8F) { + } else if (last == 0x8F) { // 3-byte character // FIXME: currently not supported yet - last = byteval; - } - else - { + last = 0; + ++length; + } else { // Second byte in a double-byte sequence. - value = (last - 0xA1) * 0x5E; last = 0; - if (byteval >= 0xA1 && byteval <= 0xFE) - { - value += (byteval - 0xA1); - } - else - { - // Invalid second byte. - last = 0; - length++; - continue; - } - - value *= 2; - value = ((int) (table0208 [value])) - | (((int) (table0208 [value + 1])) << 8); - if (value == 0) - value = ((int) (table0212 [value])) - | (((int) (table0212 [value + 1])) << 8); - if (value != 0) - length++; - else - length++; + ++length; } } -#if NET_2_0 - // seems like .NET 2.0 adds \u30FB for insufficient - // byte seuqence (for Japanese \u30FB makes sense). - if (last != 0) - length++; -#endif - // Return the final length to the caller. + // Return the total length. return length; } @@ -357,29 +319,30 @@ public class CP51932 : MonoEncoding int posn = charIndex; int charLength = chars.Length; int byteval, value; - int last = 0; - byte[] table0208 = JISConvert.Convert.jisx0208ToUnicode; - byte[] table0212 = JISConvert.Convert.jisx0212ToUnicode; + int last = lastByte; + byte[] table0208 = convert.jisx0208ToUnicode; + byte[] table0212 = convert.jisx0212ToUnicode; while (byteCount > 0) { byteval = bytes [byteIndex++]; --byteCount; if (last == 0) { + if (posn >= charLength) + throw new ArgumentException + (Strings.GetString + ("Arg_InsufficientSpace"), "chars"); + if (byteval == 0x8F) { if (byteval != 0) { - // Invalid second byte of a 3-byte character. + // Invalid second byte of a 3-byte character + // FIXME: What should we do? last = 0; - if (posn >= charLength) - throw Insufficient (); - chars [posn++] = '?'; } // First byte in a triple-byte sequence else last = byteval; } else if (byteval <= 0x7F) { // Ordinary ASCII/Latin1/Control character. - if (posn >= charLength) - throw Insufficient (); chars [posn++] = (char) byteval; } else if (byteval == 0x8E) { // First byte of half-width Katakana @@ -389,8 +352,6 @@ public class CP51932 : MonoEncoding last = byteval; } else { // Invalid first byte. - if (posn >= charLength) - throw Insufficient (); chars [posn++] = '?'; } } @@ -398,13 +359,9 @@ public class CP51932 : MonoEncoding if (byteval >= 0xA1 && byteval <= 0xDF) { value = ((byteval - 0x40) | (last + 0x71) << 8); - if (posn >= charLength) - throw Insufficient (); chars [posn++] = (char) value; } else { // Invalid second byte. - if (posn >= charLength) - throw Insufficient (); chars [posn++] = '?'; } last =0; @@ -426,9 +383,7 @@ public class CP51932 : MonoEncoding else { // Invalid second byte. - last = 0; - if (posn >= charLength) - throw Insufficient (); + lastByte = 0; chars [posn++] = '?'; continue; } @@ -439,35 +394,18 @@ public class CP51932 : MonoEncoding if (value == 0) value = ((int) (table0212 [value])) | (((int) (table0212 [value + 1])) << 8); - if (posn >= charLength) - throw Insufficient (); if (value != 0) chars [posn++] = (char)value; else chars [posn++] = '?'; } } -#if NET_2_0 - if (last != 0) { - // seems like .NET 2.0 adds \u30FB for insufficient - // byte seuqence (for Japanese \u30FB makes sense). - if (posn >= charLength) - throw Insufficient (); - chars [posn++] = '\u30FB'; - } -#endif + lastByte = last; // Return the final length to the caller. return posn - charIndex; } - Exception Insufficient () - { - throw new ArgumentException - (Strings.GetString - ("Arg_InsufficientSpace"), "chars"); - } - // Get the maximum number of bytes needed to encode a // specified number of characters. public override int GetMaxByteCount(int charCount) @@ -551,7 +489,6 @@ public class CP51932 : MonoEncoding #endif // !ECMA_COMPAT }; // class CP51932 -[Serializable] public class ENCeuc_jp : CP51932 { public ENCeuc_jp () : base() {} diff --git a/mcs/class/I18N/CJK/CP932.cs b/mcs/class/I18N/CJK/CP932.cs index 90919b3c1ae..5b08dfbdff3 100644 --- a/mcs/class/I18N/CJK/CP932.cs +++ b/mcs/class/I18N/CJK/CP932.cs @@ -29,16 +29,20 @@ using System; using System.Text; using I18N.Common; -[Serializable] public unsafe class CP932 : MonoEncoding { // Magic number used by Windows for the Shift-JIS code page. private const int SHIFTJIS_CODE_PAGE = 932; + // Internal state. + private JISConvert convert; + // Constructor. public CP932() : base(SHIFTJIS_CODE_PAGE) - { - } + { + // Load the JIS conversion tables. + convert = JISConvert.Convert; + } // Get the number of bytes needed to encode a character buffer. public override int GetByteCount(char[] chars, int index, int count) @@ -63,11 +67,11 @@ public unsafe class CP932 : MonoEncoding int length = 0; int ch, value; #if __PNET__ - byte *cjkToJis = JISConvert.Convert.cjkToJis; - byte *extraToJis = JISConvert.Convert.extraToJis; + byte *cjkToJis = convert.cjkToJis; + byte *extraToJis = convert.extraToJis; #else - byte[] cjkToJis = JISConvert.Convert.cjkToJis; - byte[] extraToJis = JISConvert.Convert.extraToJis; + byte[] cjkToJis = convert.cjkToJis; + byte[] extraToJis = convert.extraToJis; #endif while(count > 0) { @@ -143,13 +147,13 @@ public unsafe class CP932 : MonoEncoding int byteLength = byteCount; int ch, value; #if __PNET__ - byte *cjkToJis = JISConvert.Convert.cjkToJis; - byte *greekToJis = JISConvert.Convert.greekToJis; - byte *extraToJis = JISConvert.Convert.extraToJis; + byte *cjkToJis = convert.cjkToJis; + byte *greekToJis = convert.greekToJis; + byte *extraToJis = convert.extraToJis; #else - byte[] cjkToJis = JISConvert.Convert.cjkToJis; - byte[] greekToJis = JISConvert.Convert.greekToJis; - byte[] extraToJis = JISConvert.Convert.extraToJis; + byte[] cjkToJis = convert.cjkToJis; + byte[] greekToJis = convert.greekToJis; + byte[] extraToJis = convert.extraToJis; #endif while(charCount > 0) { @@ -449,9 +453,9 @@ public unsafe class CP932 : MonoEncoding int length = 0; int byteval, value; #if __PNET__ - byte *table = JISConvert.Convert.jisx0208ToUnicode; + byte *table = convert.jisx0208ToUnicode; #else - byte[] table = JISConvert.Convert.jisx0208ToUnicode; + byte[] table = convert.jisx0208ToUnicode; #endif while(byteCount > 0) { @@ -558,7 +562,7 @@ public unsafe class CP932 : MonoEncoding // Get a decoder that handles a rolling Shift-JIS state. public override Decoder GetDecoder() { - return new CP932Decoder(JISConvert.Convert); + return new CP932Decoder(convert); } #if !ECMA_COMPAT @@ -835,7 +839,6 @@ public unsafe class CP932 : MonoEncoding }; // class CP932 -[Serializable] public class ENCshift_jis : CP932 { public ENCshift_jis() : base() {} diff --git a/mcs/class/I18N/CJK/CP936.cs b/mcs/class/I18N/CJK/CP936.cs index 454e1b5c3f2..6ca3e74d5b4 100644 --- a/mcs/class/I18N/CJK/CP936.cs +++ b/mcs/class/I18N/CJK/CP936.cs @@ -13,26 +13,21 @@ using I18N.Common; namespace I18N.CJK { - [Serializable] internal class CP936 : DbcsEncoding { + static DbcsConvert gb2312 = DbcsConvert.Gb2312; + // Magic number used by Windows for the Gb2312 code page. private const int GB2312_CODE_PAGE = 936; // Constructor. public CP936() : base(GB2312_CODE_PAGE) { } - - internal override DbcsConvert GetConvert () - { - return DbcsConvert.Gb2312; - } - + // Get the bytes that result from encoding a character buffer. public unsafe override int GetBytesImpl (char* chars, int charCount, byte* bytes, int byteCount) { - DbcsConvert gb2312 = GetConvert (); int charIndex = 0; int byteIndex = 0; #if NET_2_0 @@ -65,45 +60,9 @@ namespace I18N.CJK } // Get the characters that result from decoding a byte buffer. - public override int GetCharCount (byte [] bytes, int index, int count) - { - if (bytes == null) - throw new ArgumentNullException("bytes"); - if (index < 0 || index > bytes.Length) - throw new ArgumentOutOfRangeException("index", Strings.GetString("ArgRange_Array")); - if (count < 0 || index + count > bytes.Length) - throw new ArgumentOutOfRangeException("count", Strings.GetString("ArgRange_Array")); - - int lastByte = 0; - int length = 0; - while (count-- > 0) { - int b = bytes [index++]; - if (lastByte == 0) { - if (b <= 0x80 || b == 0xFF) { // ASCII - length++; - continue; - } else { - lastByte = b; - continue; - } - } - length++; - lastByte = 0; - } - -#if NET_2_0 - if (lastByte != 0) - length++; -#endif - - return length; - } - - // Get the characters that result from decoding a byte buffer. public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex) { - DbcsConvert gb2312 = GetConvert (); // A1 40 - FA FF base.GetChars(bytes, byteIndex, byteCount, chars, charIndex); int origIndex = charIndex; @@ -114,14 +73,15 @@ namespace I18N.CJK if (b <= 0x80 || b == 0xFF) { // ASCII chars[charIndex++] = (char)b; continue; + } else if (b < 0x81 || b >= 0xFF) { + continue; } else { lastByte = b; continue; } } int ord = ((lastByte - 0x81) * 191 + b - 0x40) * 2; - char c1 = (ord < 0 || ord + 1 >= gb2312.n2u.Length) ? - '\0' : (char)(gb2312.n2u[ord] + gb2312.n2u[ord + 1] * 256); + char c1 = (char)(gb2312.n2u[ord] + gb2312.n2u[ord + 1] * 256); if (c1 == 0) chars[charIndex++] = '?'; else @@ -134,7 +94,7 @@ namespace I18N.CJK // Get a decoder that handles a rolling Gb2312 state. public override Decoder GetDecoder() { - return new CP936Decoder(GetConvert ()); + return new CP936Decoder(gb2312); } // Get the mail body name for this encoding. @@ -223,7 +183,6 @@ namespace I18N.CJK } } - [Serializable] internal class ENCgb2312 : CP936 { public ENCgb2312(): base () {} diff --git a/mcs/class/I18N/CJK/CP949.cs b/mcs/class/I18N/CJK/CP949.cs index e9b32e17e8a..0633814747a 100644 --- a/mcs/class/I18N/CJK/CP949.cs +++ b/mcs/class/I18N/CJK/CP949.cs @@ -11,7 +11,6 @@ using I18N.Common; namespace I18N.CJK { - [Serializable] internal class CP949 : KoreanEncoding { // Magic number used by Windows for the UHC code page. @@ -55,7 +54,6 @@ namespace I18N.CJK */ } - [Serializable] internal class CP51949 : KoreanEncoding { // Magic number used by Windows for the euc-kr code page. @@ -100,19 +98,14 @@ namespace I18N.CJK } - [Serializable] internal class KoreanEncoding : DbcsEncoding { // Constructor. public KoreanEncoding (int codepage, bool useUHC) : base (codepage) { + convert = KSConvert.Convert; this.useUHC = useUHC; } - internal override DbcsConvert GetConvert () - { - return KSConvert.Convert; - } - bool useUHC; // Get the bytes that result from encoding a character buffer. @@ -121,7 +114,6 @@ namespace I18N.CJK { int charIndex = 0; int byteIndex = 0; - DbcsConvert convert = GetConvert (); #if NET_2_0 EncoderFallbackBuffer buffer = null; #endif @@ -155,7 +147,6 @@ namespace I18N.CJK public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex) { - DbcsConvert convert = GetConvert (); base.GetChars(bytes, byteIndex, byteCount, chars, charIndex); int origIndex = charIndex; int lastByte = 0; @@ -227,7 +218,7 @@ namespace I18N.CJK // Get a decoder that handles a rolling UHC state. public override Decoder GetDecoder() { - return new KoreanDecoder (GetConvert (), useUHC); + return new KoreanDecoder (convert, useUHC); } // Decoder that handles a rolling UHC state. @@ -312,13 +303,11 @@ namespace I18N.CJK } } - [Serializable] internal class ENCuhc : CP949 { public ENCuhc() {} } - [Serializable] internal class ENCeuc_kr: CP51949 { public ENCeuc_kr() {} diff --git a/mcs/class/I18N/CJK/CP950.cs b/mcs/class/I18N/CJK/CP950.cs index 77372285192..ec6515c7581 100644 --- a/mcs/class/I18N/CJK/CP950.cs +++ b/mcs/class/I18N/CJK/CP950.cs @@ -11,7 +11,6 @@ using I18N.Common; namespace I18N.CJK { - [Serializable] internal class CP950 : DbcsEncoding { // Magic number used by Windows for the Big5 code page. @@ -19,18 +18,13 @@ namespace I18N.CJK // Constructor. public CP950() : base(BIG5_CODE_PAGE) { + convert = Big5Convert.Convert; } - - internal override DbcsConvert GetConvert () - { - return Big5Convert.Convert; - } - + // Get the bytes that result from encoding a character buffer. public unsafe override int GetBytesImpl (char* chars, int charCount, byte* bytes, int byteCount) { - DbcsConvert convert = GetConvert (); int charIndex = 0; int byteIndex = 0; #if NET_2_0 @@ -66,7 +60,6 @@ namespace I18N.CJK public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex) { - DbcsConvert convert = GetConvert (); // A1 40 - FA FF base.GetChars(bytes, byteIndex, byteCount, chars, charIndex); int origIndex = charIndex; @@ -98,7 +91,7 @@ namespace I18N.CJK // Get a decoder that handles a rolling Big5 state. public override Decoder GetDecoder() { - return new CP950Decoder(GetConvert ()); + return new CP950Decoder(convert); } // Get the mail body name for this encoding. @@ -171,7 +164,6 @@ namespace I18N.CJK } } - [Serializable] internal class ENCbig5 : CP950 { public ENCbig5() {} diff --git a/mcs/class/I18N/CJK/ChangeLog b/mcs/class/I18N/CJK/ChangeLog index 79ed2388473..241b4c7c0b9 100644 --- a/mcs/class/I18N/CJK/ChangeLog +++ b/mcs/class/I18N/CJK/ChangeLog @@ -1,30 +1,3 @@ -2006-01-17 Atsushi Enomoto <atsushi@ximian.com> - - * DbcsEncoding.cs CP950.cs CP932.cs CP936.cs CP51932.cs CP949.cs : - Made all as really serializable. Removed references to DbcsConvert - and added GetConvert() methods instead. - -2006-01-17 Atsushi Enomoto <atsushi@ximian.com> - - * DbcsEncoding.cs ISO2022JP.cs GB18030Encoding.cs CP950.cs - CP932.cs CP936.cs CP51932.cs CP949.cs (All) : - Marked as [Serializable]. - -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * CP936.cs : - Implement GetCharCount(); it is too costy to use GetChars() - in GetCharCount(). Removed extra code in GetChars(). Check table - index range before accessing it by index. - -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * CP51932.cs : - In GetChars(), insufficient byte is not preserved. - Under 1.x profile it is just discarded. - Under 2.0 profile it is converted to \u30FB. - Fixed GetCharCount() to match GetChars(). - 2006-01-13 Atsushi Enomoto <atsushi@ximian.com> * CP932.cs : GetByteCount() returned insufficient count at PrivateUse diff --git a/mcs/class/I18N/CJK/DbcsEncoding.cs b/mcs/class/I18N/CJK/DbcsEncoding.cs index 3e73a86b816..551b70448a1 100644 --- a/mcs/class/I18N/CJK/DbcsEncoding.cs +++ b/mcs/class/I18N/CJK/DbcsEncoding.cs @@ -11,13 +11,12 @@ using I18N.Common; namespace I18N.CJK { - [Serializable] internal abstract class DbcsEncoding : MonoEncoding { + internal DbcsConvert convert; + public DbcsEncoding(int codePage) : base(codePage) {} - - internal abstract DbcsConvert GetConvert (); - + // Get the number of bytes needed to encode a character buffer. public override int GetByteCount(char[] chars, int index, int count) { @@ -102,7 +101,7 @@ namespace I18N.CJK // Get a decoder that handles a rolling state. public override Decoder GetDecoder() { - return new DbcsDecoder(GetConvert ()); + return new DbcsDecoder(convert); } // Determine if this encoding can be displayed in a Web browser. diff --git a/mcs/class/I18N/CJK/GB18030Encoding.cs b/mcs/class/I18N/CJK/GB18030Encoding.cs index ef9cfd8220f..fe5c761061b 100644 --- a/mcs/class/I18N/CJK/GB18030Encoding.cs +++ b/mcs/class/I18N/CJK/GB18030Encoding.cs @@ -11,16 +11,13 @@ using I18N.Common; namespace I18N.CJK { - [Serializable] internal class ENCgb18030 : GB18030Encoding { public ENCgb18030 (): base () {} } - [Serializable] public class CP54936 : GB18030Encoding { } - [Serializable] public class GB18030Encoding : MonoEncoding { // Constructor. diff --git a/mcs/class/I18N/CJK/ISO2022JP.cs b/mcs/class/I18N/CJK/ISO2022JP.cs index fea787bfb90..1ec1d356c21 100644 --- a/mcs/class/I18N/CJK/ISO2022JP.cs +++ b/mcs/class/I18N/CJK/ISO2022JP.cs @@ -7,7 +7,6 @@ namespace I18N.CJK // FIXME: // find out what is the difference between 50220, 50221 and 50222. - [Serializable] public class CP50220 : ISO2022JPEncoding { public CP50220 () @@ -20,7 +19,6 @@ namespace I18N.CJK } } - [Serializable] public class CP50221 : ISO2022JPEncoding { public CP50221 () @@ -33,7 +31,6 @@ namespace I18N.CJK } } - [Serializable] public class CP50222 : ISO2022JPEncoding { public CP50222 () @@ -46,7 +43,6 @@ namespace I18N.CJK } } - [Serializable] public class ISO2022JPEncoding : MonoEncoding { static JISConvert convert = JISConvert.Convert; @@ -529,7 +525,6 @@ namespace I18N.CJK #endif } - [Serializable] public class ENCiso_2022_jp : CP50220 { public ENCiso_2022_jp () : base() {} diff --git a/mcs/class/I18N/CJK/Test/ChangeLog b/mcs/class/I18N/CJK/Test/ChangeLog index 30c7d884e5a..a522f1e642d 100755 --- a/mcs/class/I18N/CJK/Test/ChangeLog +++ b/mcs/class/I18N/CJK/Test/ChangeLog @@ -1,11 +1,3 @@ -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * I18N.CJK.Test.cs : added test for bug #77238. - -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * I18N.CJK.Test.cs : added test for bug #77223, #77224 and #77222. - 2005-12-06 Atsushi Enomoto <atsushi@ximian.com> * I18N.CJK.Test.cs : w00t, Now all test are working, including diff --git a/mcs/class/I18N/CJK/Test/I18N.CJK.Test.cs b/mcs/class/I18N/CJK/Test/I18N.CJK.Test.cs index 3c5fdef656e..18cb0e2f942 100755 --- a/mcs/class/I18N/CJK/Test/I18N.CJK.Test.cs +++ b/mcs/class/I18N/CJK/Test/I18N.CJK.Test.cs @@ -148,7 +148,7 @@ namespace MonoTests.I18N.CJK AssertDecode ("Test/texts/japanese-utf8.txt", "Test/texts/japanese-51932.txt", 51932); } - // ISO-2022-JP + // ISI-2022-JP [Test] public void CP50220_Encode () @@ -192,50 +192,6 @@ namespace MonoTests.I18N.CJK AssertDecode ("Test/texts/japanese-utf8.txt", "Test/texts/japanese-50222.txt", 50222); } - [Test] - public void Bug77723 () - { - Encoding e = Encoding.GetEncoding (51932); - for (int i = 0; i < 0x10000; i++) - e.GetBytes (new char [] { (char)i }); - } - - [Test] - public void Bug77224 () - { - Encoding e = Encoding.GetEncoding (932); - for (int i = 0; i < 0x10000; i++) - e.GetBytes (new char [] {(char) i}); - } - - [Test] - public void Bug77222 () - { - Encoding e = Encoding.GetEncoding (51932); - byte [] bytes = new byte [2]; - for (int i0 = 0; i0 < 0x100; i0++) { - bytes [0] = (byte) i0; - for (int i1 = 0; i1 < 0x100; i1++) { - bytes [1] = (byte) i1; - e.GetChars (bytes); - } - } - } - - [Test] - public void Bug77238 () - { - Encoding e = Encoding.GetEncoding(936); - byte [] bytes = new byte [2]; - for (int i0 = 0; i0 < 0x100; i0++) { - bytes [0] = (byte) i0; - for (int i1 = 0; i1 < 0x100; i1++) { - bytes [1] = (byte) i1; - e.GetChars (bytes); - } - } - } - #endregion #region Korean diff --git a/mcs/class/I18N/Common/ByteEncoding.cs b/mcs/class/I18N/Common/ByteEncoding.cs index 52fe6a9bf4e..a6ff5927fdf 100644 --- a/mcs/class/I18N/Common/ByteEncoding.cs +++ b/mcs/class/I18N/Common/ByteEncoding.cs @@ -34,7 +34,6 @@ using System.Text; // subclasses providing implementations of the "ToBytes" methods to perform // the char->byte conversion. -[Serializable] public abstract class ByteEncoding : MonoEncoding { // Internal state. diff --git a/mcs/class/I18N/Common/ChangeLog b/mcs/class/I18N/Common/ChangeLog index 3f5f4f37101..a54e62dde7d 100644 --- a/mcs/class/I18N/Common/ChangeLog +++ b/mcs/class/I18N/Common/ChangeLog @@ -1,8 +1,3 @@ -2006-01-17 Atsushi Enomoto <atsushi@ximian.com> - - * MonoEncoding.cs, ByteEncoding.cs : - Marked as [Serializable]. - 2005-12-01 Atsushi Enomoto <atsushi@ximian.com> * MonoEncoding.cs : new file, which is going to be used as the diff --git a/mcs/class/I18N/Common/MonoEncoding.cs b/mcs/class/I18N/Common/MonoEncoding.cs index 85e709f2f88..e0d8e1345f1 100644 --- a/mcs/class/I18N/Common/MonoEncoding.cs +++ b/mcs/class/I18N/Common/MonoEncoding.cs @@ -12,7 +12,7 @@ using System.Text; namespace I18N.Common { - [Serializable] + public abstract class MonoEncoding : Encoding { public MonoEncoding (int codePage) diff --git a/mcs/class/I18N/MidEast/CP1254.cs b/mcs/class/I18N/MidEast/CP1254.cs index 88746320a1d..470377e7ab8 100644 --- a/mcs/class/I18N/MidEast/CP1254.cs +++ b/mcs/class/I18N/MidEast/CP1254.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1254 : ByteEncoding { public CP1254() @@ -404,7 +403,6 @@ public class CP1254 : ByteEncoding }; // class CP1254 -[Serializable] public class ENCwindows_1254 : CP1254 { public ENCwindows_1254() : base() {} diff --git a/mcs/class/I18N/MidEast/CP1255.cs b/mcs/class/I18N/MidEast/CP1255.cs index d226a3913a1..bd4b84ae4c8 100644 --- a/mcs/class/I18N/MidEast/CP1255.cs +++ b/mcs/class/I18N/MidEast/CP1255.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1255 : ByteEncoding { public CP1255() @@ -398,7 +397,6 @@ public class CP1255 : ByteEncoding }; // class CP1255 -[Serializable] public class ENCwindows_1255 : CP1255 { public ENCwindows_1255() : base() {} diff --git a/mcs/class/I18N/MidEast/CP1256.cs b/mcs/class/I18N/MidEast/CP1256.cs index 21fef8e26a2..554410f8825 100644 --- a/mcs/class/I18N/MidEast/CP1256.cs +++ b/mcs/class/I18N/MidEast/CP1256.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1256 : ByteEncoding { public CP1256() @@ -776,7 +775,6 @@ public class CP1256 : ByteEncoding }; // class CP1256 -[Serializable] public class ENCwindows_1256 : CP1256 { public ENCwindows_1256() : base() {} diff --git a/mcs/class/I18N/MidEast/CP28596.cs b/mcs/class/I18N/MidEast/CP28596.cs index fc7710141b7..26f1154354f 100644 --- a/mcs/class/I18N/MidEast/CP28596.cs +++ b/mcs/class/I18N/MidEast/CP28596.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP28596 : ByteEncoding { public CP28596() @@ -550,7 +549,6 @@ public class CP28596 : ByteEncoding }; // class CP28596 -[Serializable] public class ENCiso_8859_6 : CP28596 { public ENCiso_8859_6() : base() {} diff --git a/mcs/class/I18N/MidEast/CP28598.cs b/mcs/class/I18N/MidEast/CP28598.cs index 88ec90e74f7..67f32e90ec8 100644 --- a/mcs/class/I18N/MidEast/CP28598.cs +++ b/mcs/class/I18N/MidEast/CP28598.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP28598 : ByteEncoding { public CP28598() @@ -266,7 +265,6 @@ public class CP28598 : ByteEncoding }; // class CP28598 -[Serializable] public class ENCiso_8859_8 : CP28598 { public ENCiso_8859_8() : base() {} diff --git a/mcs/class/I18N/MidEast/CP28599.cs b/mcs/class/I18N/MidEast/CP28599.cs index 6cb519d19c1..2b00d88eab9 100644 --- a/mcs/class/I18N/MidEast/CP28599.cs +++ b/mcs/class/I18N/MidEast/CP28599.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP28599 : ByteEncoding { public CP28599() @@ -246,7 +245,6 @@ public class CP28599 : ByteEncoding }; // class CP28599 -[Serializable] public class ENCiso_8859_9 : CP28599 { public ENCiso_8859_9() : base() {} diff --git a/mcs/class/I18N/MidEast/CP38598.cs b/mcs/class/I18N/MidEast/CP38598.cs index 416e0444df3..14492f5efbb 100644 --- a/mcs/class/I18N/MidEast/CP38598.cs +++ b/mcs/class/I18N/MidEast/CP38598.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP38598 : ByteEncoding { public CP38598() @@ -266,7 +265,6 @@ public class CP38598 : ByteEncoding }; // class CP38598 -[Serializable] public class ENCwindows_38598 : CP38598 { public ENCwindows_38598() : base() {} diff --git a/mcs/class/I18N/MidEast/ChangeLog b/mcs/class/I18N/MidEast/ChangeLog index 5c7c405616f..a6bbcec510a 100644 --- a/mcs/class/I18N/MidEast/ChangeLog +++ b/mcs/class/I18N/MidEast/ChangeLog @@ -1,9 +1,3 @@ -2006-01-17 Atsushi Enomoto <atsushi@ximian.com> - - * CP1254.cs CP1255.cs CP28596.cs CP1256.cs CP28598.cs CP38598.cs - CP28599.cs (All) : - Marked as [Serializable]. - 2005-12-01 Atsushi Enomoto <atsushi@ximian.com> (this is the first ChangeLog entry.) diff --git a/mcs/class/I18N/Other/CP1251.cs b/mcs/class/I18N/Other/CP1251.cs index f71f5d3d702..96eb3493d31 100644 --- a/mcs/class/I18N/Other/CP1251.cs +++ b/mcs/class/I18N/Other/CP1251.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1251 : ByteEncoding { public CP1251() @@ -408,7 +407,6 @@ public class CP1251 : ByteEncoding }; // class CP1251 -[Serializable] public class ENCwindows_1251 : CP1251 { public ENCwindows_1251() : base() {} diff --git a/mcs/class/I18N/Other/CP1257.cs b/mcs/class/I18N/Other/CP1257.cs index d2f351d8cfb..546da866cd6 100644 --- a/mcs/class/I18N/Other/CP1257.cs +++ b/mcs/class/I18N/Other/CP1257.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1257 : ByteEncoding { public CP1257() @@ -400,7 +399,6 @@ public class CP1257 : ByteEncoding }; // class CP1257 -[Serializable] public class ENCwindows_1257 : CP1257 { public ENCwindows_1257() : base() {} diff --git a/mcs/class/I18N/Other/CP1258.cs b/mcs/class/I18N/Other/CP1258.cs index 79b5fb3b953..f0adfb65bf9 100644 --- a/mcs/class/I18N/Other/CP1258.cs +++ b/mcs/class/I18N/Other/CP1258.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1258 : ByteEncoding { public CP1258() @@ -404,7 +403,6 @@ public class CP1258 : ByteEncoding }; // class CP1258 -[Serializable] public class ENCwindows_1258 : CP1258 { public ENCwindows_1258() : base() {} diff --git a/mcs/class/I18N/Other/CP20866.cs b/mcs/class/I18N/Other/CP20866.cs index 970e4365a98..68b54afadb5 100644 --- a/mcs/class/I18N/Other/CP20866.cs +++ b/mcs/class/I18N/Other/CP20866.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20866 : ByteEncoding { public CP20866() @@ -434,7 +433,6 @@ public class CP20866 : ByteEncoding }; // class CP20866 -[Serializable] public class ENCkoi8_r : CP20866 { public ENCkoi8_r() : base() {} diff --git a/mcs/class/I18N/Other/CP21866.cs b/mcs/class/I18N/Other/CP21866.cs index 8ea567cb310..3741eefe039 100644 --- a/mcs/class/I18N/Other/CP21866.cs +++ b/mcs/class/I18N/Other/CP21866.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP21866 : ByteEncoding { public CP21866() @@ -434,7 +433,6 @@ public class CP21866 : ByteEncoding }; // class CP21866 -[Serializable] public class ENCkoi8_u : CP21866 { public ENCkoi8_u() : base() {} diff --git a/mcs/class/I18N/Other/CP28594.cs b/mcs/class/I18N/Other/CP28594.cs index a5340f723f4..e17572cfde9 100644 --- a/mcs/class/I18N/Other/CP28594.cs +++ b/mcs/class/I18N/Other/CP28594.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP28594 : ByteEncoding { public CP28594() @@ -338,7 +337,6 @@ public class CP28594 : ByteEncoding }; // class CP28594 -[Serializable] public class ENCiso_8859_4 : CP28594 { public ENCiso_8859_4() : base() {} diff --git a/mcs/class/I18N/Other/CP28595.cs b/mcs/class/I18N/Other/CP28595.cs index b47bd5f8e47..2fc51ffdf65 100644 --- a/mcs/class/I18N/Other/CP28595.cs +++ b/mcs/class/I18N/Other/CP28595.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP28595 : ByteEncoding { public CP28595() @@ -350,7 +349,6 @@ public class CP28595 : ByteEncoding }; // class CP28595 -[Serializable] public class ENCiso_8859_5 : CP28595 { public ENCiso_8859_5() : base() {} diff --git a/mcs/class/I18N/Other/CP57002.cs b/mcs/class/I18N/Other/CP57002.cs index a4e8830685d..302c4cd780e 100644 --- a/mcs/class/I18N/Other/CP57002.cs +++ b/mcs/class/I18N/Other/CP57002.cs @@ -39,7 +39,6 @@ using I18N.Common; // are a shifted version of the Unicode character set, starting // at a fixed offset. -[Serializable] public abstract class ISCIIEncoding : MonoEncoding { // Internal state. @@ -360,35 +359,30 @@ public abstract class ISCIIEncoding : MonoEncoding // Define the ISCII code pages as subclasses of "ISCIIEncoding". -[Serializable] public class CP57002 : ISCIIEncoding { public CP57002() : base(57002, 0x0900, "ISCII Devanagari", "x-iscii-de") {} }; // class CP57002 -[Serializable] public class CP57003 : ISCIIEncoding { public CP57003() : base(57003, 0x0980, "ISCII Bengali", "x-iscii-be") {} }; // class CP57003 -[Serializable] public class CP57004 : ISCIIEncoding { public CP57004() : base(57004, 0x0B80, "ISCII Tamil", "x-iscii-ta") {} }; // class CP57004 -[Serializable] public class CP57005 : ISCIIEncoding { public CP57005() : base(57005, 0x0B80, "ISCII Telugu", "x-iscii-te") {} }; // class CP57005 -[Serializable] public class CP57006 : ISCIIEncoding { // Note: Unicode has a "Sinhala" page, but no "Assamese" page. @@ -398,35 +392,30 @@ public class CP57006 : ISCIIEncoding }; // class CP57006 -[Serializable] public class CP57007 : ISCIIEncoding { public CP57007() : base(57007, 0x0B00, "ISCII Oriya", "x-iscii-or") {} }; // class CP57007 -[Serializable] public class CP57008 : ISCIIEncoding { public CP57008() : base(57008, 0x0C80, "ISCII Kannada", "x-iscii-ka") {} }; // class CP57008 -[Serializable] public class CP57009 : ISCIIEncoding { public CP57009() : base(57009, 0x0D00, "ISCII Malayalam", "x-iscii-ma") {} }; // class CP57009 -[Serializable] public class CP57010 : ISCIIEncoding { public CP57010() : base(57010, 0x0A80, "ISCII Gujarati", "x-iscii-gu") {} }; // class CP57010 -[Serializable] public class CP57011 : ISCIIEncoding { // Note: Unicode has a "Gurmukhi" page, but no "Punjabi" page. @@ -440,70 +429,60 @@ public class CP57011 : ISCIIEncoding // Define the web encoding name aliases for the above code pages. -[Serializable] public class ENCx_iscii_de : CP57002 { public ENCx_iscii_de() : base() {} }; // class ENCx_iscii_de -[Serializable] public class ENCx_iscii_be : CP57003 { public ENCx_iscii_be() : base() {} }; // class ENCx_iscii_be -[Serializable] public class ENCx_iscii_ta : CP57004 { public ENCx_iscii_ta() : base() {} }; // class ENCx_iscii_ta -[Serializable] public class ENCx_iscii_te : CP57005 { public ENCx_iscii_te() : base() {} }; // class ENCx_iscii_te -[Serializable] public class ENCx_iscii_as : CP57006 { public ENCx_iscii_as() : base() {} }; // class ENCx_iscii_as -[Serializable] public class ENCx_iscii_or : CP57007 { public ENCx_iscii_or() : base() {} }; // class ENCx_iscii_or -[Serializable] public class ENCx_iscii_ka : CP57008 { public ENCx_iscii_ka() : base() {} }; // class ENCx_iscii_ka -[Serializable] public class ENCx_iscii_ma : CP57009 { public ENCx_iscii_ma() : base() {} }; // class ENCx_iscii_ma -[Serializable] public class ENCx_iscii_gu : CP57010 { public ENCx_iscii_gu() : base() {} }; // class ENCx_iscii_gu -[Serializable] public class ENCx_iscii_pa : CP57011 { public ENCx_iscii_pa() : base() {} diff --git a/mcs/class/I18N/Other/CP874.cs b/mcs/class/I18N/Other/CP874.cs index 24d82d4b940..410f9e89753 100644 --- a/mcs/class/I18N/Other/CP874.cs +++ b/mcs/class/I18N/Other/CP874.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP874 : ByteEncoding { public CP874() @@ -542,7 +541,6 @@ public class CP874 : ByteEncoding }; // class CP874 -[Serializable] public class ENCwindows_874 : CP874 { public ENCwindows_874() : base() {} diff --git a/mcs/class/I18N/Other/ChangeLog b/mcs/class/I18N/Other/ChangeLog index 669caa523d9..1139ccdc606 100644 --- a/mcs/class/I18N/Other/ChangeLog +++ b/mcs/class/I18N/Other/ChangeLog @@ -1,9 +1,3 @@ -2006-01-17 Atsushi Enomoto <atsushi@ximian.com> - - * CP1251.cs CP28594.cs CP28595.cs CP1257.cs CP1258.cs CP57002.cs - CP874.cs CP20866.cs CP21866.cs (All) : - Marked as [Serializable]. - 2005-12-01 Atsushi Enomoto <atsushi@ximian.com> * CP57002.cs : Now its base class is MonoEncoding, and implemented diff --git a/mcs/class/I18N/Rare/CP1026.cs b/mcs/class/I18N/Rare/CP1026.cs index 997411d6600..a21e9a67d60 100644 --- a/mcs/class/I18N/Rare/CP1026.cs +++ b/mcs/class/I18N/Rare/CP1026.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1026 : ByteEncoding { public CP1026() @@ -902,7 +901,6 @@ public class CP1026 : ByteEncoding }; // class CP1026 -[Serializable] public class ENCibm1026 : CP1026 { public ENCibm1026() : base() {} diff --git a/mcs/class/I18N/Rare/CP1047.cs b/mcs/class/I18N/Rare/CP1047.cs index 9f6565b6a90..3d9e2f910c5 100644 --- a/mcs/class/I18N/Rare/CP1047.cs +++ b/mcs/class/I18N/Rare/CP1047.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1047 : ByteEncoding { public CP1047() @@ -902,7 +901,6 @@ public class CP1047 : ByteEncoding }; // class CP1047 -[Serializable] public class ENCibm1047 : CP1047 { public ENCibm1047() : base() {} diff --git a/mcs/class/I18N/Rare/CP1140.cs b/mcs/class/I18N/Rare/CP1140.cs index eac9ae01a72..f6d1c68f989 100644 --- a/mcs/class/I18N/Rare/CP1140.cs +++ b/mcs/class/I18N/Rare/CP1140.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1140 : ByteEncoding { public CP1140() @@ -902,7 +901,6 @@ public class CP1140 : ByteEncoding }; // class CP1140 -[Serializable] public class ENCibm01140 : CP1140 { public ENCibm01140() : base() {} diff --git a/mcs/class/I18N/Rare/CP1141.cs b/mcs/class/I18N/Rare/CP1141.cs index 40ad50b3e61..da047cc88c5 100644 --- a/mcs/class/I18N/Rare/CP1141.cs +++ b/mcs/class/I18N/Rare/CP1141.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1141 : ByteEncoding { public CP1141() @@ -902,7 +901,6 @@ public class CP1141 : ByteEncoding }; // class CP1141 -[Serializable] public class ENCibm01141 : CP1141 { public ENCibm01141() : base() {} diff --git a/mcs/class/I18N/Rare/CP1142.cs b/mcs/class/I18N/Rare/CP1142.cs index 71291152d5a..e8b26cde671 100644 --- a/mcs/class/I18N/Rare/CP1142.cs +++ b/mcs/class/I18N/Rare/CP1142.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1142 : ByteEncoding { public CP1142() @@ -902,7 +901,6 @@ public class CP1142 : ByteEncoding }; // class CP1142 -[Serializable] public class ENCibm01142 : CP1142 { public ENCibm01142() : base() {} diff --git a/mcs/class/I18N/Rare/CP1143.cs b/mcs/class/I18N/Rare/CP1143.cs index 19f6b20c4c2..1c39c0ddcd4 100644 --- a/mcs/class/I18N/Rare/CP1143.cs +++ b/mcs/class/I18N/Rare/CP1143.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1143 : ByteEncoding { public CP1143() @@ -902,7 +901,6 @@ public class CP1143 : ByteEncoding }; // class CP1143 -[Serializable] public class ENCibm01143 : CP1143 { public ENCibm01143() : base() {} diff --git a/mcs/class/I18N/Rare/CP1144.cs b/mcs/class/I18N/Rare/CP1144.cs index d13639c4533..19bb20736ec 100644 --- a/mcs/class/I18N/Rare/CP1144.cs +++ b/mcs/class/I18N/Rare/CP1144.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1144 : ByteEncoding { public CP1144() @@ -902,7 +901,6 @@ public class CP1144 : ByteEncoding }; // class CP1144 -[Serializable] public class ENCibm1144 : CP1144 { public ENCibm1144() : base() {} diff --git a/mcs/class/I18N/Rare/CP1145.cs b/mcs/class/I18N/Rare/CP1145.cs index e73777b163a..80834efad21 100644 --- a/mcs/class/I18N/Rare/CP1145.cs +++ b/mcs/class/I18N/Rare/CP1145.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1145 : ByteEncoding { public CP1145() @@ -902,7 +901,6 @@ public class CP1145 : ByteEncoding }; // class CP1145 -[Serializable] public class ENCibm1145 : CP1145 { public ENCibm1145() : base() {} diff --git a/mcs/class/I18N/Rare/CP1146.cs b/mcs/class/I18N/Rare/CP1146.cs index 5ba6e41cbd0..c3819d5fba0 100644 --- a/mcs/class/I18N/Rare/CP1146.cs +++ b/mcs/class/I18N/Rare/CP1146.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1146 : ByteEncoding { public CP1146() @@ -902,7 +901,6 @@ public class CP1146 : ByteEncoding }; // class CP1146 -[Serializable] public class ENCibm1146 : CP1146 { public ENCibm1146() : base() {} diff --git a/mcs/class/I18N/Rare/CP1147.cs b/mcs/class/I18N/Rare/CP1147.cs index 84bf298732a..cf964f85f04 100644 --- a/mcs/class/I18N/Rare/CP1147.cs +++ b/mcs/class/I18N/Rare/CP1147.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1147 : ByteEncoding { public CP1147() @@ -902,7 +901,6 @@ public class CP1147 : ByteEncoding }; // class CP1147 -[Serializable] public class ENCibm1147 : CP1147 { public ENCibm1147() : base() {} diff --git a/mcs/class/I18N/Rare/CP1148.cs b/mcs/class/I18N/Rare/CP1148.cs index bdcbbb39e58..973b2e600f3 100644 --- a/mcs/class/I18N/Rare/CP1148.cs +++ b/mcs/class/I18N/Rare/CP1148.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1148 : ByteEncoding { public CP1148() @@ -902,7 +901,6 @@ public class CP1148 : ByteEncoding }; // class CP1148 -[Serializable] public class ENCibm1148 : CP1148 { public ENCibm1148() : base() {} diff --git a/mcs/class/I18N/Rare/CP1149.cs b/mcs/class/I18N/Rare/CP1149.cs index e29d088c617..efcf6d17f2d 100644 --- a/mcs/class/I18N/Rare/CP1149.cs +++ b/mcs/class/I18N/Rare/CP1149.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1149 : ByteEncoding { public CP1149() @@ -902,7 +901,6 @@ public class CP1149 : ByteEncoding }; // class CP1149 -[Serializable] public class ENCibm1149 : CP1149 { public ENCibm1149() : base() {} diff --git a/mcs/class/I18N/Rare/CP20273.cs b/mcs/class/I18N/Rare/CP20273.cs index 716ba7dd86e..a385aa1e201 100644 --- a/mcs/class/I18N/Rare/CP20273.cs +++ b/mcs/class/I18N/Rare/CP20273.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20273 : ByteEncoding { public CP20273() @@ -904,7 +903,6 @@ public class CP20273 : ByteEncoding }; // class CP20273 -[Serializable] public class ENCibm273 : CP20273 { public ENCibm273() : base() {} diff --git a/mcs/class/I18N/Rare/CP20277.cs b/mcs/class/I18N/Rare/CP20277.cs index 67f54633417..53de9290fd0 100644 --- a/mcs/class/I18N/Rare/CP20277.cs +++ b/mcs/class/I18N/Rare/CP20277.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20277 : ByteEncoding { public CP20277() @@ -904,7 +903,6 @@ public class CP20277 : ByteEncoding }; // class CP20277 -[Serializable] public class ENCibm277 : CP20277 { public ENCibm277() : base() {} diff --git a/mcs/class/I18N/Rare/CP20278.cs b/mcs/class/I18N/Rare/CP20278.cs index 7ed1a6e2a2d..034bc26d998 100644 --- a/mcs/class/I18N/Rare/CP20278.cs +++ b/mcs/class/I18N/Rare/CP20278.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20278 : ByteEncoding { public CP20278() @@ -904,7 +903,6 @@ public class CP20278 : ByteEncoding }; // class CP20278 -[Serializable] public class ENCibm278 : CP20278 { public ENCibm278() : base() {} diff --git a/mcs/class/I18N/Rare/CP20280.cs b/mcs/class/I18N/Rare/CP20280.cs index d7fc172d80b..1aa53226808 100644 --- a/mcs/class/I18N/Rare/CP20280.cs +++ b/mcs/class/I18N/Rare/CP20280.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20280 : ByteEncoding { public CP20280() @@ -904,7 +903,6 @@ public class CP20280 : ByteEncoding }; // class CP20280 -[Serializable] public class ENCibm280 : CP20280 { public ENCibm280() : base() {} diff --git a/mcs/class/I18N/Rare/CP20284.cs b/mcs/class/I18N/Rare/CP20284.cs index 7a93a9ec7a8..5f5baa2cdf5 100644 --- a/mcs/class/I18N/Rare/CP20284.cs +++ b/mcs/class/I18N/Rare/CP20284.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20284 : ByteEncoding { public CP20284() @@ -904,7 +903,6 @@ public class CP20284 : ByteEncoding }; // class CP20284 -[Serializable] public class ENCibm284 : CP20284 { public ENCibm284() : base() {} diff --git a/mcs/class/I18N/Rare/CP20285.cs b/mcs/class/I18N/Rare/CP20285.cs index 6c8cbfff1ac..9a66315af2f 100644 --- a/mcs/class/I18N/Rare/CP20285.cs +++ b/mcs/class/I18N/Rare/CP20285.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20285 : ByteEncoding { public CP20285() @@ -904,7 +903,6 @@ public class CP20285 : ByteEncoding }; // class CP20285 -[Serializable] public class ENCibm285 : CP20285 { public ENCibm285() : base() {} diff --git a/mcs/class/I18N/Rare/CP20290.cs b/mcs/class/I18N/Rare/CP20290.cs index e3a603ad200..9e90af46ce4 100644 --- a/mcs/class/I18N/Rare/CP20290.cs +++ b/mcs/class/I18N/Rare/CP20290.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20290 : ByteEncoding { public CP20290() @@ -872,7 +871,6 @@ public class CP20290 : ByteEncoding }; // class CP20290 -[Serializable] public class ENCibm290 : CP20290 { public ENCibm290() : base() {} diff --git a/mcs/class/I18N/Rare/CP20297.cs b/mcs/class/I18N/Rare/CP20297.cs index cbd04191cfb..72d5ca2aa13 100644 --- a/mcs/class/I18N/Rare/CP20297.cs +++ b/mcs/class/I18N/Rare/CP20297.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20297 : ByteEncoding { public CP20297() @@ -904,7 +903,6 @@ public class CP20297 : ByteEncoding }; // class CP20297 -[Serializable] public class ENCibm297 : CP20297 { public ENCibm297() : base() {} diff --git a/mcs/class/I18N/Rare/CP20420.cs b/mcs/class/I18N/Rare/CP20420.cs index 11bb818b19b..5f12d0f5d9a 100644 --- a/mcs/class/I18N/Rare/CP20420.cs +++ b/mcs/class/I18N/Rare/CP20420.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20420 : ByteEncoding { public CP20420() @@ -1080,7 +1079,6 @@ public class CP20420 : ByteEncoding }; // class CP20420 -[Serializable] public class ENCibm420 : CP20420 { public ENCibm420() : base() {} diff --git a/mcs/class/I18N/Rare/CP20424.cs b/mcs/class/I18N/Rare/CP20424.cs index 109127ef65a..53b43af9d15 100644 --- a/mcs/class/I18N/Rare/CP20424.cs +++ b/mcs/class/I18N/Rare/CP20424.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20424 : ByteEncoding { public CP20424() @@ -836,7 +835,6 @@ public class CP20424 : ByteEncoding }; // class CP20424 -[Serializable] public class ENCibm424 : CP20424 { public ENCibm424() : base() {} diff --git a/mcs/class/I18N/Rare/CP20871.cs b/mcs/class/I18N/Rare/CP20871.cs index 1b6752d0121..ace2be237d9 100644 --- a/mcs/class/I18N/Rare/CP20871.cs +++ b/mcs/class/I18N/Rare/CP20871.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP20871 : ByteEncoding { public CP20871() @@ -904,7 +903,6 @@ public class CP20871 : ByteEncoding }; // class CP20871 -[Serializable] public class ENCibm871 : CP20871 { public ENCibm871() : base() {} diff --git a/mcs/class/I18N/Rare/CP21025.cs b/mcs/class/I18N/Rare/CP21025.cs index 709a12a77ff..c57a7a4a99d 100644 --- a/mcs/class/I18N/Rare/CP21025.cs +++ b/mcs/class/I18N/Rare/CP21025.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP21025 : ByteEncoding { public CP21025() @@ -924,7 +923,6 @@ public class CP21025 : ByteEncoding }; // class CP21025 -[Serializable] public class ENCibm1025 : CP21025 { public ENCibm1025() : base() {} diff --git a/mcs/class/I18N/Rare/CP37.cs b/mcs/class/I18N/Rare/CP37.cs index 8f1556a355b..af32f451167 100644 --- a/mcs/class/I18N/Rare/CP37.cs +++ b/mcs/class/I18N/Rare/CP37.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP37 : ByteEncoding { public CP37() @@ -904,7 +903,6 @@ public class CP37 : ByteEncoding }; // class CP37 -[Serializable] public class ENCibm037 : CP37 { public ENCibm037() : base() {} diff --git a/mcs/class/I18N/Rare/CP500.cs b/mcs/class/I18N/Rare/CP500.cs index 0bc772d8203..18476f2cf25 100644 --- a/mcs/class/I18N/Rare/CP500.cs +++ b/mcs/class/I18N/Rare/CP500.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP500 : ByteEncoding { public CP500() @@ -904,7 +903,6 @@ public class CP500 : ByteEncoding }; // class CP500 -[Serializable] public class ENCibm500 : CP500 { public ENCibm500() : base() {} diff --git a/mcs/class/I18N/Rare/CP708.cs b/mcs/class/I18N/Rare/CP708.cs index 5fdbc98488e..d742187d9f1 100644 --- a/mcs/class/I18N/Rare/CP708.cs +++ b/mcs/class/I18N/Rare/CP708.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP708 : ByteEncoding { public CP708() @@ -550,7 +549,6 @@ public class CP708 : ByteEncoding }; // class CP708 -[Serializable] public class ENCasmo_708 : CP708 { public ENCasmo_708() : base() {} diff --git a/mcs/class/I18N/Rare/CP852.cs b/mcs/class/I18N/Rare/CP852.cs index bbbebd84c56..e91ed55cad3 100644 --- a/mcs/class/I18N/Rare/CP852.cs +++ b/mcs/class/I18N/Rare/CP852.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP852 : ByteEncoding { public CP852() @@ -684,7 +683,6 @@ public class CP852 : ByteEncoding }; // class CP852 -[Serializable] public class ENCibm852 : CP852 { public ENCibm852() : base() {} diff --git a/mcs/class/I18N/Rare/CP855.cs b/mcs/class/I18N/Rare/CP855.cs index 86d998ce9d8..3cd826dabbd 100644 --- a/mcs/class/I18N/Rare/CP855.cs +++ b/mcs/class/I18N/Rare/CP855.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP855 : ByteEncoding { public CP855() @@ -684,7 +683,6 @@ public class CP855 : ByteEncoding }; // class CP855 -[Serializable] public class ENCibm855 : CP855 { public ENCibm855() : base() {} diff --git a/mcs/class/I18N/Rare/CP857.cs b/mcs/class/I18N/Rare/CP857.cs index 9b55311dc7c..4f132715bf9 100644 --- a/mcs/class/I18N/Rare/CP857.cs +++ b/mcs/class/I18N/Rare/CP857.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP857 : ByteEncoding { public CP857() @@ -678,7 +677,6 @@ public class CP857 : ByteEncoding }; // class CP857 -[Serializable] public class ENCibm857 : CP857 { public ENCibm857() : base() {} diff --git a/mcs/class/I18N/Rare/CP858.cs b/mcs/class/I18N/Rare/CP858.cs index 6d1ad171706..172b014622c 100644 --- a/mcs/class/I18N/Rare/CP858.cs +++ b/mcs/class/I18N/Rare/CP858.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP858 : ByteEncoding { public CP858() @@ -684,7 +683,6 @@ public class CP858 : ByteEncoding }; // class CP858 -[Serializable] public class ENCibm00858 : CP858 { public ENCibm00858() : base() {} diff --git a/mcs/class/I18N/Rare/CP862.cs b/mcs/class/I18N/Rare/CP862.cs index d774dd67445..736766d4d4a 100644 --- a/mcs/class/I18N/Rare/CP862.cs +++ b/mcs/class/I18N/Rare/CP862.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP862 : ByteEncoding { public CP862() @@ -690,7 +689,6 @@ public class CP862 : ByteEncoding }; // class CP862 -[Serializable] public class ENCibm862 : CP862 { public ENCibm862() : base() {} diff --git a/mcs/class/I18N/Rare/CP864.cs b/mcs/class/I18N/Rare/CP864.cs index f066b6cb4fd..a60dae1deec 100644 --- a/mcs/class/I18N/Rare/CP864.cs +++ b/mcs/class/I18N/Rare/CP864.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP864 : ByteEncoding { public CP864() @@ -866,7 +865,6 @@ public class CP864 : ByteEncoding }; // class CP864 -[Serializable] public class ENCibm864 : CP864 { public ENCibm864() : base() {} diff --git a/mcs/class/I18N/Rare/CP866.cs b/mcs/class/I18N/Rare/CP866.cs index 073f2aa1375..da3b95df7bb 100644 --- a/mcs/class/I18N/Rare/CP866.cs +++ b/mcs/class/I18N/Rare/CP866.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP866 : ByteEncoding { public CP866() @@ -694,7 +693,6 @@ public class CP866 : ByteEncoding }; // class CP866 -[Serializable] public class ENCibm866 : CP866 { public ENCibm866() : base() {} diff --git a/mcs/class/I18N/Rare/CP869.cs b/mcs/class/I18N/Rare/CP869.cs index aca0868480b..160b03d2638 100644 --- a/mcs/class/I18N/Rare/CP869.cs +++ b/mcs/class/I18N/Rare/CP869.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP869 : ByteEncoding { public CP869() @@ -686,7 +685,6 @@ public class CP869 : ByteEncoding }; // class CP869 -[Serializable] public class ENCibm869 : CP869 { public ENCibm869() : base() {} diff --git a/mcs/class/I18N/Rare/CP870.cs b/mcs/class/I18N/Rare/CP870.cs index 290435390be..0abfde74063 100644 --- a/mcs/class/I18N/Rare/CP870.cs +++ b/mcs/class/I18N/Rare/CP870.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP870 : ByteEncoding { public CP870() @@ -902,7 +901,6 @@ public class CP870 : ByteEncoding }; // class CP870 -[Serializable] public class ENCibm870 : CP870 { public ENCibm870() : base() {} diff --git a/mcs/class/I18N/Rare/CP875.cs b/mcs/class/I18N/Rare/CP875.cs index f5177058060..9117cee1cf3 100644 --- a/mcs/class/I18N/Rare/CP875.cs +++ b/mcs/class/I18N/Rare/CP875.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP875 : ByteEncoding { public CP875() @@ -920,7 +919,6 @@ public class CP875 : ByteEncoding }; // class CP875 -[Serializable] public class ENCibm875 : CP875 { public ENCibm875() : base() {} diff --git a/mcs/class/I18N/Rare/ChangeLog b/mcs/class/I18N/Rare/ChangeLog index 1b8c1c6183c..2e1e5cd6726 100644 --- a/mcs/class/I18N/Rare/ChangeLog +++ b/mcs/class/I18N/Rare/ChangeLog @@ -1,14 +1,3 @@ -2006-01-17 Atsushi Enomoto <atsushi@ximian.com> - - * CP1145.cs CP1149.cs CP20420.cs CP20424.cs CP708.cs CP855.cs - CP875.cs CP1140.cs CP869.cs CP1144.cs CP1047.cs CP1148.cs - CP21025.cs CP870.cs CP20285.cs CP864.cs CP858.cs CP1143.cs - CP1026.cs CP37.cs CP1147.cs CP500.cs CP20280.cs CP20290.cs - CP20284.cs CP20278.cs CP857.cs CP1142.cs CP1146.cs CP20273.cs - CP852.cs CP862.cs CP20277.cs CP20871.cs CP866.cs CP20297.cs - CP1141.cs (All) : - Marked as [Serializable]. - 2005-12-01 Atsushi Enomoto <atsushi@ximian.com> (this is the first ChangeLog entry.) diff --git a/mcs/class/I18N/West/CP10000.cs b/mcs/class/I18N/West/CP10000.cs index 8ea0002f842..b5a72272421 100644 --- a/mcs/class/I18N/West/CP10000.cs +++ b/mcs/class/I18N/West/CP10000.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP10000 : ByteEncoding { public CP10000() @@ -410,7 +409,6 @@ public class CP10000 : ByteEncoding }; // class CP10000 -[Serializable] public class ENCmacintosh : CP10000 { public ENCmacintosh() : base() {} diff --git a/mcs/class/I18N/West/CP10079.cs b/mcs/class/I18N/West/CP10079.cs index e15895df821..95d984e6505 100644 --- a/mcs/class/I18N/West/CP10079.cs +++ b/mcs/class/I18N/West/CP10079.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP10079 : ByteEncoding { public CP10079() @@ -391,7 +390,6 @@ public class CP10079 : ByteEncoding }; // class CP10079 -[Serializable] public class ENCx_mac_icelandic : CP10079 { public ENCx_mac_icelandic() : base() {} diff --git a/mcs/class/I18N/West/CP1250.cs b/mcs/class/I18N/West/CP1250.cs index a96936547cc..064320fe8e9 100644 --- a/mcs/class/I18N/West/CP1250.cs +++ b/mcs/class/I18N/West/CP1250.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1250 : ByteEncoding { public CP1250() @@ -404,7 +403,6 @@ public class CP1250 : ByteEncoding }; // class CP1250 -[Serializable] public class ENCwindows_1250 : CP1250 { public ENCwindows_1250() : base() {} diff --git a/mcs/class/I18N/West/CP1252.cs b/mcs/class/I18N/West/CP1252.cs index ed1d13cf479..469e74e8e83 100644 --- a/mcs/class/I18N/West/CP1252.cs +++ b/mcs/class/I18N/West/CP1252.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1252 : ByteEncoding { public CP1252() @@ -404,7 +403,6 @@ public class CP1252 : ByteEncoding }; // class CP1252 -[Serializable] public class ENCwindows_1252 : CP1252 { public ENCwindows_1252() : base() {} diff --git a/mcs/class/I18N/West/CP1253.cs b/mcs/class/I18N/West/CP1253.cs index c845b8eefa8..8bc9e365ca6 100644 --- a/mcs/class/I18N/West/CP1253.cs +++ b/mcs/class/I18N/West/CP1253.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP1253 : ByteEncoding { public CP1253() @@ -410,7 +409,6 @@ public class CP1253 : ByteEncoding }; // class CP1253 -[Serializable] public class ENCwindows_1253 : CP1253 { public ENCwindows_1253() : base() {} diff --git a/mcs/class/I18N/West/CP28592.cs b/mcs/class/I18N/West/CP28592.cs index f69b0af8517..acf08b1a558 100644 --- a/mcs/class/I18N/West/CP28592.cs +++ b/mcs/class/I18N/West/CP28592.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP28592 : ByteEncoding { public CP28592() @@ -476,7 +475,6 @@ public class CP28592 : ByteEncoding }; // class CP28592 -[Serializable] public class ENCiso_8859_2 : CP28592 { public ENCiso_8859_2() : base() {} diff --git a/mcs/class/I18N/West/CP28593.cs b/mcs/class/I18N/West/CP28593.cs index 4ff26628f94..129bf71aa44 100644 --- a/mcs/class/I18N/West/CP28593.cs +++ b/mcs/class/I18N/West/CP28593.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP28593 : ByteEncoding { public CP28593() @@ -324,7 +323,6 @@ public class CP28593 : ByteEncoding }; // class CP28593 -[Serializable] public class ENCiso_8859_3 : CP28593 { public ENCiso_8859_3() : base() {} diff --git a/mcs/class/I18N/West/CP28597.cs b/mcs/class/I18N/West/CP28597.cs index 9a99c0c78a1..8fcd8f1d07e 100644 --- a/mcs/class/I18N/West/CP28597.cs +++ b/mcs/class/I18N/West/CP28597.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP28597 : ByteEncoding { public CP28597() @@ -344,7 +343,6 @@ public class CP28597 : ByteEncoding }; // class CP28597 -[Serializable] public class ENCiso_8859_7 : CP28597 { public ENCiso_8859_7() : base() {} diff --git a/mcs/class/I18N/West/CP28605.cs b/mcs/class/I18N/West/CP28605.cs index 0ef363d31ca..7a5cd2e60f1 100644 --- a/mcs/class/I18N/West/CP28605.cs +++ b/mcs/class/I18N/West/CP28605.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP28605 : ByteEncoding { public CP28605() @@ -331,7 +330,6 @@ public class CP28605 : ByteEncoding }; // class CP28605 -[Serializable] public class ENCiso_8859_15 : CP28605 { public ENCiso_8859_15() : base() {} diff --git a/mcs/class/I18N/West/CP437.cs b/mcs/class/I18N/West/CP437.cs index a35b1378e32..209e561957b 100644 --- a/mcs/class/I18N/West/CP437.cs +++ b/mcs/class/I18N/West/CP437.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP437 : ByteEncoding { public CP437() @@ -686,7 +685,6 @@ public class CP437 : ByteEncoding }; // class CP437 -[Serializable] public class ENCibm437 : CP437 { public ENCibm437() : base() {} diff --git a/mcs/class/I18N/West/CP850.cs b/mcs/class/I18N/West/CP850.cs index 7b322bac1a4..4383880a233 100644 --- a/mcs/class/I18N/West/CP850.cs +++ b/mcs/class/I18N/West/CP850.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP850 : ByteEncoding { public CP850() @@ -686,7 +685,6 @@ public class CP850 : ByteEncoding }; // class CP850 -[Serializable] public class ENCibm850 : CP850 { public ENCibm850() : base() {} diff --git a/mcs/class/I18N/West/CP860.cs b/mcs/class/I18N/West/CP860.cs index af5bd798303..3c9534ee9cc 100644 --- a/mcs/class/I18N/West/CP860.cs +++ b/mcs/class/I18N/West/CP860.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP860 : ByteEncoding { public CP860() @@ -686,7 +685,6 @@ public class CP860 : ByteEncoding }; // class CP860 -[Serializable] public class ENCibm860 : CP860 { public ENCibm860() : base() {} diff --git a/mcs/class/I18N/West/CP861.cs b/mcs/class/I18N/West/CP861.cs index 17c9aa5c776..9ff8367f9ab 100644 --- a/mcs/class/I18N/West/CP861.cs +++ b/mcs/class/I18N/West/CP861.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP861 : ByteEncoding { public CP861() @@ -686,7 +685,6 @@ public class CP861 : ByteEncoding }; // class CP861 -[Serializable] public class ENCibm861 : CP861 { public ENCibm861() : base() {} diff --git a/mcs/class/I18N/West/CP863.cs b/mcs/class/I18N/West/CP863.cs index b09c6f01463..f6d4bd1c3eb 100644 --- a/mcs/class/I18N/West/CP863.cs +++ b/mcs/class/I18N/West/CP863.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP863 : ByteEncoding { public CP863() @@ -684,7 +683,6 @@ public class CP863 : ByteEncoding }; // class CP863 -[Serializable] public class ENCibm863 : CP863 { public ENCibm863() : base() {} diff --git a/mcs/class/I18N/West/CP865.cs b/mcs/class/I18N/West/CP865.cs index c438b1f462a..404c5d27d5e 100644 --- a/mcs/class/I18N/West/CP865.cs +++ b/mcs/class/I18N/West/CP865.cs @@ -31,7 +31,6 @@ using System; using System.Text; using I18N.Common; -[Serializable] public class CP865 : ByteEncoding { public CP865() @@ -686,7 +685,6 @@ public class CP865 : ByteEncoding }; // class CP865 -[Serializable] public class ENCibm865 : CP865 { public ENCibm865() : base() {} diff --git a/mcs/class/I18N/West/ChangeLog b/mcs/class/I18N/West/ChangeLog index 7e6945f3bfd..7a118e64e92 100644 --- a/mcs/class/I18N/West/ChangeLog +++ b/mcs/class/I18N/West/ChangeLog @@ -1,10 +1,3 @@ -2006-01-17 Atsushi Enomoto <atsushi@ximian.com> - - * CP1252.cs CP28592.cs CP437.cs CP861.cs CP10079.cs CP863.cs - CP865.cs CP28593.cs CP1253.cs CP28597.cs CP10000.cs CP850.cs - CP860.cs CP28605.cs CP1250.cs (All) : - Marked as [Serializable]. - 2006-01-12 Atsushi Enomoto <atsushi@ximian.com> * CP10079.cs : oops, silly debugging code was remaining. diff --git a/mcs/class/Makefile b/mcs/class/Makefile index d447b782136..bc13daab450 100644 --- a/mcs/class/Makefile +++ b/mcs/class/Makefile @@ -48,7 +48,6 @@ common_dirs := \ Mono.GetOptions \ System.Web \ System.Web.Services \ - System.Web \ System.Runtime.Serialization.Formatters.Soap \ System.Runtime.Remoting \ System.Configuration.Install \ diff --git a/mcs/class/Microsoft.JScript/ChangeLog b/mcs/class/Microsoft.JScript/ChangeLog index 9fd4d137888..046befe5782 100644 --- a/mcs/class/Microsoft.JScript/ChangeLog +++ b/mcs/class/Microsoft.JScript/ChangeLog @@ -1,8 +1,3 @@ -2006-01-08 Cesar Lopez Nataren <cnataren@novell.com> - - * Makefile: No longer reference the C# compiler for namespace - lookup. - 2005-10-21 Carlos Alberto Cortez <calberto.cortez@gmail.com> * SemanticAnalizer.cs, Import.cs: Update calls to the diff --git a/mcs/class/Microsoft.JScript/Makefile b/mcs/class/Microsoft.JScript/Makefile index 0a06ce38c1d..ca418d7dfeb 100644 --- a/mcs/class/Microsoft.JScript/Makefile +++ b/mcs/class/Microsoft.JScript/Makefile @@ -3,7 +3,14 @@ SUBDIRS = include ../../build/rules.make LIBRARY = Microsoft.JScript.dll -LIB_MCS_FLAGS = -r:System.dll -r:Microsoft.Vsa.dll -debug+ + +ifeq (net_2_0, $(PROFILE)) +COMPILER = gmcs.exe +else +COMPILER = mcs.exe +endif + +LIB_MCS_FLAGS = -r:System.dll -r:Microsoft.Vsa.dll -r:$(topdir)/class/lib/$(PROFILE)/$(COMPILER) -debug+ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169 diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript.Vsa/ChangeLog b/mcs/class/Microsoft.JScript/Microsoft.JScript.Vsa/ChangeLog index 296d1f49e03..df2592b0a3d 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript.Vsa/ChangeLog +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript.Vsa/ChangeLog @@ -1,7 +1,3 @@ -2006-01-11 Evan Briones <evan@evanbriones.com> - - * VsaEngine.cs: Fixed out compiler flag - 2005-10-11 Cesar Lopez Nataren <cnataren@novell.com> * VsaEngine.cs: Parse all the files. diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript.Vsa/VsaEngine.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript.Vsa/VsaEngine.cs index 1ff28c9361d..2e3db77b058 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript.Vsa/VsaEngine.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript.Vsa/VsaEngine.cs @@ -79,13 +79,7 @@ namespace Microsoft.JScript.Vsa { ScriptBlock [] blocks = parser.ParseAll (); if (blocks != null) { SemanticAnalyser.Run (blocks, (Assembly []) GetOption ("assemblies")); - object outfile = GetOption ("out"); - - if (outfile == null) - CodeGenerator.Run ((string) GetOption ("first_source"), blocks); - else - CodeGenerator.Run ((string) outfile, blocks); - + CodeGenerator.Run ((string) GetOption ("first_source"), blocks); Console.WriteLine ("Compilation succeeded"); } return false; diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/ChangeLog b/mcs/class/Microsoft.JScript/Microsoft.JScript/ChangeLog index df7afd0967a..fb274d6277d 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/ChangeLog +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/ChangeLog @@ -1,51 +1,3 @@ -2006-01-18 Evan Briones <evan@evanbriones.com> - - * GlobalObject.cs: parsefloat in ms.net version returns NaN for text strings. - If a match is found the regular expression returns its value. Otherwise the - value of the object is retained. Previously it would return an empty string if - nothing matched making. Double.TryParse would then return 0. - Example of this returning NaN : var isnan = 'hello'; print (parseFloat(e)); - Example of it returning 0 : var iszero = 'string'; print (parseFloat (iszero)); - We behave like Rhino. - -2006-01-17 Cesar Lopez Nataren <cnataren@novell.com> - - * Parser.cs: Propagate the proper parent. Fixes #75166. - - * ast.cs: Added virtual method PropagateParent for recovering a - lost parent or set it up properly if previously set to null. - - * Statement.cs (If,Jump,Break.PropagateParent): recover - the proper parent. - - * expression.cs (Binary.emit_access): Emit late binding code for - member's access that maps to MemberTypes (like Math.pow). Fixes - #72440. - -2006-01-13 Cesar Lopez Nataren <cnataren@novell.com> - - * ForIn.cs: implement for (x in obj) logic. - -2006-01-11 Cesar Lopez Nataren <cnataren@novell.com> - - * Parser.cs (StatementHelper): Avoid null reference exception - using the new EmptyAST node in case we have an empty stm (Token.SEMI). - -2006-01-10 Cesar Lopez Nataren <cnataren@novell.com> - - * Empty.cs: Add internal type EmptyAST. - - * Parser.cs: Avoid creating a ForIn object when we only have empty - condition, test or increment expressions in the loop. - -2006-01-08 Cesar Lopez Nataren <cnataren@novell.com> - - * SemanticAnalizer.cs, Import.cs: No longer use the Mono.CSharp - stuff; we lookup for the namespaces in our code (stolen from mcs - source code though :) - - * Namespace.cs: Handle the namespace lookup here. - 2005-12-15 Cesar Lopez Nataren <cnataren@novell.com> * Parser.cs: Use the new assign ctr and Init method. diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/Empty.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript/Empty.cs index f5d1ebc3d4f..86dd83e5d09 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/Empty.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/Empty.cs @@ -4,7 +4,6 @@ // Author: Cesar Octavio Lopez Nataren // // (C) 2003, Cesar Octavio Lopez Nataren, <cesar@ciencias.unam.mx> -// Copyright (C) 2006 Novell Inc (http://novell.com) // // @@ -34,21 +33,4 @@ namespace Microsoft.JScript { public static readonly Empty Value = null; } - - internal class EmptyAST : AST { - - internal EmptyAST () - : base (null, null) - { - } - - internal override bool Resolve (Environment env) - { - return true; - } - - internal override void Emit (EmitContext ec) - { - } - } -} +}
\ No newline at end of file diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/ForIn.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript/ForIn.cs index 4c765872234..e51aa4bd9c5 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/ForIn.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/ForIn.cs @@ -91,68 +91,57 @@ namespace Microsoft.JScript { internal override void Emit (EmitContext ec) { - ILGenerator ig = ec.ig; - bool varStm = lhs is VariableStatement; - object var = null; - - if (varStm) { + ILGenerator ig; + + if (lhs is VariableStatement) { VariableStatement stm = (VariableStatement) lhs; + ig = ec.ig; ig.Emit (OpCodes.Ldnull); - var = TypeManager.Get (((VariableDeclaration) stm.var_decls [0]).id); + object var = TypeManager.Get (((VariableDeclaration) stm.var_decls [0]).id); set_builder (ig, var); - } - if (obj != null) - obj.Emit (ec); - CodeGenerator.load_engine (InFunction, ig); + if (obj != null) + obj.Emit (ec); + CodeGenerator.load_engine (InFunction, ig); - Type convert = typeof (Convert); - ig.Emit (OpCodes.Call, convert.GetMethod ("ToForInObject")); - ig.Emit (OpCodes.Call, typeof (ForIn).GetMethod ("JScriptGetEnumerator")); - Type ienumerator = typeof (IEnumerator); - LocalBuilder iter = ig.DeclareLocal (ienumerator); - LocalBuilder current = ig.DeclareLocal (typeof (object)); + Type convert = typeof (Convert); + ig.Emit (OpCodes.Call, convert.GetMethod ("ToForInObject")); + ig.Emit (OpCodes.Call, typeof (ForIn).GetMethod ("JScriptGetEnumerator")); + Type ienumerator = typeof (IEnumerator); + LocalBuilder iter = ig.DeclareLocal (ienumerator); + LocalBuilder current = ig.DeclareLocal (typeof (object)); - ig.Emit (OpCodes.Stloc, iter); + ig.Emit (OpCodes.Stloc, iter); - Label init_loop = ig.DefineLabel (); - Label move_next = ig.DefineLabel (); - Label exit = ig.DefineLabel (); + Label init_loop = ig.DefineLabel (); + Label move_next = ig.DefineLabel (); + Label exit = ig.DefineLabel (); - ig.Emit (OpCodes.Br, move_next); - ig.MarkLabel (init_loop); + ig.Emit (OpCodes.Br, move_next); + ig.MarkLabel (init_loop); - if (body != null) - body.Emit (ec); + if (body != null) + body.Emit (ec); - ig.MarkLabel (move_next); + ig.MarkLabel (move_next); - ig.Emit (OpCodes.Ldloc, iter); - ig.Emit (OpCodes.Callvirt, ienumerator.GetMethod ("MoveNext")); + ig.Emit (OpCodes.Ldloc, iter); + ig.Emit (OpCodes.Callvirt, ienumerator.GetMethod ("MoveNext")); - ig.Emit (OpCodes.Brfalse, exit); + ig.Emit (OpCodes.Brfalse, exit); - ig.Emit (OpCodes.Ldloc, iter); - ig.Emit (OpCodes.Callvirt, ienumerator.GetProperty ("Current").GetGetMethod ()); - ig.Emit (OpCodes.Stloc, current); - ig.Emit (OpCodes.Ldloc, current); + ig.Emit (OpCodes.Ldloc, iter); + ig.Emit (OpCodes.Callvirt, ienumerator.GetProperty ("Current").GetGetMethod ()); + ig.Emit (OpCodes.Stloc, current); + ig.Emit (OpCodes.Ldloc, current); - if (varStm) set_builder (ig, var); - else { - if (lhs is Expression) { - AST ast = ((Expression) lhs).Last; - if (ast is Identifier) - ((Identifier) ast).EmitStore (ec); - else - throw new NotImplementedException (); - } else - throw new NotImplementedException (); - } - - ig.Emit (OpCodes.Br, init_loop); - ig.MarkLabel (exit); + + ig.Emit (OpCodes.Br, init_loop); + ig.MarkLabel (exit); + } else + throw new NotImplementedException (); } void set_builder (ILGenerator ig, object builder) diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/GlobalObject.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript/GlobalObject.cs index a0662db34bb..7deb17ee696 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/GlobalObject.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/GlobalObject.cs @@ -455,9 +455,7 @@ namespace Microsoft.JScript { if (string_obj.Trim () == "") return 0; - // Would return an empty string if regular expression match returned 0. - object o = float_re.Match (string_obj).Value; - string_obj = (o == "") ? string_obj : (string) o; + string_obj = float_re.Match (string_obj).Value; double result; if (Double.TryParse (string_obj, NumberStyles.Float, CultureInfo.InvariantCulture, out result)) diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/Import.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript/Import.cs index 5fe4da208b5..536143253d2 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/Import.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/Import.cs @@ -55,7 +55,7 @@ namespace Microsoft.JScript { "error JS1229: The import statement is not valid in this context"; throw new Exception (err); } - return Namespace.IsNamespace (name); + return Mono.CSharp.RootNamespace.Global.IsNamespace (name); } internal override void Emit (EmitContext ec) diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/Namespace.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript/Namespace.cs index 58f6fc1a6a7..421e5c3cc17 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/Namespace.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/Namespace.cs @@ -29,59 +29,15 @@ // using System; -using System.Reflection; using Microsoft.JScript.Vsa; -using System.Collections; namespace Microsoft.JScript { - public sealed class Namespace { - - static Hashtable namespaces; - static string fullname; - - public Namespace (string name) - { - fullname = name; - } - - static Namespace () - { - namespaces = new Hashtable (); - } - - internal static void GetNamespace (string name, bool create) - { - int pos = name.IndexOf ('.'); - - Namespace ns; - string first; - if (pos >= 0) - first = name.Substring (0, pos); - else - first = name; - - ns = (Namespace) namespaces [first]; - if (ns == null) { - if (!create) - throw new Exception ("unknown case"); - - ns = new Namespace (first); - namespaces.Add (first, ns); - } - - if (pos >= 0) - Namespace.GetNamespace (name.Substring (pos + 1), create); - } - + public sealed class Namespace + { public static Namespace GetNamespace (string name, VsaEngine engine) { throw new NotImplementedException (); } - - internal static bool IsNamespace (string name) - { - return namespaces.Contains (name); - } } } diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/Parser.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript/Parser.cs index a39eb20ce96..0c4ae3ce610 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/Parser.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/Parser.cs @@ -597,7 +597,7 @@ namespace Microsoft.JScript { tt = ts.PeekToken (); if (tt == Token.SEMI) - init = new EmptyAST (); + init = null; else { if (tt == Token.VAR) { // set init to a var list or initial @@ -616,7 +616,7 @@ namespace Microsoft.JScript { decompiler.AddToken (Token.SEMI); if (ts.PeekToken () == Token.SEMI) - cond = new EmptyAST (); // no loop condition + cond = null; // no loop condition else cond = Expr (parent, false); @@ -624,7 +624,7 @@ namespace Microsoft.JScript { decompiler.AddToken (Token.SEMI); if (ts.PeekToken () == Token.RP) - incr = new EmptyAST (); + incr = null; else incr = Expr (parent, false); } @@ -639,7 +639,7 @@ namespace Microsoft.JScript { pn = new ForIn (parent, init, cond, body, new Location (ts.SourceName, ts.LineNumber)); else pn = new For (parent, init, cond, incr, body, new Location (ts.SourceName, ts.LineNumber)); - body.PropagateParent (pn); + body.parent = pn; } else if (tt == Token.TRY) { int line_number = ts.LineNumber; AST try_block; @@ -770,7 +770,8 @@ namespace Microsoft.JScript { pn = Statements (parent); MustMatchToken (Token.RC, "msg.no.brace.block"); } else if (tt == Token.ERROR || tt == Token.EOL || tt == Token.SEMI) { - pn = new EmptyAST (); + // FIXME: + pn = null; skip_semi = true; } else if (tt == Token.FUNCTION) { pn = Function (parent, FunctionType.ExpressionStatement); diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/SemanticAnalizer.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript/SemanticAnalizer.cs index 7c936da0ace..97e3f28b0a6 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/SemanticAnalizer.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/SemanticAnalizer.cs @@ -142,10 +142,7 @@ namespace Microsoft.JScript { internal static bool Run (ScriptBlock [] blocks, Assembly [] ref_items) { assemblies = ref_items; - - if (assemblies != null && assemblies.Length > 0) - ComputeNamespaces (); - + ComputeNamespaces (); env = new Environment (blocks); bool r = true; @@ -404,7 +401,7 @@ namespace Microsoft.JScript { foreach (string ns in namespaces){ if (ns == "") continue; - Namespace.GetNamespace (ns, true); + Mono.CSharp.RootNamespace.Global.GetNamespace (ns, true); } } } else { @@ -415,7 +412,7 @@ namespace Microsoft.JScript { string ns = t.Namespace; if (ns == null || cache.Contains (ns)) continue; - Namespace.GetNamespace (ns, true); + Mono.CSharp.RootNamespace.Global.GetNamespace (ns, true); cache.Add (ns, null); } } diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/Statement.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript/Statement.cs index 9b8a8251e1b..a7db3481fa8 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/Statement.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/Statement.cs @@ -126,13 +126,6 @@ namespace Microsoft.JScript { false_stm.Emit (ec); ig.MarkLabel (merge_lbl); } - - internal override void PropagateParent (AST parent) - { - base.PropagateParent (parent); - true_stm.PropagateParent (this); - false_stm.PropagateParent (this); - } } abstract class Jump : AST { @@ -156,11 +149,6 @@ namespace Microsoft.JScript { throw new Exception ("error JS1026: Label not found"); return true; } - - internal override void PropagateParent (AST parent) - { - base.PropagateParent (parent); - } } internal class Continue : Jump { @@ -214,11 +202,6 @@ namespace Microsoft.JScript { } ec.ig.Emit (OpCodes.Br, (binding as Labelled).EndAddrs); } - - internal override void PropagateParent (AST parent) - { - base.PropagateParent (parent); - } } internal class NotVoidReturnEventArgs : EventArgs { diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/ast.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript/ast.cs index 0753e03de1b..81c891e570b 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/ast.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/ast.cs @@ -104,11 +104,6 @@ namespace Microsoft.JScript { } } - - internal virtual void PropagateParent (AST parent) - { - this.parent = parent; - } } public abstract class Function : AST diff --git a/mcs/class/Microsoft.JScript/Microsoft.JScript/expression.cs b/mcs/class/Microsoft.JScript/Microsoft.JScript/expression.cs index 19da2e9c590..8313bbe426a 100644 --- a/mcs/class/Microsoft.JScript/Microsoft.JScript/expression.cs +++ b/mcs/class/Microsoft.JScript/Microsoft.JScript/expression.cs @@ -381,24 +381,7 @@ namespace Microsoft.JScript { ig.Emit (OpCodes.Call, decl_type.GetProperty (property.Name).GetGetMethod ()); break; default: - Type lb_type = typeof (LateBinding); - LocalBuilder lateBinder = ig.DeclareLocal (lb_type); - Identifier prop = (Identifier) prop_name; - - ig.Emit (OpCodes.Ldstr, prop.name.Value); - ig.Emit (OpCodes.Newobj, lb_type.GetConstructor (new Type [] { typeof (string)} )); - ig.Emit (OpCodes.Stloc, lateBinder); - ig.Emit (OpCodes.Ldloc, lateBinder); - ig.Emit (OpCodes.Dup); - - Identifier obj_name = (Identifier) obj; - - ig.Emit (OpCodes.Call, typeof (GlobalObject).GetProperty (obj_name.name.Value).GetGetMethod ()); - ig.Emit (OpCodes.Stfld, lb_type.GetField ("obj")); - ig.Emit (OpCodes.Call, lb_type.GetMethod ("GetNonMissingValue")); - - break; - + throw new NotImplementedException (); } emit_box (ig, minfo); } diff --git a/mcs/class/Microsoft.JScript/Test/Mozilla/ChangeLog b/mcs/class/Microsoft.JScript/Test/Mozilla/ChangeLog index 13c5d363b81..0d4fd9102a8 100644 --- a/mcs/class/Microsoft.JScript/Test/Mozilla/ChangeLog +++ b/mcs/class/Microsoft.JScript/Test/Mozilla/ChangeLog @@ -1,16 +1,3 @@ -2006-01-13 Cesar Lopez Nataren <cnataren@novell.com> - - * mjs-most.tests: Enable ecma/FunctionObjects/15.3.3.1-2.js, - ecma/Math/15.8.1.js, ecma/Number/15.7.3.1-3.js, - ecma/Number/15.7.3.2-4.js, ecma/Number/15.7.3.3-4.js, - ecma/Number/15.7.3.4-4.js, ecma/Number/15.7.3.5-4.js, - ecma/Number/15.7.3.6-4.js, ecma/Statements/12.6.3-1.js, - ecma/Statements/12.6.3-11.js, ecma/String/15.5.3.1-1.js, - ecma/String/15.5.4.8-3.js and js1_2/regress/regress-7703.js. - - * mjs-most.fail: Delete ecma/Statements/12.6.3-10.js and - ecma/Statements/12.6.3-19.js as they no longer fail. - 2005-12-21 Cesar Lopez Nataren <cnataren@novell.com> * mjs-most.tests: Enable js1_2/Array/tostring_1.js, diff --git a/mcs/class/Microsoft.JScript/Test/Mozilla/mjs-most.fail b/mcs/class/Microsoft.JScript/Test/Mozilla/mjs-most.fail index 7f6e310f8c4..58c52a5afdd 100644 --- a/mcs/class/Microsoft.JScript/Test/Mozilla/mjs-most.fail +++ b/mcs/class/Microsoft.JScript/Test/Mozilla/mjs-most.fail @@ -48,6 +48,10 @@ js1_2/function/definition-1.js js1_3/Script/script-001.js js1_4/Functions/function-001.js +# System.NotImplementedException: The requested feature is not implemented. (ForIn:Emit) +ecma/Statements/12.6.3-10.js +ecma/Statements/12.6.3-19.js + # System.NotImplementedException: The requested feature is not implemented. (Convert:ToForInObject) ecma/String/15.5.5.1.js diff --git a/mcs/class/Microsoft.JScript/Test/Mozilla/mjs-most.tests b/mcs/class/Microsoft.JScript/Test/Mozilla/mjs-most.tests index 633c2f5f902..c92f34140c6 100644 --- a/mcs/class/Microsoft.JScript/Test/Mozilla/mjs-most.tests +++ b/mcs/class/Microsoft.JScript/Test/Mozilla/mjs-most.tests @@ -57,7 +57,7 @@ ecma/Array/15.4.4.js # Eval::JScriptEvaluate throws NotImplementedException #ecma/Array/15.4.5.1-1.js ecma/Array/15.4.5.1-2.js -# Needs eval +# Needs ToForInObject #ecma/Array/15.4.5.2-1.js # Eval::JScriptEvaluate throws NotImplementedException #ecma/Array/15.4.5.2-2.js @@ -376,7 +376,8 @@ ecma/Expressions/11.6.3.js # syntax error #ecma/FunctionObjects/15.3.2.1-3.js ecma/FunctionObjects/15.3.3.1-1.js -ecma/FunctionObjects/15.3.3.1-2.js +# Needs for in +#ecma/FunctionObjects/15.3.3.1-2.js ecma/FunctionObjects/15.3.3.1-3.js # invalid IL #ecma/FunctionObjects/15.3.3.1-4.js @@ -522,7 +523,8 @@ ecma/Math/15.8-2-n.js #ecma/Math/15.8.1.8-1.js #ecma/Math/15.8.1.8-2.js ecma/Math/15.8.1.8-3.js -ecma/Math/15.8.1.js +# Needs for in +#ecma/Math/15.8.1.js # NotImplementedException from Binary:emit_access #ecma/Math/15.8.2.1.js #ecma/Math/15.8.2.10.js @@ -554,30 +556,36 @@ ecma/Number/15.7.2.js # Invalid IL #ecma/Number/15.7.3.1-1.js #ecma/Number/15.7.3.1-2.js -ecma/Number/15.7.3.1-3.js +# Needs for in +#ecma/Number/15.7.3.1-3.js ecma/Number/15.7.3.2-1.js # Invalid IL #ecma/Number/15.7.3.2-2.js #ecma/Number/15.7.3.2-3.js -ecma/Number/15.7.3.2-4.js +# Needs for in +#ecma/Number/15.7.3.2-4.js ecma/Number/15.7.3.3-1.js ecma/Number/15.7.3.3-2.js #ecma/Number/15.7.3.3-3.js -ecma/Number/15.7.3.3-4.js +# Needs for in +#ecma/Number/15.7.3.3-4.js ecma/Number/15.7.3.4-1.js # Invalid IL #ecma/Number/15.7.3.4-2.js #ecma/Number/15.7.3.4-3.js -ecma/Number/15.7.3.4-4.js +# Needs for in +#ecma/Number/15.7.3.4-4.js ecma/Number/15.7.3.5-1.js ecma/Number/15.7.3.5-2.js #ecma/Number/15.7.3.5-3.js -ecma/Number/15.7.3.5-4.js +# Needs for in +#ecma/Number/15.7.3.5-4.js ecma/Number/15.7.3.6-1.js # Invalid IL #ecma/Number/15.7.3.6-2.js #ecma/Number/15.7.3.6-3.js -ecma/Number/15.7.3.6-4.js +# Needs for in +#ecma/Number/15.7.3.6-4.js ecma/Number/15.7.3.js ecma/Number/15.7.4-1.js ecma/Number/15.7.4.1.js @@ -621,7 +629,7 @@ ecma/Statements/12.2-1.js ecma/Statements/12.5-2.js # Invalid IL #ecma/Statements/12.6.1-1.js -# invalid IL, PostOrPrefixExpression.Emit error +# Needs ForIn #ecma/Statements/12.6.2-1.js # NullReferenceException from For:Resolve #ecma/Statements/12.6.2-2.js @@ -635,9 +643,11 @@ ecma/Statements/12.5-2.js ecma/Statements/12.6.2-8.js # syntax error #ecma/Statements/12.6.2-9-n.js -ecma/Statements/12.6.3-1.js +# Needs for in +#ecma/Statements/12.6.3-1.js ecma/Statements/12.6.3-10.js -ecma/Statements/12.6.3-11.js +# Needs for in +#ecma/Statements/12.6.3-11.js #ecma/Statements/12.6.3-12.js ecma/Statements/12.6.3-19.js # syntax error @@ -659,7 +669,8 @@ ecma/Statements/12.6.3-19.js #ecma/Statements/12.9-1-n.js ecma/String/15.5.1.js ecma/String/15.5.2.js -ecma/String/15.5.3.1-1.js +# Needs for in +#ecma/String/15.5.3.1-1.js # Invalid IL #ecma/String/15.5.3.1-2.js ecma/String/15.5.3.1-3.js @@ -722,7 +733,8 @@ ecma/String/15.5.4.7-3.js # Invalid IL #ecma/String/15.5.4.8-1.js ecma/String/15.5.4.8-2.js -ecma/String/15.5.4.8-3.js +# Needs for in +#ecma/String/15.5.4.8-3.js # Invalid IL #ecma/String/15.5.4.9-1.js ecma/String/15.5.4.js @@ -1036,7 +1048,8 @@ js1_2/regexp/toString.js js1_2/regexp/vertical_bar.js js1_2/regexp/whitespace.js js1_2/regexp/word_boundary.js -js1_2/regress/regress-7703.js +# Need for in +#js1_2/regress/regress-7703.js js1_2/statements/break.js # infinite loop caused by bad generated IL. #js1_2/statements/continue.js diff --git a/mcs/class/Mono.Cairo/ChangeLog b/mcs/class/Mono.Cairo/ChangeLog index 31f1ed5a8d9..6c20cfe8ee1 100644 --- a/mcs/class/Mono.Cairo/ChangeLog +++ b/mcs/class/Mono.Cairo/ChangeLog @@ -1,7 +1,3 @@ -2006-01-17 Alp Toker <alp@atoker.com> - - * Samples/x11/compile.sh: Remove unused gtk-sharp reference - 2005-12-19 Wade Berrier <wberrier@novell.com> * Mono.Cairo/Makefile: Fix EXTRA_DIST to include samples diff --git a/mcs/class/Mono.Cairo/Samples/x11/compile.sh b/mcs/class/Mono.Cairo/Samples/x11/compile.sh index bf866e6d61e..70de6c64bdf 100755 --- a/mcs/class/Mono.Cairo/Samples/x11/compile.sh +++ b/mcs/class/Mono.Cairo/Samples/x11/compile.sh @@ -1,12 +1,12 @@ #!/bin/bash -mcs -r:System.Drawing -r:Mono.Cairo arc.cs x11.cs -mcs -r:System.Drawing -r:Mono.Cairo arcneg.cs x11.cs -mcs -r:System.Drawing -r:Mono.Cairo clip.cs x11.cs -mcs -r:System.Drawing -r:Mono.Cairo clip_img.cs x11.cs -mcs -r:System.Drawing -r:Mono.Cairo curve_rect.cs x11.cs -mcs -r:System.Drawing -r:Mono.Cairo curve_to.cs x11.cs -mcs -r:System.Drawing -r:Mono.Cairo fillstroke.cs x11.cs -mcs -r:System.Drawing -r:Mono.Cairo gradient.cs x11.cs -mcs -r:System.Drawing -r:Mono.Cairo image.cs x11.cs -mcs -r:System.Drawing -r:Mono.Cairo image_pattern.cs x11.cs -mcs -r:System.Drawing -r:Mono.Cairo text.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp arc.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp arcneg.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp clip.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp clip_img.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp curve_rect.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp curve_to.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp fillstroke.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp gradient.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp image.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp image_pattern.cs x11.cs +mcs -r:System.Drawing -r:Mono.Cairo -pkg:gtk-sharp text.cs x11.cs diff --git a/mcs/class/Mono.Posix/Mono.Unix.Native/ChangeLog b/mcs/class/Mono.Posix/Mono.Unix.Native/ChangeLog index 16bbfc10070..5c8e0be1788 100644 --- a/mcs/class/Mono.Posix/Mono.Unix.Native/ChangeLog +++ b/mcs/class/Mono.Posix/Mono.Unix.Native/ChangeLog @@ -1,7 +1,3 @@ -2006-01-10 Raja R Harinath <rharinath@novell.com> - - * Syscall.cs (sys_futimes): Remove buggy custom marshaller on 'fd' parameter. - 2005-01-09 Jonathan Pryor <jonpryor@vt.edu> * NativeConvert.cs: s/IsType/IsSet/g: deal with UnixFileSystemInfo method diff --git a/mcs/class/Mono.Posix/Mono.Unix/Catalog.cs b/mcs/class/Mono.Posix/Mono.Unix/Catalog.cs index d835fec4624..1ba51307f99 100644 --- a/mcs/class/Mono.Posix/Mono.Unix/Catalog.cs +++ b/mcs/class/Mono.Posix/Mono.Unix/Catalog.cs @@ -55,11 +55,11 @@ namespace Mono.Unix { "UTF-8", out iutf8); try { if (bindtextdomain (ipackage, ilocaledir) == IntPtr.Zero) - throw new UnixIOException (Native.Errno.ENOMEM); + throw new OutOfMemoryException ("bindtextdomain"); if (bind_textdomain_codeset (ipackage, iutf8) == IntPtr.Zero) - throw new UnixIOException (Native.Errno.ENOMEM); + throw new OutOfMemoryException ("bind_textdomain_codeset"); if (textdomain (ipackage) == IntPtr.Zero) - throw new UnixIOException (Native.Errno.ENOMEM); + throw new OutOfMemoryException ("textdomain"); } finally { UnixMarshal.FreeHeap (ipackage); diff --git a/mcs/class/Mono.Posix/Mono.Unix/ChangeLog b/mcs/class/Mono.Posix/Mono.Unix/ChangeLog index 00d53736d4c..f797281a719 100644 --- a/mcs/class/Mono.Posix/Mono.Unix/ChangeLog +++ b/mcs/class/Mono.Posix/Mono.Unix/ChangeLog @@ -1,32 +1,9 @@ -2006-01-15 Jonathan Pryor <jonpryor@vt.edu> - - * UnixUserInfo.cs: The UnixUserInfo(Native.Passwd) constructor and - ToPasswd() should clone the underlying Native.Passwd, so - that it doesn't get changed from underneath it. - * UnixGroupInfo.cs: The UnixGroupInfo(Native.Group) constructor should also - clone the provided Native.Group instance. - -2006-01-14 Jonathan Pryor <jonpryor@vt.edu> - - * UnixGroupInfo.cs: ToGroup() should clone the underlying Native.Group, so - that it doesn't get changed from underneath it. - -2006-01-13 Jonathan Pryor <jonpryor@vt.edu> - - * Catalog.cs, UnixMarshal.cs: Throw `UnixIOException(Native.Errno.ENOMEM)` - instead of System.OutOfMemoryException. OOME should be reserved for use - by the CLR (according to FxDG). - -2006-01-12 Jonathan Pryor <jonpryor@vt.edu> - - * UnixPath.cs: Add ReadLink() and TryReadLink() methods. - 2006-01-12 Miguel de Icaza <miguel@novell.com> * PeerCred.cs: Do not define PeerCredData as this is a structure known to the runtime. Instead use the Mono.Posix.PeerCredData internal class. - + 2006-01-10 Jonathan Pryor <jonpryor@vt.edu> * Catalog.cs: Don't use diff --git a/mcs/class/Mono.Posix/Mono.Unix/UnixGroupInfo.cs b/mcs/class/Mono.Posix/Mono.Unix/UnixGroupInfo.cs index 50911f7d935..c032c02e79c 100644 --- a/mcs/class/Mono.Posix/Mono.Unix/UnixGroupInfo.cs +++ b/mcs/class/Mono.Posix/Mono.Unix/UnixGroupInfo.cs @@ -57,19 +57,7 @@ namespace Mono.Unix { public UnixGroupInfo (Native.Group group) { - this.group = CopyGroup (group); - } - - private static Native.Group CopyGroup (Native.Group group) - { - Native.Group g = new Native.Group (); - - g.gr_gid = group.gr_gid; - g.gr_mem = group.gr_mem; - g.gr_name = group.gr_name; - g.gr_passwd = group.gr_passwd; - - return g; + this.group = group; } public string GroupName { @@ -116,7 +104,7 @@ namespace Mono.Unix { public Native.Group ToGroup () { - return CopyGroup (group); + return group; } public static UnixGroupInfo[] GetLocalGroups () diff --git a/mcs/class/Mono.Posix/Mono.Unix/UnixMarshal.cs b/mcs/class/Mono.Posix/Mono.Unix/UnixMarshal.cs index 0a2d64c0b12..7b8d8c85cb2 100644 --- a/mcs/class/Mono.Posix/Mono.Unix/UnixMarshal.cs +++ b/mcs/class/Mono.Posix/Mono.Unix/UnixMarshal.cs @@ -321,7 +321,7 @@ namespace Mono.Unix { IntPtr mem = AllocHeap (marshal.Length); if (mem == IntPtr.Zero) - throw new UnixIOException (Native.Errno.ENOMEM); + throw new OutOfMemoryException (); bool copied = false; try { diff --git a/mcs/class/Mono.Posix/Mono.Unix/UnixPath.cs b/mcs/class/Mono.Posix/Mono.Unix/UnixPath.cs index a7836db0bf2..271c4fe92cb 100644 --- a/mcs/class/Mono.Posix/Mono.Unix/UnixPath.cs +++ b/mcs/class/Mono.Posix/Mono.Unix/UnixPath.cs @@ -224,44 +224,6 @@ namespace Mono.Unix { } while (true); } - // Read the specified symbolic link. If the file isn't a symbolic link, - // return null; otherwise, return the contents of the symbolic link. - // - // readlink(2) is horribly evil, as there is no way to query how big the - // symlink contents are. Consequently, it's trial and error... - private static string ReadSymbolicLink (string path, out Native.Errno errno) - { - errno = (Native.Errno) 0; - StringBuilder buf = new StringBuilder (256); - do { - int r = Native.Syscall.readlink (path, buf); - if (r < 0) { - errno = Native.Stdlib.GetLastError (); - return null; - } - else if (r == buf.Capacity) { - buf.Capacity *= 2; - } - else - return buf.ToString (0, r); - } while (true); - } - - public static string TryReadLink (string path) - { - Native.Errno errno; - return ReadSymbolicLink (path, out errno); - } - - public static string ReadLink (string path) - { - Native.Errno errno; - path = ReadSymbolicLink (path, out errno); - if (errno != 0) - UnixMarshal.ThrowExceptionForError (errno); - return path; - } - public static bool IsPathRooted (string path) { if (path == null || path.Length == 0) diff --git a/mcs/class/Mono.Posix/Mono.Unix/UnixUserInfo.cs b/mcs/class/Mono.Posix/Mono.Unix/UnixUserInfo.cs index 3379ebf863d..24488690f69 100644 --- a/mcs/class/Mono.Posix/Mono.Unix/UnixUserInfo.cs +++ b/mcs/class/Mono.Posix/Mono.Unix/UnixUserInfo.cs @@ -67,22 +67,7 @@ namespace Mono.Unix { public UnixUserInfo (Native.Passwd passwd) { - this.passwd = CopyPasswd (passwd); - } - - private static Native.Passwd CopyPasswd (Native.Passwd pw) - { - Native.Passwd p = new Native.Passwd (); - - p.pw_name = pw.pw_name; - p.pw_passwd = pw.pw_passwd; - p.pw_uid = pw.pw_uid; - p.pw_gid = pw.pw_gid; - p.pw_gecos = pw.pw_gecos; - p.pw_dir = pw.pw_dir; - p.pw_shell = pw.pw_shell; - - return p; + this.passwd = passwd; } public string UserName { @@ -164,7 +149,7 @@ namespace Mono.Unix { public Native.Passwd ToPasswd () { - return CopyPasswd (passwd); + return passwd; } public static UnixUserInfo[] GetLocalUsers () diff --git a/mcs/class/System.Configuration/System.Configuration.Internal/ChangeLog b/mcs/class/System.Configuration/System.Configuration.Internal/ChangeLog index 64f51ea33f8..9f33abe4cb2 100644 --- a/mcs/class/System.Configuration/System.Configuration.Internal/ChangeLog +++ b/mcs/class/System.Configuration/System.Configuration.Internal/ChangeLog @@ -1,8 +1,3 @@ -2006-01-16 Chris Toshok <toshok@ximian.com> - - * DelegatingConfigHost.cs: flesh out the rest of this - implementation. - 2005-10-07 Chris Toshok <toshok@ximian.com> * IInternalConfigHost.cs: add some missing properties/methods. diff --git a/mcs/class/System.Configuration/System.Configuration.Internal/DelegatingConfigHost.cs b/mcs/class/System.Configuration/System.Configuration.Internal/DelegatingConfigHost.cs index a3242ac294e..594213b588a 100644 --- a/mcs/class/System.Configuration/System.Configuration.Internal/DelegatingConfigHost.cs +++ b/mcs/class/System.Configuration/System.Configuration.Internal/DelegatingConfigHost.cs @@ -139,7 +139,7 @@ namespace System.Configuration.Internal public virtual bool IsInitDelayed (IInternalConfigRecord configRecord) { - return host.IsInitDelayed (configRecord); + throw new NotImplementedException (); } public virtual bool IsFile (string streamName) @@ -149,7 +149,7 @@ namespace System.Configuration.Internal public bool IsFullTrustSectionWithoutAptcaAllowed (IInternalConfigRecord configRecord) { - return host.IsFullTrustSectionWithoutAptcaAllowed (configRecord); + throw new NotImplementedException (); } public virtual bool IsLocationApplicable (string configPath) @@ -158,17 +158,19 @@ namespace System.Configuration.Internal } public bool IsRemote { - get { return host.IsRemote; } + get { + throw new NotImplementedException (); + } } public bool IsSecondaryRoot (string configPath) { - return host.IsSecondaryRoot (configPath); + throw new NotImplementedException (); } public bool IsTrustedConfigPath (string configPath) { - return host.IsTrustedConfigPath (configPath); + throw new NotImplementedException (); } public virtual Stream OpenStreamForRead (string streamName) @@ -178,7 +180,7 @@ namespace System.Configuration.Internal public Stream OpenStreamForRead (string streamName, bool assertPermissions) { - return host.OpenStreamForRead (streamName, assertPermissions); + throw new NotImplementedException (); } public virtual Stream OpenStreamForWrite (string streamName, string templateStreamName, ref object writeContext) @@ -188,7 +190,7 @@ namespace System.Configuration.Internal public Stream OpenStreamForWrite (string streamName, string templateStreamName, ref object writeContext, bool assertPermissions) { - return host.OpenStreamForWrite (streamName, templateStreamName, ref writeContext, assertPermissions); + throw new NotImplementedException (); } public virtual bool PrefetchAll (string configPath, string streamName) @@ -203,7 +205,7 @@ namespace System.Configuration.Internal public virtual void RequireCompleteInit (IInternalConfigRecord configRecord) { - host.RequireCompleteInit (configRecord); + throw new NotImplementedException (); } public virtual object StartMonitoringStreamForChanges (string streamName, StreamChangeCallback callback) @@ -228,7 +230,7 @@ namespace System.Configuration.Internal public void WriteCompleted (string streamName, bool success, object writeContext, bool assertPermissions) { - host.WriteCompleted (streamName, success, writeContext, assertPermissions); + throw new NotImplementedException (); } public virtual bool SupportsChangeNotifications { diff --git a/mcs/class/System.Configuration/System.Configuration/AppSettingsSection.cs b/mcs/class/System.Configuration/System.Configuration/AppSettingsSection.cs index d98fe021ae0..046e2d5f453 100644 --- a/mcs/class/System.Configuration/System.Configuration/AppSettingsSection.cs +++ b/mcs/class/System.Configuration/System.Configuration/AppSettingsSection.cs @@ -29,7 +29,6 @@ #if NET_2_0 using System; -using System.ComponentModel; using System.Collections.Specialized; using System.Xml; using System.IO; @@ -44,10 +43,14 @@ namespace System.Configuration { static AppSettingsSection () { - _propFile = new ConfigurationProperty ("file", typeof(string), "", - new StringConverter(), null, ConfigurationPropertyOptions.None); - _propSettings = new ConfigurationProperty ("", typeof(KeyValueConfigurationCollection), null, - null, null, ConfigurationPropertyOptions.IsDefaultCollection); + _propFile = new ConfigurationProperty ("file", + typeof(string), + "", + ConfigurationPropertyOptions.None); + _propSettings = new ConfigurationProperty ("", + typeof(KeyValueConfigurationCollection), + null, + ConfigurationPropertyOptions.IsDefaultCollection); _properties = new ConfigurationPropertyCollection (); @@ -119,18 +122,10 @@ namespace System.Configuration { } } + [MonoTODO] protected internal override object GetRuntimeObject () { - KeyValueInternalCollection col = new KeyValueInternalCollection (); - - foreach (string key in Settings.AllKeys) { - KeyValueConfigurationElement ele = Settings[key]; - col.Add (ele.Key, ele.Value); - } - - col.SetReadOnly (); - - return col; + return base.GetRuntimeObject(); } } } diff --git a/mcs/class/System.Configuration/System.Configuration/ChangeLog b/mcs/class/System.Configuration/System.Configuration/ChangeLog index 3dd409014f2..9d74a93cada 100644 --- a/mcs/class/System.Configuration/System.Configuration/ChangeLog +++ b/mcs/class/System.Configuration/System.Configuration/ChangeLog @@ -1,31 +1,3 @@ -2006-01-13 Chris Toshok <toshok@ximian.com> - - * AppSettingsSection.cs (GetRuntimeObject): only access - Settings[key] once per iteration. - -2006-01-09 Chris Toshok <toshok@ximian.com> - - * ConfigurationManager.cs (AppSettings): just return - AppSettingsSection.GetRuntimeObject() here. - - * AppSettingsSection.cs: fix the "file" property to match dumper - output. - (GetRuntimeObject): this returns a KeyValueInternalCollection in - MS's implementation. - -2006-01-09 Chris Toshok <toshok@ximian.com> - - * ElementInformation.cs (Validator): if propertyInfo == null, - return a DefaultValidator instance. - -2006-01-09 Chris Toshok <toshok@ximian.com> - - * AppSettingsSection.cs (.cctor): specify null for - validator/converter. - - * ProtectedProviderSettings.cs (.cctor): specify null for - validator/converter. - 2006-01-03 Chris Toshok <toshok@ximian.com> * Configuration.cs (SaveAs): open with FileMode.OpenOrCreate so we diff --git a/mcs/class/System.Configuration/System.Configuration/ConfigurationManager.cs b/mcs/class/System.Configuration/System.Configuration/ConfigurationManager.cs index 35241f264a7..0bf8c6c5aff 100644 --- a/mcs/class/System.Configuration/System.Configuration/ConfigurationManager.cs +++ b/mcs/class/System.Configuration/System.Configuration/ConfigurationManager.cs @@ -167,7 +167,15 @@ namespace System.Configuration { public static NameValueCollection AppSettings { get { AppSettingsSection appsettings = (AppSettingsSection) GetSection ("appSettings"); - return (NameValueCollection)appsettings.GetRuntimeObject (); + KeyValueInternalCollection col = new KeyValueInternalCollection (); + + foreach (string key in appsettings.Settings.AllKeys) { + col.Add (appsettings.Settings[key].Key, appsettings.Settings[key].Value); + } + + col.SetReadOnly (); + + return col; } } diff --git a/mcs/class/System.Configuration/System.Configuration/ElementInformation.cs b/mcs/class/System.Configuration/System.Configuration/ElementInformation.cs index 6f82071bd90..d6c628d2cc3 100644 --- a/mcs/class/System.Configuration/System.Configuration/ElementInformation.cs +++ b/mcs/class/System.Configuration/System.Configuration/ElementInformation.cs @@ -36,7 +36,7 @@ namespace System.Configuration PropertyInformation propertyInfo; ConfigurationElement owner; PropertyInformationCollection properties; - + internal ElementInformation (ConfigurationElement owner, PropertyInformation propertyInfo) { this.propertyInfo = propertyInfo; @@ -76,7 +76,7 @@ namespace System.Configuration } public ConfigurationValidatorBase Validator { - get { return propertyInfo != null ? propertyInfo.Validator : new DefaultValidator(); } + get { return propertyInfo != null ? propertyInfo.Validator : null; } } public PropertyInformationCollection Properties { diff --git a/mcs/class/System.Configuration/System.Configuration/ProtectedProviderSettings.cs b/mcs/class/System.Configuration/System.Configuration/ProtectedProviderSettings.cs index 2cacd501698..8f24d2b7219 100644 --- a/mcs/class/System.Configuration/System.Configuration/ProtectedProviderSettings.cs +++ b/mcs/class/System.Configuration/System.Configuration/ProtectedProviderSettings.cs @@ -37,8 +37,7 @@ namespace System.Configuration static ProtectedProviderSettings () { - providersProp = new ConfigurationProperty ("", typeof (ProviderSettingsCollection), null, - null, null, ConfigurationPropertyOptions.IsDefaultCollection); + providersProp = new ConfigurationProperty ("", typeof (ProviderSettingsCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); properties = new ConfigurationPropertyCollection (); properties.Add (providersProp); diff --git a/mcs/class/System.Configuration/System.Configuration_test.dll.sources b/mcs/class/System.Configuration/System.Configuration_test.dll.sources index 960dd8db83e..14b6b3122c6 100644 --- a/mcs/class/System.Configuration/System.Configuration_test.dll.sources +++ b/mcs/class/System.Configuration/System.Configuration_test.dll.sources @@ -1,7 +1,6 @@ System.Configuration/CallbackValidatorTest.cs System.Configuration/CommaDelimitedStringCollectionConverterTest.cs System.Configuration/CommaDelimitedStringCollectionTest.cs -System.Configuration/ConfigurationElementTest.cs System.Configuration/ConfigurationLockCollectionTest.cs System.Configuration/ConfigurationPermissionTest.cs System.Configuration/ConfigurationManagerTest.cs diff --git a/mcs/class/System.Configuration/Test/System.Configuration/ConfigurationElementTest.cs b/mcs/class/System.Configuration/Test/System.Configuration/ConfigurationElementTest.cs deleted file mode 100644 index a9e313c3370..00000000000 --- a/mcs/class/System.Configuration/Test/System.Configuration/ConfigurationElementTest.cs +++ /dev/null @@ -1,52 +0,0 @@ -// -// System.Configuration.ConfigurationElementTest.cs - Unit tests -// for System.Configuration.ConfigurationElement. -// -// Author: -// Chris Toshok <toshok@ximian.com> -// -// Copyright (C) 2006 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 - -using System; -using System.Configuration; -using NUnit.Framework; - -namespace MonoTests.System.Configuration { - [TestFixture] - public class ConfigurationElementTest - { - [Test] - public void ElementInformation_validator () { - /* pick a Configuration class that doesn't - * specify an ElementInformation override */ - DefaultSection sect = new DefaultSection(); - ElementInformation info = sect.ElementInformation; - - Assert.AreEqual (typeof (DefaultValidator), info.Validator.GetType(), "A1"); - } - } -} - -#endif diff --git a/mcs/class/System.Data/Mono.Data.SqlExpressions/Aggregation.cs b/mcs/class/System.Data/Mono.Data.SqlExpressions/Aggregation.cs index 2f7e35f2693..ffb3e1e44db 100644 --- a/mcs/class/System.Data/Mono.Data.SqlExpressions/Aggregation.cs +++ b/mcs/class/System.Data/Mono.Data.SqlExpressions/Aggregation.cs @@ -196,7 +196,7 @@ namespace Mono.Data.SqlExpressions { return res; } - public override void ResetExpression () + public override Void ResetExpression () { if (table != null) InvalidateCache (table, null); diff --git a/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog b/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog index c0f8596dc88..237f607562c 100644 --- a/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog +++ b/mcs/class/System.Data/Mono.Data.SqlExpressions/ChangeLog @@ -1,7 +1,3 @@ -2006-01-18 Boris Kirzner <borisk@mainsoft.com> - * ColumnReference.cs: added column and relation lazy evaluation - and caching. - 2006-01-09 Senganal T <tsenganal@novell.com> * Aggregation.cs * Expression.cs diff --git a/mcs/class/System.Data/Mono.Data.SqlExpressions/ColumnReference.cs b/mcs/class/System.Data/Mono.Data.SqlExpressions/ColumnReference.cs index 4e89b437069..0cb357c0b4f 100644 --- a/mcs/class/System.Data/Mono.Data.SqlExpressions/ColumnReference.cs +++ b/mcs/class/System.Data/Mono.Data.SqlExpressions/ColumnReference.cs @@ -33,7 +33,6 @@ using System; using System.Collections; using System.Data; -using System.ComponentModel; namespace Mono.Data.SqlExpressions { internal enum ReferencedTable { @@ -45,8 +44,6 @@ namespace Mono.Data.SqlExpressions { internal class ColumnReference : BaseExpression { ReferencedTable refTable; string relationName, columnName; - DataColumn _cachedColumn; - DataRelation _cachedRelation; public ColumnReference (string columnName) : this (ReferencedTable.Self, null, columnName) {} @@ -91,55 +88,26 @@ namespace Mono.Data.SqlExpressions { get { return refTable; } } - private DataRelation GetRelation (DataRow row) + protected DataRelation GetRelation (DataRow row) { - if (_cachedRelation == null) { - DataTable table = row.Table; - DataRelationCollection relations; - if (relationName != null) { - relations = table.DataSet.Relations; - _cachedRelation = relations [relations.IndexOf (relationName)]; - } - else { - if (refTable == ReferencedTable.Parent) - relations = table.ParentRelations; - else - relations = table.ChildRelations; - - if (relations.Count > 1) - throw new EvaluateException (String.Format ( - "The table [{0}] is involved in more than one relation." + - "You must explicitly mention a relation name.", - table.TableName)); - else - _cachedRelation = relations [0]; - } - _cachedRelation.DataSet.Relations.CollectionChanged += new CollectionChangeEventHandler (OnRelationRemoved); + DataRelationCollection relations; + if (relationName != null) { + relations = row.Table.DataSet.Relations; + return relations[relations.IndexOf(relationName)]; } - return _cachedRelation; - } - - private DataColumn GetColumn (DataRow row) - { - if (_cachedColumn == null) { - DataTable table = row.Table; - switch (refTable) { - case ReferencedTable.Parent: - table = GetRelation (row).ParentTable; - break; - case ReferencedTable.Child: - table = GetRelation (row).ChildTable; - break; - } - - _cachedColumn = table.Columns [columnName]; - if (_cachedColumn == null) - throw new EvaluateException (String.Format ("Cannot find column [{0}].", columnName)); - _cachedColumn.PropertyChanged += new PropertyChangedEventHandler (OnColumnPropertyChanged); - _cachedColumn.Table.Columns.CollectionChanged += new CollectionChangeEventHandler (OnColumnRemoved); - } - return _cachedColumn; + if (refTable == ReferencedTable.Parent) + relations = row.Table.ParentRelations; + else + relations = row.Table.ChildRelations; + + if (relations.Count > 1) + throw new EvaluateException (String.Format ( + "The table [{0}] is involved in more than one relation." + + "You must explicitly mention a relation name.", + row.Table.TableName)); + else + return relations[0]; } public DataRow GetReferencedRow (DataRow row) @@ -178,7 +146,7 @@ namespace Mono.Data.SqlExpressions { { object[] values = new object [rows.Length]; for (int i = 0; i < rows.Length; i++) - values [i] = Unify (rows [i][GetColumn (rows [i])]); + values [i] = Unify (rows [i][columnName]); return values; } @@ -208,7 +176,7 @@ namespace Mono.Data.SqlExpressions { object val; try { referencedRow._inExpressionEvaluation = true; - val = referencedRow [GetColumn (row)]; + val = referencedRow [columnName]; referencedRow._inExpressionEvaluation = false; } catch (IndexOutOfRangeException) { throw new EvaluateException (String.Format ("Cannot find column [{0}].", columnName)); @@ -220,67 +188,5 @@ namespace Mono.Data.SqlExpressions { { return refTable == ReferencedTable.Self && columnName == other.ColumnName; } - - private void DropCached (DataColumnCollection columnCollection, DataRelationCollection relationCollection) - { - if (_cachedColumn != null) { - // unregister column listener - _cachedColumn.PropertyChanged -= new PropertyChangedEventHandler (OnColumnPropertyChanged); - - // unregister column collection listener - if (columnCollection != null) - columnCollection.CollectionChanged -= new CollectionChangeEventHandler (OnColumnRemoved); - else if (_cachedColumn.Table != null) - _cachedColumn.Table.Columns.CollectionChanged -= new CollectionChangeEventHandler (OnColumnRemoved); - - _cachedColumn = null; - } - - if (_cachedRelation != null) { - // unregister relation collection listener - if (relationCollection != null) - relationCollection.CollectionChanged -= new CollectionChangeEventHandler (OnRelationRemoved); - else if (_cachedRelation.DataSet != null) - _cachedRelation.DataSet.Relations.CollectionChanged -= new CollectionChangeEventHandler (OnRelationRemoved); - - _cachedRelation = null; - } - } - - private void OnColumnPropertyChanged (object sender, PropertyChangedEventArgs args) - { - if (!(sender is DataColumn)) - return; - - DataColumn dc = (DataColumn) sender; - if ((dc == _cachedColumn) && args.PropertyName == "ColumnName") - DropCached (null, null); - } - - private void OnColumnRemoved (object sender, CollectionChangeEventArgs args) - { - if (!(args.Element is DataColumnCollection)) - return; - - if (args.Action != CollectionChangeAction.Remove) - return; - - DataColumnCollection columnCollection = (DataColumnCollection) args.Element; - if (_cachedColumn != null && columnCollection != null && (columnCollection.IndexOf (_cachedColumn)) == -1) - DropCached (columnCollection, null); - } - - private void OnRelationRemoved (object sender, CollectionChangeEventArgs args) - { - if (!(args.Element is DataRelationCollection)) - return; - - if (args.Action != CollectionChangeAction.Remove) - return; - - DataRelationCollection relationCollection = (DataRelationCollection) args.Element; - if (_cachedRelation != null && relationCollection != null && (relationCollection.IndexOf (_cachedRelation)) == -1) - DropCached (null, relationCollection); - } } } diff --git a/mcs/class/System.Data/System.Data.Common/ChangeLog b/mcs/class/System.Data/System.Data.Common/ChangeLog index 92ab8e98e7f..a33733f1c38 100644 --- a/mcs/class/System.Data/System.Data.Common/ChangeLog +++ b/mcs/class/System.Data/System.Data.Common/ChangeLog @@ -1,6 +1,3 @@ -2006-01-11 Boris Kirzner <borisk@mainsoft.com> - * Index.cs: removed redundant call to RebuildIndex() in constructor. - 2005-12-12 Konstantin Triger <kostat@mainsoft.com> * Key.cs: Added ContainsVersion function, refactoring. diff --git a/mcs/class/System.Data/System.Data.Common/Index.cs b/mcs/class/System.Data/System.Data.Common/Index.cs index 77d754c6dd5..21c87478f9b 100644 --- a/mcs/class/System.Data/System.Data.Common/Index.cs +++ b/mcs/class/System.Data/System.Data.Common/Index.cs @@ -57,6 +57,7 @@ namespace System.Data.Common {
_key = key;
Reset();
+ RebuildIndex ();
}
#endregion // Constructors
diff --git a/mcs/class/System.Data/System.Data/ChangeLog b/mcs/class/System.Data/System.Data/ChangeLog index 2e1d421d9ad..beec837ac57 100644 --- a/mcs/class/System.Data/System.Data/ChangeLog +++ b/mcs/class/System.Data/System.Data/ChangeLog @@ -1,25 +1,14 @@ -2006-01-18 Boris Kirzner <borisk@mainsoft.com> - * DataColumn.cs: added PropertyCchangedEvent handling. - 2006-01-17 Senganal T <tsenganal@novell.com> - * DataRow.cs: - ItemArray : Modified to raise RowInTableException only if - the concerned row has been removed from the table.Fixes + ItemArray : Modified to raise RowNotInTableException only if + the concerned row has been removed from the table.Fixes bug #77267 -2006-01-16 Boris Kirzner <borisk@mainsoft.com> - * DataTable.cs: Drop dependend indexes on column removal. - -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * CustomDataClassGenerator.cs : - When a DataRelation connects the same table as parent and child, - generate parent row property as BlahRowParent. Fixed bug #77248. - 2006-01-10 Senganal T <tsenganal@novell.com> * DataRowCollection.cs - - Added ListChangedEvent to notify reset of the collection. + - Added ListChangedEvent to signal reset of the collection. + Ideally, all the row collection changes should be notified + thru this event. * DataView.cs - Subscribes to the ListChangedEvent of DataRowCollection Fixes bug #77188 diff --git a/mcs/class/System.Data/System.Data/CustomDataClassGenerator.cs b/mcs/class/System.Data/System.Data/CustomDataClassGenerator.cs index 620f25ea518..5adf0c34ff8 100644 --- a/mcs/class/System.Data/System.Data/CustomDataClassGenerator.cs +++ b/mcs/class/System.Data/System.Data/CustomDataClassGenerator.cs @@ -1355,8 +1355,7 @@ namespace System.Data private CodeMemberProperty CreateRowParentRowProperty (DataTable dt, DataRelation rel) { CodeMemberProperty p = new CodeMemberProperty (); - p.Name = opts.TableMemberName (rel.ParentTable.TableName, gen) + "Row" + - (rel.ParentTable.TableName == rel.ChildTable.TableName ? "Parent" : String.Empty); + p.Name = opts.TableMemberName (rel.ParentTable.TableName, gen) + "Row"; p.Attributes = MemberAttributes.Public; p.Type = TypeRef (opts.RowName (rel.ParentTable.TableName, gen)); p.GetStatements.Add (Return (Cast (p.Type, MethodInvoke ( diff --git a/mcs/class/System.Data/System.Data/DataColumn.cs b/mcs/class/System.Data/System.Data/DataColumn.cs index ff73643a50f..805095e1396 100644 --- a/mcs/class/System.Data/System.Data/DataColumn.cs +++ b/mcs/class/System.Data/System.Data/DataColumn.cs @@ -68,8 +68,6 @@ namespace System.Data { //used for FK Constraint Cascading rules
internal event DelegateColumnValueChange ColumnValueChanging;
-
- internal event PropertyChangedEventHandler PropertyChanged;
#endregion //Events
#region Fields
@@ -774,15 +772,13 @@ namespace System.Data { throw new NotImplementedException ();
}
+ [MonoTODO]
protected internal virtual void
OnPropertyChanging (PropertyChangedEventArgs pcevent) {
- if (PropertyChanged != null)
- PropertyChanged (this, pcevent);
}
+ [MonoTODO]
protected internal void RaisePropertyChanging(string name) {
- PropertyChangedEventArgs e = new PropertyChangedEventArgs (name);
- OnPropertyChanging (e);
}
/// <summary>
diff --git a/mcs/class/System.Data/System.Data/DataTable.cs b/mcs/class/System.Data/System.Data/DataTable.cs index 3029f32226c..6006dd6f6b9 100644 --- a/mcs/class/System.Data/System.Data/DataTable.cs +++ b/mcs/class/System.Data/System.Data/DataTable.cs @@ -1588,16 +1588,6 @@ namespace System.Data { }
}
- internal void DropReferencedIndexes (DataColumn column)
- {
- if (_indexes != null)
- for (int i = _indexes.Count - 1; i >= 0; i--) {
- Index indx = (Index)_indexes [i];
- if (indx.Key.DependsOn (column))
- _indexes.Remove (indx);
- }
- }
-
internal void AddRowToIndexes (DataRow row) {
if (_indexes != null) {
foreach (Index indx in _indexes) {
@@ -1778,8 +1768,8 @@ namespace System.Data { /// <summary>
/// Notifies the DataTable that a DataColumn is being removed.
/// </summary>
+ [MonoTODO]
protected internal virtual void OnRemoveColumn (DataColumn column) {
- DropReferencedIndexes (column);
}
diff --git a/mcs/class/System.Data/System.Data/RelatedDataView.cs b/mcs/class/System.Data/System.Data/RelatedDataView.cs index 11cda548ec5..0ca2248d086 100644 --- a/mcs/class/System.Data/System.Data/RelatedDataView.cs +++ b/mcs/class/System.Data/System.Data/RelatedDataView.cs @@ -108,9 +108,9 @@ namespace System.Data IExpression filter = base.FilterExpression;
return filter != null ? filter.DependsOn(other) : false;
}
-
- void IExpression.ResetExpression() - { +
+ public void ResetExpression ()
+ {
}
#endregion
diff --git a/mcs/class/System.Data/Test/System.Data/ChangeLog b/mcs/class/System.Data/Test/System.Data/ChangeLog index a2494063edc..52063cd1d80 100644 --- a/mcs/class/System.Data/Test/System.Data/ChangeLog +++ b/mcs/class/System.Data/Test/System.Data/ChangeLog @@ -1,16 +1,7 @@ 2006-01-17 Senganal T <tsenganal@novell.com> - - * DataRowTest2.cs : added testcase for bug #77267 - -2006-01-16 Boris Kirzner <borisk@mainsoft.com> - * DataColumnCollectionTest2.cs: added test case for index update on - column removal - -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * TypedDataSetGeneratorTest.cs : added test for bug #77248, but we - cannot enable it since it depends on mcs "installed". - + + * DataRowTest2.cs : added testcase for bug #77267 + 2006-01-10 Senganal T <tsenganal@novell.com> * DataViewTest2.cs - Added testcase for bug #77188 diff --git a/mcs/class/System.Data/Test/System.Data/DataColumnCollectionTest2.cs b/mcs/class/System.Data/Test/System.Data/DataColumnCollectionTest2.cs index 7f13c1a705e..4458d473c8e 100644 --- a/mcs/class/System.Data/Test/System.Data/DataColumnCollectionTest2.cs +++ b/mcs/class/System.Data/Test/System.Data/DataColumnCollectionTest2.cs @@ -763,41 +763,6 @@ namespace MonoTests.System.Data }
}
- [Test]
- public void Test_Indexes ()
- {
- DataTable dt = new DataTable ();
- DataColumn dc = new DataColumn("A");
- dt.Columns.Add (dc);
-
- dc = new DataColumn("B");
- dt.Columns.Add (dc);
-
- dc = new DataColumn("C");
- dt.Columns.Add (dc);
-
- for(int i=0; i < 10; i++) {
- DataRow dr = dt.NewRow ();
- dr ["A"] = i;
- dr ["B"] = i + 1;
- dr ["C"] = i + 2;
- dt.Rows.Add (dr);
- }
-
- DataRow[] rows = dt.Select ("A=5");
- Assert.AreEqual (1, rows.Length);
-
- dt.Columns.Remove ("A");
-
- dc = new DataColumn ("A");
- dc.DefaultValue = 5;
-
- dt.Columns.Add (dc);
-
- rows = dt.Select ("A=5");
- Assert.AreEqual (10, rows.Length);
- }
-
private void Columns_CollectionChanged1(object sender, CollectionChangeEventArgs e)
{
eventOccured = true;
diff --git a/mcs/class/System.Data/Test/System.Data/TypedDataSetGeneratorTest.cs b/mcs/class/System.Data/Test/System.Data/TypedDataSetGeneratorTest.cs index 381824a7c9c..03a16b07123 100644 --- a/mcs/class/System.Data/Test/System.Data/TypedDataSetGeneratorTest.cs +++ b/mcs/class/System.Data/Test/System.Data/TypedDataSetGeneratorTest.cs @@ -30,7 +30,6 @@ using System; -using System.CodeDom; using System.CodeDom.Compiler; using System.Data; using NUnit.Framework; @@ -42,13 +41,10 @@ namespace MonoTests.System.Data public class TypedDataSetGeneratorTest : Assertion { private ICodeGenerator gen; - private ICodeCompiler compiler; public TypedDataSetGeneratorTest () { - CodeDomProvider p = new CSharpCodeProvider (); - gen = p.CreateGenerator (); - compiler = p.CreateCompiler (); + gen = new CSharpCodeProvider ().CreateGenerator (); } [Test] @@ -85,19 +81,5 @@ namespace MonoTests.System.Data AssertEquals ("#12", "\u3042", TypedDataSetGenerator.GenerateIdName ("\u3042", gen)); } - [Test] - [Ignore ("We cannot depend on CodeCompiler since it expects mcs to exist.")] - public void RelationConnectsSameTable () - { - DataSet ds = new DataSet (); - ds.ReadXmlSchema ("Test/System.Data/schemas/bug77248.xsd"); - CodeNamespace cns = new CodeNamespace (); - TypedDataSetGenerator.Generate (ds, cns, gen); - CodeCompileUnit ccu = new CodeCompileUnit (); - ccu.Namespaces.Add (cns); - CompilerResults r = compiler.CompileAssemblyFromDom ( - new CompilerParameters (), ccu); - AssertEquals (0, r.Errors.Count); - } } } diff --git a/mcs/class/System.Data/Test/System.Data/schemas/ChangeLog b/mcs/class/System.Data/Test/System.Data/schemas/ChangeLog index 40d1a362445..66fc83dddf6 100644 --- a/mcs/class/System.Data/Test/System.Data/schemas/ChangeLog +++ b/mcs/class/System.Data/Test/System.Data/schemas/ChangeLog @@ -1,7 +1,3 @@ -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * bug77248.xsd : added. - 2005-01-12 Atsushi Enomoto <atsushi@ximian.com> * test103.xsd : added. diff --git a/mcs/class/System.Data/Test/System.Data/schemas/bug77248.xsd b/mcs/class/System.Data/Test/System.Data/schemas/bug77248.xsd deleted file mode 100644 index 16cb3c7d75a..00000000000 --- a/mcs/class/System.Data/Test/System.Data/schemas/bug77248.xsd +++ /dev/null @@ -1,30 +0,0 @@ -<xs:schema id="Testdataset" targetNamespace="http://tempuri.org/Testdataset.xsd" - xmlns:mstns="http://tempuri.org/Testdataset.xsd" - xmlns="http://tempuri.org/Testdataset.xsd" - xmlns:xs="http://www.w3.org/2001/XMLSchema" - xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" - attributeFormDefault="qualified" elementFormDefault="qualified"> - <xs:element name="Testdataset" msdata:IsDataSet="true"> - <xs:complexType> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="TEST_TREE"> - <xs:complexType> - <xs:sequence> - <xs:element name="NODEID" msdata:ReadOnly="true" - msdata:AutoIncrement="true" type="xs:int" /> - <xs:element name="PARENT_NODEID" type="xs:int" minOccurs="0" /> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:choice> - </xs:complexType> - <xs:unique name="TestdatasetKey6" msdata:PrimaryKey="true"> - <xs:selector xpath=".//mstns:TEST_TREE" /> - <xs:field xpath="mstns:NODEID" /> - </xs:unique> - <xs:keyref name="TEST_TREETEST_TREE" refer="TestdatasetKey6"> - <xs:selector xpath=".//mstns:TEST_TREE" /> - <xs:field xpath="mstns:PARENT_NODEID" /> - </xs:keyref> - </xs:element> -</xs:schema> diff --git a/mcs/class/System.ServiceProcess/System.ServiceProcess/ChangeLog b/mcs/class/System.ServiceProcess/System.ServiceProcess/ChangeLog index e1abfbf8f96..50c806576b2 100644 --- a/mcs/class/System.ServiceProcess/System.ServiceProcess/ChangeLog +++ b/mcs/class/System.ServiceProcess/System.ServiceProcess/ChangeLog @@ -1,7 +1,3 @@ -2006-01-13 Ben Maurer <bmaurer@andrew.cmu.edu> - - * ServiceInstaller.cs: Stubs for 2.0 stuff - 2005-11-14 Marek Safar <marek.safar@seznam.cz> * ServiceController.cs: Simple stub only. diff --git a/mcs/class/System.ServiceProcess/System.ServiceProcess/ServiceInstaller.cs b/mcs/class/System.ServiceProcess/System.ServiceProcess/ServiceInstaller.cs index 8893836cd9c..6d90b7e39ca 100644 --- a/mcs/class/System.ServiceProcess/System.ServiceProcess/ServiceInstaller.cs +++ b/mcs/class/System.ServiceProcess/System.ServiceProcess/ServiceInstaller.cs @@ -39,24 +39,12 @@ namespace System.ServiceProcess public class ServiceInstaller : System.Configuration.Install.ComponentInstaller { public ServiceInstaller () {} - + private string display_name; private string service_name; private string[] services_depended_on; private ServiceStartMode start_type; -#if NET_2_0 - private string description; - public string Description { - get { - return description; - } - set { - description = value; - } - } -#endif - public string DisplayName { get { return display_name; diff --git a/mcs/class/System.Web.Services/ChangeLog b/mcs/class/System.Web.Services/ChangeLog index b72d9054750..19cdd1c20f7 100644 --- a/mcs/class/System.Web.Services/ChangeLog +++ b/mcs/class/System.Web.Services/ChangeLog @@ -1,8 +1,3 @@ -2006-01-09 Chris Toshok <toshok@ximian.com> - - * Makefile (LIB_MCS_FLAGS): if we're building net_2_0, define - CONFIGURATION_2_0 to use the new System.Configuration api. - 2006-01-05 Chris Toshok <toshok@ximian.com> * System.Web.Services_test.dll.sources: enable a bunch of the 2.0 diff --git a/mcs/class/System.Web.Services/Makefile b/mcs/class/System.Web.Services/Makefile index 8b3d63fc879..ba7c2eebb83 100644 --- a/mcs/class/System.Web.Services/Makefile +++ b/mcs/class/System.Web.Services/Makefile @@ -12,7 +12,7 @@ LIB_MCS_FLAGS = \ -r:System.Web.dll ifeq (net_2_0, $(PROFILE)) -LIB_MCS_FLAGS += -r:System.Configuration.dll -d:CONFIGURATION_2_0 +LIB_MCS_FLAGS += -r:System.Configuration.dll endif TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:618 diff --git a/mcs/class/System.Web.Services/System.Web.Services.Configuration/ChangeLog b/mcs/class/System.Web.Services/System.Web.Services.Configuration/ChangeLog index da1c643b568..a7319ff6617 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Configuration/ChangeLog +++ b/mcs/class/System.Web.Services/System.Web.Services.Configuration/ChangeLog @@ -1,15 +1,3 @@ -2006-01-09 Chris Toshok <toshok@ximian.com> - - * SoapEnvelopeProcessingElement.cs: fix dumper output. - - * SoapExtensionTypeElement.cs: same. - - * ProtocolElement.cs: same. - - * WsiProfilesElement.cs: same. - - * WebServicesSection.cs: same. - 2006-01-06 Raja R Harinath <rharinath@novell.com> * TypeElement.cs (TypeElement) [string variant]: Use Type.GetType. diff --git a/mcs/class/System.Web.Services/System.Web.Services.Configuration/ProtocolElement.cs b/mcs/class/System.Web.Services/System.Web.Services.Configuration/ProtocolElement.cs index b000f73afeb..f54ba6ecce4 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Configuration/ProtocolElement.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Configuration/ProtocolElement.cs @@ -42,8 +42,7 @@ namespace System.Web.Services.Configuration { static ProtocolElement () { - nameProp = new ConfigurationProperty ("name", typeof (WebServiceProtocols), WebServiceProtocols.Unknown, - new GenericEnumConverter (typeof (WebServiceProtocols)), null, ConfigurationPropertyOptions.IsKey); + nameProp = new ConfigurationProperty ("name", typeof (WebServiceProtocols), WebServiceProtocols.Unknown, ConfigurationPropertyOptions.IsKey); properties = new ConfigurationPropertyCollection (); properties.Add (nameProp); diff --git a/mcs/class/System.Web.Services/System.Web.Services.Configuration/SoapEnvelopeProcessingElement.cs b/mcs/class/System.Web.Services/System.Web.Services.Configuration/SoapEnvelopeProcessingElement.cs index af5f6dd2206..e7338806585 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Configuration/SoapEnvelopeProcessingElement.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Configuration/SoapEnvelopeProcessingElement.cs @@ -45,9 +45,7 @@ namespace System.Web.Services.Configuration { static SoapEnvelopeProcessingElement () { strictProp = new ConfigurationProperty ("strict", typeof (bool), false); - readTimeoutProp = new ConfigurationProperty ("readTimeout", typeof (int), Int32.MaxValue, - new InfiniteIntConverter(), null, - ConfigurationPropertyOptions.None); + readTimeoutProp = new ConfigurationProperty ("readTimeout", typeof (int), Int32.MaxValue); properties = new ConfigurationPropertyCollection (); properties.Add (strictProp); diff --git a/mcs/class/System.Web.Services/System.Web.Services.Configuration/SoapExtensionTypeElement.cs b/mcs/class/System.Web.Services/System.Web.Services.Configuration/SoapExtensionTypeElement.cs index ba42331b95f..61355e625f4 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Configuration/SoapExtensionTypeElement.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Configuration/SoapExtensionTypeElement.cs @@ -46,11 +46,8 @@ namespace System.Web.Services.Configuration { static SoapExtensionTypeElement () { groupProp = new ConfigurationProperty ("group", typeof (PriorityGroup), PriorityGroup.Low, ConfigurationPropertyOptions.IsKey); - priorityProp = new ConfigurationProperty ("priority", typeof (int), 0, - new Int32Converter(), new IntegerValidator (0, Int32.MaxValue), - ConfigurationPropertyOptions.IsKey); - typeProp = new ConfigurationProperty ("type", typeof (Type), null, - null, null, ConfigurationPropertyOptions.IsKey); + priorityProp = new ConfigurationProperty ("priority", typeof (int), 0, ConfigurationPropertyOptions.IsKey); + typeProp = new ConfigurationProperty ("type", typeof (Type), null, ConfigurationPropertyOptions.IsKey); properties = new ConfigurationPropertyCollection (); properties.Add (groupProp); diff --git a/mcs/class/System.Web.Services/System.Web.Services.Configuration/WebServicesSection.cs b/mcs/class/System.Web.Services/System.Web.Services.Configuration/WebServicesSection.cs index 964917f084c..2aa44f73ac8 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Configuration/WebServicesSection.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Configuration/WebServicesSection.cs @@ -39,7 +39,6 @@ namespace System.Web.Services.Configuration public sealed class WebServicesSection : ConfigurationSection { static ConfigurationProperty conformanceWarningsProp; - static ConfigurationProperty diagnosticsProp; static ConfigurationProperty protocolsProp; static ConfigurationProperty serviceDescriptionFormatExtensionTypesProp; static ConfigurationProperty soapEnvelopeProcessingProp; @@ -53,32 +52,19 @@ namespace System.Web.Services.Configuration static WebServicesSection () { - conformanceWarningsProp = new ConfigurationProperty ("conformanceWarnings", typeof (WsiProfilesElementCollection), null, - null, null, ConfigurationPropertyOptions.None); - diagnosticsProp = new ConfigurationProperty ("diagnostics", typeof (DiagnosticsElement), null, - null, null, ConfigurationPropertyOptions.None); - protocolsProp = new ConfigurationProperty ("protocols", typeof (ProtocolElementCollection), null, - null, null, ConfigurationPropertyOptions.None); - serviceDescriptionFormatExtensionTypesProp = new ConfigurationProperty ("serviceDescriptionFormatExtensionTypes", typeof (TypeElementCollection), null, - null, null, ConfigurationPropertyOptions.None); - soapEnvelopeProcessingProp = new ConfigurationProperty ("soapEnvelopeProcessing", typeof (SoapEnvelopeProcessingElement), null, - null, null, ConfigurationPropertyOptions.None); - soapExtensionImporterTypesProp = new ConfigurationProperty ("soapExtensionImporterTypes", typeof (TypeElementCollection), null, - null, null, ConfigurationPropertyOptions.None); - soapExtensionReflectorTypesProp = new ConfigurationProperty ("soapExtensionReflectorTypes", typeof (TypeElementCollection), null, - null, null, ConfigurationPropertyOptions.None); - soapExtensionTypesProp = new ConfigurationProperty ("soapExtensionTypes", typeof (SoapExtensionTypeElementCollection), null, - null, null, ConfigurationPropertyOptions.None); - soapServerProtocolFactoryProp = new ConfigurationProperty ("soapServerProtocolFactory", typeof (TypeElement), null, - null, null, ConfigurationPropertyOptions.None); - soapTransportImporterTypesProp = new ConfigurationProperty ("soapTransportImporterTypes", typeof (TypeElementCollection), null, - null, null, ConfigurationPropertyOptions.None); - wsdlHelpGeneratorProp = new ConfigurationProperty ("wsdlHelpGenerator", typeof (WsdlHelpGeneratorElement), null, - null, null, ConfigurationPropertyOptions.None); + conformanceWarningsProp = new ConfigurationProperty ("conformanceWarnings", typeof (WsiProfilesElementCollection)); + protocolsProp = new ConfigurationProperty ("protocols", typeof (ProtocolElementCollection)); + serviceDescriptionFormatExtensionTypesProp = new ConfigurationProperty ("serviceDescriptionFormatExtensionTypes", typeof (TypeElementCollection)); + soapEnvelopeProcessingProp = new ConfigurationProperty ("soapEnvelopeProcessing", typeof (SoapEnvelopeProcessingElement)); + soapExtensionImporterTypesProp = new ConfigurationProperty ("soapExtensionImporterTypes", typeof (TypeElementCollection)); + soapExtensionReflectorTypesProp = new ConfigurationProperty ("soapExtensionReflectorTypes", typeof (TypeElementCollection)); + soapExtensionTypesProp = new ConfigurationProperty ("soapExtensionTypes", typeof (SoapExtensionTypeElementCollection)); + soapServerProtocolFactoryProp = new ConfigurationProperty ("soapServerProtocolFactory", typeof (TypeElement)); + soapTransportImporterTypesProp = new ConfigurationProperty ("soapTransportImporterTypes", typeof (TypeElementCollection)); + wsdlHelpGeneratorProp = new ConfigurationProperty ("wsdlHelpGenerator", typeof (WsdlHelpGeneratorElement)); properties = new ConfigurationPropertyCollection (); properties.Add (conformanceWarningsProp); - properties.Add (diagnosticsProp); properties.Add (protocolsProp); properties.Add (serviceDescriptionFormatExtensionTypesProp); properties.Add (soapEnvelopeProcessingProp); @@ -115,9 +101,10 @@ namespace System.Web.Services.Configuration get { throw new NotImplementedException (); } } + [MonoTODO ("why doesn't this have a ConfigurationPropertyAttribute?")] public DiagnosticsElement Diagnostics { - get { return (DiagnosticsElement) base [diagnosticsProp]; } - set { base[diagnosticsProp] = value; } + get { throw new NotImplementedException (); } + set { throw new NotImplementedException (); } } [MonoTODO] @@ -189,7 +176,7 @@ namespace System.Web.Services.Configuration internal static bool IsSupported (WebServiceProtocols proto) { - return ((Instance.EnabledProtocols & proto) == proto && (proto != WebServiceProtocols.Unknown)); + return ((Instance.EnabledProtocols & proto) == proto && (proto != 0)); } } diff --git a/mcs/class/System.Web.Services/System.Web.Services.Configuration/WsiProfilesElement.cs b/mcs/class/System.Web.Services/System.Web.Services.Configuration/WsiProfilesElement.cs index 383bfff22b8..193ccc44205 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Configuration/WsiProfilesElement.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Configuration/WsiProfilesElement.cs @@ -43,10 +43,7 @@ namespace System.Web.Services.Configuration { static WsiProfilesElement () { - nameProp = new ConfigurationProperty ("name", typeof (WsiProfiles), WsiProfiles.None, - new GenericEnumConverter (typeof (WsiProfiles)), - null, - ConfigurationPropertyOptions.IsKey); + nameProp = new ConfigurationProperty ("name", typeof (WsiProfiles), WsiProfiles.None, ConfigurationPropertyOptions.IsKey); properties = new ConfigurationPropertyCollection (); properties.Add (nameProp); diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog b/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog index 8bbfdefa2e3..aea99df8b89 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog @@ -1,7 +1,3 @@ -2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu> - - * WebClientProtocol.cs: Add a 2.0 stub - 2006-01-04 Chris Toshok <toshok@ximian.com> * SoapDocumentationHandler.cs: add CONFIGURATION_2_0 stuff. diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientProtocol.cs index 4c3f70a16e9..a56615b44dd 100644 --- a/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientProtocol.cs +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientProtocol.cs @@ -138,13 +138,6 @@ namespace System.Web.Services.Protocols { uri = new Uri (url);
}
}
-#if NET_2_0
- [MonoTODO]
- public bool UseDefaultCredentials {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
- }
-#endif
#endregion // Properties
diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/ChangeLog b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/ChangeLog index 2462dff8fa1..fc2b58a80e4 100644 --- a/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/ChangeLog +++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/ChangeLog @@ -1,8 +1,3 @@ -2006-01-13 Raja R Harinath <rharinath@novell.com> - - * TypeElementTest.cs (Ctors1): Don't expect a null-reference - exception. - 2003-05-13 Martin Willemoes Hansen <mwh@sysrq.dk> * XmlFormatExtensionAttributeTest.cs: Inherits from Assertion and Assertion. prefixes removed. diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/SoapExtensionTypeElementTest.cs b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/SoapExtensionTypeElementTest.cs index 92294f4218d..718b48d99a7 100644 --- a/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/SoapExtensionTypeElementTest.cs +++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/SoapExtensionTypeElementTest.cs @@ -30,7 +30,6 @@ #if NET_2_0 using System; -using System.Configuration; using System.Web.Services.Configuration; using NUnit.Framework; @@ -72,22 +71,6 @@ namespace MonoTests.System.Web.Services { el.Type = typeof (string); Assert.AreEqual (typeof (string), el.Type, "A3"); } - - [Test] - [ExpectedException (typeof (ConfigurationErrorsException))] - public void PriorityValidator1 () - { - SoapExtensionTypeElement el = new SoapExtensionTypeElement (); - el.Priority = -1; - } - - [Test] - public void PriorityValidator2 () - { - SoapExtensionTypeElement el = new SoapExtensionTypeElement (); - el.Priority = 0; - el.Priority = Int32.MaxValue; - } } } diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/TypeElementTest.cs b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/TypeElementTest.cs index 78b4d692c11..46722240634 100644 --- a/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/TypeElementTest.cs +++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/TypeElementTest.cs @@ -33,21 +33,15 @@ using System; using System.Web.Services.Configuration; using NUnit.Framework; -namespace MonoTests.System.Web.Services.Configuration { +namespace MonoTests.System.Web.Services { [TestFixture] public class TypeElementTest { [Test] - public void Ctors1 () + public void Ctors () { TypeElement el = new TypeElement (); Assert.IsNull (el.Type, "A1"); - } - - [Test] - public void Ctors2 () - { - TypeElement el; el = new TypeElement (typeof (string)); Assert.AreEqual (typeof (string), el.Type, "A2"); diff --git a/mcs/class/System.Web/ChangeLog b/mcs/class/System.Web/ChangeLog index 6882b1f3f33..dff52aa9a9b 100644 --- a/mcs/class/System.Web/ChangeLog +++ b/mcs/class/System.Web/ChangeLog @@ -1,22 +1,3 @@ -2006-01-19 Raja R Harinath <rharinath@novell.com> - - * Makefile (LIBRARY_USE_INTERMEDIATE_FILE) [net_2_0]: Set, so as - to avoid sharing violations on Windows. - -2006-01-18 Chris Toshok <toshok@ximian.com> - - * Makefile: Add build foo to handle the System.Web.dll <-> - System.Web.Services.dll cyclic dependencies. - -2006-01-09 Chris Toshok <toshok@ximian.com> - - * Makefile (OTHER_LIB_MCS_FLAGS): if we're building net_2_0, - define CONFIGURATION_2_0 to use the new System.Configuration api. - -2006-01-08 Konstantin Triger <kostat@mainsoft.com> - - * System.Web.vmwcsproj: fixing compilation. - 2005-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> * System.Web_test.dll.sources: add new file. diff --git a/mcs/class/System.Web/Makefile b/mcs/class/System.Web/Makefile index d4f96f0ff21..7b6e0a1c991 100644 --- a/mcs/class/System.Web/Makefile +++ b/mcs/class/System.Web/Makefile @@ -2,22 +2,6 @@ thisdir = class/System.Web SUBDIRS = Test include ../../build/rules.make -LIBRARY = System.Web.dll - -ifeq (net_2_0, $(PROFILE)) - -LIBRARY_USE_INTERMEDIATE_FILE = yes - -# Because System.Web.dll and System.Web.Services.dll have a cyclic dependency, we need a two-pass build. -# 1st pass - build System.Web.dll without System.Web.Services.dll reference -# 2nd pass - build System.Web.dll with System.Web.Services.dll reference - -WEBSERVICES_DEP := System.Web.Services.dll -WEBSERVICES_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(WEBSERVICES_DEP)) -CYCLIC_DEPS := $(WEBSERVICES_DEP) -CYCLIC_DEP_FILES := $(WEBSERVICES_DEP_FILE) -endif - RESOURCE_FILES_1= \ resources/WebUIValidation.js @@ -65,10 +49,11 @@ RESOURCE_FILES_2 = \ OTHER_RES = $(RESOURCE_FILES_1) ifeq (net_2_0, $(PROFILE)) OTHER_RES += $(RESOURCE_FILES_2) -OTHER_LIB_MCS_FLAGS = -r:System.Configuration.dll -d:CONFIGURATION_2_0 +OTHER_LIB_MCS_FLAGS = -r:System.Configuration.dll endif +LIBRARY = System.Web.dll LIB_MCS_FLAGS = \ -unsafe \ -nowarn:612,649 \ @@ -81,25 +66,8 @@ LIB_MCS_FLAGS = \ $(OTHER_LIB_MCS_FLAGS) \ $(OTHER_RES:%=/resource:%) -ifneq ($(CYCLIC_DEPS:%=../lib/$(PROFILE)/%), $(CYCLIC_DEP_FILES)) -NO_SIGN_ASSEMBLY = yes -NO_INSTALL = yes -all-local: echo-warning -.PHONY: echo-warning - -ifeq (, $(strip $(CYCLIC_DEP_FILES))) -echo-warning: - @echo "** Warning: System.Web.dll built without parts that depend on: $(CYCLIC_DEPS)" -endif -endif - TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:219 -nowarn:169 EXTRA_DISTFILES = $(RESOURCE_FILES_2) $(RESOURCE_FILES_1) include ../../build/library.make - -ifdef WEBSERVICES_DEP_FILE -LIB_MCS_FLAGS += -define:WEBSERVICES_DEP -r:$(WEBSERVICES_DEP) -$(the_lib): $(WEBSERVICES_DEP_FILE) -endif diff --git a/mcs/class/System.Web/System.Web.Compilation/AppSettingsExpressionBuilder.cs b/mcs/class/System.Web/System.Web.Compilation/AppSettingsExpressionBuilder.cs deleted file mode 100644 index c425fa60f7a..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/AppSettingsExpressionBuilder.cs +++ /dev/null @@ -1,85 +0,0 @@ -// -// System.Web.Compilation.AppSettingsExpressionBuilder -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.CodeDom; -using System.Web.UI; -#if notyet -using System.Web.UI.Design; -#endif - -namespace System.Web.Compilation { - -#if notyet - [ExpressionEditor(typeof (AppSettingsExpressionEditor))] -#endif - [ExpressionPrefix("AppSettings")] - public class AppSettingsExpressionBuilder : ExpressionBuilder { - - public AppSettingsExpressionBuilder () - { - } - - [MonoTODO] - public override object EvaluateExpression (object target, BoundPropertyEntry entry, object parsedData, ExpressionBuilderContext context) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static object GetAppSetting (string key) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static object GetAppSetting (string key, Type targetType, string propertyName) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public override CodeExpression GetCodeExpression (BoundPropertyEntry entry, object parsedData, ExpressionBuilderContext context) - { - throw new NotImplementedException (); - } - - public override bool SupportsEvaluate { - get { return true; } - } - } - -} - -#endif - - diff --git a/mcs/class/System.Web/System.Web.Compilation/AssemblyBuilder.cs b/mcs/class/System.Web/System.Web.Compilation/AssemblyBuilder.cs deleted file mode 100644 index bd6685cdc05..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/AssemblyBuilder.cs +++ /dev/null @@ -1,94 +0,0 @@ -// -// System.Web.Compilation.AssemblyBuilder -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.CodeDom; -using System.CodeDom.Compiler; -using System.IO; -using System.Reflection; - -namespace System.Web.Compilation { - - public class AssemblyBuilder { - - internal AssemblyBuilder () - { - } - - [MonoTODO] - public void AddAssemblyReference (Assembly a) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public void AddCodeCompileUnit (BuildProvider buildProvider, CodeCompileUnit compileUnit) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public TextWriter CreateCodeFile (BuildProvider buildProvider) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public Stream CreateEmbeddedResource (BuildProvider buildProvider, string name) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public void GenerateTypeFactory (string typeName) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public string GetTempFilePhysicalPath (string extension) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public CodeDomProvider CodeDomProvider { - get { - throw new NotImplementedException (); - } - } - - } - -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/BuildDependencySet.cs b/mcs/class/System.Web/System.Web.Compilation/BuildDependencySet.cs deleted file mode 100644 index a97f10d1ca5..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/BuildDependencySet.cs +++ /dev/null @@ -1,61 +0,0 @@ -// -// System.Web.Compilation.BuildDependencySet -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.Collections; - -namespace System.Web.Compilation { - - public sealed class BuildDependencySet { - - internal BuildDependencySet () - { - } - - [MonoTODO] - public string HashCode { - get { - throw new NotImplementedException (); - } - } - - [MonoTODO] - public IEnumerable VirtualPaths { - get { - throw new NotImplementedException (); - } - } - } - -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/BuildManager.cs b/mcs/class/System.Web/System.Web.Compilation/BuildManager.cs deleted file mode 100644 index 9aa8c1969a1..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/BuildManager.cs +++ /dev/null @@ -1,103 +0,0 @@ -// -// System.Web.Compilation.BuildManager -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.Collections; -using System.Reflection; -using System.Web; - -namespace System.Web.Compilation { - public sealed class BuildManager { - - internal BuildManager () - { - } - - [MonoTODO] - public static object CreateInstanceFromVirtualPath (string virtualPath, Type requiredBaseType) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static BuildDependencySet GetCachedBuildDependencySet (HttpContext context, string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static Assembly GetCompiledAssembly (string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static string GetCompiledCustomString (string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static Type GetCompiledType (string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static Type GetType (string typeName, bool throwOnError) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static Type GetType (string typeName, bool throwOnError, bool ignoreCase) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static ICollection GetVirtualPathDependencies (string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static IList CodeAssemblies { - get { - throw new NotImplementedException (); - } - } - - } -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/BuildManagerHostUnloadEventArgs.cs b/mcs/class/System.Web/System.Web.Compilation/BuildManagerHostUnloadEventArgs.cs deleted file mode 100644 index ee79de7ca35..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/BuildManagerHostUnloadEventArgs.cs +++ /dev/null @@ -1,55 +0,0 @@ -// -// System.Web.Compilation.BuildManagerHostUnloadEventArgs -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.Web; - -namespace System.Web.Compilation { - - public class BuildManagerHostUnloadEventArgs : EventArgs - { - ApplicationShutdownReason reason; - - public BuildManagerHostUnloadEventArgs (ApplicationShutdownReason reason) - { - this.reason = reason; - } - - public ApplicationShutdownReason Reason { - get { return reason; } - } - - } - -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/BuildManagerHostUnloadEventHandler.cs b/mcs/class/System.Web/System.Web.Compilation/BuildManagerHostUnloadEventHandler.cs deleted file mode 100644 index 7e401bbe899..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/BuildManagerHostUnloadEventHandler.cs +++ /dev/null @@ -1,37 +0,0 @@ -// -// System.Web.Compilation.BuildManagerHostUnloadEventHandler -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 System.Web.Compilation { - public delegate void BuildManagerHostUnloadEventHandler(object sender, BuildManagerHostUnloadEventArgs e); -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/BuildProvider.cs b/mcs/class/System.Web/System.Web.Compilation/BuildProvider.cs deleted file mode 100644 index 714712cd390..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/BuildProvider.cs +++ /dev/null @@ -1,135 +0,0 @@ -// -// System.Web.Compilation.BuildProvider -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.CodeDom.Compiler; -using System.Collections; -using System.IO; - -namespace System.Web.Compilation { - - public abstract class BuildProvider { - protected BuildProvider() - { - } - - [MonoTODO] - public virtual void GenerateCode (AssemblyBuilder assemblyBuilder) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public virtual string GetCustomString (CompilerResults results) - { - throw new NotImplementedException (); - } - - [MonoTODO] - protected CompilerType GetDefaultCompilerType () - { - throw new NotImplementedException (); - } - - [MonoTODO] - protected CompilerType GetDefaultCompilerTypeForLanguage (string language) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public virtual Type GetGeneratedType (CompilerResults results) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public virtual BuildProviderResultFlags GetResultFlags (CompilerResults results) - { - throw new NotImplementedException (); - } - - [MonoTODO] - protected TextReader OpenReader () - { - throw new NotImplementedException (); - } - - [MonoTODO] - protected TextReader OpenReader (string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - protected Stream OpenStream () - { - throw new NotImplementedException (); - } - - [MonoTODO] - protected Stream OpenStream (string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public virtual CompilerType CodeCompilerType { - get { - throw new NotImplementedException (); - } - } - - [MonoTODO] - protected ICollection ReferencedAssemblies { - get { - throw new NotImplementedException (); - } - } - - [MonoTODO] - protected internal string VirtualPath { - get { - throw new NotImplementedException (); - } - } - - [MonoTODO] - public virtual ICollection VirtualPathDependencies { - get { - throw new NotImplementedException (); - } - } - } -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesTo.cs b/mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesTo.cs deleted file mode 100644 index 89357f7b936..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesTo.cs +++ /dev/null @@ -1,46 +0,0 @@ -// -// System.Web.Compilation.BuildProviderAppliesTo -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 System.Web.Compilation { - - [Flags] - public enum BuildProviderAppliesTo - { - Web = 1, /* generate code from files in directories *other* than App_Code, - App_LocalResources, and App_GlobalResources */ - Code = 1 << 1, /* generate code only for App_Code/* */ - Resources = 1 << 2, /* generate code only for App_LocalResources/* and App_GlobalResources/* */ - All = 7 /* generate code for everything. default value for the attribute */ - } -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesToAttribute.cs b/mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesToAttribute.cs deleted file mode 100644 index b9302aad859..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesToAttribute.cs +++ /dev/null @@ -1,52 +0,0 @@ -// -// System.Web.Compilation.BuildProviderAppliesToAttribute -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 System.Web.Compilation { - - [AttributeUsage (AttributeTargets.Class)] - public sealed class BuildProviderAppliesToAttribute : Attribute - { - BuildProviderAppliesTo appliesTo; - - public BuildProviderAppliesToAttribute (BuildProviderAppliesTo appliesTo) - { - this.appliesTo = appliesTo; - } - - public BuildProviderAppliesTo AppliesTo { - get { return appliesTo; } - } - } - -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/BuildProviderResultFlags.cs b/mcs/class/System.Web/System.Web.Compilation/BuildProviderResultFlags.cs index f11f21185ff..3cd3ea5723a 100644 --- a/mcs/class/System.Web/System.Web.Compilation/BuildProviderResultFlags.cs +++ b/mcs/class/System.Web/System.Web.Compilation/BuildProviderResultFlags.cs @@ -29,10 +29,9 @@ using System.Resources; #if NET_2_0 - namespace System.Web.Compilation { - [Flags] + [Serializable, Flags] public enum BuildProviderResultFlags { Default = 0, diff --git a/mcs/class/System.Web/System.Web.Compilation/ClientBuildManager.cs b/mcs/class/System.Web/System.Web.Compilation/ClientBuildManager.cs deleted file mode 100644 index 0565a3600cf..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/ClientBuildManager.cs +++ /dev/null @@ -1,222 +0,0 @@ -// -// System.Web.Compilation.ClientBuildManager -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.CodeDom; -using System.CodeDom.Compiler; -using System.Collections; -using System.Web; -using System.Web.Hosting; - -namespace System.Web.Compilation { - - public sealed class ClientBuildManager : MarshalByRefObject, IDisposable - { - [MonoTODO] - public ClientBuildManager (string appVirtualDir, string appPhysicalSourceDir) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public ClientBuildManager (string appVirtualDir, string appPhysicalSourceDir, string appPhysicalTargetDir) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public ClientBuildManager (string appVirtualDir, string appPhysicalSourceDir, string appPhysicalTargetDir, ClientBuildManagerParameter parameter) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public void CompileApplicationDependencies () - { - throw new NotImplementedException (); - } - - [MonoTODO] - public void CompileFile (string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public void CompileFile (string virtualPath, ClientBuildManagerCallback callback) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public IRegisteredObject CreateObject (Type type, bool failIfExists) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public string GenerateCode (string virtualPath, string virtualFileString, out IDictionary linePragmasTable) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public CodeCompileUnit GenerateCodeCompileUnit (string virtualPath, string virtualFileString, out Type codeDomProviderType, out CompilerParameters compilerParameters, out IDictionary linePragmasTable) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public CodeCompileUnit GenerateCodeCompileUnit (string virtualPath, out Type codeDomProviderType, out CompilerParameters compilerParameters, out IDictionary linePragmasTable) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public string[ ] GetAppDomainShutdownDirectories () - { - throw new NotImplementedException (); - } - - [MonoTODO] - public IDictionary GetBrowserDefinitions () - { - throw new NotImplementedException (); - } - - [MonoTODO] - public void GetCodeDirectoryInformation (string virtualCodeDir, out Type codeDomProviderType, out CompilerParameters compilerParameters, out string generatedFilesDir) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public Type GetCompiledType (string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public void GetCompilerParameters (string virtualPath, out Type codeDomProviderType, out CompilerParameters compilerParameters) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public string GetGeneratedFileVirtualPath (string filePath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public string GetGeneratedSourceFile (string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public string[ ] GetTopLevelAssemblyReferences (string virtualPath) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public string[ ] GetVirtualCodeDirectories () - { - throw new NotImplementedException (); - } - - public override object InitializeLifetimeService () - { - return null; - } - - [MonoTODO] - public bool IsCodeAssembly (string assemblyName) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public void PrecompileApplication () - { - throw new NotImplementedException (); - } - - [MonoTODO] - public void PrecompileApplication (ClientBuildManagerCallback callback) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public void PrecompileApplication (ClientBuildManagerCallback callback, bool forceCleanBuild) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public bool Unload () - { - throw new NotImplementedException (); - } - - [MonoTODO] - public string CodeGenDir { - get { - throw new NotImplementedException (); - } - } - - [MonoTODO] - public bool IsHostCreated { - get { - throw new NotImplementedException (); - } - } - - public event BuildManagerHostUnloadEventHandler AppDomainShutdown; - public event EventHandler AppDomainStarted; - public event BuildManagerHostUnloadEventHandler AppDomainUnloaded; - - - [MonoTODO] - void IDisposable.Dispose () - { - throw new NotImplementedException (); - } - - } - -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/ClientBuildManagerCallback.cs b/mcs/class/System.Web/System.Web.Compilation/ClientBuildManagerCallback.cs deleted file mode 100644 index e31afb1e3e4..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/ClientBuildManagerCallback.cs +++ /dev/null @@ -1,64 +0,0 @@ -// -// System.Web.Compilation.ClientBuildManagerCallback -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.CodeDom.Compiler; -using System.Web; - -namespace System.Web.Compilation { - public class ClientBuildManagerCallback : MarshalByRefObject - { - public ClientBuildManagerCallback () - { - } - - [MonoTODO] - public virtual void ReportCompilerError (CompilerError error) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public virtual void ReportParseError (ParserError error) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public virtual void ReportProgress (string message) - { - throw new NotImplementedException (); - } - } -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/ClientBuildManagerParameter.cs b/mcs/class/System.Web/System.Web.Compilation/ClientBuildManagerParameter.cs deleted file mode 100644 index a867b2a5bab..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/ClientBuildManagerParameter.cs +++ /dev/null @@ -1,79 +0,0 @@ -// -// System.Web.Compilation.ClientBuildManagerParameter -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.CodeDom.Compiler; -using System.Web; - -namespace System.Web.Compilation { - - [Serializable] - public class ClientBuildManagerParameter - { - public ClientBuildManagerParameter () - { - } - - [MonoTODO] - public PrecompilationFlags PrecompilationFlags { - get { - throw new NotImplementedException (); - } - set { - throw new NotImplementedException (); - } - } - - [MonoTODO] - public string StrongNameKeyContainer { - get { - throw new NotImplementedException (); - } - set { - throw new NotImplementedException (); - } - } - - [MonoTODO] - public string StrongNameKeyFile { - get { - throw new NotImplementedException (); - } - set { - throw new NotImplementedException (); - } - } - - } -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/CompilerType.cs b/mcs/class/System.Web/System.Web.Compilation/CompilerType.cs deleted file mode 100644 index 4600ee5d3be..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/CompilerType.cs +++ /dev/null @@ -1,75 +0,0 @@ -// -// System.Web.Compilation.CompilerType -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.CodeDom.Compiler; - -namespace System.Web.Compilation { - - public sealed class CompilerType { - - internal CompilerType () - { - } - - [MonoTODO] - public override bool Equals(object o) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public override int GetHashCode() - { - throw new NotImplementedException (); - } - - [MonoTODO] - public Type CodeDomProviderType { - get { - throw new NotImplementedException (); - } - } - - [MonoTODO] - public CompilerParameters CompilerParameters { - get { - throw new NotImplementedException (); - } - } - - } -} - -#endif - - diff --git a/mcs/class/System.Web/System.Web.Compilation/ConnectionStringsExpressionBuilder.cs b/mcs/class/System.Web/System.Web.Compilation/ConnectionStringsExpressionBuilder.cs deleted file mode 100644 index dd93eeef322..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/ConnectionStringsExpressionBuilder.cs +++ /dev/null @@ -1,91 +0,0 @@ -// -// System.Web.Compilation.ConnectionStringsExpressionBuilder -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.CodeDom; -using System.Web.UI; -#if notyet -using System.Web.UI.Design; -#endif - -namespace System.Web.Compilation { - -#if notyet - [ExpressionEditor(typeof (ConnectionStringsExpressionEditor))] -#endif - [ExpressionPrefix("ConnectionStrings")] - public class ConnectionStringsExpressionBuilder : ExpressionBuilder { - - public ConnectionStringsExpressionBuilder () - { - } - - [MonoTODO] - public override object EvaluateExpression (object target, BoundPropertyEntry entry, object parsedData, ExpressionBuilderContext context) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public override CodeExpression GetCodeExpression (BoundPropertyEntry entry, object parsedData, ExpressionBuilderContext context) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static string GetConnectionString (string connectionStringName) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static string GetConnectionStringProviderName (string connectionStringName) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public override object ParseExpression (string expression, Type propertyType, ExpressionBuilderContext context) - { - throw new NotImplementedException (); - } - - public override bool SupportsEvaluate { - get { return true; } - } - } - -} - -#endif - - diff --git a/mcs/class/System.Web/System.Web.Compilation/DesignTimeResourceProviderFactoryAttribute.cs b/mcs/class/System.Web/System.Web.Compilation/DesignTimeResourceProviderFactoryAttribute.cs deleted file mode 100644 index 9204cad1066..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/DesignTimeResourceProviderFactoryAttribute.cs +++ /dev/null @@ -1,67 +0,0 @@ -// -// System.Web.Compilation.DesignTimeResourceProviderFactoryAttribute -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.CodeDom; -using System.Web.UI; - -namespace System.Web.Compilation { - - [AttributeUsage (AttributeTargets.Class)] - public sealed class DesignTimeResourceProviderFactoryAttribute : Attribute - { - string factoryTypeName; - - public DesignTimeResourceProviderFactoryAttribute (string factoryTypeName) - { - this.factoryTypeName = factoryTypeName; - } - - public DesignTimeResourceProviderFactoryAttribute (System.Type factoryType) - { - this.factoryTypeName = factoryType.AssemblyQualifiedName; - } - - public override bool IsDefaultAttribute () - { - return factoryTypeName == null; - } - - public string FactoryTypeName { - get { return factoryTypeName; } - } - - } - -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/Directive.cs b/mcs/class/System.Web/System.Web.Compilation/Directive.cs index a9fea61240d..7f2262ac328 100644 --- a/mcs/class/System.Web/System.Web.Compilation/Directive.cs +++ b/mcs/class/System.Web/System.Web.Compilation/Directive.cs @@ -40,11 +40,7 @@ namespace System.Web.Compilation static string [] page_atts = { "AspCompat", "AutoEventWireup", "Buffer", "ClassName", "ClientTarget", "CodePage", "CompilerOptions", "ContentType", "Culture", "Debug", - "Description", -#if NET_2_0 - "EnableEventValidation", -#endif - "EnableSessionState", "EnableViewState", + "Description", "EnableSessionState", "EnableViewState", "EnableViewStateMac", "ErrorPage", "Explicit", "Inherits", "Language", "LCID", "ResponseEncoding", "Src", "SmartNavigation", "Strict", "Trace", diff --git a/mcs/class/System.Web/System.Web.Compilation/ExpressionBuilder.cs b/mcs/class/System.Web/System.Web.Compilation/ExpressionBuilder.cs index 4863f9be199..d8e0d25e3b7 100644 --- a/mcs/class/System.Web/System.Web.Compilation/ExpressionBuilder.cs +++ b/mcs/class/System.Web/System.Web.Compilation/ExpressionBuilder.cs @@ -38,23 +38,18 @@ namespace System.Web.Compilation { } - public abstract CodeExpression GetCodeExpression (BoundPropertyEntry entry, object parsedData, - ExpressionBuilderContext context); - - public virtual object EvaluateExpression (object target, BoundPropertyEntry entry, object parsedData, - ExpressionBuilderContext context) - { - return null; + public virtual bool SupportsEvaluate { + get { return false; } } - public virtual object ParseExpression (string expression, Type propertyType, ExpressionBuilderContext context) + public virtual object EvaluateExpression (object target, BoundPropertyEntry entry, object parsedData, + ExpressionBuilderContext context) { return null; } - public virtual bool SupportsEvaluate { - get { return false; } - } + public abstract CodeExpression GetCodeExpression (BoundPropertyEntry entry, object parsedData, + ExpressionBuilderContext context); } } diff --git a/mcs/class/System.Web/System.Web.Compilation/ExpressionBuilderContext.cs b/mcs/class/System.Web/System.Web.Compilation/ExpressionBuilderContext.cs index 585c2519360..e095dc9e2e1 100644 --- a/mcs/class/System.Web/System.Web.Compilation/ExpressionBuilderContext.cs +++ b/mcs/class/System.Web/System.Web.Compilation/ExpressionBuilderContext.cs @@ -33,7 +33,7 @@ using System.Web.UI; namespace System.Web.Compilation { - public sealed class ExpressionBuilderContext { + public class ExpressionBuilderContext { TemplateControl tcontrol; string vpath; diff --git a/mcs/class/System.Web/System.Web.Compilation/ExpressionEditorAttribute.cs b/mcs/class/System.Web/System.Web.Compilation/ExpressionEditorAttribute.cs deleted file mode 100644 index 646cef4c938..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/ExpressionEditorAttribute.cs +++ /dev/null @@ -1,69 +0,0 @@ -// -// System.Web.Compilation.ExpressionEditorAttribute -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 System.Web.Compilation { - - [AttributeUsage (AttributeTargets.Class)] - public sealed class ExpressionEditorAttribute : Attribute - { - string typeName; - - public ExpressionEditorAttribute (string typeName) - { - this.typeName = typeName; - } - - public ExpressionEditorAttribute (Type type) - { - this.typeName = type.AssemblyQualifiedName; - } - - public string EditorTypeName { - get { return typeName; } - } - - [MonoTODO] - public override bool Equals (object obj) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public override int GetHashCode () - { - throw new NotImplementedException (); - } - - } -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/ExpressionPrefixAttribute.cs b/mcs/class/System.Web/System.Web.Compilation/ExpressionPrefixAttribute.cs deleted file mode 100644 index 47f2732684a..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/ExpressionPrefixAttribute.cs +++ /dev/null @@ -1,51 +0,0 @@ -// -// System.Web.Compilation.ExpressionPrefixAttribute -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 System.Web.Compilation { - - [AttributeUsage (AttributeTargets.Class)] - public sealed class ExpressionPrefixAttribute : Attribute - { - string expressionPrefix; - - public ExpressionPrefixAttribute (string expressionPrefix) - { - this.expressionPrefix = expressionPrefix; - } - - public string ExpressionPrefix { - get { return expressionPrefix; } - } - } -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/IAssemblyPostProcessor.cs b/mcs/class/System.Web/System.Web.Compilation/IAssemblyPostProcessor.cs deleted file mode 100644 index 9b2797608c4..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/IAssemblyPostProcessor.cs +++ /dev/null @@ -1,41 +0,0 @@ -// -// System.Web.Compilation.IAssemblyPostProcessor -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 System.Web.Compilation { - - public interface IAssemblyPostProcessor : IDisposable - { - void PostProcessAssembly (string path); - } -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/IImplicitResourceProvider.cs b/mcs/class/System.Web/System.Web.Compilation/IImplicitResourceProvider.cs index eb27062de54..3e2c38ff5db 100644 --- a/mcs/class/System.Web/System.Web.Compilation/IImplicitResourceProvider.cs +++ b/mcs/class/System.Web/System.Web.Compilation/IImplicitResourceProvider.cs @@ -36,7 +36,7 @@ namespace System.Web.Compilation public interface IImplicitResourceProvider { object GetObject (ImplicitResourceKey key, CultureInfo culture); - ICollection GetImplicitResourceKeys (string keyPrefix); + ICollection GetResources (string keyPrefix); } } #endif diff --git a/mcs/class/System.Web/System.Web.Compilation/IResourceProvider.cs b/mcs/class/System.Web/System.Web.Compilation/IResourceReader.cs index 212c9e0dd3e..4cdb8b14784 100644 --- a/mcs/class/System.Web/System.Web.Compilation/IResourceProvider.cs +++ b/mcs/class/System.Web/System.Web.Compilation/IResourceReader.cs @@ -27,14 +27,12 @@ // using System.Resources; -using System.Globalization; #if NET_2_0 namespace System.Web.Compilation { public interface IResourceProvider { - object GetObject (string resourceKey, CultureInfo culture); IResourceReader ResourceReader { get; } } } diff --git a/mcs/class/System.Web/System.Web.Compilation/ImplicitResourceKey.cs b/mcs/class/System.Web/System.Web.Compilation/ImplicitResourceKey.cs index d829134fd82..ac2bab3c256 100644 --- a/mcs/class/System.Web/System.Web.Compilation/ImplicitResourceKey.cs +++ b/mcs/class/System.Web/System.Web.Compilation/ImplicitResourceKey.cs @@ -29,37 +29,15 @@ #if NET_2_0 namespace System.Web.Compilation { - public sealed class ImplicitResourceKey + public class ImplicitResourceKey { - string filter; - string keyPrefix; - string property; - - public ImplicitResourceKey (string filter, string keyPrefix, string property) - { - this.filter = filter; - this.keyPrefix = keyPrefix; - this.property = property; - } - public ImplicitResourceKey () { } - public string Filter { - get { return filter; } - set { filter = value; } - } - - public string KeyPrefix { - get { return keyPrefix; } - set { keyPrefix = value; } - } - - public string Property { - get { return property; } - set { property = value; } - } + public string Filter; + public string KeyPrefix; + public string Property; } } #endif diff --git a/mcs/class/System.Web/System.Web.Compilation/LinePragmaCodeInfo.cs b/mcs/class/System.Web/System.Web.Compilation/LinePragmaCodeInfo.cs deleted file mode 100644 index 0e862021e5a..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/LinePragmaCodeInfo.cs +++ /dev/null @@ -1,80 +0,0 @@ -// -// System.Web.Compilation.LinePragmaCodeInfo -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 System.Web.Compilation { - - [Serializable] - public sealed class LinePragmaCodeInfo { - - public LinePragmaCodeInfo () - { - } - - [MonoTODO] - public int CodeLength { - get { - throw new NotImplementedException (); - } - } - - [MonoTODO] - public bool IsCodeNugget { - get { - throw new NotImplementedException (); - } - } - - [MonoTODO] - public int StartColumn { - get { - throw new NotImplementedException (); - } - } - - [MonoTODO] - public int StartGeneratedColumn { - get { - throw new NotImplementedException (); - } - } - - [MonoTODO] - public int StartLine { - get { - throw new NotImplementedException (); - } - } - } - -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/PrecompilationFlags.cs b/mcs/class/System.Web/System.Web.Compilation/PrecompilationFlags.cs deleted file mode 100644 index 5e2981326f9..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/PrecompilationFlags.cs +++ /dev/null @@ -1,51 +0,0 @@ -// -// System.Web.Compilation.IAssemblyPostProcessor -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 System.Web.Compilation { - - [Flags] - public enum PrecompilationFlags - { - Default = 0, - Updatable = 1, - OverwriteTarget = 2, - ForceDebug = 4, - Clean = 8, - CodeAnalysis = 16, - AllowPartiallyTrustedCallers = 32, - DelaySign = 64, - FixedNames = 128 - } - -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/ResourceExpressionBuilder.cs b/mcs/class/System.Web/System.Web.Compilation/ResourceExpressionBuilder.cs deleted file mode 100644 index 7245a8e476b..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/ResourceExpressionBuilder.cs +++ /dev/null @@ -1,85 +0,0 @@ -// -// System.Web.Compilation.ResourceExpressionBuilder -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 - -using System; -using System.CodeDom; -using System.Web.UI; -#if notyet -using System.Web.UI.Design; -#endif - -namespace System.Web.Compilation { - -#if notyet - [ExpressionEditor(typeof (ResourceExpressionEditor))] -#endif - [ExpressionPrefix("Resources")] - public class ResourceExpressionBuilder : ExpressionBuilder { - - public ResourceExpressionBuilder () - { - } - - [MonoTODO] - public override object EvaluateExpression (object target, BoundPropertyEntry entry, object parsedData, ExpressionBuilderContext context) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public override CodeExpression GetCodeExpression (BoundPropertyEntry entry, object parsedData, ExpressionBuilderContext context) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public static ResourceExpressionFields ParseExpression (string expression) - { - throw new NotImplementedException (); - } - - [MonoTODO] - public override object ParseExpression (string expression, Type propertyType, ExpressionBuilderContext context) - { - throw new NotImplementedException (); - } - - public override bool SupportsEvaluate { - get { return true; } - } - } - -} - -#endif - - diff --git a/mcs/class/System.Web/System.Web.Compilation/ResourceExpressionFields.cs b/mcs/class/System.Web/System.Web.Compilation/ResourceExpressionFields.cs deleted file mode 100644 index da9644c2941..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/ResourceExpressionFields.cs +++ /dev/null @@ -1,59 +0,0 @@ -// -// System.Web.Compilation.ResourceExpressionFields -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 System.Web.Compilation { - - public sealed class ResourceExpressionFields { - - internal ResourceExpressionFields () - { - } - - [MonoTODO] - public string ClassKey { - get { - throw new NotImplementedException (); - } - } - - - [MonoTODO] - public string ResourceKey { - get { - throw new NotImplementedException (); - } - } - } - -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Compilation/ResourceProviderFactory.cs b/mcs/class/System.Web/System.Web.Compilation/ResourceProviderFactory.cs deleted file mode 100644 index 2e97a8c758a..00000000000 --- a/mcs/class/System.Web/System.Web.Compilation/ResourceProviderFactory.cs +++ /dev/null @@ -1,45 +0,0 @@ -// -// System.Web.Compilation.ResourceProviderFactory -// -// Authors: -// Chris Toshok (toshok@ximian.com) -// -// (C) 2006 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 System.Web.Compilation { - - public abstract class ResourceProviderFactory - { - protected ResourceProviderFactory() { } - - public abstract IResourceProvider CreateGlobalResourceProvider (string classKey); - public abstract IResourceProvider CreateLocalResourceProvider (string virtualPath); - } - -} - -#endif diff --git a/mcs/class/System.Web/System.Web.Configuration/ChangeLog b/mcs/class/System.Web/System.Web.Configuration/ChangeLog index e661f1e3c30..72878fdac89 100644 --- a/mcs/class/System.Web/System.Web.Configuration/ChangeLog +++ b/mcs/class/System.Web/System.Web.Configuration/ChangeLog @@ -1,8 +1,3 @@ -2006-01-08 Konstantin Triger <kostat@mainsoft.com> - - * HttpCapabilitiesBase.cs: TARGET_JVM changes to let the compilation - pass with csc 1.1. - 2005-12-22 Gonzalo Paniagua Javier <gonzalo@ximian.com> * WebConfigurationSettings.cs: patch by Cyrille Colin that sets the diff --git a/mcs/class/System.Web/System.Web.Configuration/HttpCapabilitiesBase.cs b/mcs/class/System.Web/System.Web.Configuration/HttpCapabilitiesBase.cs index 10152dd4085..8e413cad69b 100644 --- a/mcs/class/System.Web/System.Web.Configuration/HttpCapabilitiesBase.cs +++ b/mcs/class/System.Web/System.Web.Configuration/HttpCapabilitiesBase.cs @@ -35,11 +35,7 @@ namespace System.Web.Configuration // CAS [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] -#if NET_2_0 public partial class HttpCapabilitiesBase -#else - public class HttpCapabilitiesBase -#endif { Hashtable capabilities; diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog b/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog index 6a6d83aabed..c1a79fb5ae3 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/ChangeLog @@ -1,55 +1,3 @@ -2006-01-18 Chris Toshok <toshok@ximian.com> - - * SystemWebSectionGroup.cs: wrap System.Web.Services references in - WEBSERVICES_DEP. - -2006-01-16 Chris Toshok <toshok@ximian.com> - - * WebConfigurationManager.cs: implement a IConfigurationSystem for - use with WebConfigurationManager. - (GetSection): try to load the section - using GetWebApplicationSection before calling into - ConfigurationManager.GetSection. - (GetWebApplicationConfiguration): move common code to here. - (GetWebApplicationSection): use GetWebApplicationConfiguration. - (AppSettings): implement. - - * WebConfigurationHost.cs (GetWebConfigFileName): add - "Web.Config", and move to an array/loop implementation. maybe we - should scan the directory and check ToLower() instead of - explicitly enumerating? - -2006-01-10 Chris Toshok <toshok@ximian.com> - - * SystemWebSectionGroup.cs (HostingEnvironment): enable this property. - (ProcessModel): add the ConfigurationPropertyAttribute. - -2006-01-10 Chris Toshok <toshok@ximian.com> - - * PagesSection.cs (.cctor): fix the default value for the - enableSessionState attribute - it's not a bool, but a - PagesEnableSessionState enum. - -2006-01-10 Chris Toshok <toshok@ximian.com> - - * MachineKeySection.cs (ValidationKeyBytes, DecryptionKeyBytes, - DecryptionKey192Bits): if the keys are null, generate them. Fixes - Page.EnableViewStateMac support. - -2006-01-09 Chris Toshok <toshok@ximian.com> - - * RoleManagerSection.cs, SqlCacheDepencendySection.cs, - SessionStateSection.cs, TraceSection.cs, SecurityPolicySection.cs, - PagesSection.cs, RulesSettings.cs, UrlMappingSection.cs: fix - dumper output. - -2006-01-09 Chris Toshok <toshok@ximian.com> - - * ExpressionBuilderCollection.cs (.cctor): no need to create a - collection property here. we're already in the collection. - - * CompilationSection.cs: fix typo. - 2006-01-04 Chris Toshok <toshok@ximian.com> * MachineKeySection.cs: bring over some more internal methods from diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/CompilationSection.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/CompilationSection.cs index 63b8acba3cc..83537ec919e 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/CompilationSection.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/CompilationSection.cs @@ -63,7 +63,7 @@ namespace System.Web.Configuration ConfigurationPropertyOptions.None); assemblyPostProcessorTypeProp = new ConfigurationProperty ("assemblyPostProcessorType", typeof (string), ""); batchProp = new ConfigurationProperty ("batch", typeof (bool), true); - buildProvidersProp = new ConfigurationProperty ("buildProviders", typeof (BuildProviderCollection), null, + buildProvidersProp = new ConfigurationProperty ("buidProviders", typeof (BuildProviderCollection), null, null, PropertyHelper.DefaultValidator, ConfigurationPropertyOptions.None); batchTimeoutProp = new ConfigurationProperty ("batchTimeout", typeof (TimeSpan), new TimeSpan (0, 15, 0), diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/ExpressionBuilderCollection.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/ExpressionBuilderCollection.cs index 00bef969c92..bb7b6322c37 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/ExpressionBuilderCollection.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/ExpressionBuilderCollection.cs @@ -42,6 +42,10 @@ namespace System.Web.Configuration static ExpressionBuilderCollection () { props = new ConfigurationPropertyCollection (); + ConfigurationProperty prop = new ConfigurationProperty ("", typeof (ExpressionBuilderCollection), null, + null, PropertyHelper.DefaultValidator, + ConfigurationPropertyOptions.IsDefaultCollection); + props.Add (prop); } public ExpressionBuilderCollection (): base (CaseInsensitiveComparer.DefaultInvariant) diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/MachineKeySection.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/MachineKeySection.cs index 0ba0a10bd74..f5c11d68c67 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/MachineKeySection.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/MachineKeySection.cs @@ -191,27 +191,15 @@ namespace System.Web.Configuration { } internal byte [] ValidationKeyBytes { - get { - if (validation_key == null) - SetValidationKey (ValidationKey); - return validation_key; - } + get { return validation_key; } } internal byte [] DecryptionKeyBytes { - get { - if (decryption_key == null) - SetDecryptionKey (DecryptionKey); - return decryption_key; - } + get { return decryption_key; } } internal byte [] DecryptionKey192Bits { - get { - if (decryption_key_192bits == null) - SetDecryptionKey (DecryptionKey); - return decryption_key_192bits; - } + get { return decryption_key_192bits; } } #endregion diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/PagesSection.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/PagesSection.cs index 768f4b1c39d..aba225ea79d 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/PagesSection.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/PagesSection.cs @@ -72,10 +72,9 @@ namespace System.Web.Configuration ConfigurationPropertyOptions.None); autoEventWireupProp = new ConfigurationProperty ("autoEventWireup", typeof(bool), true); bufferProp = new ConfigurationProperty ("buffer", typeof(bool), false); - controlsProp = new ConfigurationProperty ("controls", typeof(TagPrefixCollection), null, - null, null, ConfigurationPropertyOptions.None); + controlsProp = new ConfigurationProperty ("controls", typeof(TagPrefixCollection), null); enableEventValidationProp = new ConfigurationProperty ("enableEventValidation", typeof (bool), true); - enableSessionStateProp = new ConfigurationProperty ("enableSessionState", typeof (PagesEnableSessionState), PagesEnableSessionState.True); + enableSessionStateProp = new ConfigurationProperty ("enableSessionState", typeof (PagesEnableSessionState), true); enableViewStateProp = new ConfigurationProperty ("enableViewState", typeof (bool), true); enableViewStateMacProp = new ConfigurationProperty ("enableViewStateMac", typeof (bool), true); maintainScrollPositionOnPostBackProp = new ConfigurationProperty ("maintainScrollPositionOnPostBack", typeof (bool), false); @@ -84,14 +83,12 @@ namespace System.Web.Configuration modeProp = new ConfigurationProperty ("compilationMode", typeof (CompilationMode), CompilationMode.Always, new GenericEnumConverter (typeof (CompilationMode)), PropertyHelper.DefaultValidator, ConfigurationPropertyOptions.None); - namespacesProp = new ConfigurationProperty ("namespaces", typeof (NamespaceCollection), null, - null, null, ConfigurationPropertyOptions.None); + namespacesProp = new ConfigurationProperty ("namespacesProp", typeof (NamespaceCollection), null); pageBaseTypeProp = new ConfigurationProperty ("pageBaseType", typeof (string), "System.Web.UI.Page"); pageParserFilterTypeProp = new ConfigurationProperty ("pageParserFilterType", typeof (string), ""); smartNavigationProp = new ConfigurationProperty ("smartNavigation", typeof (bool), false); styleSheetThemeProp = new ConfigurationProperty ("styleSheetTheme", typeof (string), ""); - tagMappingProp = new ConfigurationProperty ("tagMapping", typeof (TagMapCollection), null, - null, null, ConfigurationPropertyOptions.None); + tagMappingProp = new ConfigurationProperty ("tagMapping", typeof (TagMapCollection), null); themeProp = new ConfigurationProperty ("theme", typeof (string), ""); userControlBaseTypeProp = new ConfigurationProperty ("userControlBaseType", typeof (string), "System.Web.UI.UserControl"); validateRequestProp = new ConfigurationProperty ("validateRequest", typeof (bool), true); @@ -103,7 +100,6 @@ namespace System.Web.Configuration properties.Add (asyncTimeoutProp); properties.Add (autoEventWireupProp); properties.Add (bufferProp); - properties.Add (controlsProp); properties.Add (enableEventValidationProp); properties.Add (enableSessionStateProp); properties.Add (enableViewStateProp); @@ -112,12 +108,10 @@ namespace System.Web.Configuration properties.Add (masterPageFileProp); properties.Add (maxPageStateFieldLengthProp); properties.Add (modeProp); - properties.Add (namespacesProp); properties.Add (pageBaseTypeProp); properties.Add (pageParserFilterTypeProp); properties.Add (smartNavigationProp); properties.Add (styleSheetThemeProp); - properties.Add (tagMappingProp); properties.Add (themeProp); properties.Add (userControlBaseTypeProp); properties.Add (validateRequestProp); diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/RoleManagerSection.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/RoleManagerSection.cs index 999296e65bf..5d6c398576e 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/RoleManagerSection.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/RoleManagerSection.cs @@ -85,8 +85,7 @@ namespace System.Web.Configuration { domainProp = new ConfigurationProperty ("domain", typeof (string)); enabledProp = new ConfigurationProperty ("enabled", typeof (bool), false); maxCachedResultsProp = new ConfigurationProperty ("maxCachedResults", typeof (int), 25); - providersProp = new ConfigurationProperty ("providers", typeof (ProviderSettingsCollection), null, - null, null, ConfigurationPropertyOptions.None); + providersProp = new ConfigurationProperty ("providers", typeof (ProviderSettingsCollection)); properties = new ConfigurationPropertyCollection (); properties.Add (cacheRolesInCookieProp); diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/RuleSettings.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/RuleSettings.cs index 2c39d986df1..38349d500c0 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/RuleSettings.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/RuleSettings.cs @@ -60,9 +60,7 @@ namespace System.Web.Configuration { TypeDescriptor.GetConverter (typeof (int)), new IntegerValidator (1, Int32.MaxValue), ConfigurationPropertyOptions.None); - minIntervalProp = new ConfigurationProperty ("minInterval", typeof (TimeSpan), TimeSpan.FromSeconds (0), - PropertyHelper.InfiniteTimeSpanConverter, null, - ConfigurationPropertyOptions.None); + minIntervalProp = new ConfigurationProperty ("minInterval", typeof (TimeSpan), TimeSpan.FromSeconds (0)); nameProp = new ConfigurationProperty ("name", typeof (string), "", TypeDescriptor.GetConverter (typeof (string)), PropertyHelper.NonEmptyStringValidator, diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/SecurityPolicySection.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/SecurityPolicySection.cs index 694bb3a0067..34aa3f54938 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/SecurityPolicySection.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/SecurityPolicySection.cs @@ -42,8 +42,7 @@ namespace System.Web.Configuration { static SecurityPolicySection () { - Prop = new ConfigurationProperty ("", typeof (TrustLevelCollection), null, - null, null, ConfigurationPropertyOptions.IsDefaultCollection); + Prop = new ConfigurationProperty ("", typeof (TrustLevelCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); properties = new ConfigurationPropertyCollection (); properties.Add (Prop); diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/SessionStateSection.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/SessionStateSection.cs index b0d9d2b0958..c46285128e5 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/SessionStateSection.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/SessionStateSection.cs @@ -64,17 +64,12 @@ namespace System.Web.Configuration { cookielessProp = new ConfigurationProperty ("cookieless", typeof (string), null); cookieNameProp = new ConfigurationProperty ("cookieName", typeof (string), "ASP.NET_SessionId"); customProviderProp = new ConfigurationProperty ("customProvider", typeof (string), ""); - modeProp = new ConfigurationProperty ("mode", typeof (SessionStateMode), SessionStateMode.InProc, - new GenericEnumConverter (typeof (SessionStateMode)), null, - ConfigurationPropertyOptions.None); + modeProp = new ConfigurationProperty ("mode", typeof (SessionStateMode), SessionStateMode.InProc); partitionResolverTypeProp = new ConfigurationProperty ("partitionResolverType", typeof (string), ""); - providersProp = new ConfigurationProperty ("providers", typeof (ProviderSettingsCollection), null, - null, null, ConfigurationPropertyOptions.None); + providersProp = new ConfigurationProperty ("providers", typeof (ProviderSettingsCollection)); regenerateExpiredSessionIdProp = new ConfigurationProperty ("regenerateExpiredSessionId", typeof (bool), true); sessionIDManagerTypeProp = new ConfigurationProperty ("sessionIDManagerType", typeof (string), ""); - sqlCommandTimeoutProp = new ConfigurationProperty ("sqlCommandTimeout", typeof (TimeSpan), TimeSpan.FromSeconds (30), - PropertyHelper.TimeSpanSecondsOrInfiniteConverter, null, - ConfigurationPropertyOptions.None); + sqlCommandTimeoutProp = new ConfigurationProperty ("sqlCommandTimeout", typeof (TimeSpan), TimeSpan.FromSeconds (30)); sqlConnectionStringProp = new ConfigurationProperty ("sqlConnectionString", typeof (string), "data source=localhost;Integrated Security=SSPI"); stateConnectionStringProp = new ConfigurationProperty ("stateConnectionString", typeof (string), "tcpip=loopback:42424"); stateNetworkTimeoutProp = new ConfigurationProperty ("stateNetworkTimeout", typeof (TimeSpan), TimeSpan.FromSeconds (10), diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/SqlCacheDependencySection.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/SqlCacheDependencySection.cs index 4f2772c6e2f..fadc571d209 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/SqlCacheDependencySection.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/SqlCacheDependencySection.cs @@ -46,8 +46,7 @@ namespace System.Web.Configuration { static SqlCacheDependencySection () { - databasesProp = new ConfigurationProperty ("databases", typeof (SqlCacheDependencyDatabaseCollection), null, - null, null, ConfigurationPropertyOptions.None); + databasesProp = new ConfigurationProperty ("databases", typeof (SqlCacheDependencyDatabaseCollection)); enabledProp = new ConfigurationProperty ("enabled", typeof (bool), true); pollTimeProp = new ConfigurationProperty ("pollTime", typeof (int), 60000); properties = new ConfigurationPropertyCollection (); diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/SystemWebSectionGroup.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/SystemWebSectionGroup.cs index 9d4f9cc76b9..4786664fdb5 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/SystemWebSectionGroup.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/SystemWebSectionGroup.cs @@ -32,9 +32,6 @@ using System; using System.Configuration; -#if WEBSERVICES_DEP -using System.Web.Services.Configuration; -#endif namespace System.Web.Configuration { @@ -95,10 +92,12 @@ namespace System.Web.Configuration get { return (HealthMonitoringSection)Sections ["healthMonitoring"]; } } +#if notyet [ConfigurationProperty ("hostingEnvironment")] public HostingEnvironmentSection HostingEnvironment { get { return (HostingEnvironmentSection)Sections ["hostingEnvironment"]; } } +#endif [ConfigurationProperty ("httpCookies")] public HttpCookiesSection HttpCookies { @@ -145,7 +144,6 @@ namespace System.Web.Configuration get { return (PagesSection)Sections ["pages"]; } } - [ConfigurationProperty ("processModel")] public ProcessModelSection ProcessModel { get { return (ProcessModelSection)Sections ["processModel"]; } } @@ -205,7 +203,7 @@ namespace System.Web.Configuration get { return (WebPartsSection)Sections ["webParts"]; } } -#if WEBSERVICES_DEP +#if notyet [ConfigurationProperty ("webServices")] public WebServicesSection WebServices { get { return (WebServicesSection)Sections ["webServices"]; } diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/TraceSection.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/TraceSection.cs index 9d46a69a1e3..0f15a248486 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/TraceSection.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/TraceSection.cs @@ -58,9 +58,7 @@ namespace System.Web.Configuration { TypeDescriptor.GetConverter (typeof (int)), PropertyHelper.IntFromZeroToMaxValidator, ConfigurationPropertyOptions.None); - traceModeProp = new ConfigurationProperty ("traceMode", typeof (TraceDisplayMode), TraceDisplayMode.SortByTime, - new GenericEnumConverter (typeof (TraceDisplayMode)), null, - ConfigurationPropertyOptions.None); + traceModeProp = new ConfigurationProperty ("traceMode", typeof (TraceDisplayMode), TraceDisplayMode.SortByTime); writeToDiagnosticsTraceProp = new ConfigurationProperty ("writeToDiagnosticsTrace", typeof (bool), false); properties = new ConfigurationPropertyCollection (); diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/UrlMappingsSection.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/UrlMappingsSection.cs index e6d6da9c6d5..71f390e6363 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/UrlMappingsSection.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/UrlMappingsSection.cs @@ -44,8 +44,7 @@ namespace System.Web.Configuration { static UrlMappingsSection () { enabledProp = new ConfigurationProperty ("enabled", typeof (bool), true); - urlMappingsProp = new ConfigurationProperty ("", typeof (UrlMappingCollection), null, - null, null, ConfigurationPropertyOptions.IsDefaultCollection); + urlMappingsProp = new ConfigurationProperty ("", typeof (UrlMappingCollection), null, ConfigurationPropertyOptions.IsDefaultCollection); properties = new ConfigurationPropertyCollection (); properties.Add (enabledProp); diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationHost.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationHost.cs index cf4b3faa2bf..a9b92baefeb 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationHost.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationHost.cs @@ -233,14 +233,12 @@ namespace System.Web.Configuration string GetWebConfigFileName (string dir) { - string[] filenames = new string[] {"Web.Config", "Web.config", "web.config" }; - - foreach (string fn in filenames) { - string file = Path.Combine (dir, fn); - if (File.Exists (file)) - return file; - } - + string file = Path.Combine (dir, "Web.config"); + if (File.Exists (file)) + return file; + file = Path.Combine (dir, "web.config"); + if (File.Exists (file)) + return file; return null; } diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs index 76fcb01aa8c..ee96ba12812 100644 --- a/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs +++ b/mcs/class/System.Web/System.Web.Configuration_2.0/WebConfigurationManager.cs @@ -178,12 +178,9 @@ namespace System.Web.Configuration { throw new NotImplementedException (); } + [MonoTODO ("this shouldn't call ConfigurationManager.GetSection")] public static object GetSection (string sectionName) { - object section = GetWebApplicationSection (sectionName); - if (section != null) - return section; - return ConfigurationManager.GetSection (sectionName); } @@ -193,7 +190,8 @@ namespace System.Web.Configuration { throw new NotImplementedException (); } - static _Configuration GetWebApplicationConfiguration () + [MonoTODO] + public static object GetWebApplicationSection (string sectionName) { _Configuration config; @@ -204,40 +202,15 @@ namespace System.Web.Configuration { else config = OpenWebConfiguration (HttpContext.Current.Request.PhysicalApplicationPath); - return config; - } - - [MonoTODO] - public static object GetWebApplicationSection (string sectionName) - { - _Configuration config = GetWebApplicationConfiguration (); - ConfigurationSection section = config.GetSection (sectionName); return section; } - static _Configuration webConfiguration; - static NameValueCollection appSettings; [MonoTODO] public static NameValueCollection AppSettings { get { - if (appSettings == null) { - - if (webConfiguration == null) - webConfiguration = OpenWebConfiguration ("~"); - - AppSettingsSection section = (AppSettingsSection)webConfiguration.GetSection ("appSettings"); - - appSettings = new NameValueCollection (); - - foreach (string key in section.Settings.AllKeys) { - KeyValueConfigurationElement ele = section.Settings[key]; - appSettings.Add (ele.Key, ele.Value); - } - } - - return appSettings; + throw new NotImplementedException (); } } @@ -268,99 +241,7 @@ namespace System.Web.Configuration { path = path.Substring (0, path.Length - 1); return path; } - - -#region stuff copied from WebConfigurationSettings -#if TARGET_J2EE - static private IConfigurationSystem oldConfig { - get { - return (IConfigurationSystem)AppDomain.CurrentDomain.GetData("WebConfigurationManager.oldConfig"); - } - set { - AppDomain.CurrentDomain.SetData("WebConfigurationManager.oldConfig", value); - } - } - - static private Web20DefaultConfig config { - get { - return (Web20DefaultConfig)AppDomain.CurrentDomain.GetData("WebConfigurationManager.config"); - } - set { - AppDomain.CurrentDomain.SetData("WebConfigurationManager.config", value); - } - } -#else - static IConfigurationSystem oldConfig; - static Web20DefaultConfig config; -#endif - const BindingFlags privStatic = BindingFlags.NonPublic | BindingFlags.Static; - static readonly object lockobj = new object (); - - public static void Init () - { - lock (lockobj) { - if (config != null) - return; - - Web20DefaultConfig settings = Web20DefaultConfig.GetInstance (); - Type t = typeof (ConfigurationSettings); - MethodInfo changeConfig = t.GetMethod ("ChangeConfigurationSystem", - privStatic); - - if (changeConfig == null) - throw new ConfigurationException ("Cannot find method CCS"); - - object [] args = new object [] {settings}; - oldConfig = (IConfigurationSystem) changeConfig.Invoke (null, args); - config = settings; - - config.Init (); - } - } } - - class Web20DefaultConfig : IConfigurationSystem - { -#if TARGET_J2EE - static private Web20DefaultConfig instance { - get { - Web20DefaultConfig val = (Web20DefaultConfig)AppDomain.CurrentDomain.GetData("Web20DefaultConfig.instance"); - if (val == null) { - val = new Web20DefaultConfig(); - AppDomain.CurrentDomain.SetData("Web20DefaultConfig.instance", val); - } - return val; - } - set { - AppDomain.CurrentDomain.SetData("Web20DefaultConfig.instance", value); - } - } -#else - static Web20DefaultConfig instance; -#endif - - static Web20DefaultConfig () - { - instance = new Web20DefaultConfig (); - } - - public static Web20DefaultConfig GetInstance () - { - return instance; - } - - public object GetConfig (string sectionName) - { - return WebConfigurationManager.GetSection (sectionName); - } - - public void Init () - { - // nothing. We need a context. - } - } - -#endregion } #endif diff --git a/mcs/class/System.Web/System.Web.Hosting/ChangeLog b/mcs/class/System.Web/System.Web.Hosting/ChangeLog index 9e807744235..a84dcc8ca33 100644 --- a/mcs/class/System.Web/System.Web.Hosting/ChangeLog +++ b/mcs/class/System.Web/System.Web.Hosting/ChangeLog @@ -1,7 +1,3 @@ -2006-01-19 Konstantin Triger <kostat@mainsoft.com> - - * ServletWorkerRequest.jvm.cs: refactoring. - 2005-11-28 Robert Jordan <robertj@gmx.net> * SimpleWorkerRequest.cs: fixed MapPath () for the case diff --git a/mcs/class/System.Web/System.Web.Hosting/ServletWorkerRequest.jvm.cs b/mcs/class/System.Web/System.Web.Hosting/ServletWorkerRequest.jvm.cs index 9128657b2ed..f9e04e56a7d 100644 --- a/mcs/class/System.Web/System.Web.Hosting/ServletWorkerRequest.jvm.cs +++ b/mcs/class/System.Web/System.Web.Hosting/ServletWorkerRequest.jvm.cs @@ -33,154 +33,299 @@ using System.Collections; using System.Web; using javax.servlet; using javax.servlet.http; -using System.Collections.Specialized; -using System.Globalization; -namespace System.Web.Hosting { +namespace System.Web.Hosting +{ [MonoTODO("Implement security demands on the path usage functions (and review)")] [ComVisible (false)] - internal sealed class ServletWorkerRequest : HttpWorkerRequest { - readonly HttpServlet _HttpServlet; - readonly HttpServletRequest _HttpServletRequest; - readonly HttpServletResponse _HttpServletResponse; - - static readonly StringDictionary _srvVarsToHeaderMap; + internal class ServletWorkerRequest : HttpWorkerRequest + { + private string _Page; + private string _Query; + private string _PathInfo = String.Empty; + private string _AppVirtualPath; + private string _AppPhysicalPath; + private string _AppInstallPath; + private bool _HasInstallInfo; + + private static string SLASH = "/"; + private ServletOutputStream _ServletOutputStream; + private HttpServlet _HttpServlet; + private HttpServletRequest _HttpServletRequest; + private HttpServletResponse _HttpServletResponse; private string [][] unknownHeaders; private HttpWorkerRequest.EndOfSendNotification _endOfSendCallback; private object _endOfSendArgs; - static ServletWorkerRequest() { - _srvVarsToHeaderMap = new StringDictionary(); - _srvVarsToHeaderMap.Add("HTTP_ACCEPT", "Accept"); - _srvVarsToHeaderMap.Add("HTTP_REFERER", "Referer"); - _srvVarsToHeaderMap.Add("HTTP_ACCEPT_LANGUAGE", "Accept-Language"); - _srvVarsToHeaderMap.Add("HTTP_ACCEPT_ENCODING", "Accept-Encoding"); - _srvVarsToHeaderMap.Add("HTTP_CONNECTION", "Connection"); - _srvVarsToHeaderMap.Add("HTTP_HOST", "Host"); - _srvVarsToHeaderMap.Add("HTTP_USER_AGENT", "User-Agent"); - _srvVarsToHeaderMap.Add("HTTP_SOAPACTION", "SOAPAction"); + + private ServletWorkerRequest () + { } - public ServletWorkerRequest (HttpServlet servlet, HttpServletRequest req, HttpServletResponse resp) { + public ServletWorkerRequest (HttpServlet servlet, HttpServletRequest req, HttpServletResponse resp, ServletOutputStream output) + :this(String.Empty, String.Empty ,String.Empty, String.Empty ,null) + { +#if DEBUG + Console.WriteLine("Constructor 1 of ServletWorkerRequest!! -->"); +#endif _HttpServlet = servlet; _HttpServletRequest = req; _HttpServletResponse = resp; + _ServletOutputStream = output; + + string contextPath = req.getContextPath(); + string requestURI = req.getRequestURI(); + if (requestURI.Equals(contextPath) || + ((requestURI.Length - contextPath.Length) == 1) && requestURI[requestURI.Length-1] == '/' && requestURI.StartsWith(contextPath)) + requestURI = contextPath + req.getServletPath(); + + _Page = requestURI.Substring(contextPath.Length); + + if (_Page.StartsWith("/")) + _Page = _Page.Substring(1); + + _Query = req.getQueryString(); + //_PathInfo = req.getPathInfo(); + _AppVirtualPath = req.getContextPath(); + _AppPhysicalPath = J2EEUtils.GetApplicationRealPath(servlet.getServletConfig()); +#if DEBUG + LogCurrentPageLocation(); +#endif + } + + public ServletWorkerRequest (string Page, string Query, ServletOutputStream output) + :this(Page, Query) + { +#if DEBUG + Console.WriteLine("Constructor 2 of ServletWorkerRequest!! -->"); +#endif + //_Page = Page; + ParsePathInfo (); + + //_Query = Query; + AppDomain current = AppDomain.CurrentDomain; + object o = current.GetData (".appPath"); + if (o == null) + throw new HttpException ("Cannot get .appPath"); + _AppPhysicalPath = (string)current.GetData(IAppDomainConfig.WEB_APP_DIR); + + o = current.GetData (".hostingVirtualPath"); + if (o == null) + throw new HttpException ("Cannot get .hostingVirtualPath"); + _AppVirtualPath = CheckAndAddVSlash (o.ToString ()); + + o = current.GetData (".hostingInstallDir"); + if (o == null) + throw new HttpException ("Cannot get .hostingInstallDir"); + _AppInstallPath = o.ToString (); + _ServletOutputStream = output; + + if (_AppPhysicalPath == null) + throw new HttpException ("Invalid app domain"); + + _HasInstallInfo = true; +#if DEBUG + LogCurrentPageLocation(); +#endif + } + + public ServletWorkerRequest (string AppVirtualPath, + string AppPhysicalPath, + string Page, + string Query, + ServletOutputStream output) : this (Page, Query) + { +#if DEBUG + Console.WriteLine("Constructor 3 of ServletWorkerRequest!! -->"); +#endif + if (AppDomain.CurrentDomain.GetData (".appPath") == null) + throw new HttpException ("Invalid app domain"); + + //_Page = Page; + ParsePathInfo (); + //_Query = Query; + _AppVirtualPath = AppVirtualPath; + _AppPhysicalPath = CheckAndAddSlash (AppPhysicalPath); + _ServletOutputStream = output; + _HasInstallInfo = false; +#if DEBUG + LogCurrentPageLocation(); +#endif + } + + public ServletWorkerRequest (string Page, string Query) + { + _Page = Page; + + _Query = Query; + AppDomain current = AppDomain.CurrentDomain; + object o = current.GetData (".appPath"); + if (o == null) + throw new HttpException ("Cannot get .appPath"); + _AppPhysicalPath = o.ToString (); + + o = current.GetData (".hostingVirtualPath"); + if (o == null) + throw new HttpException ("Cannot get .hostingVirtualPath"); + _AppVirtualPath = o.ToString (); + + o = current.GetData (".hostingInstallDir"); + if (o == null) + throw new HttpException ("Cannot get .hostingInstallDir"); + _AppInstallPath = o.ToString (); + + if (_AppPhysicalPath == null) + throw new HttpException ("Invalid app domain"); + + _HasInstallInfo = true; + + ExtractPagePathInfo(); + } + + public ServletOutputStream ServletOutputStream + { + get + { + return _ServletOutputStream; + } } - public HttpServlet Servlet { + public HttpServlet Servlet + { get { return _HttpServlet; } } - public HttpServletRequest ServletRequest { + public HttpServletRequest ServletRequest + { get{ return _HttpServletRequest; } } - public HttpServletResponse ServletResponse { + public HttpServletResponse ServletResponse + { get{ return _HttpServletResponse; } } [MonoTODO("Implement security")] - public override string MachineInstallDirectory { + public override string MachineInstallDirectory + { get { + if (_HasInstallInfo) + return _AppInstallPath; + return ICalls.GetMachineInstallDirectory (); } } - public override string MachineConfigPath { + public override string MachineConfigPath + { get { return ICalls.GetMachineConfigPath (); } } - public override void EndOfRequest () { + public override void EndOfRequest () + { + _ServletOutputStream = null; + _HttpServlet = null; + _HttpServletRequest = null; + _HttpServletResponse = null; if (_endOfSendCallback != null) _endOfSendCallback(this, _endOfSendArgs); } - public override void FlushResponse (bool finalFlush) { - ServletOutputStream servletOutputStream = _HttpServletResponse.getOutputStream(); - servletOutputStream.flush(); + public override void FlushResponse (bool finalFlush) + { + _ServletOutputStream.flush(); if (finalFlush) - servletOutputStream.close(); + _ServletOutputStream.close(); } - public override string GetAppPath () { - return _HttpServletRequest.getContextPath(); + public override string GetAppPath () + { + return _AppVirtualPath; } - public override string GetAppPathTranslated () { - return J2EEUtils.GetApplicationRealPath(_HttpServlet.getServletConfig());; + public override string GetAppPathTranslated () + { + return _AppPhysicalPath; } - public override string GetFilePath () { - string uri = GetUriPath(); - string pathInfo = GetPathInfo(); - if (pathInfo != null && pathInfo.Length > 0) - uri = uri.Substring(0, uri.Length - pathInfo.Length); - - return uri; + public override string GetFilePath () + { + return CreatePath (false); } - public override string GetFilePathTranslated () { - string page = GetFilePath (); + public override string GetFilePathTranslated () + { + string page = _Page; if (Path.DirectorySeparatorChar != '/') - page = page.Replace ('/', Path.DirectorySeparatorChar); + page = _Page.Replace ('/', Path.DirectorySeparatorChar); if (page [0] == Path.DirectorySeparatorChar) page = page.Substring (1); - return Path.Combine (GetAppPathTranslated (), page); + return (Path.Combine (_AppPhysicalPath, page)); } - public override string GetHttpVerbName () { + public override string GetHttpVerbName () + { return _HttpServletRequest.getMethod(); } - public override string GetHttpVersion () { + public override string GetHttpVersion () + { return _HttpServletRequest.getProtocol(); } - public override string GetLocalAddress () { - return _HttpServletRequest.getLocalAddr(); + public override string GetLocalAddress () + { + return _HttpServletRequest.getServerName(); } - public override int GetLocalPort () { - return _HttpServletRequest.getLocalPort(); + public override int GetLocalPort () + { + return _HttpServletRequest.getServerPort(); } - public override string GetPathInfo () { - return _HttpServletRequest.getPathInfo(); + public override string GetPathInfo () + { + return (null != _PathInfo) ? _PathInfo : String.Empty; } - public override string GetQueryString () { - return _HttpServletRequest.getQueryString(); + public override string GetQueryString () + { + return _Query; } - public override string GetRawUrl () { - return _HttpServletRequest.getRequestURL().ToString(); - } + public override string GetRawUrl () + { + string path = CreatePath (true); + if (null != _Query && _Query.Length > 0) + return path + "?" + _Query; - public override string GetRemoteAddress() { - return _HttpServletRequest.getRemoteAddr(); + return path; } - public override string GetRemoteName() { - return _HttpServletRequest.getRemoteHost(); + public override string GetRemoteAddress() + { + return _HttpServletRequest.getRemoteAddr(); } - - public override int GetRemotePort() { - try { + public override int GetRemotePort() + { + try + { return _HttpServletRequest.getRemotePort(); } - catch(Exception e) { //should catch also java.lang.Throwable + catch(Exception e) //should catch also java.lang.Throwable + { //if servlet API is 2.3 and below - there is no //method getRemotePort in ServletRequest interface... //should be described as limitation. @@ -188,66 +333,42 @@ namespace System.Web.Hosting { } } - public override string GetServerVariable(string name) { - // FIXME: We need to make a proper mapping between the standard server - // variables and java equivalent. probably we have to have a configuration file - // which associates between the two. Pay a special attention on GetUnknownRequestHeader/s - // while implementing. Ensure that system web "common" code correctly calls each method. - - - string upperName = name.ToUpper(); - string headerName = _srvVarsToHeaderMap[name]; - - if (headerName != null) - return _HttpServletRequest.getHeader( headerName ); - - switch (name.ToUpper(CultureInfo.InvariantCulture)) { - case "AUTH_TYPE" : return _HttpServletRequest.getAuthType(); - case "CONTENT_LENGTH" : return Convert.ToString(_HttpServletRequest.getContentLength()); - case "CONTENT_TYPE" : return _HttpServletRequest.getContentType(); - case "QUERY_STRING" : return _HttpServletRequest.getQueryString(); - case "REMOTE_ADDR" : return _HttpServletRequest.getRemoteAddr(); - case "REMOTE_HOST" : return _HttpServletRequest.getRemoteHost(); - case "REMOTE_USER" : return _HttpServletRequest.getRemoteUser(); - case "REQUEST_METHOD" : return _HttpServletRequest.getMethod(); - case "REQUEST_URI" : return _HttpServletRequest.getRequestURI(); - case "SCRIPT_NAME" : return GetFilePath (); - case "SERVER_NAME" : return _HttpServletRequest.getServerName(); - case "SERVER_PORT" : return Convert.ToString(_HttpServletRequest.getServerPort()); - case "SERVER_PROTOCOL" : return _HttpServletRequest.getProtocol(); - case "SERVER_SOFTWARE" : return Servlet.getServletContext().getServerInfo(); - case "PATH_INFO" : return _HttpServletRequest.getPathInfo(); - default : return _HttpServletRequest.getHeader( name ); - } + public override string GetServerVariable(string name) + { + return String.Empty; } - public override string GetUriPath() { - return _HttpServletRequest.getRequestURI(); + public override string GetUriPath() + { + return CreatePath (true); } - public override IntPtr GetUserToken() { + public override IntPtr GetUserToken() + { return IntPtr.Zero; } - public override string MapPath (string path) { - string appVirtualPath = GetAppPath(); - if (path.StartsWith(appVirtualPath)) { - path = path.Remove(0,appVirtualPath.Length); + public override string MapPath (string path) + { + if (path.StartsWith(_AppVirtualPath)) + { + path = path.Remove(0,_AppVirtualPath.Length); if (path.StartsWith("/")) path = path.Remove(0,1); } //string realPath = Servlet.getServletContext().getRealPath(path); - // if (Path.IsPathRooted(path)) - // return path; - // if (!path.StartsWith(IAppDomainConfig.WAR_ROOT_SYMBOL)&& - // !path.StartsWith("/") && !path.StartsWith("\\")&& !Path.IsPathRooted(path)) - // return IAppDomainConfig.WAR_ROOT_SYMBOL + "/" + path; - // else if (!path.StartsWith(IAppDomainConfig.WAR_ROOT_SYMBOL)&& !Path.IsPathRooted(path)) - // return IAppDomainConfig.WAR_ROOT_SYMBOL + path; - // else - // return path; - - if (path.StartsWith(IAppDomainConfig.WAR_ROOT_SYMBOL)) { +// if (Path.IsPathRooted(path)) +// return path; +// if (!path.StartsWith(IAppDomainConfig.WAR_ROOT_SYMBOL)&& +// !path.StartsWith("/") && !path.StartsWith("\\")&& !Path.IsPathRooted(path)) +// return IAppDomainConfig.WAR_ROOT_SYMBOL + "/" + path; +// else if (!path.StartsWith(IAppDomainConfig.WAR_ROOT_SYMBOL)&& !Path.IsPathRooted(path)) +// return IAppDomainConfig.WAR_ROOT_SYMBOL + path; +// else +// return path; + + if (path.StartsWith(IAppDomainConfig.WAR_ROOT_SYMBOL)) + { return path; } @@ -261,11 +382,12 @@ namespace System.Web.Hosting { return retVal; } - public override void SendResponseFromFile (IntPtr handle, long offset, long length) { - throw new NotSupportedException(); + public override void SendResponseFromFile (IntPtr handle, long offset, long length) + { } - public override void SendResponseFromFile (string filename, long offset, long length) { + public override void SendResponseFromFile (string filename, long offset, long length) + { using (FileStream fs = File.OpenRead (filename)) { byte [] buffer = new byte [4 * 1024]; @@ -281,44 +403,152 @@ namespace System.Web.Hosting { } } - public override void SendResponseFromMemory (byte [] data, int length) { + public override void SendResponseFromMemory (byte [] data, int length) + { sbyte [] sdata = vmw.common.TypeUtils.ToSByteArray(data); - _HttpServletResponse.getOutputStream().write(sdata, 0 , length); + _ServletOutputStream.write(sdata, 0 , length); + } + + public override void SendStatus(int statusCode, string statusDescription) + { + _HttpServletResponse.setStatus(statusCode, statusDescription); } - public override void SendStatus(int statusCode, string statusDescription) { - // setStatus(int, string) is deprecated - _HttpServletResponse.setStatus(statusCode/*, statusDescription*/); + public override void SendUnknownResponseHeader(string name, string value) + { + _HttpServletResponse.addHeader(name, value); + } + + public override bool HeadersSent () + { + return false; } - public override void SendUnknownResponseHeader(string name, string value) { + public override void SendCalculatedContentLength (int contentLength) + { + //FIXME: Should we ignore this for apache2? + SendUnknownResponseHeader ("Content-Length", contentLength.ToString ()); + } + + public override void SendKnownResponseHeader (int index, string value) + { if (HeadersSent ()) return; - _HttpServletResponse.addHeader(name, value); + string headerName = HttpWorkerRequest.GetKnownResponseHeaderName (index); + SendUnknownResponseHeader (headerName, value); } + + // Create's a path string + private string CheckAndAddSlash(string sPath) + { + if (null == sPath) + return null; + + if (String.Empty == sPath) + return SLASH; + + if (!sPath.EndsWith ("" + Path.DirectorySeparatorChar)) + return sPath + Path.DirectorySeparatorChar; - public override bool HeadersSent () { - return _HttpServletResponse.isCommitted(); + return sPath; } - public override void SendCalculatedContentLength (int contentLength) { - _HttpServletResponse.setContentLength(contentLength); + // Creates a path string + private string CheckAndAddVSlash(string sPath) + { + if (null == sPath) + return null; + + if (!sPath.EndsWith ("/")) + return sPath + "/"; + + return sPath; } - public override void SendKnownResponseHeader (int index, string value) { - SendUnknownResponseHeader (GetKnownResponseHeaderName (index), value); + // Create's a path string + private string CreatePath (bool bIncludePathInfo) + { + string sPath = Path.Combine (_AppVirtualPath, _Page); + + if (bIncludePathInfo && null != _PathInfo) + { + sPath += _PathInfo; + } + + return sPath; } - public override string GetKnownRequestHeader (int index) { - return GetUnknownRequestHeader(GetKnownRequestHeaderName (index)); + // "The extra path information, as given by the client. In + // other words, scripts can be accessed by their virtual + // pathname, followed by extra information at the end of this + // path. The extra information is sent as PATH_INFO." + private void ExtractPagePathInfo () + { + if (_Page == null || _Page == String.Empty) + return; + + string FullPath = GetFilePathTranslated (); + int PathInfoLength = 0; + string LastFile = String.Empty; + + while (PathInfoLength < _Page.Length) { + if (LastFile.Length > 0) { + // increase it by the length of the file plus + // a "/" + // + PathInfoLength += LastFile.Length + 1; + } + + if (File.Exists (FullPath) == true) + break; + + if (Directory.Exists (FullPath) == true) { + PathInfoLength -= (LastFile.Length + 1); + break; + } + + LastFile = Path.GetFileName (FullPath); + FullPath = Path.GetDirectoryName (FullPath); + } + + if (PathInfoLength <= 0 || PathInfoLength > _Page.Length) + return; + + _PathInfo = _Page.Substring (_Page.Length - PathInfoLength); + _Page = _Page.Substring (0, _Page.Length - PathInfoLength); } + + // Parses out the string after / known as the "path info" + private void ParsePathInfo () + { + int iPos = _Page.LastIndexOf("/"); + if (iPos >= 0) { + _PathInfo = _Page.Substring (iPos); + _Page = _Page.Substring (0, iPos); + } + } + + public override string GetKnownRequestHeader (int index) + { + if (_HttpServletRequest == null) + return null; + + string headerName = HttpWorkerRequest.GetKnownRequestHeaderName (index); + + return _HttpServletRequest.getHeader(headerName); + } + + public override string GetUnknownRequestHeader (string name) + { + if (_HttpServletRequest == null) + return null; - public override string GetUnknownRequestHeader (string name) { return _HttpServletRequest.getHeader(name); } - public override string [][] GetUnknownRequestHeaders () { + public override string [][] GetUnknownRequestHeaders () + { if (unknownHeaders == null) { ArrayList pairs = new ArrayList (); for (java.util.Enumeration he = _HttpServletRequest.getHeaderNames(); he.hasMoreElements() ;) { @@ -340,30 +570,32 @@ namespace System.Web.Hosting { return unknownHeaders; } - public override int ReadEntityBody (byte [] buffer, int size) { + public override int ReadEntityBody (byte [] buffer, int size) + { if (buffer == null || size == 0) return 0; - sbyte [] sbuffer = vmw.common.TypeUtils.ToSByteArray(buffer); - int r = _HttpServletRequest.getInputStream().read(sbuffer, 0, size); + sbyte [] sbuffer = new sbyte [size]; + int r = _HttpServletRequest.getInputStream().read(sbuffer, 0, size); + for (int i=0; i < r; i++) buffer[i] = (byte) sbuffer[i]; return (r==-1)?0:r; } - public override void SetEndOfSendNotification(System.Web.HttpWorkerRequest.EndOfSendNotification callback, object extraData) { + public override void SetEndOfSendNotification(System.Web.HttpWorkerRequest.EndOfSendNotification callback, object extraData) + { _endOfSendCallback = callback; _endOfSendArgs = extraData; } - - public override string GetProtocol() { - return _HttpServletRequest.getScheme(); - } - - public override string GetServerName() { - return _HttpServletRequest.getServerName(); - } - - public override bool IsSecure() { - return _HttpServletRequest.isSecure(); + + // Prints some stats about the current _Page. + private void LogCurrentPageLocation() + { +#if DEBUG + Console.WriteLine(" relpath=" + _AppVirtualPath); + Console.WriteLine(" physical path=" + _AppPhysicalPath); + Console.WriteLine(" page=" + _Page); +#endif } + } } diff --git a/mcs/class/System.Web/System.Web.J2EE/BaseHttpServlet.cs b/mcs/class/System.Web/System.Web.J2EE/BaseHttpServlet.cs index e620195991f..e44be30e1e0 100644 --- a/mcs/class/System.Web/System.Web.J2EE/BaseHttpServlet.cs +++ b/mcs/class/System.Web/System.Web.J2EE/BaseHttpServlet.cs @@ -60,6 +60,8 @@ namespace System.Web.J2EE try { AppDomain servletDomain = createServletDomain(config); + if(servletDomain == null) + throw new ArgumentException("cannot initialize AppDomain!"); //GH Infromation Initizalization servletDomain.SetData(J2EEConsts.CLASS_LOADER, vmw.common.TypeUtils.ToClass(this).getClassLoader()); @@ -78,6 +80,11 @@ namespace System.Web.J2EE { try { + String pathInfo = req.getRequestURI(); + String contextPath = req.getContextPath(); + if (pathInfo.Equals(contextPath) || + ((pathInfo.Length - contextPath.Length) == 1) && pathInfo[pathInfo.Length-1] == '/' && pathInfo.StartsWith(contextPath)) + pathInfo = contextPath + req.getServletPath(); // Very important - to update Virtual Path!!! AppDomain servletDomain = (AppDomain)this.getServletContext().getAttribute(J2EEConsts.APP_DOMAIN); servletDomain.SetData(IAppDomainConfig.APP_VIRT_DIR, req.getContextPath()); @@ -93,10 +100,11 @@ namespace System.Web.J2EE resp.setHeader("X-Powered-By", "ASP.NET"); resp.setHeader("X-AspNet-Version", "1.1.4322"); -// PageMapper.LoadFileList(); + ServletOutputStream hos = resp.getOutputStream(); + PageMapper.LoadFileList(); resp.setContentType("text/html"); - HttpWorkerRequest gwr = new ServletWorkerRequest(this, req, resp); + HttpWorkerRequest gwr = new ServletWorkerRequest(this, req, resp, resp.getOutputStream()); HttpRuntime.ProcessRequest(gwr); } finally @@ -138,6 +146,8 @@ namespace System.Web.J2EE private AppDomain createServletDomain(ServletConfig config) { + try + { string rootPath = J2EEUtils.GetApplicationRealPath(config); AppDomainSetup domainSetup = new AppDomainSetup(); string name = config.getServletName();//.getServletContextName(); @@ -173,6 +183,13 @@ namespace System.Web.J2EE //servletDomain.SetData(".hostingVirtualPath", "/"); servletDomain.SetData(".hostingInstallDir", "/"); return servletDomain; + } + catch(Exception e) + { + Console.WriteLine("ERROR in createServletDomain {0},{1}",e.GetType(), e.Message); + Console.WriteLine(e.StackTrace); + return null; + } } virtual protected vmw.@internal.io.IObjectsDeserializer GetDeserializer() diff --git a/mcs/class/System.Web/System.Web.J2EE/ChangeLog b/mcs/class/System.Web/System.Web.J2EE/ChangeLog index c227f95fa10..447ff628597 100644 --- a/mcs/class/System.Web/System.Web.J2EE/ChangeLog +++ b/mcs/class/System.Web/System.Web.J2EE/ChangeLog @@ -1,14 +1,3 @@ -2006-01-19 Konstantin Triger <kostat@mainsoft.com>
-
- * BaseHttpServlet.cs: call correct ServletWorkerRequest ctor
-
-2006-01-09 Konstantin Triger <kostat@mainsoft.com>
-
- * BaseHttpServlet.cs: merging main/32, main/33
- * PageMapper.cs: merging main/17-27
- * J2EEUtils.cs: mergind ghutils.cs@@/main/9
- * Added ObjectInputStream.cs, ObjectOutputStream.cs
-
2005-09-08 Eyal Alalouf <eyala@mainsoft.com>
* BaseHttpServlet.cs, PageMapper.cs, BaseStaticHttpServlet.cs,
SessionListener.cs - backward compatibility fixes.
diff --git a/mcs/class/System.Web/System.Web.J2EE/J2EEUtils.cs b/mcs/class/System.Web/System.Web.J2EE/J2EEUtils.cs index 4742628e482..c5d4d970b94 100644 --- a/mcs/class/System.Web/System.Web.J2EE/J2EEUtils.cs +++ b/mcs/class/System.Web/System.Web.J2EE/J2EEUtils.cs @@ -65,7 +65,7 @@ namespace System.Web.J2EE string path = ""; ServletContext context = config.getServletContext(); string appDir = config.getInitParameter(IAppDomainConfig.APP_DIR_NAME); -// Console.WriteLine("appdir = {0}", appDir); + Console.WriteLine("appdir = {0}", appDir); if (appDir != null) { try @@ -73,7 +73,7 @@ namespace System.Web.J2EE java.io.File f = new java.io.File(appDir); if(f.exists()) { -// Console.WriteLine("Physical path= {0}", appDir); + Console.WriteLine("Physical path= {0}", appDir); path = appDir; } } @@ -91,7 +91,7 @@ namespace System.Web.J2EE if (!path.EndsWith ("/") && !path.EndsWith ("\\")) path += "/"; -// Console.WriteLine("Physical path= {0}", path); + Console.WriteLine("Physical path= {0}", path); return path; } diff --git a/mcs/class/System.Web/System.Web.J2EE/ObjectInputStream.cs b/mcs/class/System.Web/System.Web.J2EE/ObjectInputStream.cs deleted file mode 100755 index e65db690fac..00000000000 --- a/mcs/class/System.Web/System.Web.J2EE/ObjectInputStream.cs +++ /dev/null @@ -1,107 +0,0 @@ -// -// (C) 2005 Mainsoft Corporation (http://www.mainsoft.com) -// -// Authors: -// Vladimir Krasnov <vladimirk@mainsoft.com> -// Konstantin Triger <kostat@mainsoft.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.J2EE
-{
- internal class ObjectInputStream : System.IO.Stream {
- readonly java.io.ObjectInput _javaObjectInput;
-
- public ObjectInputStream(java.io.ObjectInput stream) {
- _javaObjectInput = stream;
- }
-
- public override bool CanRead {
- get {
- return true;
- }
- }
-
- public override bool CanWrite {
- get {
- return false;
- }
- }
-
- public override bool CanSeek {
- get {
- return true;
- }
- }
-
- public override long Length {
- get {
- throw new NotSupportedException();
- }
- }
-
- public override long Position {
- get {
- throw new NotSupportedException();
- }
- set {
- throw new NotSupportedException();
- }
- }
-
- public override void Flush() {
- throw new NotSupportedException();
- }
-
- public override long Seek(long offset, System.IO.SeekOrigin origin) {
- if (origin == System.IO.SeekOrigin.Current)
- return _javaObjectInput.skip(offset);
-
- throw new NotSupportedException();
- }
-
- public override void SetLength(long value) {
- throw new NotSupportedException();
- }
-
- public override int Read(byte[] buffer, int offset, int count) {
- return _javaObjectInput.read(vmw.common.TypeUtils.ToSByteArray(buffer), offset, count);
- }
-
- public override void Write(byte[] buffer, int offset, int count) {
- throw new NotSupportedException();
- }
-
- public override int ReadByte() {
- return _javaObjectInput.read();
- }
-
- public override void Close() {
- _javaObjectInput.close();
- }
-
- public java.io.ObjectInput NativeStream {
- get {return _javaObjectInput;}
- }
- }
-}
diff --git a/mcs/class/System.Web/System.Web.J2EE/ObjectOutputStream.cs b/mcs/class/System.Web/System.Web.J2EE/ObjectOutputStream.cs deleted file mode 100755 index ecfadb47c8f..00000000000 --- a/mcs/class/System.Web/System.Web.J2EE/ObjectOutputStream.cs +++ /dev/null @@ -1,104 +0,0 @@ -// -// (C) 2005 Mainsoft Corporation (http://www.mainsoft.com) -// -// Authors: -// Vladimir Krasnov <vladimirk@mainsoft.com> -// Konstantin Triger <kostat@mainsoft.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.J2EE
-{
- internal class ObjectOutputStream : System.IO.Stream {
- readonly java.io.ObjectOutput _javaObjectOutput;
-
- public ObjectOutputStream(java.io.ObjectOutput stream) {
- _javaObjectOutput = stream;
- }
-
- public override bool CanRead {
- get {
- return false;
- }
- }
-
- public override bool CanSeek {
- get {
- return false;
- }
- }
-
- public override bool CanWrite {
- get {
- return true;
- }
- }
-
- public override void Close() {
- _javaObjectOutput.close();
- }
-
- public override void Flush() {
- _javaObjectOutput.flush();
- }
-
- public override long Length {
- get {
- throw new NotSupportedException();
- }
- }
-
- public override long Position {
- get {
- throw new NotSupportedException();
- }
- set {
- throw new NotSupportedException();
- }
- }
-
- public override long Seek(long offset, System.IO.SeekOrigin origin) {
- throw new NotSupportedException();
- }
-
- public override void SetLength(long value) {
- throw new NotSupportedException();
- }
-
- public override int Read(byte[] buffer, int offset, int count) {
- throw new NotSupportedException();
- }
-
- public override void Write(byte[] buffer, int offset, int count) {
- _javaObjectOutput.write( vmw.common.TypeUtils.ToSByteArray(buffer), offset, count );
- }
-
- public override void WriteByte(byte value) {
- _javaObjectOutput.write(value);
- }
-
- public java.io.ObjectOutput NativeStream {
- get {return _javaObjectOutput;}
- }
- }
-}
diff --git a/mcs/class/System.Web/System.Web.J2EE/PageMapper.cs b/mcs/class/System.Web/System.Web.J2EE/PageMapper.cs index 1ea71e5acc9..587ea307f26 100644 --- a/mcs/class/System.Web/System.Web.J2EE/PageMapper.cs +++ b/mcs/class/System.Web/System.Web.J2EE/PageMapper.cs @@ -40,37 +40,27 @@ namespace System.Web.J2EE public class PageMapper { private static readonly string _fileListName = "/filelist.xml"; - private static readonly object LOCK_GETASSEMBLIESCACHEDDOCUMENT = new object(); - private static readonly object LOCK_GETFROMMAPPATHCACHE = new object(); public static string GetFromMapPathCache(string key) { - Hashtable answer = null; - lock(LOCK_GETFROMMAPPATHCACHE) + Hashtable answer = (Hashtable) AppDomain.CurrentDomain.GetData(J2EEConsts.MAP_PATH_CACHE); + if (answer == null) { - answer = (Hashtable) AppDomain.CurrentDomain.GetData(J2EEConsts.MAP_PATH_CACHE); - if (answer == null) - { - answer = new Hashtable(); - CachedDocumentTypeStorage storage = (CachedDocumentTypeStorage)GetAssembliesCachedDocument(); - IDictionaryEnumerator e = storage.GetEnumerator(); - e.Reset(); - while (e.MoveNext()) - { - string currentFile = (string)((DictionaryEntry)e.Current).Key; - answer[currentFile]= IAppDomainConfig.WAR_ROOT_SYMBOL + currentFile; - } - AppDomain.CurrentDomain.SetData(J2EEConsts.MAP_PATH_CACHE,answer); - + answer = new Hashtable(); + CachedDocumentTypeStorage storage = (CachedDocumentTypeStorage)GetAssembliesCachedDocument(); + IDictionaryEnumerator e = storage.GetEnumerator(); + e.Reset(); + while (e.MoveNext()) + { + string currentFile = (string)((DictionaryEntry)e.Current).Key; + answer[currentFile]= IAppDomainConfig.WAR_ROOT_SYMBOL + currentFile; } + AppDomain.CurrentDomain.SetData(J2EEConsts.MAP_PATH_CACHE,answer); + } return (string)answer[key]; } - // UNUSED METHOD - //The method was used by runtime to force file names casesensitivity - // problem. The filelist.xml file should contain correct file names, - // but currently it is unused public static void LoadFileList() { Hashtable hashTable = (Hashtable) AppDomain.CurrentDomain.GetData(J2EEConsts.FILE_LIST_FILE); @@ -80,12 +70,6 @@ namespace System.Web.J2EE try { Stream fs = (Stream)IOUtils.getStream(_fileListName); - if (fs == null) - { - AppDomain.CurrentDomain.SetData(J2EEConsts.FILE_LIST_FILE, new Hashtable()); - return; - } - doc = new XmlDocument(); doc.Load(fs); } @@ -110,10 +94,11 @@ namespace System.Web.J2EE } } + private static readonly object LOCK_OBJECT = new object(); private static ICachedXmlDoc GetAssembliesCachedDocument() { - lock(LOCK_GETASSEMBLIESCACHEDDOCUMENT) + lock(LOCK_OBJECT) { ICachedXmlDoc doc = (ICachedXmlDoc) AppDomain.CurrentDomain.GetData(J2EEConsts.ASSEMBLIES_FILE); if (doc == null) @@ -144,7 +129,9 @@ namespace System.Web.J2EE if (url.StartsWith(IAppDomainConfig.WAR_ROOT_SYMBOL)) url = url.Substring(IAppDomainConfig.WAR_ROOT_SYMBOL.Length); - Type t = doc.Get(url); + string query = url.ToLower(); + + Type t = (Type) doc.Get(query); if (t == null) throw new HttpException(404,"The requested resource (" + url + ") is not available."); @@ -155,7 +142,7 @@ namespace System.Web.J2EE #region ICachedXmlDoc interface interface ICachedXmlDoc { - Type Get(string key); + object Get(object key); //bool ContainsKey(object key); } #endregion @@ -172,16 +159,18 @@ namespace System.Web.J2EE private CachedDocumentTypeStorage(int initTableSize) { - _table = Hashtable.Synchronized(new Hashtable(initTableSize)); + _table = new Hashtable(initTableSize); } public CachedDocumentTypeStorage() : this(DEFAULT_PAGES_NUMBER) {} - Type ICachedXmlDoc.Get(string o) + object ICachedXmlDoc.Get(object o) { - return GetTypeByURL(o); + if(o is string) + return GetTypeByURL((string) o); + throw new ArgumentException("the key should be a string"); } internal IDictionaryEnumerator GetEnumerator() @@ -191,19 +180,14 @@ namespace System.Web.J2EE public Type GetTypeByURL(string url) { - string lwUrl = url.ToLower(); - lock (_table) + if (!_table.ContainsKey(url)) { - object retVal = _table[lwUrl]; - if (retVal == null) - { - PageCompiler compiler = new PageCompiler(url); - retVal = compiler.GetCachedType(); - _table[lwUrl] = retVal; - } - - return (Type)retVal; + PageCompiler compiler = new PageCompiler(url); + _table[url] = compiler.GetCachedType(); } + + + return (Type)_table[url]; } } #endregion @@ -245,10 +229,7 @@ namespace System.Web.J2EE Console.WriteLine(descPath); #endif Stream fs = (Stream)IOUtils.getStream("/" + descPath); - if (fs != null) - { - typeName = GetTypeFromDescStream(fs); - } + typeName = GetTypeFromDescStream(fs); } catch (Exception ex) { @@ -269,17 +250,10 @@ namespace System.Web.J2EE if (fileName.ToLower() != "global.asax" && fileName.ToLower() != "defaultwsdlhelpgenerator.aspx") { - string fullFileName = HttpContext.Current.Request.MapPath(_url); - if ( File.Exists(fullFileName) ) { - //type not found - run aspxparser - string[] command = GetParserCmd(); - if (J2EEUtils.RunProc(command) != 0) - throw GetCompilerError(); - } - else { - string message = "The requested resource (" + _url + ") is not available."; - throw new HttpException(404, message); - } + //type not found - run aspxparser + string[] command = GetParserCmd(); + if (J2EEUtils.RunProc(command) != 0) + throw GetCompilerError(); } //if the desciptor exists in the real app dir - get the type try @@ -389,10 +363,15 @@ namespace System.Web.J2EE if (file != null) { - Location loc = new Location(null); - loc.Filename = file; - loc.BeginLine = int.Parse(lineInFile); - return new ParseException(loc,message); + try { + Location loc = new Location(null); + loc.Filename = file; + loc.BeginLine = int.Parse(lineInFile); + return new ParseException(loc,message); + } + // If file doesn't exist, or is unreadable just go on and send + // the original error message. + catch(Exception e) {} } if (message.IndexOf(typeof(FileNotFoundException).Name) != -1 && @@ -402,3 +381,10 @@ namespace System.Web.J2EE } } } + +namespace System.Web.GH +{ + public class PageMapper : System.Web.J2EE.PageMapper + { + } +} diff --git a/mcs/class/System.Web/System.Web.Mail/ChangeLog b/mcs/class/System.Web/System.Web.Mail/ChangeLog index a9cdc2abb08..8e59828b4c1 100644 --- a/mcs/class/System.Web/System.Web.Mail/ChangeLog +++ b/mcs/class/System.Web/System.Web.Mail/ChangeLog @@ -1,9 +1,3 @@ -2006-01-08 Konstantin Triger <kostat@mainsoft.com> - - * SmtpClient.cs, SmtpMail.cs, MailMessage.cs, MailMessageWrapper.cs, - MailAttachment.cs: TARGET_JVM changes to let the compilation - pass with csc 1.1. - 2005-11-28 Chris Toshok <toshok@ximian.com> * SmtpClient.cs: ignore warning 618 (obsolete) when compiling an diff --git a/mcs/class/System.Web/System.Web.Mail/MailAttachment.cs b/mcs/class/System.Web/System.Web.Mail/MailAttachment.cs index 809524b6fd3..3d6cb364baf 100644 --- a/mcs/class/System.Web/System.Web.Mail/MailAttachment.cs +++ b/mcs/class/System.Web/System.Web.Mail/MailAttachment.cs @@ -34,6 +34,9 @@ using System.Security.Permissions; namespace System.Web.Mail { +#if NET_2_0 +#pragma warning disable 618 +#endif // CAS [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] @@ -76,4 +79,7 @@ namespace System.Web.Mail get { return encoding; } } } +#if NET_2_0 +#pragma warning restore 618 +#endif } diff --git a/mcs/class/System.Web/System.Web.Mail/MailMessage.cs b/mcs/class/System.Web/System.Web.Mail/MailMessage.cs index 144903ba282..abfe72ebbcf 100644 --- a/mcs/class/System.Web/System.Web.Mail/MailMessage.cs +++ b/mcs/class/System.Web/System.Web.Mail/MailMessage.cs @@ -35,6 +35,9 @@ using System.Text; namespace System.Web.Mail { +#if NET_2_0 +#pragma warning disable 618 +#endif // CAS [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] @@ -142,4 +145,7 @@ namespace System.Web.Mail } #endif } +#if NET_2_0 +#pragma warning restore 618 +#endif } diff --git a/mcs/class/System.Web/System.Web.Mail/MailMessageWrapper.cs b/mcs/class/System.Web/System.Web.Mail/MailMessageWrapper.cs index d7ab68663da..159c336def8 100644 --- a/mcs/class/System.Web/System.Web.Mail/MailMessageWrapper.cs +++ b/mcs/class/System.Web/System.Web.Mail/MailMessageWrapper.cs @@ -33,6 +33,10 @@ using System.Text; namespace System.Web.Mail { +#if NET_2_0 +#pragma warning disable 618 +#endif + // wraps a MailMessage to make an easier // interface to work with collections of // addresses instead of a single string @@ -248,4 +252,8 @@ namespace System.Web.Mail { } #endif } + +#if NET_2_0 +#pragma warning restore 618 +#endif } diff --git a/mcs/class/System.Web/System.Web.Mail/SmtpClient.cs b/mcs/class/System.Web/System.Web.Mail/SmtpClient.cs index 97a8109200c..271423a4cf5 100644 --- a/mcs/class/System.Web/System.Web.Mail/SmtpClient.cs +++ b/mcs/class/System.Web/System.Web.Mail/SmtpClient.cs @@ -36,6 +36,9 @@ using System.Net.Sockets; using System.Security.Permissions; namespace System.Web.Mail { +#if NET_2_0 +#pragma warning disable 618 +#endif /// represents a conntection to a smtp server internal class SmtpClient { @@ -242,4 +245,7 @@ namespace System.Web.Mail { } +#if NET_2_0 +#pragma warning restore 618 +#endif } diff --git a/mcs/class/System.Web/System.Web.Mail/SmtpMail.cs b/mcs/class/System.Web/System.Web.Mail/SmtpMail.cs index 7e6042c0268..c074f44e2fb 100644 --- a/mcs/class/System.Web/System.Web.Mail/SmtpMail.cs +++ b/mcs/class/System.Web/System.Web.Mail/SmtpMail.cs @@ -36,6 +36,9 @@ using System.Security.Permissions; namespace System.Web.Mail { +#if NET_2_0 +#pragma warning disable 618 +#endif // CAS [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] @@ -119,4 +122,7 @@ namespace System.Web.Mail Send (message); } } +#if NET_2_0 +#pragma warning restore 618 +#endif } diff --git a/mcs/class/System.Web/System.Web.SessionState/ChangeLog b/mcs/class/System.Web/System.Web.SessionState/ChangeLog index bce20913ac0..6ce96b6165c 100644 --- a/mcs/class/System.Web/System.Web.SessionState/ChangeLog +++ b/mcs/class/System.Web/System.Web.SessionState/ChangeLog @@ -1,11 +1,3 @@ -2006-01-18 Konstantin Triger <kostat@mainsoft.com> - - * HttpSessionState.jvm.cs: correcting serialization conditions. - -2006-01-09 Konstantin Triger <kostat@mainsoft.com> - - * HttpSessionState.jvm.cs: merging HttpSessionState.cs@@/main/19-24 - 2005-11-28 Chris Toshok <toshok@ximian.com> * SessionStateModule.cs: CONFIGURATION_2_0 work. diff --git a/mcs/class/System.Web/System.Web.SessionState/HttpSessionState.jvm.cs b/mcs/class/System.Web/System.Web.SessionState/HttpSessionState.jvm.cs index 42239d7a5d2..0524e74bc8c 100644 --- a/mcs/class/System.Web/System.Web.SessionState/HttpSessionState.jvm.cs +++ b/mcs/class/System.Web/System.Web.SessionState/HttpSessionState.jvm.cs @@ -55,6 +55,7 @@ public sealed class HttpSessionState : ICollection, IEnumerable, java.io.Externa internal bool _abandoned; private object _app; + private bool _readFirstTime = true; private bool _needSessionPersistence = false; internal HttpSessionState (string id, @@ -110,10 +111,10 @@ public sealed class HttpSessionState : ICollection, IEnumerable, java.io.Externa { output.writeBoolean(_needSessionPersistence); if (!_needSessionPersistence) - //indicates that there is nothing to serialize for this object + { return; - - System.Web.J2EE.ObjectOutputStream ms = new System.Web.J2EE.ObjectOutputStream(output); + } + System.IO.MemoryStream ms = new System.IO.MemoryStream(); System.IO.BinaryWriter bw = new System.IO.BinaryWriter(ms); bw.Write(_id); _dict.Serialize(bw); @@ -130,6 +131,7 @@ public sealed class HttpSessionState : ICollection, IEnumerable, java.io.Externa else bw.Write(3); bw.Write(_isReadonly); + output.writeObject(vmw.common.TypeUtils.ToSByteArray(ms.GetBuffer())); } } @@ -138,10 +140,17 @@ public sealed class HttpSessionState : ICollection, IEnumerable, java.io.Externa lock(this) { _needSessionPersistence = input.readBoolean(); - if(!_needSessionPersistence) //noting has been written + if (!_needSessionPersistence) + { return; - - System.Web.J2EE.ObjectInputStream ms = new System.Web.J2EE.ObjectInputStream( input ); + } + sbyte[] array = (sbyte[])input.readObject(); + if (!_readFirstTime || array == null || array.Length == 0) + { + return; + } + _readFirstTime = false; + System.IO.MemoryStream ms = new System.IO.MemoryStream((byte[])vmw.common.TypeUtils.ToByteArray(array)); System.IO.BinaryReader br = new System.IO.BinaryReader(ms); _id = br.ReadString(); _dict = SessionDictionary.Deserialize(br); diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/BaseValidator.cs b/mcs/class/System.Web/System.Web.UI.WebControls/BaseValidator.cs index 75968b8414d..b0fadcb89da 100644 --- a/mcs/class/System.Web/System.Web.UI.WebControls/BaseValidator.cs +++ b/mcs/class/System.Web/System.Web.UI.WebControls/BaseValidator.cs @@ -253,14 +253,10 @@ namespace System.Web.UI.WebControls { if (!IsValid) writer.AddAttribute ("isvalid", "false"); - else - if (Display == ValidatorDisplay.Static) - writer.AddStyleAttribute ("visibility", "hidden"); - else - writer.AddStyleAttribute ("display", "none"); - if (Display != ValidatorDisplay.Static) - writer.AddAttribute ("display", Display.ToString()); + if (Display == ValidatorDisplay.Static) { + writer.AddStyleAttribute ("visibility", "static"); + } } base.AddAttributesToRender (writer); diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/Button.cs b/mcs/class/System.Web/System.Web.UI.WebControls/Button.cs index 3245aaff7fa..f6bd105a978 100644 --- a/mcs/class/System.Web/System.Web.UI.WebControls/Button.cs +++ b/mcs/class/System.Web/System.Web.UI.WebControls/Button.cs @@ -189,11 +189,8 @@ namespace System.Web.UI.WebControls { writer.AddAttribute (HtmlTextWriterAttribute.Value, Text); if (CausesValidation && Page != null && Page.AreValidatorsUplevel ()) { - string onclick = Attributes["onclick"]; - if (onclick != null) - Attributes.Remove("onclick"); ClientScriptManager csm = new ClientScriptManager (Page); - writer.AddAttribute (HtmlTextWriterAttribute.Onclick, onclick + csm.GetClientValidationEvent ()); + writer.AddAttribute (HtmlTextWriterAttribute.Onclick, csm.GetClientValidationEvent ()); writer.AddAttribute ("language", "javascript"); } diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog b/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog index d92fdded1e3..3e82095c5cb 100644 --- a/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog +++ b/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog @@ -1,11 +1,3 @@ -2006-01-15 Konstantin Triger <kostat@mainsoft.com> - - * Button.cs: preserve user logic when adding client validation. - -2006-01-15 Konstantin Triger <kostat@mainsoft.com> - - * BaseValidator.cs: fixing visibility bahavior - 2006-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com> * RangeValidator.cs: allow empty data from the control. Patch from Marek @@ -16,11 +8,6 @@ * Calendar.cs: use the DateTimeFormatInfo from the current thread. Patch by Cyrille Colin. Closes bug #77184. -2006-01-08 Konstantin Triger <kostat@mainsoft.com> - - * PagedDataSource.cs, DataGrid.cs: TARGET_JVM changes to let the - compilation pass with csc 1.1. - 2005-12-08 Gonzalo Paniagua Javier <gonzalo@ximian.com> * DropDownList.cs: HtmlEncode the item text. Fixes bug #76949. diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataGrid.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataGrid.cs index 8f320673036..6dfda09afc5 100644 --- a/mcs/class/System.Web/System.Web.UI.WebControls/DataGrid.cs +++ b/mcs/class/System.Web/System.Web.UI.WebControls/DataGrid.cs @@ -858,29 +858,6 @@ namespace System.Web.UI.WebControls { class NCollection : ICollection { int n; -#if TARGET_JVM - class SequenceEnumerator : IEnumerator { - readonly int _max; - object _current; - public SequenceEnumerator(int max) { - _max = max; - Reset(); - } - - public bool MoveNext() { - _current = (int)_current + 1; - return (int)_current >= 0 && (int)_current < _max; - } - - public void Reset() { - _current = -1; - } - - public object Current { - get { return _current; } - } - } -#endif public NCollection (int n) { @@ -889,12 +866,8 @@ namespace System.Web.UI.WebControls { public IEnumerator GetEnumerator () { -#if TARGET_JVM - return new SequenceEnumerator(n); -#else for (int i = 0; i < n; i++) yield return i; -#endif } public int Count { diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/PagedDataSource.cs b/mcs/class/System.Web/System.Web.UI.WebControls/PagedDataSource.cs index 9e036145322..6afb4687e49 100644 --- a/mcs/class/System.Web/System.Web.UI.WebControls/PagedDataSource.cs +++ b/mcs/class/System.Web/System.Web.UI.WebControls/PagedDataSource.cs @@ -243,81 +243,10 @@ namespace System.Web.UI.WebControls { return String.Empty; // as documented } -#if TARGET_JVM - internal class ListEnum : IEnumerator - { - int start; - int end; - int ind; - IList list; - - internal ListEnum(IList list, int start, int end) - { - this.list = list; - this.start = start; - this.end = end; - this.ind = start - 1; - } - - public bool MoveNext() - { - ind++; - return (ind < end); - } - - public void Reset() { ind = start - 1; } - public object Current { get { return list[ind]; }} - } - private IEnumerator GetListEnum (IList list, int start, int end) { if (!allow_paging) end = list.Count; - return new ListEnum(list, start, end); - } - - internal class EnumeratorEnum : IEnumerator - { - int start; - int end; - int ind; - IEnumerator en; - PagedDataSource parent; - - internal EnumeratorEnum(PagedDataSource parent, IEnumerator en, int start, int end) - { - this.parent = parent; - this.en = en; - this.start = start; - this.end = end; - this.ind = start - 1; - for (int i = 0; i < start; i++) - en.MoveNext (); - } - - public bool MoveNext() - { - ind++; - return (!parent.allow_paging || ind < end) && en.MoveNext (); - } - - public void Reset() - { - throw new NotSupportedException(); - } - - public object Current { get { return en.Current; }} - } - - private IEnumerator GetEnumeratorEnum (IEnumerator e, int start, int end) - { - return new EnumeratorEnum(this, e, start, end); - } -#else - private IEnumerator GetListEnum (IList list, int start, int end) - { - if (!AllowPaging) - end = list.Count; else if (start >= list.Count) yield break; @@ -332,7 +261,6 @@ namespace System.Web.UI.WebControls { for (int i = start; (!allow_paging || i < end) && e.MoveNext (); i++) yield return e.Current; } -#endif } } diff --git a/mcs/class/System.Web/System.Web.UI/ChangeLog b/mcs/class/System.Web/System.Web.UI/ChangeLog index a2639c7e97f..f74ec432b5b 100644 --- a/mcs/class/System.Web/System.Web.UI/ChangeLog +++ b/mcs/class/System.Web/System.Web.UI/ChangeLog @@ -1,41 +1,3 @@ -2006-01-18 Konstantin Triger <kostat@mainsoft.com> - - * ObjectStateFormatter.cs: preserve emptiness in ColorFormatter. - -2006-01-18 Konstantin Triger <kostat@mainsoft.com> - - * HtmlTextWriter.cs: perform case insensitive compare; - return correct key in default case. - -2006-01-11 Chris Toshok <toshok@ximian.com> - - * ClientScriptManager.cs (RegisterClientScriptResource): - implement. - -2006-01-11 Vladimir Krasnov <vladimirk@mainsoft.com> - - * ObjectStateFormatter.cs: Removed TARGET_JVM parts in - TypeFormatter.Read - -2006-01-10 Chris Toshok <toshok@ximian.com> - - * Page.cs (ValidateCollection): in NET_2_0 if event validation is - off, return true. - -2006-01-09 Chris Toshok <toshok@ximian.com> - - * Page.cs: fix a lot of indentation, and add the - EnableEventValidation .net 2.0 property. - -2006-01-09 Vladimir Krasnov <vladimirk@mainsoft.com> - - * ObjectStateFormatter.cs: Merged TARGET_JVM parts in - TypeFormatter.Read, TypeFormatter.Write from /main/5 - -2006-01-09 Konstantin Triger <kostat@mainsoft.com> - - * Page.cs: make ProcessRequest virtual under TARGET_JVM. - 2006-01-04 Chris Toshok <toshok@ximian.com> * TemplateParser.cs (.ctor): kinda gross, but handle the diff --git a/mcs/class/System.Web/System.Web.UI/ClientScriptManager.cs b/mcs/class/System.Web/System.Web.UI/ClientScriptManager.cs index 33f5424f37c..0b819f014f6 100644 --- a/mcs/class/System.Web/System.Web.UI/ClientScriptManager.cs +++ b/mcs/class/System.Web/System.Web.UI/ClientScriptManager.cs @@ -295,9 +295,10 @@ namespace System.Web.UI } #if NET_2_0 + [MonoTODO] public void RegisterClientScriptResource (Type type, string resourceName) { - RegisterScript (ref scriptIncludes, type, "resource-" + resourceName, GetWebResourceUrl (typeof(Page), "resourceName"), false); + throw new NotImplementedException (); } [MonoTODO] diff --git a/mcs/class/System.Web/System.Web.UI/HtmlTextWriter.cs b/mcs/class/System.Web/System.Web.UI/HtmlTextWriter.cs index 9bb5f4ada08..30cca3967a6 100644 --- a/mcs/class/System.Web/System.Web.UI/HtmlTextWriter.cs +++ b/mcs/class/System.Web/System.Web.UI/HtmlTextWriter.cs @@ -204,11 +204,11 @@ namespace System.Web.UI { // faster than a linear search? foreach (HtmlAttribute t in htmlattrs) { - if (String.Compare(t.name, attrName, true, CultureInfo.InvariantCulture) == 0) + if (t.name == attrName) return t.key; } - return (HtmlTextWriterAttribute)(-1); + return 0; } [MonoTODO] @@ -229,11 +229,11 @@ namespace System.Web.UI { // faster than a linear search? foreach (HtmlStyle t in htmlstyles) { - if (String.Compare(t.name, styleName, true, CultureInfo.InvariantCulture) == 0) + if (t.name == styleName) return t.key; } - return (HtmlTextWriterStyle)(-1); + return 0; } [MonoTODO] @@ -251,7 +251,7 @@ namespace System.Web.UI { // faster than a linear search? foreach (HtmlTag t in tags) { - if (String.Compare(t.name, tagName, true, CultureInfo.InvariantCulture) == 0) + if (t.name == tagName) return t.key; } diff --git a/mcs/class/System.Web/System.Web.UI/ObjectStateFormatter.cs b/mcs/class/System.Web/System.Web.UI/ObjectStateFormatter.cs index 27081526946..678e939f518 100644 --- a/mcs/class/System.Web/System.Web.UI/ObjectStateFormatter.cs +++ b/mcs/class/System.Web/System.Web.UI/ObjectStateFormatter.cs @@ -663,24 +663,19 @@ namespace System.Web.UI { if (!c.IsKnownColor) { w.Write (PrimaryId); - w.Write(c.IsEmpty); - if (!c.IsEmpty) - w.Write (c.ToArgb ()); + w.Write (c.ToArgb ()); } else { w.Write (SecondaryId); - w.Write(c.IsEmpty); - if (!c.IsEmpty) - w.Write ((int) c.ToKnownColor ()); + w.Write ((int) c.ToKnownColor ()); } } protected override object Read (byte token, BinaryReader r, ReaderContext ctx) { - bool isEmpty = r.ReadBoolean(); if (token == PrimaryId) - return isEmpty ? Color.Empty : Color.FromArgb (r.ReadInt32 ()); + return Color.FromArgb (r.ReadInt32 ()); else - return isEmpty ? Color.Empty : Color.FromKnownColor ((KnownColor) r.ReadInt32 ()); + return Color.FromKnownColor ((KnownColor) r.ReadInt32 ()); } protected override Type Type { @@ -726,7 +721,7 @@ namespace System.Web.UI { } else { w.Write (PrimaryId); w.Write (((Type) o).FullName); - + // We should cache the name of the assembly w.Write (((Type) o).Assembly.FullName); } @@ -737,6 +732,7 @@ namespace System.Web.UI { if (token == PrimaryId) { string type = r.ReadString (); string assembly = r.ReadString (); + Type t = Assembly.Load (assembly).GetType (type); ctx.CacheItem (t); return t; diff --git a/mcs/class/System.Web/System.Web.UI/Page.cs b/mcs/class/System.Web/System.Web.UI/Page.cs index 50fe94a3a0e..00c268a2fc3 100644 --- a/mcs/class/System.Web/System.Web.UI/Page.cs +++ b/mcs/class/System.Web/System.Web.UI/Page.cs @@ -72,7 +72,6 @@ namespace System.Web.UI #endif public class Page : TemplateControl, IHttpHandler { - private bool _eventValidation = true; private bool _viewState = true; private bool _viewStateMac; private string _errorPage; @@ -158,8 +157,8 @@ public class Page : TemplateControl, IHttpHandler [EditorBrowsable (EditorBrowsableState.Never)] #if NET_2_0 - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public bool Buffer { get { return Response.BufferOutput; } @@ -184,7 +183,7 @@ public class Page : TemplateControl, IHttpHandler } #if NET_2_0 - [EditorBrowsableAttribute (EditorBrowsableState.Advanced)] + [EditorBrowsableAttribute (EditorBrowsableState.Advanced)] #endif [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] [Browsable (false), DefaultValue ("")] @@ -201,8 +200,8 @@ public class Page : TemplateControl, IHttpHandler [EditorBrowsable (EditorBrowsableState.Never)] #if NET_2_0 - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public int CodePage { get { return Response.ContentEncoding.CodePage; } @@ -217,8 +216,8 @@ public class Page : TemplateControl, IHttpHandler [EditorBrowsable (EditorBrowsableState.Never)] #if NET_2_0 - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public string ContentType { get { return Response.ContentType; } @@ -243,8 +242,8 @@ public class Page : TemplateControl, IHttpHandler [EditorBrowsable (EditorBrowsableState.Never)] #if NET_2_0 - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public string Culture { get { return Thread.CurrentThread.CurrentCulture.Name; } @@ -257,13 +256,6 @@ public class Page : TemplateControl, IHttpHandler } #endif -#if NET_2_0 - public virtual bool EnableEventValidation { - get { return _eventValidation; } - set { _eventValidation = value;} - } -#endif - [Browsable (false)] public override bool EnableViewState { @@ -272,8 +264,8 @@ public class Page : TemplateControl, IHttpHandler } #if NET_2_0 - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] #endif [EditorBrowsable (EditorBrowsableState.Never)] protected bool EnableViewStateMac @@ -341,8 +333,8 @@ public class Page : TemplateControl, IHttpHandler [EditorBrowsable (EditorBrowsableState.Never)] #if NET_2_0 - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public int LCID { get { return Thread.CurrentThread.CurrentCulture.LCID; } set { Thread.CurrentThread.CurrentCulture = new CultureInfo (value); } @@ -387,8 +379,8 @@ public class Page : TemplateControl, IHttpHandler [EditorBrowsable (EditorBrowsableState.Never)] #if NET_2_0 - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public string ResponseEncoding { get { return Response.ContentEncoding.WebName; } @@ -447,8 +439,8 @@ public class Page : TemplateControl, IHttpHandler [EditorBrowsable (EditorBrowsableState.Never)] #if NET_2_0 - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public bool TraceEnabled { get { return Trace.IsEnabled; } @@ -463,8 +455,8 @@ public class Page : TemplateControl, IHttpHandler [EditorBrowsable (EditorBrowsableState.Never)] #if NET_2_0 - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public TraceMode TraceModeValue { get { return Trace.TraceMode; } @@ -493,8 +485,8 @@ public class Page : TemplateControl, IHttpHandler [EditorBrowsable (EditorBrowsableState.Never)] #if NET_2_0 - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public string UICulture { get { return Thread.CurrentThread.CurrentUICulture.Name; } @@ -907,11 +899,7 @@ public class Page : TemplateControl, IHttpHandler } [EditorBrowsable (EditorBrowsableState.Never)] -#if TARGET_JVM - public virtual void ProcessRequest (HttpContext context) -#else public void ProcessRequest (HttpContext context) -#endif { _context = context; if (clientTarget != null) @@ -1289,11 +1277,6 @@ public class Page : TemplateControl, IHttpHandler bool ValidateCollection (ValidatorCollection validators) { -#if NET_2_0 - if (!_eventValidation) - return true; -#endif - if (validators == null || validators.Count == 0) return true; @@ -1453,21 +1436,21 @@ public class Page : TemplateControl, IHttpHandler _form = form; } - [BrowsableAttribute (false)] - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] public Page PreviousPage { get { return previousPage; } } - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public bool IsCallback { get { return _requestValueCollection != null && _requestValueCollection [CallbackArgumentID] != null; } } - [BrowsableAttribute (false)] - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] public bool IsCrossPagePostBack { get { return _requestValueCollection != null && isCrossPagePostBack; } } @@ -1486,8 +1469,8 @@ public class Page : TemplateControl, IHttpHandler return target.RaiseCallbackEvent (callbackArgument); } - [BrowsableAttribute (false)] - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] public HtmlHead Header { get { return htmlHeader; } } @@ -1497,14 +1480,14 @@ public class Page : TemplateControl, IHttpHandler htmlHeader = header; } - [DefaultValueAttribute ("")] + [DefaultValueAttribute ("")] public string MasterPageFile { get { return masterPageFile; } set { masterPageFile = value; masterPage = null; } } - [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] - [BrowsableAttribute (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [BrowsableAttribute (false)] public MasterPage Master { get { if (masterPage == null) diff --git a/mcs/class/System.Web/System.Web.Util/AltSerialization.cs b/mcs/class/System.Web/System.Web.Util/AltSerialization.cs index a36237a93b3..98116fb897f 100644 --- a/mcs/class/System.Web/System.Web.Util/AltSerialization.cs +++ b/mcs/class/System.Web/System.Web.Util/AltSerialization.cs @@ -71,12 +71,8 @@ namespace System.Web.Util { int i = types.IndexOf (type); if (i == -1) { w.Write (15); // types.Count -#if TARGET_J2EE - ((System.Web.J2EE.ObjectOutputStream)w.BaseStream).NativeStream.writeObject(value); -#else BinaryFormatter bf = new BinaryFormatter (); bf.Serialize (w.BaseStream, value); -#endif return; } @@ -130,12 +126,8 @@ namespace System.Web.Util { internal static object DeserializeFromIndex (int index, BinaryReader r) { if (index == 15){ -#if TARGET_J2EE - return ((System.Web.J2EE.ObjectInputStream)r.BaseStream).NativeStream.readObject(); -#else BinaryFormatter bf = new BinaryFormatter (); return bf.Deserialize (r.BaseStream); -#endif } object value = null; diff --git a/mcs/class/System.Web/System.Web.Util/ChangeLog b/mcs/class/System.Web/System.Web.Util/ChangeLog index b47d9ad5a00..b3730d9ffe2 100644 --- a/mcs/class/System.Web/System.Web.Util/ChangeLog +++ b/mcs/class/System.Web/System.Web.Util/ChangeLog @@ -1,7 +1,3 @@ -2006-01-09 Konstantin Triger <kostat@mainsoft.com> - - AltSerialization.cs: under TARGET_JVM: merging /main/4 - 2005-11-28 Chris Toshok <toshok@ximian.com> * WebEncoding.cs (FileEncoding, ResponseEncoding, diff --git a/mcs/class/System.Web/System.Web.dll.sources b/mcs/class/System.Web/System.Web.dll.sources index 47c95d39731..7f8f02d3be2 100644 --- a/mcs/class/System.Web/System.Web.dll.sources +++ b/mcs/class/System.Web/System.Web.dll.sources @@ -15,48 +15,25 @@ System.Web.Caching/CachedVaryBy.cs System.Web.Caching/OutputCacheModule.cs System.Web/CapabilitiesLoader.cs System.Web/BrowserCapabilities.cs -System.Web.Compilation/AppSettingsExpressionBuilder.cs System.Web.Compilation/AspComponentFoundry.cs System.Web.Compilation/AspGenerator.cs System.Web.Compilation/AspParser.cs System.Web.Compilation/AspTokenizer.cs -System.Web.Compilation/AssemblyBuilder.cs System.Web.Compilation/BaseCompiler.cs -System.Web.Compilation/BuildDependencySet.cs -System.Web.Compilation/BuildManager.cs -System.Web.Compilation/BuildManagerHostUnloadEventArgs.cs -System.Web.Compilation/BuildManagerHostUnloadEventHandler.cs -System.Web.Compilation/BuildProviderAppliesToAttribute.cs -System.Web.Compilation/BuildProviderAppliesTo.cs System.Web.Compilation/BuildProviderResultFlags.cs -System.Web.Compilation/BuildProvider.cs System.Web.Compilation/CachingCompiler.cs -System.Web.Compilation/ClientBuildManagerCallback.cs -System.Web.Compilation/ClientBuildManagerParameter.cs -System.Web.Compilation/ClientBuildManager.cs System.Web.Compilation/CompilationException.cs -System.Web.Compilation/CompilerType.cs -System.Web.Compilation/ConnectionStringsExpressionBuilder.cs -System.Web.Compilation/DesignTimeResourceProviderFactoryAttribute.cs System.Web.Compilation/Directive.cs System.Web.Compilation/ExpressionBuilderContext.cs System.Web.Compilation/ExpressionBuilder.cs -System.Web.Compilation/ExpressionEditorAttribute.cs -System.Web.Compilation/ExpressionPrefixAttribute.cs System.Web.Compilation/GlobalAsaxCompiler.cs -System.Web.Compilation/IAssemblyPostProcessor.cs System.Web.Compilation/IImplicitResourceProvider.cs System.Web.Compilation/ILocation.cs System.Web.Compilation/ImplicitResourceKey.cs -System.Web.Compilation/IResourceProvider.cs -System.Web.Compilation/LinePragmaCodeInfo.cs +System.Web.Compilation/IResourceReader.cs System.Web.Compilation/Location.cs System.Web.Compilation/PageCompiler.cs System.Web.Compilation/ParseException.cs -System.Web.Compilation/PrecompilationFlags.cs -System.Web.Compilation/ResourceExpressionBuilder.cs -System.Web.Compilation/ResourceExpressionFields.cs -System.Web.Compilation/ResourceProviderFactory.cs System.Web.Compilation/TagAttributes.cs System.Web.Compilation/TagType.cs System.Web.Compilation/TemplateControlCompiler.cs diff --git a/mcs/class/System.Web/System.Web.vmwcsproj b/mcs/class/System.Web/System.Web.vmwcsproj index eddde05e89b..fa5264cfccd 100644 --- a/mcs/class/System.Web/System.Web.vmwcsproj +++ b/mcs/class/System.Web/System.Web.vmwcsproj @@ -8,25 +8,25 @@ <Config Name="Release_Java" AllowUnsafeBlocks="false" BaseAddress="285212672" CheckForOverflowUnderflow="false" ConfigurationOverrideFile="" DefineConstants="NET_1_1;TARGET_J2EE;TARGET_JVM;GH_ONLY;ONLY_1_1" DocumentationFile="" DebugSymbols="true" FileAlignment="4096" IncrementalBuild="false" NoStdLib="false" NoWarn="1595,169,649,67,168,219" Optimize="true" OutputPath="bin\Release_Java\" RegisterForComInterop="false" RemoveIntegerChecks="false" TreatWarningsAsErrors="false" WarningLevel="4"/>
</Settings>
<References>
- <Reference Name="J2EE.Helpers" AssemblyName="J2EE.Helpers" HintPath="..\lib\J2EE.Helpers.dll" Private="False"/>
- <Reference Name="J2SE.Helpers" AssemblyName="J2SE.Helpers" HintPath="..\lib\J2SE.Helpers.dll" Private="False"/>
- <Reference Name="rt" AssemblyName="rt" HintPath="..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\jre5\rt.dll" Private="False"/>
- <Reference Name="System" AssemblyName="System" HintPath="..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"/>
- <Reference Name="System.Data" AssemblyName="System.Data" HintPath="..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"/>
- <Reference Name="System.Xml" AssemblyName="System.Xml" HintPath="..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Xml.dll"/>
- <Reference Name="System.Drawing" AssemblyName="System.Drawing" HintPath="..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"/>
- <Reference Name="j2ee" AssemblyName="j2ee" HintPath="..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\tomcat\j2ee.dll" Private="False"/>
+ <Reference Name="System.EnterpriseServices" AssemblyName="System.EnterpriseServices" Private="False"/>
+ <Reference Name="System.Xml" AssemblyName="System.Xml" HintPath="..\lib\System.Xml.dll" Private="False"/>
+ <Reference Name="SystemDll" AssemblyName="System" HintPath="..\lib\System.dll" Private="True"/>
+ <Reference Name="System.Drawing" AssemblyName="System.Drawing" HintPath="..\lib\System.Drawing.dll" Private="True"/>
+ <Reference Name="J2EE.Helpers" AssemblyName="J2EE.Helpers" HintPath="..\lib\J2EE.Helpers.dll" Private="True"/>
+ <Reference Name="J2SE.Helpers" AssemblyName="J2SE.Helpers" HintPath="..\lib\J2SE.Helpers.dll" Private="True"/>
+ <Reference Name="System.Data" AssemblyName="System.Data" HintPath="..\lib\System.Data.dll" Private="False"/>
+ <Reference Name="rt" AssemblyName="rt" HintPath="..\lib\j2sdk1.4.1\rt.dll" Private="False"/>
+ <Reference Name="j2ee" AssemblyName="j2ee" HintPath="..\lib\j2ee.dll"/>
</References>
</Build>
<Files>
<Include>
- <File RelPath="browscap.ini" Link="..\..\..\mono\data\browscap.ini" BuildAction="EmbeddedResource"/>
<File RelPath="jar.resources" BuildAction="None"/>
<File RelPath="Locale.cs" Link="..\..\build\common\Locale.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="Consts.cs" Link="..\..\build\common\Consts.cs.in" SubType="Code" BuildAction="Compile"/>
<File RelPath="MonoTODOAttribute.cs" Link="..\..\build\common\MonoTODOAttribute.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Mail\ChangeLog" BuildAction="None"/>
<File RelPath="Assembly\AssemblyInfo.cs" SubType="Code" BuildAction="Compile"/>
- <File RelPath="resources\WebUIValidation.js" BuildAction="EmbeddedResource"/>
<File RelPath="System.Web\ApplicationShutdownReason.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web\BeginEventHandler.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web\BrowserCapabilities.cs" SubType="Code" BuildAction="Compile"/>
@@ -76,10 +76,8 @@ <File RelPath="System.Web\IHttpHandlerFactory.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web\IHttpMapPath.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web\IHttpModule.cs" SubType="Code" BuildAction="Compile"/>
- <File RelPath="System.Web\InputFilterStream.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web\MimeTypes.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web\NoParamsInvoker.cs" SubType="Code" BuildAction="Compile"/>
- <File RelPath="System.Web\OutputFilterStream.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web\ParserError.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web\ParserErrorCollection.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web\ProcessInfo.cs" SubType="Code" BuildAction="Compile"/>
@@ -117,14 +115,30 @@ <File RelPath="System.Web.Compilation\ILocation.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Compilation\Location.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Compilation\ParseException.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\AdapterDictionary.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\AnonymousIdentificationSection.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\AssemblyCollection.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\AssemblyInfo.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\AuthConfig.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\AuthenticationConfigHandler.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\AuthenticationMode.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\AuthenticationSection.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\AuthorizationConfig.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\AuthorizationConfigHandler.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\AuthorizationRuleAction.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\BuildProvider.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\BuildProviderAppliesTo.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\BuildProviderCollection.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\CodeSubDirectoriesCollection.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\CodeSubDirectory.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\CompilationSection.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\Compiler.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\CustomErrorsConfigHandler.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\CustomErrorsMode.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\ExpressionBuilder.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\ExpressionBuilderCollection.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\FormsAuthPasswordFormat.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\FormsAuthenticationConfiguration.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\FormsProtectionEnum.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\GlobalizationConfiguration.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\GlobalizationConfigurationHandler.cs" SubType="Code" BuildAction="Compile"/>
@@ -135,14 +149,30 @@ <File RelPath="System.Web.Configuration\HttpModulesConfigurationHandler.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\HttpRuntimeConfig.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\HttpRuntimeConfigurationHandler.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\IRemoteWebConfigurationHostServer.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\InternalSection.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\MachineKeyConfig.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\MachineKeyConfigHandler.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\MachineKeyValidation.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\MembershipSection.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\ModulesConfiguration.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\PagesConfiguration.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\PagesConfigurationHandler.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\PagesEnableSessionState.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\PagesToCountAction.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\ProcessModelComAuthenticationLevel.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\ProcessModelComImpersonationLevel.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\ProcessModelLogLevel.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\SerializationMode.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\SiteMapSection.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\TraceConfig.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\TraceConfigurationHandler.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\TraceDisplayMode.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\VirtualDirectoryMapping.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\VirtualDirectoryMappingCollection.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\WebConfigurationFileMap.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\WebConfigurationHost.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Configuration\WebConfigurationManager.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\WebConfigurationSettings.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Configuration\WebControlsSectionHandler.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Handlers\AssemblyResourceLoader.cs" SubType="Code" BuildAction="Compile"/>
@@ -163,8 +193,6 @@ <File RelPath="System.Web.J2EE\BaseStaticHttpServlet.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.J2EE\J2EEConsts.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.J2EE\J2EEUtils.cs" SubType="Code" BuildAction="Compile"/>
- <File RelPath="System.Web.J2EE\ObjectInputStream.cs" SubType="Code" BuildAction="Compile"/>
- <File RelPath="System.Web.J2EE\ObjectOutputStream.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.J2EE\PageMapper.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.J2EE\SessionListener.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Mail\Base64AttachmentEncoder.cs" SubType="Code" BuildAction="Compile"/>
@@ -868,6 +896,7 @@ <File RelPath="System.Web.Util\StrUtils.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Util\TimeUtil.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Util\TransactedCallback.cs" SubType="Code" BuildAction="Compile"/>
+ <File RelPath="System.Web.Util\Transactions.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Util\UrlUtils.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Util\WebEncoding.cs" SubType="Code" BuildAction="Compile"/>
<File RelPath="System.Web.Util\WebTrace.cs" SubType="Code" BuildAction="Compile"/>
@@ -875,6 +904,6 @@ <File RelPath="System.Web.Util\WorkItemCallback.cs" SubType="Code" BuildAction="Compile"/>
</Include>
</Files>
- <UserProperties project.AppServerType="tomcat" REFS.JarPath.System.Xml="..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.Xml.jar" REFS.JarPath.vmwutils="..\lib\vmwutils.jar" REFS.JarPath.System.Data="..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.Data.jar" REFS.JarPath.rt="..\lib\rt.jar" REFS.JarPath.j2ee="C:\Program Files\Mainsoft\Visual MainWin for J2EE\jakarta-tomcat\server\lib\catalina.jar;C:\Program Files\Mainsoft\Visual MainWin for J2EE\jakarta-tomcat\common\lib\servlet-api.jar" REFS.JarPath.System="..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.jar" project.JDKType="1.5.0_05" REFS.JarPath.j2se.helpers="..\lib\J2SE.Helpers.jar" REFS.JarPath.j2ee.helpers="..\lib\J2EE.Helpers.jar" REFS.JarPath.System.Drawing="..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\System.Drawing.jar;..\..\..\..\..\Program Files\Mainsoft\Visual MainWin for J2EE\jgac\vmw4j2ee_110\jai_imageio.jar"/>
+ <UserProperties REFS.JarPath.System.Drawing="..\lib\System.Drawing.jar" REFS.JarPath.j2ee.helpers="..\lib\J2EE.Helpers.jar" REFS.JarPath.j2se.helpers="..\lib\J2SE.Helpers.jar" project.JDKType="1.4.2_05" REFS.JarPath.System="..\lib\System.jar" REFS.JarPath.j2ee="..\lib\j2ee.jar" REFS.JarPath.rt="..\lib\rt.jar" REFS.JarPath.System.Data="..\lib\System.Data.jar" REFS.JarPath.vmwutils="..\lib\vmwutils.jar" REFS.JarPath.System.Xml="..\lib\System.Xml.jar" jarserver="ip2"/>
</CSHARP>
- <VisualMainWin><Project Prop2023="1.5.0_05" Prop2024="" Prop2026="" Prop2015="" Version="1.7.0" ProjectType="2" ApplicationServerType="tomcat" AppServerDefaultName="localhost:8080"/><References/><Configs><Config Prop2000="1" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="0" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="0" Prop2012="0" Prop2013="" Prop2014="0" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="-1" Name="Release"/><Config Prop2000="0" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="3" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="0" Prop2012="-1" Prop2013="yen" Prop2014="8009" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="1" Name="Debug_Java"/><Config Prop2000="0" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="3" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="0" Prop2012="-1" Prop2013="yen" Prop2014="8007" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="0" Name="Release_Java"/><Config Prop2000="1" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="0" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="-1" Prop2012="0" Prop2013="" Prop2014="8000" Prop2016="" Prop2027="" Prop2019="-1" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="-1" Name="Debug"/></Configs></VisualMainWin></VisualStudioProject>
+ <VisualMainWin><Project Prop2023="1.4.2_05" Prop2024="" Prop2026="" Prop2015="" Version="1.6.0" ProjectType="1"/><References/><Configs><Config Prop2000="0" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="3" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="0" Prop2012="-1" Prop2013="yen" Prop2014="8009" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="0" Name="Debug_Java"/><Config Prop2000="0" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="3" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="0" Prop2012="-1" Prop2013="yen" Prop2014="8007" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="-1" Name="Release_Java"/><Config Prop2000="1" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="0" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="0" Prop2012="0" Prop2013="" Prop2014="0" Prop2016="" Prop2027="" Prop2019="0" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="-1" Name="Release"/><Config Prop2000="1" Prop2001="0" Prop2002="0" Prop2003="0" Prop2004="0" Prop2005="0" Prop2006="" Prop2007="" Prop2008="" Prop2009="" Prop2010="" Prop2011="-1" Prop2012="0" Prop2013="" Prop2014="8000" Prop2016="" Prop2027="" Prop2019="-1" Prop2020="285212672" Prop2021="4096" Prop2022="0" Prop2017="0" Prop2018="-1" Name="Debug"/></Configs></VisualMainWin></VisualStudioProject>
diff --git a/mcs/class/System.Web/System.Web/BrowserCapabilities.cs b/mcs/class/System.Web/System.Web/BrowserCapabilities.cs index d4b95f660fa..1e219c54be9 100644 --- a/mcs/class/System.Web/System.Web/BrowserCapabilities.cs +++ b/mcs/class/System.Web/System.Web/BrowserCapabilities.cs @@ -33,7 +33,6 @@ using System.Collections; using System.Globalization; using System.Web.Configuration; using System.Web.UI; -using System.Security.Permissions; #if NET_2_0 namespace System.Web.Configuration { @@ -41,9 +40,7 @@ namespace System.Web.Configuration { #else namespace System.Web { - [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] - [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] - public class HttpBrowserCapabilities : HttpCapabilitiesBase + public partial class HttpBrowserCapabilities : HttpCapabilitiesBase #endif { const int HaveActiveXControls = 1; @@ -99,12 +96,6 @@ namespace System.Web { Version [] clrVersions; internal string useragent; -#if !NET_2_0 - public HttpBrowserCapabilities () - { - } -#endif - public bool ActiveXControls { get { if (!Get (HaveActiveXControls)) { diff --git a/mcs/class/System.Web/System.Web/CapabilitiesLoader.cs b/mcs/class/System.Web/System.Web/CapabilitiesLoader.cs index b2daf7fecf7..f6e1f03dfd4 100644 --- a/mcs/class/System.Web/System.Web/CapabilitiesLoader.cs +++ b/mcs/class/System.Web/System.Web/CapabilitiesLoader.cs @@ -184,11 +184,7 @@ namespace System.Web #if TARGET_J2EE string filepath = "browscap.ini"; #else -#if CONFIGURATION_2_0 - string dir = Path.GetDirectoryName (WebConfigurationManager.OpenMachineConfiguration().FilePath); -#else string dir = Path.GetDirectoryName (WebConfigurationSettings.MachineConfigPath); -#endif string filepath = Path.Combine (dir, "browscap.ini"); if (!File.Exists (filepath)) { // try removing the trailing version directory @@ -214,13 +210,7 @@ namespace System.Web AppDomain.CurrentDomain.GetData("GH_ContextClassLoader"); if (cl == null) return null; - - string custom = String.Concat("browscap/", filename); - - java.io.InputStream inputStream = cl.getResourceAsStream(custom); - if (inputStream == null) - inputStream = cl.getResourceAsStream(filename); - + java.io.InputStream inputStream = cl.getResourceAsStream(filename); s = (Stream)vmw.common.IOUtils.getStream(inputStream); } catch (Exception e) diff --git a/mcs/class/System.Web/System.Web/ChangeLog b/mcs/class/System.Web/System.Web/ChangeLog index 5a0807eeb52..dd9416eb28a 100644 --- a/mcs/class/System.Web/System.Web/ChangeLog +++ b/mcs/class/System.Web/System.Web/ChangeLog @@ -1,19 +1,3 @@ -2006-01-19 Konstantin Triger <kostat@mainsoft.com> - - * HttpApplication.jvm.cs: merge HttpApplication.cs changes. - -2006-01-17 Chris Toshok <toshok@ximian.com> - - * CapabilitiesLoader.cs (Init): use WebConfigurationManager in the - CONFIGURATION_2_0 case. - - * HttpRuntime.cs (MachineConfigurationDirectory): same. - -2006-01-16 Chris Toshok <toshok@ximian.com> - - * HttpApplicationFactory.cs: call WebConfigurationManager.Init in - the CONFIGURATION_2_0 case. - 2006-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com> * HttpWriter.cs: made Write (char) less memory hungry. Thanks to Mike @@ -25,16 +9,6 @@ 2006-01-11 Vladimir Krasnov <vladimirk@mainsoft.com> - * HttpResponse.cs: removed TARGET_JVM block from End - * GetJavaTextReader: Merged TARGET_JVM block from LoadFile - to GetJavaTextReader - -2006-01-11 Vladimir Krasnov <vladimirk@mainsoft.com> - - * HttpRequest.cs: removed TARGET_JVM block from MapPath - -2006-01-11 Vladimir Krasnov <vladimirk@mainsoft.com> - * HttpRequest.cs: little fix in MapPath(), virtualPath.Replace return value wasnt stored. @@ -49,23 +23,6 @@ can still be retrieved through HttpContext.Current.blah). Fixes bug #77162. -2006-01-09 Vladimir Krasnov <vladimirk@mainsoft.com> - - * CapabilitiesLoader.cs: Merged TARGET_JVM parts in LoadFile - from /main/9 - * HttpException.cs: Merged TARGET_JVM parts in GetHtmlizedErrorMessage - from /main/13 - * HttpRequest.cs: Merged TARGET_JVM parts in MapPath from /main/29 - * HttpResponse.cs: Merged TARGET_JVM parts in End() from /main/30 - * StaticFileHandler.cs: Merged TARGET_JVM parts in ProcessRequest - from /main/7 - -2006-01-08 Konstantin Triger <kostat@mainsoft.com> - - * BrowserCapabilities.cs, HttpBrowserCapabilities.cs, - HttpResponseStream.cs: TARGET_JVM changes to let the compilation - pass with csc 1.1. - 2006-01-04 Chris Toshok <toshok@ximian.com> * HttpContext.cs (IsCustomErrorEnabled): add CONFIGURATION_2_0 diff --git a/mcs/class/System.Web/System.Web/HttpApplication.jvm.cs b/mcs/class/System.Web/System.Web/HttpApplication.jvm.cs index 7bbb189bc54..98bd4c07efe 100644 --- a/mcs/class/System.Web/System.Web/HttpApplication.jvm.cs +++ b/mcs/class/System.Web/System.Web/HttpApplication.jvm.cs @@ -143,33 +143,19 @@ namespace System.Web { if (modcoll != null) return; -#if CONFIGURATION_2_0 - HttpModulesSection modules; - modules = (HttpModulesSection) WebConfigurationManager.GetWebApplicationSection ("system.web/httpModules"); -#else ModulesConfiguration modules; - modules = (ModulesConfiguration) HttpContext.GetAppConfig ("system.web/httpModules"); -#endif modcoll = modules.LoadModules (this); if (full_init) HttpApplicationFactory.AttachEvents (this); -#if CONFIGURATION_2_0 - GlobalizationSection cfg; - cfg = (GlobalizationSection) WebConfigurationManager.GetWebApplicationSection ("system.web/globalization"); - app_culture = cfg.GetCulture(); - appui_culture = cfg.GetUICulture(); -#else - GlobalizationConfiguration cfg; - cfg = GlobalizationConfiguration.GetInstance (null); + GlobalizationConfiguration cfg = GlobalizationConfiguration.GetInstance (null); if (cfg != null) { app_culture = cfg.Culture; appui_culture = cfg.UICulture; } -#endif } } @@ -224,10 +210,6 @@ namespace System.Web { get { if (context == null) throw new HttpException (Locale.GetText ("No context is available.")); - - if (false == HttpApplicationFactory.ContextAvailable) - throw new HttpException (Locale.GetText ("Request is not available in this context.")); - return context.Request; } } @@ -238,10 +220,6 @@ namespace System.Web { get { if (context == null) throw new HttpException (Locale.GetText ("No context is available.")); - - if (false == HttpApplicationFactory.ContextAvailable) - throw new HttpException (Locale.GetText ("Response is not available in this context.")); - return context.Response; } } @@ -546,10 +524,6 @@ namespace System.Web { stop_processing = true; } - internal bool RequestCompleted { - set { stop_processing = value; } - } - public virtual void Dispose () { if (modcoll != null) { @@ -589,9 +563,6 @@ namespace System.Web { if (Error != null){ try { Error (this, EventArgs.Empty); - } catch (ThreadAbortException ee){ - // This happens on Redirect() or End() - Thread.ResetAbort (); } catch (Exception ee){ context.AddError (ee); } @@ -606,12 +577,15 @@ namespace System.Web { void Tick () { try { - if (pipeline.MoveNext ()){ - if ((bool)pipeline.Current) + // FIXME: We should use 'if' instead of 'while'!! + while (pipeline.MoveNext ()){ + if ((bool)pipeline.Current) { PipelineDone (); + break; + } } } catch (Exception e) { - Console.WriteLine ("Tick caught an exception that has not been propagated:\n" + e); + Console.WriteLine ("Tick caught an exception that has not been propagated:\n" + e.GetType().FullName + e.Message + e.StackTrace); } } @@ -652,14 +626,13 @@ namespace System.Web { Resume (); } - + // // This enumerator yields whether processing must be stopped: // true: processing of the pipeline must be stopped // false: processing of the pipeline must not be stopped // -#if TARGET_JVM && !NET_2_0 - class RunHooksEnumerator : IEnumerable, IEnumerator + internal class RunHooksEnumerator : IEnumerable, IEnumerator { Delegate [] delegates; int currentStep = 0; @@ -749,62 +722,6 @@ namespace System.Web { { return new RunHooksEnumerator(this, list); } -#else - IEnumerable RunHooks (Delegate list) - { - Delegate [] delegates = list.GetInvocationList (); - - foreach (EventHandler d in delegates){ - if (d.Target != null && (d.Target is AsyncInvoker)){ - current_ai = (AsyncInvoker) d.Target; - - try { - must_yield = true; - in_begin = true; - context.BeginTimeoutPossible (); - current_ai.begin (this, EventArgs.Empty, async_callback_completed_cb, current_ai.data); - } catch (ThreadAbortException taex){ - object obj = taex.ExceptionState; - Thread.ResetAbort (); - stop_processing = true; - if (obj is StepTimeout) - ProcessError (new HttpException ("The request timed out.")); - } catch (Exception e){ - ProcessError (e); - } finally { - in_begin = false; - context.EndTimeoutPossible (); - } - - // - // If things are still moving forward, yield this - // thread now - // - if (must_yield) - yield return stop_processing; - else if (stop_processing) - yield return true; - } else { - try { - context.BeginTimeoutPossible (); - d (this, EventArgs.Empty); - } catch (ThreadAbortException taex){ - object obj = taex.ExceptionState; - Thread.ResetAbort (); - stop_processing = true; - if (obj is StepTimeout) - ProcessError (new HttpException ("The request timed out.")); - } catch (Exception e){ - ProcessError (e); - } finally { - context.EndTimeoutPossible (); - } - if (stop_processing) - yield return true; - } - } - } -#endif static void FinalErrorWrite (HttpResponse response, string error) { @@ -899,12 +816,8 @@ namespace System.Web { PostDone (); } - // - // Events fired as described in `Http Runtime Support, HttpModules, - // Handling Public Events' - // -#if TARGET_JVM && !NET_2_0 - class PipeLineEnumerator : IEnumerator { + class PipeLineEnumerator : IEnumerator + { HttpApplication app; IEnumerator currentEnumerator = null; int currentStep = 0; @@ -1110,164 +1023,6 @@ namespace System.Web { { return new PipeLineEnumerator(this); } -#else - IEnumerator Pipeline () - { - if (stop_processing) - yield return true; - - if (BeginRequest != null) - foreach (bool stop in RunHooks (BeginRequest)) - yield return stop; - - if (AuthenticateRequest != null) - foreach (bool stop in RunHooks (AuthenticateRequest)) - yield return stop; - - if (DefaultAuthentication != null) - foreach (bool stop in RunHooks (DefaultAuthentication)) - yield return stop; - -#if NET_2_0 - if (PostAuthenticateRequest != null) - foreach (bool stop in RunHooks (AuthenticateRequest)) - yield return stop; -#endif - if (AuthorizeRequest != null) - foreach (bool stop in RunHooks (AuthorizeRequest)) - yield return stop; -#if NET_2_0 - if (PostAuthorizeRequest != null) - foreach (bool stop in RunHooks (PostAuthorizeRequest)) - yield return stop; -#endif - - if (ResolveRequestCache != null) - foreach (bool stop in RunHooks (ResolveRequestCache)) - yield return stop; - - // Obtain the handler for the request. - IHttpHandler handler = null; - try { - handler = GetHandler (context); - } catch (FileNotFoundException fnf){ - if (context.Request.IsLocal) - ProcessError (new HttpException (404, String.Format ("File not found {0}", fnf.FileName), fnf)); - else - ProcessError (new HttpException (404, "File not found", fnf)); - } catch (DirectoryNotFoundException dnf){ - ProcessError (new HttpException (404, "Directory not found", dnf)); - } catch (Exception e) { - ProcessError (e); - } - - if (stop_processing) - yield return true; - -#if NET_2_0 - if (PostResolveRequestCache != null) - foreach (bool stop in RunHooks (PostResolveRequestCache)) - yield return stop; - - if (PostMapRequestHandler != null) - foreach (bool stop in RunHooks (PostMapRequestHandler)) - yield return stop; - -#endif - if (AcquireRequestState != null){ - foreach (bool stop in RunHooks (AcquireRequestState)) - yield return stop; - } - -#if NET_2_0 - if (PostAcquireRequestState != null){ - foreach (bool stop in RunHooks (PostAcquireRequestState)) - yield return stop; - } -#endif - - // - // From this point on, we need to ensure that we call - // ReleaseRequestState, so the code below jumps to - // `release:' to guarantee it rather than yielding. - // - if (PreRequestHandlerExecute != null) - foreach (bool stop in RunHooks (PreRequestHandlerExecute)) - if (stop) - goto release; - - try { - context.BeginTimeoutPossible (); - if (handler != null){ - IHttpAsyncHandler async_handler = handler as IHttpAsyncHandler; - - if (async_handler != null){ - must_yield = true; - in_begin = true; - async_handler.BeginProcessRequest (context, async_handler_complete_cb, handler); - } else { - must_yield = false; - handler.ProcessRequest (context); - } - } - } catch (ThreadAbortException taex){ - object obj = taex.ExceptionState; - Thread.ResetAbort (); - stop_processing = true; - if (obj is StepTimeout) - ProcessError (new HttpException ("The request timed out.")); - } catch (Exception e){ - ProcessError (e); - } finally { - in_begin = false; - context.EndTimeoutPossible (); - } - if (must_yield) - yield return stop_processing; - else if (stop_processing) - goto release; - - // These are executed after the application has returned - - if (PostRequestHandlerExecute != null) - foreach (bool stop in RunHooks (PostRequestHandlerExecute)) - if (stop) - goto release; - - release: - if (ReleaseRequestState != null){ - foreach (bool stop in RunHooks (ReleaseRequestState)){ - // - // Ignore the stop signal while release the state - // - - } - } - - if (stop_processing) - yield return true; - -#if NET_2_0 - if (PostReleaseRequestState != null) - foreach (bool stop in RunHooks (PostReleaseRequestState)) - yield return stop; -#endif - - if (context.Error == null) - context.Response.DoFilter (true); - - if (UpdateRequestCache != null) - foreach (bool stop in RunHooks (UpdateRequestCache)) - yield return stop; - -#if NET_2_0 - if (PostUpdateRequestCache != null) - foreach (bool stop in RunHooks (PostUpdateRequestCache)) - yield return stop; -#endif - PipelineDone (); - } -#endif void PreStart () { @@ -1314,6 +1069,7 @@ namespace System.Web { { InitOnce (true); PreStart (); + stop_processing = false; pipeline = Pipeline (); Tick (); } @@ -1325,16 +1081,10 @@ namespace System.Web { string verb = request.RequestType; string url = request.FilePath; - IHttpHandler handler = null; -#if CONFIGURATION_2_0 - HttpHandlersSection section = (HttpHandlersSection) WebConfigurationManager.GetWebApplicationSection ("system.web/httpHandlers"); - object o = section.LocateHandler (verb, url); -#else HandlerFactoryConfiguration factory_config = (HandlerFactoryConfiguration) HttpContext.GetAppConfig ("system.web/httpHandlers"); object o = factory_config.LocateHandler (verb, url); -#endif - factory = o as IHttpHandlerFactory; + IHttpHandler handler; if (factory == null) { handler = (IHttpHandler) o; @@ -1377,15 +1127,7 @@ namespace System.Web { done.Reset (); begin_iar = new AsyncRequestState (done, cb, extraData); -#if TARGET_JVM - if (true) -#else - if (Thread.CurrentThread.IsThreadPoolThread) -#endif - Start (null); - else - ThreadPool.QueueUserWorkItem (new WaitCallback (Start), null); - + Start (null); return begin_iar; } @@ -1426,14 +1168,10 @@ namespace System.Web { if (!context.IsCustomErrorEnabled) return false; -#if CONFIGURATION_2_0 - CustomErrorsSection config = (CustomErrorsSection)WebConfigurationManager.GetWebApplicationSection ("system.web/customErrors"); -#else CustomErrorsConfig config = null; try { config = (CustomErrorsConfig) context.GetConfig ("system.web/customErrors"); } catch { } -#endif if (config == null) { if (context.ErrorPage != null) @@ -1442,12 +1180,7 @@ namespace System.Web { return false; } -#if CONFIGURATION_2_0 - CustomError err = config.Errors [context.Response.StatusCode.ToString()]; - string redirect = err == null ? null : err.Redirect; -#else string redirect = config [context.Response.StatusCode]; -#endif if (redirect == null) { redirect = context.ErrorPage; if (redirect == null) diff --git a/mcs/class/System.Web/System.Web/HttpApplicationFactory.cs b/mcs/class/System.Web/System.Web/HttpApplicationFactory.cs index ec0b8ae1fbd..d7912a01026 100644 --- a/mcs/class/System.Web/System.Web/HttpApplicationFactory.cs +++ b/mcs/class/System.Web/System.Web/HttpApplicationFactory.cs @@ -364,9 +364,7 @@ namespace System.Web { if (!File.Exists (app_file)) app_file = Path.Combine (physical_app_path, "global.asax"); -#if CONFIGURATION_2_0 - WebConfigurationManager.Init (); -#else +#if !CONFIGURATION_2_0 WebConfigurationSettings.Init (context); #endif diff --git a/mcs/class/System.Web/System.Web/HttpBrowserCapabilities.cs b/mcs/class/System.Web/System.Web/HttpBrowserCapabilities.cs index 3276fe904cd..72acd00f89f 100644 --- a/mcs/class/System.Web/System.Web/HttpBrowserCapabilities.cs +++ b/mcs/class/System.Web/System.Web/HttpBrowserCapabilities.cs @@ -27,7 +27,6 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -#if NET_2_0 using System.Security.Permissions; using System.Web.Configuration; using System.Web.UI; @@ -41,12 +40,16 @@ namespace System.Web // CAS [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] - public class HttpBrowserCapabilities : HttpCapabilitiesBase, IFilterResolutionService + public partial class HttpBrowserCapabilities : HttpCapabilitiesBase +#if NET_2_0 + , IFilterResolutionService +#endif { public HttpBrowserCapabilities () { } +#if NET_2_0 bool IFilterResolutionService.EvaluateFilter (string filterName) { throw new NotImplementedException (); @@ -56,7 +59,7 @@ namespace System.Web { throw new NotImplementedException (); } +#endif } } -#endif diff --git a/mcs/class/System.Web/System.Web/HttpException.cs b/mcs/class/System.Web/System.Web/HttpException.cs index e8d4c55b176..2beb0fb6216 100644 --- a/mcs/class/System.Web/System.Web/HttpException.cs +++ b/mcs/class/System.Web/System.Web/HttpException.cs @@ -35,7 +35,9 @@ using System.Runtime.InteropServices; using System.Security.Permissions; using System.Text; using System.Web.Util; +#if !TARGET_J2EE using System.Web.Compilation; +#endif namespace System.Web { @@ -162,7 +164,42 @@ namespace System.Web string res = HttpUtility.HtmlEncode (s); return res.Replace ("\r\n", "<br />"); } +#if TARGET_J2EE + string GetHtmlizedErrorMessage () + { + StringBuilder builder = new StringBuilder ("<html>\r\n<title>"); + HtmlizedException exc = (HtmlizedException) this.InnerException; + builder.Append (exc.Title); + builder.AppendFormat ("</title><body bgcolor=\"white\">" + + "<h1><font color=\"red\">Server Error in '{0}' " + + "Application</font></h1><hr>\r\n", + HttpRuntime.AppDomainAppVirtualPath); + + builder.AppendFormat ("<h2><font color=\"maroon\"><i>{0}</i></font></h2>\r\n", exc.Title); + builder.AppendFormat ("<b>Description: </b>{0}\r\n<p>\r\n", HtmlEncode (exc.Description)); + builder.AppendFormat ("<b>Error message: </b>{0}\r\n<p>\r\n", HtmlEncode (exc.ErrorMessage)); + if (exc.FileName != null) + builder.AppendFormat ("<b>File name: </b> {0}", HtmlEncode (exc.FileName)); + + if (exc.FileText != null) { + if (exc.SourceFile != exc.FileName) + builder.AppendFormat ("<p><b>Source File: </b>{0}", exc.SourceFile); + + builder.Append ("\r\n<p>\r\n"); + + builder.Append ("<table summary=\"Source file\" width=\"100%\" " + + "bgcolor=\"#ffffc\">\r\n<tr><td>"); + WriteSource (builder, exc); + builder.Append ("</td></tr>\r\n</table>\r\n<p>\r\n"); + } + + builder.Append ("<hr>\r\n</body>\r\n</html>\r\n"); + builder.AppendFormat ("<!--\r\n{0}\r\n-->\r\n", HtmlEncode (exc.ToString ())); + builder.AppendFormat ("<!--\r\n{0}\r\n-->\r\n", HtmlEncode (exc.StackTrace)); + return builder.ToString (); + } +#else string GetHtmlizedErrorMessage () { StringBuilder builder = new StringBuilder ("<html>\r\n<title>"); @@ -207,12 +244,9 @@ namespace System.Web builder.Append ("<hr>\r\n</body>\r\n</html>\r\n"); builder.AppendFormat ("<!--\r\n{0}\r\n-->\r\n", HtmlEncode (exc.ToString ())); -#if TARGET_JVM - builder.AppendFormat ("<!--\r\n{0}\r\n-->\r\n", HtmlEncode (exc.StackTrace)); -#endif return builder.ToString (); } - +#endif static void WriteTextAsCode (StringBuilder builder, string text) { builder.Append ("<code><pre>\r\n"); diff --git a/mcs/class/System.Web/System.Web/HttpRequest.cs b/mcs/class/System.Web/System.Web/HttpRequest.cs index 4bbcf48e2e7..13d2c417b39 100644 --- a/mcs/class/System.Web/System.Web/HttpRequest.cs +++ b/mcs/class/System.Web/System.Web/HttpRequest.cs @@ -1060,10 +1060,6 @@ namespace System.Web { throw new ArgumentNullException ( String.Format ("MapPath: Invalid path '{0}', only virtual paths are accepted", virtualPath)); -#if TARGET_J2EE - if (virtualPath.StartsWith(vmw.common.IAppDomainConfig.WAR_ROOT_SYMBOL)) - return virtualPath; -#endif if (System.IO.Path.DirectorySeparatorChar != '/') virtualPath = virtualPath.Replace (System.IO.Path.DirectorySeparatorChar, '/'); diff --git a/mcs/class/System.Web/System.Web/HttpResponse.cs b/mcs/class/System.Web/System.Web/HttpResponse.cs index 6c8f7e8a8a1..397fee05a86 100644 --- a/mcs/class/System.Web/System.Web/HttpResponse.cs +++ b/mcs/class/System.Web/System.Web/HttpResponse.cs @@ -827,11 +827,7 @@ namespace System.Web { Flush (); } -#if TARGET_JVM - public void WriteFile (IntPtr fileHandle, long offset, long size) { - throw new NotSupportedException("IntPtr not supported"); - } -#else +#if !TARGET_JVM public void WriteFile (IntPtr fileHandle, long offset, long size) { if (offset < 0) diff --git a/mcs/class/System.Web/System.Web/HttpResponseStream.cs b/mcs/class/System.Web/System.Web/HttpResponseStream.cs index ac06d1d8cd4..2be06d8b365 100644 --- a/mcs/class/System.Web/System.Web/HttpResponseStream.cs +++ b/mcs/class/System.Web/System.Web/HttpResponseStream.cs @@ -75,70 +75,93 @@ namespace System.Web { } } #if TARGET_JVM + class Chunk + { + public byte[] data; + public int size; + public const int Length = 32 * 1024; + + public Chunk Next, Prev; - class BlockManager { - const int PreferredLength = 16 * 1024; - static readonly byte[] EmptyBuffer = new byte[0]; - - byte[] buffer = EmptyBuffer; - int position; - - public BlockManager () { + public Chunk () + { + data = new byte[Length]; + size = Length; } - - public int Position { - get { return position; } + + public void Dispose () + { } + + public static Chunk Unlink (ref Chunk head, Chunk b) + { + if (head == b) + head = head.Next; + if (b.Prev != null) + b.Prev.Next = b.Next; + if (b.Next != null) + b.Next.Prev = b.Prev; - void EnsureCapacity (int capacity) { - if (buffer.Length >= capacity) - return; - - capacity += PreferredLength; - capacity = (capacity / PreferredLength) * PreferredLength; - byte[] temp = new byte[capacity]; - Array.Copy(buffer, 0, temp, 0, buffer.Length); - buffer = temp; + b.Next = b.Prev = null; + return b; } - - public void Write (byte [] buffer, int offset, int count) { - if (count == 0) - return; - - EnsureCapacity (position + count); - Array.Copy(buffer, offset, this.buffer, position, count); - position += count; + + public static Chunk Link (Chunk head, Chunk b) + { + b.Next = head; + if (head != null) + head.Prev = b; + return b; } - public void Send (HttpWorkerRequest wr, int start, int end) { - int length = end - start; - if (length <= 0) - return; - - if (length > buffer.Length - start) - length = buffer.Length - start; - - if (start > 0) { - byte[] temp = new byte[length]; - Array.Copy(buffer, start, temp, 0, length); - buffer = temp; - } - wr.SendResponseFromMemory(buffer, length); + public static void Copy(byte[] buff, int offset, Chunk c, int pos, int len) + { + Array.Copy(buff, offset, c.data, pos, len); } - public void Send (Stream stream, int start, int end) { - int length = end - start; - if (length <= 0) - return; - - if (length > buffer.Length - start) - length = buffer.Length - start; - - stream.Write(buffer, start, length); + public static void Copy(Chunk c, int pos, byte[] buff, int offset, int len) + { + Array.Copy(c.data, pos, buff, offset, len); } + } - public void Dispose () { - buffer = null; + sealed class BufferManager { + static Chunk filled; + static Chunk empty; + + public static Chunk GetChunk (int cb) + { + Chunk c; + if (empty == null) + empty = new Chunk (cb); + + c = empty; + filled = Chunk.Link (filled, Chunk.Unlink (ref empty, c)); + return c; + } + + public static void DisposeChunk (Chunk c) + { + empty = Chunk.Link (empty, Chunk.Unlink (ref filled, c)); + } + + public static void DisposeEmptyChunks () + { + for (Chunk c = empty; c != null; c = c.Next) + c.Dispose (); + empty = null; + } + + + public static void PrintState () + { + Console.WriteLine ("Filled blocks:"); + for (Chunk c = filled; c != null; c = c.Next) + Console.WriteLine ("\t{0}", c); + Console.WriteLine ("Empty blocks:"); + for (Chunk c = empty; c != null; c = c.Next) + Console.WriteLine ("\t{0}", c); + } } @@ -482,24 +505,13 @@ namespace System.Web { } } -#if TARGET_JVM - void UnsafeWrite (HttpWorkerRequest wr, byte [] buffer, int offset, int count) - { - if (count <= 0) - return; - - byte[] copy = new byte[count]; - Array.Copy(buffer, offset, copy, 0, count); - wr.SendResponseFromMemory (copy, count); - } -#else unsafe void UnsafeWrite (HttpWorkerRequest wr, byte [] buffer, int offset, int count) { fixed (byte *ptr = buffer) { wr.SendResponseFromMemory ((IntPtr) (ptr + offset), count); } } -#endif + void AppendBuffer (byte [] buffer, int offset, int count) { if (!(cur_bucket is ByteBucket)) diff --git a/mcs/class/System.Web/System.Web/HttpRuntime.cs b/mcs/class/System.Web/System.Web/HttpRuntime.cs index 5ac1e3b1240..41700354f1c 100644 --- a/mcs/class/System.Web/System.Web/HttpRuntime.cs +++ b/mcs/class/System.Web/System.Web/HttpRuntime.cs @@ -205,11 +205,7 @@ namespace System.Web { public static string MachineConfigurationDirectory { get { -#if CONFIGURATION_2_0 - string dirname = Path.GetDirectoryName (WebConfigurationManager.OpenMachineConfiguration().FilePath); -#else string dirname = Path.GetDirectoryName (WebConfigurationSettings.MachineConfigPath); -#endif if ((dirname != null) && (dirname.Length > 0) && SecurityManager.SecurityEnabled) { new FileIOPermission (FileIOPermissionAccess.PathDiscovery, dirname).Demand (); } diff --git a/mcs/class/System.Web/System.Web/StaticFileHandler.cs b/mcs/class/System.Web/System.Web/StaticFileHandler.cs index ae127d350fc..d309319a1d7 100644 --- a/mcs/class/System.Web/System.Web/StaticFileHandler.cs +++ b/mcs/class/System.Web/System.Web/StaticFileHandler.cs @@ -54,21 +54,7 @@ namespace System.Web try { if (strHeader != null) { DateTime dtIfModifiedSince = DateTime.ParseExact (strHeader, "r", null); - DateTime ftime; -#if TARGET_JVM - try - { - ftime = fi.LastWriteTime.ToUniversalTime (); - } - catch (NotSupportedException) - { - // The file is in a WAR, it was not modified. - response.StatusCode = 304; - return; - } -#else - ftime = fi.LastWriteTime.ToUniversalTime (); -#endif + DateTime ftime = fi.LastWriteTime.ToUniversalTime (); if (ftime <= dtIfModifiedSince) { response.StatusCode = 304; return; diff --git a/mcs/class/System.Web/Test/System.Web.UI/ChangeLog b/mcs/class/System.Web/Test/System.Web.UI/ChangeLog index 9394061344d..0b8bb79b811 100644 --- a/mcs/class/System.Web/Test/System.Web.UI/ChangeLog +++ b/mcs/class/System.Web/Test/System.Web.UI/ChangeLog @@ -1,8 +1,3 @@ -2006-01-18 Konstantin Triger <kostat@mainsoft.com> - - * HtmlTextWriterTest.cs: Added tests enduring case insensitivity of - attributes and correctness of HtmlTextWriterAttribute - 2005-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> * ControlTest.cs: new tests to prove that Control uses its own diff --git a/mcs/class/System.Web/Test/System.Web.UI/HtmlTextWriterTest.cs b/mcs/class/System.Web/Test/System.Web.UI/HtmlTextWriterTest.cs index 5425864f364..fce8924f087 100644 --- a/mcs/class/System.Web/Test/System.Web.UI/HtmlTextWriterTest.cs +++ b/mcs/class/System.Web/Test/System.Web.UI/HtmlTextWriterTest.cs @@ -352,34 +352,5 @@ namespace MonoTests.System.Web.UI { Assert.AreEqual ("<div>\n\n</div>", sw.ToString ()); } - - class MyHttpTextWriter : HtmlTextWriter { - int i = 0; - public MyHttpTextWriter(TextWriter tw) : base(tw) { - - } - protected override bool OnAttributeRender(string name, string value, HtmlTextWriterAttribute key) { - switch (i++) { - case 0: - case 1: Assert.AreEqual(HtmlTextWriterAttribute.Border, key); - break; - case 2: Assert.AreEqual((HtmlTextWriterAttribute)(-1), key); - break; - } - return base.OnAttributeRender (name, value, key); - } - - } - - [Test] - public void TestOnAttributeRender() { - MyHttpTextWriter myw = new MyHttpTextWriter (sw); - - myw.AddAttribute ("border", "0"); - myw.AddAttribute ("BoRDeR", "0"); - myw.AddAttribute ("error", "0"); - myw.RenderBeginTag ("div"); - myw.RenderEndTag (); - } } } diff --git a/mcs/class/System.Configuration/Test/dumper/dumper.cs b/mcs/class/System.Web/Test/standalone/configuration/dumper.cs index 8c690b227d6..689641cad83 100644 --- a/mcs/class/System.Configuration/Test/dumper/dumper.cs +++ b/mcs/class/System.Web/Test/standalone/configuration/dumper.cs @@ -1,28 +1,9 @@ -/* -** 1. compile using: -** gmcs dumper.cs -r:System.dll -r:System.Web.dll -r:System.Web.Services.dll -r:System.Configuration.dll -** -** 2. run it on windows: -** > dumper.exe > dumper.out.microsoft -** -** 3. transfer that file to linux and do: -** $ dos2unix dumper.out.microsoft && sort dumper.out.microsoft > foo && mv foo dumper.out.microsoft -** -** 4. run dumper on linux: -** $ mono dumper.exe > dumper.out.linux && sort dumper.out.linux > foo && mv foo dumper.out.linux -** -** 5. diff the results: -** $ diff -u dumper.out.linux dumper.out.microsoft | grep ^[-+] -*/ - using System; using System.Collections; using System.Configuration; -using System.Net; using System.Reflection; using System.Web.Configuration; -using System.Web.Services.Configuration; public class Dumper { object[] things = { @@ -117,42 +98,6 @@ public class Dumper { new WebPartsPersonalization (), new WebPartsSection (), new XhtmlConformanceSection (), - - /* System.Configuration stuff */ - new AppSettingsSection (), - new IgnoreSection (), - new ConnectionStringSettings (), - new ConnectionStringSettingsCollection (), - new ProtectedProviderSettings (), - - /* System.Web.Services stuff */ - new DiagnosticsElement (), - new ProtocolElementCollection (), - new ProtocolElement (), - new SoapEnvelopeProcessingElement (), - new SoapExtensionTypeElementCollection (), - new SoapExtensionTypeElement (), - new TypeElementCollection (), - new TypeElement (), - new WebServicesSection (), - new WsdlHelpGeneratorElement (), - new WsiProfilesElementCollection (), - new WsiProfilesElement (), - - /* System.Net stuff */ - //new AuthenticationModuleElement (), - //new AuthenticationModuleElementCollection (), - //new AuthenticationModulesSection (), - //new BypassElement (), - //new BypassElementCollection (), - //new ConnectionManagementElement (), - //new ConnectionManagementElementCollection (), - //new ConnectionManagementSection (), - //new DefaultProxySection (), - //new HttpCachePolicyElement (), - //new Ipv6Element (), - //new ModuleElement (), - //new ModuleElementCollection (), }; public Dumper () @@ -170,7 +115,6 @@ public class Dumper { ConfigurationPropertyCollection col = (ConfigurationPropertyCollection)pinfo.GetValue (o, null); foreach (ConfigurationProperty p in col) { - Console.WriteLine ("{0}.{1} (Type) = {2}", type, p.Name, p.Type); if (p.Validator != null && p.Validator.GetType () != typeof (DefaultValidator)) Console.WriteLine ("{0}.{1} (Validator) = {2} ", type, p.Name, p.Validator); } diff --git a/mcs/class/System.Web/Test/standalone/configuration/dumper.out.microsoft b/mcs/class/System.Web/Test/standalone/configuration/dumper.out.microsoft new file mode 100644 index 00000000000..2f5e69cd83d --- /dev/null +++ b/mcs/class/System.Web/Test/standalone/configuration/dumper.out.microsoft @@ -0,0 +1,486 @@ + hash[clientScriptsLocation] = /aspnet_client/{0}/{1}/ +System.Web.Configuration.AnonymousIdentificationSection.cookieless (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.AnonymousIdentificationSection.cookieName (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.AnonymousIdentificationSection.cookieName (Validator) = System.Configuration.StringValidator +System.Web.Configuration.AnonymousIdentificationSection.cookiePath (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.AnonymousIdentificationSection.cookiePath (Validator) = System.Configuration.StringValidator +System.Web.Configuration.AnonymousIdentificationSection.cookieProtection (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.AnonymousIdentificationSection.cookieRequireSSL (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.AnonymousIdentificationSection.cookieSlidingExpiration (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.AnonymousIdentificationSection.cookieTimeout (Converter) = System.Configuration.TimeSpanMinutesOrInfiniteConverter +System.Web.Configuration.AnonymousIdentificationSection.cookieTimeout (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.AnonymousIdentificationSection.domain (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.AnonymousIdentificationSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.AnonymousIdentificationSection.enabled (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.AnonymousIdentificationSection.GetRuntimeObject() = System.Web.Configuration.AnonymousIdentificationSection (True) +System.Web.Configuration.AssemblyCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.AssemblyInfo.assembly (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.AssemblyInfo.assembly (Validator) = System.Configuration.StringValidator +System.Web.Configuration.AssemblyInfo.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.AuthenticationSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.AuthenticationSection.GetRuntimeObject() = System.Web.Configuration.AuthenticationSection (True) +System.Web.Configuration.AuthenticationSection.mode (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.AuthorizationRuleCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.AuthorizationRule.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.AuthorizationRule.roles (Converter) = System.Configuration.CommaDelimitedStringCollectionConverter +System.Web.Configuration.AuthorizationRule.users (Converter) = System.Configuration.CommaDelimitedStringCollectionConverter +System.Web.Configuration.AuthorizationRule.verbs (Converter) = System.Configuration.CommaDelimitedStringCollectionConverter +System.Web.Configuration.AuthorizationSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.AuthorizationSection.GetRuntimeObject() = System.Web.Configuration.AuthorizationSection (True) +System.Web.Configuration.BufferModesCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.BufferModeSettings.ElementProperty (Validator) = System.Configuration.CallbackValidator (True) +System.Web.Configuration.BufferModeSettings.maxBufferSize (Converter) = System.Configuration.InfiniteIntConverter +System.Web.Configuration.BufferModeSettings.maxBufferSize (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.BufferModeSettings.maxBufferThreads (Converter) = System.Configuration.InfiniteIntConverter +System.Web.Configuration.BufferModeSettings.maxBufferThreads (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.BufferModeSettings.maxFlushSize (Converter) = System.Configuration.InfiniteIntConverter +System.Web.Configuration.BufferModeSettings.maxFlushSize (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.BufferModeSettings.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.BufferModeSettings.name (Validator) = System.Configuration.StringValidator +System.Web.Configuration.BufferModeSettings.regularFlushInterval (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.BufferModeSettings.regularFlushInterval (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.BufferModeSettings.urgentFlushInterval (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.BufferModeSettings.urgentFlushThreshold (Converter) = System.Configuration.InfiniteIntConverter +System.Web.Configuration.BufferModeSettings.urgentFlushThreshold (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.BuildProviderCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.BuildProvider.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.BuildProvider.extension (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.BuildProvider.extension (Validator) = System.Configuration.StringValidator +System.Web.Configuration.BuildProvider.type (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.BuildProvider.type (Validator) = System.Configuration.StringValidator +System.Web.Configuration.CacheSection.disableExpiration (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.CacheSection.disableMemoryCollection (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.CacheSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.CacheSection.GetRuntimeObject() = System.Web.Configuration.CacheSection (True) +System.Web.Configuration.CacheSection.percentagePhysicalMemoryUsedLimit (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.CacheSection.percentagePhysicalMemoryUsedLimit (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.CacheSection.privateBytesLimit (Converter) = System.ComponentModel.Int64Converter +System.Web.Configuration.CacheSection.privateBytesLimit (Validator) = System.Configuration.LongValidator +System.Web.Configuration.CacheSection.privateBytesPollTime (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.CacheSection.privateBytesPollTime (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.ClientTarget.alias (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ClientTarget.alias (Validator) = System.Configuration.StringValidator +System.Web.Configuration.ClientTargetCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ClientTarget.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ClientTargetSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ClientTargetSection.GetRuntimeObject() = System.Web.Configuration.ClientTargetSection (True) +System.Web.Configuration.ClientTarget.userAgent (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ClientTarget.userAgent (Validator) = System.Configuration.StringValidator +System.Web.Configuration.CodeSubDirectoriesCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.CodeSubDirectory.directoryName (Converter) = System.Configuration.WhiteSpaceTrimStringConverter +System.Web.Configuration.CodeSubDirectory.directoryName (Validator) = System.Configuration.StringValidator +System.Web.Configuration.CodeSubDirectory.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.CompilationSection.assemblyPostProcessorType (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.CompilationSection.batch (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.CompilationSection.batchTimeout (Converter) = System.Configuration.TimeSpanSecondsOrInfiniteConverter +System.Web.Configuration.CompilationSection.batchTimeout (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.CompilationSection.debug (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.CompilationSection.defaultLanguage (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.CompilationSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.CompilationSection.explicit (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.CompilationSection.GetRuntimeObject() = System.Web.Configuration.CompilationSection (True) +System.Web.Configuration.CompilationSection.maxBatchGeneratedFileSize (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.CompilationSection.maxBatchSize (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.CompilationSection.numRecompilesBeforeAppRestart (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.CompilationSection.strict (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.CompilationSection.tempDirectory (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.CompilationSection.urlLinePragmas (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.CompilerCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.Compiler.compilerOptions (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.Compiler.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.Compiler.extension (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.Compiler.language (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.Compiler.type (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.Compiler.warningLevel (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.Compiler.warningLevel (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.CustomErrorCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.CustomError.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.CustomError.redirect (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.CustomError.redirect (Validator) = System.Configuration.StringValidator +System.Web.Configuration.CustomErrorsSection.defaultRedirect (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.CustomErrorsSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.CustomErrorsSection.GetRuntimeObject() = System.Web.Configuration.CustomErrorsSection (True) +System.Web.Configuration.CustomErrorsSection.mode (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.CustomError.statusCode (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.CustomError.statusCode (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.DeploymentSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.DeploymentSection.GetRuntimeObject() = System.Web.Configuration.DeploymentSection (True) +System.Web.Configuration.DeploymentSection.retail (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.EventMappingSettingsCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.EventMappingSettings.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.EventMappingSettings.endEventCode (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.EventMappingSettings.endEventCode (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.EventMappingSettings.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.EventMappingSettings.name (Validator) = System.Configuration.StringValidator +System.Web.Configuration.EventMappingSettings.startEventCode (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.EventMappingSettings.startEventCode (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.EventMappingSettings.type (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ExpressionBuilderCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ExpressionBuilder.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ExpressionBuilder.expressionPrefix (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ExpressionBuilder.expressionPrefix (Validator) = System.Configuration.StringValidator +System.Web.Configuration.ExpressionBuilder.type (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ExpressionBuilder.type (Validator) = System.Configuration.StringValidator +System.Web.Configuration.FormsAuthenticationConfiguration.cookieless (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.FormsAuthenticationConfiguration.defaultUrl (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.FormsAuthenticationConfiguration.defaultUrl (Validator) = System.Configuration.StringValidator +System.Web.Configuration.FormsAuthenticationConfiguration.domain (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.FormsAuthenticationConfiguration.ElementProperty (Validator) = System.Configuration.CallbackValidator (True) +System.Web.Configuration.FormsAuthenticationConfiguration.enableCrossAppRedirects (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.FormsAuthenticationConfiguration.loginUrl (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.FormsAuthenticationConfiguration.loginUrl (Validator) = System.Configuration.StringValidator +System.Web.Configuration.FormsAuthenticationConfiguration.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.FormsAuthenticationConfiguration.name (Validator) = System.Configuration.StringValidator +System.Web.Configuration.FormsAuthenticationConfiguration.path (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.FormsAuthenticationConfiguration.path (Validator) = System.Configuration.StringValidator +System.Web.Configuration.FormsAuthenticationConfiguration.protection (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.FormsAuthenticationConfiguration.requireSSL (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.FormsAuthenticationConfiguration.slidingExpiration (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.FormsAuthenticationConfiguration.timeout (Converter) = System.Configuration.TimeSpanMinutesConverter +System.Web.Configuration.FormsAuthenticationConfiguration.timeout (Validator) = System.Configuration.TimeSpanValidator +System.Web.Configuration.FormsAuthenticationCredentials.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.FormsAuthenticationCredentials.passwordFormat (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.FormsAuthenticationUserCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.FormsAuthenticationUser.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.FormsAuthenticationUser.name (Converter) = System.Web.Configuration.LowerCaseStringConverter +System.Web.Configuration.FormsAuthenticationUser.password (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.GlobalizationSection.culture (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.GlobalizationSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.GlobalizationSection.enableBestFitResponseEncoding (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.GlobalizationSection.enableClientBasedCulture (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.GlobalizationSection.fileEncoding (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.GlobalizationSection.GetRuntimeObject() = System.Web.Configuration.GlobalizationSection (True) +System.Web.Configuration.GlobalizationSection.requestEncoding (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.GlobalizationSection.resourceProviderFactoryType (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.GlobalizationSection.responseEncoding (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.GlobalizationSection.responseHeaderEncoding (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.GlobalizationSection.uiCulture (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.HealthMonitoringSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.HealthMonitoringSection.enabled (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HealthMonitoringSection.GetRuntimeObject() = System.Web.Configuration.HealthMonitoringSection (True) +System.Web.Configuration.HealthMonitoringSection.heartbeatInterval (Converter) = System.Configuration.TimeSpanSecondsConverter +System.Web.Configuration.HealthMonitoringSection.heartbeatInterval (Validator) = System.Configuration.TimeSpanValidator +System.Web.Configuration.HostingEnvironmentSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.HostingEnvironmentSection.GetRuntimeObject() = System.Web.Configuration.HostingEnvironmentSection (True) +System.Web.Configuration.HostingEnvironmentSection.idleTimeout (Converter) = System.Configuration.TimeSpanMinutesOrInfiniteConverter +System.Web.Configuration.HostingEnvironmentSection.idleTimeout (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.HostingEnvironmentSection.shadowCopyBinAssemblies (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HostingEnvironmentSection.shutdownTimeout (Converter) = System.Configuration.TimeSpanSecondsConverter +System.Web.Configuration.HostingEnvironmentSection.shutdownTimeout (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.HttpCookiesSection.domain (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.HttpCookiesSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.HttpCookiesSection.GetRuntimeObject() = System.Web.Configuration.HttpCookiesSection (True) +System.Web.Configuration.HttpCookiesSection.httpOnlyCookies (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpCookiesSection.requireSSL (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpHandlerActionCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.HttpHandlerAction.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.HttpHandlerAction.path (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.HttpHandlerAction.path (Validator) = System.Configuration.StringValidator +System.Web.Configuration.HttpHandlerAction.type (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.HttpHandlerAction.type (Validator) = System.Configuration.StringValidator +System.Web.Configuration.HttpHandlerAction.validate (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpHandlerAction.verb (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.HttpHandlerAction.verb (Validator) = System.Configuration.StringValidator +System.Web.Configuration.HttpHandlersSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.HttpHandlersSection.GetRuntimeObject() = System.Web.Configuration.HttpHandlersSection (True) +System.Web.Configuration.HttpModuleActionCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.HttpModuleAction.ElementProperty (Validator) = System.Configuration.CallbackValidator (True) +System.Web.Configuration.HttpModuleAction.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.HttpModuleAction.name (Validator) = System.Configuration.StringValidator +System.Web.Configuration.HttpModuleAction.type (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.HttpModulesSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.HttpModulesSection.GetRuntimeObject() = System.Web.Configuration.HttpModulesSection (True) +System.Web.Configuration.HttpRuntimeSection.apartmentThreading (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpRuntimeSection.appRequestQueueLimit (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.HttpRuntimeSection.appRequestQueueLimit (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.HttpRuntimeSection.delayNotificationTimeout (Converter) = System.Configuration.TimeSpanSecondsConverter +System.Web.Configuration.HttpRuntimeSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.HttpRuntimeSection.enable (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpRuntimeSection.enableHeaderChecking (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpRuntimeSection.enableKernelOutputCache (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpRuntimeSection.enableVersionHeader (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpRuntimeSection.executionTimeout (Converter) = System.Configuration.TimeSpanSecondsConverter +System.Web.Configuration.HttpRuntimeSection.executionTimeout (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.HttpRuntimeSection.GetRuntimeObject() = System.Web.Configuration.HttpRuntimeSection (True) +System.Web.Configuration.HttpRuntimeSection.maxRequestLength (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.HttpRuntimeSection.maxRequestLength (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.HttpRuntimeSection.maxWaitChangeNotification (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.HttpRuntimeSection.maxWaitChangeNotification (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.HttpRuntimeSection.minFreeThreads (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.HttpRuntimeSection.minFreeThreads (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.HttpRuntimeSection.minLocalRequestFreeThreads (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.HttpRuntimeSection.minLocalRequestFreeThreads (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.HttpRuntimeSection.requestLengthDiskThreshold (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.HttpRuntimeSection.requestLengthDiskThreshold (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.HttpRuntimeSection.requireRootedSaveAsPath (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpRuntimeSection.sendCacheControlHeader (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpRuntimeSection.shutdownTimeout (Converter) = System.Configuration.TimeSpanSecondsConverter +System.Web.Configuration.HttpRuntimeSection.useFullyQualifiedRedirectUrl (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.HttpRuntimeSection.waitChangeNotification (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.HttpRuntimeSection.waitChangeNotification (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.IdentitySection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.IdentitySection.GetRuntimeObject() = System.Web.Configuration.IdentitySection (True) +System.Web.Configuration.IdentitySection.impersonate (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.IdentitySection.password (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.IdentitySection.userName (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.MachineKeySection.decryption (Converter) = System.Configuration.WhiteSpaceTrimStringConverter +System.Web.Configuration.MachineKeySection.decryptionKey (Converter) = System.Configuration.WhiteSpaceTrimStringConverter +System.Web.Configuration.MachineKeySection.decryptionKey (Validator) = System.Configuration.StringValidator +System.Web.Configuration.MachineKeySection.decryption (Validator) = System.Configuration.StringValidator +System.Web.Configuration.MachineKeySection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.MachineKeySection.GetRuntimeObject() = System.Web.Configuration.MachineKeySection (True) +System.Web.Configuration.MachineKeySection.validation (Converter) = System.Web.Configuration.MachineKeyValidationConverter +System.Web.Configuration.MachineKeySection.validationKey (Converter) = System.Configuration.WhiteSpaceTrimStringConverter +System.Web.Configuration.MachineKeySection.validationKey (Validator) = System.Configuration.StringValidator +System.Web.Configuration.MembershipSection.defaultProvider (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.MembershipSection.defaultProvider (Validator) = System.Configuration.StringValidator +System.Web.Configuration.MembershipSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.MembershipSection.GetRuntimeObject() = System.Web.Configuration.MembershipSection (True) +System.Web.Configuration.MembershipSection.hashAlgorithmType (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.MembershipSection.userIsOnlineTimeWindow (Converter) = System.Configuration.TimeSpanMinutesConverter +System.Web.Configuration.MembershipSection.userIsOnlineTimeWindow (Validator) = System.Configuration.TimeSpanValidator +System.Web.Configuration.NamespaceCollection.autoImportVBNamespace (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.NamespaceCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.NamespaceInfo.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.NamespaceInfo.namespace (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.NamespaceInfo.namespace (Validator) = System.Configuration.StringValidator +System.Web.Configuration.OutputCacheProfileCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.OutputCacheProfile.duration (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.OutputCacheProfile.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.OutputCacheProfile.enabled (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.OutputCacheProfile.location (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.OutputCacheProfile.name (Converter) = System.Configuration.WhiteSpaceTrimStringConverter +System.Web.Configuration.OutputCacheProfile.name (Validator) = System.Configuration.StringValidator +System.Web.Configuration.OutputCacheProfile.noStore (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.OutputCacheProfile.sqlDependency (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.OutputCacheProfile.varyByControl (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.OutputCacheProfile.varyByCustom (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.OutputCacheProfile.varyByHeader (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.OutputCacheProfile.varyByParam (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.OutputCacheSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.OutputCacheSection.enableFragmentCache (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.OutputCacheSection.enableOutputCache (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.OutputCacheSection.GetRuntimeObject() = System.Web.Configuration.OutputCacheSection (True) +System.Web.Configuration.OutputCacheSection.omitVaryStar (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.OutputCacheSection.sendCacheControlHeader (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.OutputCacheSettingsSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.OutputCacheSettingsSection.GetRuntimeObject() = System.Web.Configuration.OutputCacheSettingsSection (True) +System.Web.Configuration.PagesSection.asyncTimeout (Converter) = System.Configuration.TimeSpanSecondsConverter +System.Web.Configuration.PagesSection.asyncTimeout (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.PagesSection.autoEventWireup (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.PagesSection.buffer (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.PagesSection.compilationMode (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.PagesSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.PagesSection.enableEventValidation (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.PagesSection.enableSessionState (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.PagesSection.enableViewState (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.PagesSection.enableViewStateMac (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.PagesSection.GetRuntimeObject() = System.Web.Configuration.PagesSection (True) +System.Web.Configuration.PagesSection.maintainScrollPositionOnPostBack (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.PagesSection.masterPageFile (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.PagesSection.maxPageStateFieldLength (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.PagesSection.pageBaseType (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.PagesSection.pageParserFilterType (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.PagesSection.smartNavigation (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.PagesSection.styleSheetTheme (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.PagesSection.theme (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.PagesSection.userControlBaseType (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.PagesSection.validateRequest (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.PagesSection.viewStateEncryptionMode (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.PassportAuthentication.ElementProperty (Validator) = System.Configuration.CallbackValidator (True) +System.Web.Configuration.PassportAuthentication.redirectUrl (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProcessModelSection.autoConfig (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.ProcessModelSection.clientConnectedCheck (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.ProcessModelSection.comAuthenticationLevel (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.ProcessModelSection.comImpersonationLevel (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.ProcessModelSection.cpuMask (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProcessModelSection.ElementProperty (Validator) = System.Configuration.CallbackValidator (True) +System.Web.Configuration.ProcessModelSection.enable (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.ProcessModelSection.GetRuntimeObject() = System.Web.Configuration.ProcessModelSection (True) +System.Web.Configuration.ProcessModelSection.idleTimeout (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.ProcessModelSection.logLevel (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.ProcessModelSection.maxAppDomains (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.ProcessModelSection.maxAppDomains (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.ProcessModelSection.maxIoThreads (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.ProcessModelSection.maxIoThreads (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.ProcessModelSection.maxWorkerThreads (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.ProcessModelSection.maxWorkerThreads (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.ProcessModelSection.memoryLimit (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.ProcessModelSection.minIoThreads (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.ProcessModelSection.minIoThreads (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.ProcessModelSection.minWorkerThreads (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.ProcessModelSection.minWorkerThreads (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.ProcessModelSection.password (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProcessModelSection.pingFrequency (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.ProcessModelSection.pingTimeout (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.ProcessModelSection.requestLimit (Converter) = System.Configuration.InfiniteIntConverter +System.Web.Configuration.ProcessModelSection.requestLimit (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.ProcessModelSection.requestQueueLimit (Converter) = System.Configuration.InfiniteIntConverter +System.Web.Configuration.ProcessModelSection.requestQueueLimit (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.ProcessModelSection.responseDeadlockInterval (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.ProcessModelSection.responseDeadlockInterval (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.ProcessModelSection.responseRestartDeadlockInterval (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.ProcessModelSection.restartQueueLimit (Converter) = System.Configuration.InfiniteIntConverter +System.Web.Configuration.ProcessModelSection.restartQueueLimit (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.ProcessModelSection.serverErrorMessageFile (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProcessModelSection.shutdownTimeout (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.ProcessModelSection.shutdownTimeout (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.ProcessModelSection.timeout (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.ProcessModelSection.userName (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProcessModelSection.webGarden (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.ProfileGroupSettingsCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ProfileGroupSettings.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ProfileGroupSettings.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProfileGroupSettings.name (Validator) = System.Web.Configuration.ProfilePropertyNameValidator +System.Web.Configuration.ProfilePropertySettings.allowAnonymous (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.ProfilePropertySettingsCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ProfilePropertySettings.customProviderData (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProfilePropertySettings.defaultValue (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProfilePropertySettings.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ProfilePropertySettings.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProfilePropertySettings.name (Validator) = System.Web.Configuration.ProfilePropertyNameValidator +System.Web.Configuration.ProfilePropertySettings.provider (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProfilePropertySettings.readOnly (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.ProfilePropertySettings.serializeAs (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.ProfilePropertySettings.type (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProfileSettingsCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ProfileSettings.custom (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProfileSettings.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.ProfileSettings.maxLimit (Converter) = System.Configuration.InfiniteIntConverter +System.Web.Configuration.ProfileSettings.maxLimit (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.ProfileSettings.minInstances (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.ProfileSettings.minInstances (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.ProfileSettings.minInterval (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.ProfileSettings.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.ProfileSettings.name (Validator) = System.Configuration.StringValidator +System.Web.Configuration.RoleManagerSection.cacheRolesInCookie (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.RoleManagerSection.cookieName (Converter) = System.Configuration.WhiteSpaceTrimStringConverter +System.Web.Configuration.RoleManagerSection.cookieName (Validator) = System.Configuration.StringValidator +System.Web.Configuration.RoleManagerSection.cookiePath (Converter) = System.Configuration.WhiteSpaceTrimStringConverter +System.Web.Configuration.RoleManagerSection.cookiePath (Validator) = System.Configuration.StringValidator +System.Web.Configuration.RoleManagerSection.cookieProtection (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.RoleManagerSection.cookieRequireSSL (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.RoleManagerSection.cookieSlidingExpiration (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.RoleManagerSection.cookieTimeout (Converter) = System.Configuration.TimeSpanMinutesOrInfiniteConverter +System.Web.Configuration.RoleManagerSection.cookieTimeout (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.RoleManagerSection.createPersistentCookie (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.RoleManagerSection.defaultProvider (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.RoleManagerSection.defaultProvider (Validator) = System.Configuration.StringValidator +System.Web.Configuration.RoleManagerSection.domain (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.RoleManagerSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.RoleManagerSection.enabled (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.RoleManagerSection.GetRuntimeObject() = System.Web.Configuration.RoleManagerSection (True) +System.Web.Configuration.RoleManagerSection.maxCachedResults (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.RootProfilePropertySettingsCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.RuleSettingsCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.RuleSettings.custom (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.RuleSettings.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.RuleSettings.eventName (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.RuleSettings.maxLimit (Converter) = System.Configuration.InfiniteIntConverter +System.Web.Configuration.RuleSettings.maxLimit (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.RuleSettings.minInstances (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.RuleSettings.minInstances (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.RuleSettings.minInterval (Converter) = System.Configuration.InfiniteTimeSpanConverter +System.Web.Configuration.RuleSettings.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.RuleSettings.name (Validator) = System.Configuration.StringValidator +System.Web.Configuration.RuleSettings.profile (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.RuleSettings.provider (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.SecurityPolicySection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.SecurityPolicySection.GetRuntimeObject() = System.Web.Configuration.SecurityPolicySection (True) +System.Web.Configuration.SessionPageStateSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.SessionPageStateSection.GetRuntimeObject() = System.Web.Configuration.SessionPageStateSection (True) +System.Web.Configuration.SessionPageStateSection.historySize (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.SessionPageStateSection.historySize (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.SessionStateSection.allowCustomSqlDatabase (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.SessionStateSection.cookieless (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.SessionStateSection.cookieName (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.SessionStateSection.customProvider (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.SessionStateSection.ElementProperty (Validator) = System.Configuration.CallbackValidator (True) +System.Web.Configuration.SessionStateSection.GetRuntimeObject() = System.Web.Configuration.SessionStateSection (True) +System.Web.Configuration.SessionStateSection.mode (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.SessionStateSection.partitionResolverType (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.SessionStateSection.regenerateExpiredSessionId (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.SessionStateSection.sessionIDManagerType (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.SessionStateSection.sqlCommandTimeout (Converter) = System.Configuration.TimeSpanSecondsOrInfiniteConverter +System.Web.Configuration.SessionStateSection.sqlConnectionString (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.SessionStateSection.stateConnectionString (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.SessionStateSection.stateNetworkTimeout (Converter) = System.Configuration.TimeSpanSecondsOrInfiniteConverter +System.Web.Configuration.SessionStateSection.stateNetworkTimeout (Validator) = System.Configuration.PositiveTimeSpanValidator +System.Web.Configuration.SessionStateSection.timeout (Converter) = System.Configuration.TimeSpanMinutesOrInfiniteConverter +System.Web.Configuration.SessionStateSection.timeout (Validator) = System.Configuration.TimeSpanValidator +System.Web.Configuration.SessionStateSection.useHostingIdentity (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.SqlCacheDependencyDatabaseCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.SqlCacheDependencyDatabase.connectionStringName (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.SqlCacheDependencyDatabase.connectionStringName (Validator) = System.Configuration.StringValidator +System.Web.Configuration.SqlCacheDependencyDatabase.ElementProperty (Validator) = System.Configuration.CallbackValidator (True) +System.Web.Configuration.SqlCacheDependencyDatabase.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.SqlCacheDependencyDatabase.name (Validator) = System.Configuration.StringValidator +System.Web.Configuration.SqlCacheDependencyDatabase.pollTime (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.SqlCacheDependencySection.ElementProperty (Validator) = System.Configuration.CallbackValidator (True) +System.Web.Configuration.SqlCacheDependencySection.enabled (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.SqlCacheDependencySection.GetRuntimeObject() = System.Web.Configuration.SqlCacheDependencySection (True) +System.Web.Configuration.SqlCacheDependencySection.pollTime (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.TagMapCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.TagMapInfo.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.TagMapInfo.mappedTagType (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TagMapInfo.mappedTagType (Validator) = System.Configuration.StringValidator +System.Web.Configuration.TagMapInfo.tagType (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TagMapInfo.tagType (Validator) = System.Configuration.StringValidator +System.Web.Configuration.TagPrefixCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.TagPrefixInfo.assembly (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TagPrefixInfo.ElementProperty (Validator) = System.Configuration.CallbackValidator (True) +System.Web.Configuration.TagPrefixInfo.namespace (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TagPrefixInfo.src (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TagPrefixInfo.tagName (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TagPrefixInfo.tagPrefix (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TagPrefixInfo.tagPrefix (Validator) = System.Configuration.StringValidator +System.Web.Configuration.TraceSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.TraceSection.enabled (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.TraceSection.GetRuntimeObject() = System.Web.Configuration.TraceSection (True) +System.Web.Configuration.TraceSection.localOnly (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.TraceSection.mostRecent (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.TraceSection.pageOutput (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.TraceSection.requestLimit (Converter) = System.ComponentModel.Int32Converter +System.Web.Configuration.TraceSection.requestLimit (Validator) = System.Configuration.IntegerValidator +System.Web.Configuration.TraceSection.traceMode (Converter) = System.Configuration.GenericEnumConverter +System.Web.Configuration.TraceSection.writeToDiagnosticsTrace (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.TransformerInfoCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.TransformerInfo.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.TransformerInfo.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TransformerInfo.name (Validator) = System.Configuration.StringValidator +System.Web.Configuration.TransformerInfo.type (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TransformerInfo.type (Validator) = System.Configuration.StringValidator +System.Web.Configuration.TrustLevelCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.TrustLevel.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.TrustLevel.name (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TrustLevel.name (Validator) = System.Configuration.StringValidator +System.Web.Configuration.TrustLevel.policyFile (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TrustSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.TrustSection.GetRuntimeObject() = System.Web.Configuration.TrustSection (True) +System.Web.Configuration.TrustSection.level (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TrustSection.level (Validator) = System.Configuration.StringValidator +System.Web.Configuration.TrustSection.originUrl (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.TrustSection.processRequestInApplicationTrust (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.UrlMappingCollection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.UrlMapping.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.UrlMapping.mappedUrl (Converter) = System.Configuration.WhiteSpaceTrimStringConverter +System.Web.Configuration.UrlMapping.mappedUrl (Validator) = System.Configuration.StringValidator +System.Web.Configuration.UrlMappingsSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.UrlMappingsSection.enabled (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.UrlMappingsSection.GetRuntimeObject() = System.Web.Configuration.UrlMappingsSection (True) +System.Web.Configuration.UrlMapping.url (Converter) = System.Configuration.WhiteSpaceTrimStringConverter +System.Web.Configuration.UrlMapping.url (Validator) = System.Configuration.CallbackValidator +System.Web.Configuration.WebControlsSection.clientScriptsLocation (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.WebControlsSection.clientScriptsLocation (Validator) = System.Configuration.StringValidator +System.Web.Configuration.WebControlsSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.WebControlsSection.GetRuntimeObject() = System.Collections.Hashtable (False) +System.Web.Configuration.WebPartsPersonalizationAuthorization.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.WebPartsPersonalization.defaultProvider (Converter) = System.ComponentModel.StringConverter +System.Web.Configuration.WebPartsPersonalization.defaultProvider (Validator) = System.Configuration.StringValidator +System.Web.Configuration.WebPartsPersonalization.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.WebPartsSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.WebPartsSection.enableExport (Converter) = System.ComponentModel.BooleanConverter +System.Web.Configuration.WebPartsSection.GetRuntimeObject() = System.Web.Configuration.WebPartsSection (True) +System.Web.Configuration.XhtmlConformanceSection.ElementProperty (Validator) = System.Configuration.DefaultValidator (True) +System.Web.Configuration.XhtmlConformanceSection.GetRuntimeObject() = System.Web.Configuration.XhtmlConformanceSection (True) +System.Web.Configuration.XhtmlConformanceSection.mode (Converter) = System.Configuration.GenericEnumConverter diff --git a/mcs/class/System.Web/jar.resources b/mcs/class/System.Web/jar.resources deleted file mode 100644 index fd256ba939d..00000000000 --- a/mcs/class/System.Web/jar.resources +++ /dev/null @@ -1,5 +0,0 @@ -<resources> - <add key="browscap.ini" value="/browscap.ini" /> - <add key="WebUIValidation.js" value="/WebUIValidation.js" /> -</resources> - diff --git a/mcs/class/System.XML/System.Xml.Serialization/ChangeLog b/mcs/class/System.XML/System.Xml.Serialization/ChangeLog index 0083d639418..663274672ba 100644 --- a/mcs/class/System.XML/System.Xml.Serialization/ChangeLog +++ b/mcs/class/System.XML/System.Xml.Serialization/ChangeLog @@ -1,12 +1,3 @@ -2006-01-08 Gert Driesen <drieseng@users.sourceforge.net> - - * XmlSchemaImporter.cs: Fixed line endings (to CRLF). - -2006-01-07 Gert Driesen <drieseng@users.sourceforge.net> - - * XmlTypeMapping.cs: Fixed line endings. - * TypeTranslator.cs: Fixed line endings. - 2005-12-07 Lluis Sanchez Gual <lluis@novell.com> * XmlSerializationReaderInterpreter.cs: When deserializing a "flat" diff --git a/mcs/class/System.XML/System.Xml.Serialization/TypeTranslator.cs b/mcs/class/System.XML/System.Xml.Serialization/TypeTranslator.cs index 9bad3e92c72..58b2b29c1da 100644 --- a/mcs/class/System.XML/System.Xml.Serialization/TypeTranslator.cs +++ b/mcs/class/System.XML/System.Xml.Serialization/TypeTranslator.cs @@ -44,25 +44,25 @@ namespace System.Xml.Serialization static Hashtable primitiveTypes; static Hashtable primitiveArrayTypes; -#if TARGET_JVM - const string AppDomainCacheName = "System.Xml.Serialization.TypeTranslator.AppDomainCache"; - static Hashtable AppDomainCache { - get { - Hashtable res = (Hashtable)AppDomain.CurrentDomain.GetData(AppDomainCacheName); - - if(res == null) { - lock(AppDomainCacheName) { - res = (Hashtable)AppDomain.CurrentDomain.GetData(AppDomainCacheName); - if (res == null) { - res = new Hashtable(); - AppDomain.CurrentDomain.SetData(AppDomainCacheName, res); - } - } - } - - return res; - } - } +#if TARGET_JVM
+ const string AppDomainCacheName = "System.Xml.Serialization.TypeTranslator.AppDomainCache";
+ static Hashtable AppDomainCache {
+ get {
+ Hashtable res = (Hashtable)AppDomain.CurrentDomain.GetData(AppDomainCacheName);
+
+ if(res == null) {
+ lock(AppDomainCacheName) {
+ res = (Hashtable)AppDomain.CurrentDomain.GetData(AppDomainCacheName);
+ if (res == null) {
+ res = new Hashtable();
+ AppDomain.CurrentDomain.SetData(AppDomainCacheName, res);
+ }
+ }
+ }
+
+ return res;
+ }
+ }
#endif static TypeTranslator () @@ -85,7 +85,7 @@ namespace System.Xml.Serialization nameCache.Add (typeof (decimal), new TypeData (typeof (decimal), "decimal", true)); nameCache.Add (typeof (XmlQualifiedName), new TypeData (typeof (XmlQualifiedName), "QName", true)); nameCache.Add (typeof (string), new TypeData (typeof (string), "string", true)); - XmlSchemaPatternFacet guidFacet = new XmlSchemaPatternFacet(); + XmlSchemaPatternFacet guidFacet = new XmlSchemaPatternFacet();
guidFacet.Value = "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"; nameCache.Add (typeof (Guid), new TypeData (typeof (Guid), "guid", true, (TypeData)nameCache[typeof (string)], guidFacet)); nameCache.Add (typeof (byte), new TypeData (typeof (byte), "unsignedByte", true)); @@ -168,10 +168,10 @@ namespace System.Xml.Serialization TypeData typeData = nameCache[type] as TypeData; if (typeData != null) return typeData; -#if TARGET_JVM - Hashtable dynamicCache = AppDomainCache; - typeData = dynamicCache[type] as TypeData; - if (typeData != null) return typeData; +#if TARGET_JVM
+ Hashtable dynamicCache = AppDomainCache;
+ typeData = dynamicCache[type] as TypeData;
+ if (typeData != null) return typeData;
#endif string name; diff --git a/mcs/class/System.XML/System.Xml.Serialization/XmlSchemaImporter.cs b/mcs/class/System.XML/System.Xml.Serialization/XmlSchemaImporter.cs index eecf0efc2e8..64f7e4f058c 100644 --- a/mcs/class/System.XML/System.Xml.Serialization/XmlSchemaImporter.cs +++ b/mcs/class/System.XML/System.Xml.Serialization/XmlSchemaImporter.cs @@ -7,27 +7,27 @@ //
// Copyright (C) Tim Coleman, 2002
//
-
-//
-// 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.
-//
+ +// +// 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.Xml;
using System.Xml.Schema;
@@ -196,8 +196,8 @@ namespace System.Xml.Serialization }
else
{
- if (!LocateElement (name, out qname, out stype))
- return null;
+ if (!LocateElement (name, out qname, out stype)) + return null; }
XmlTypeMapping map = GetRegisteredTypeMapping (qname);
@@ -211,14 +211,14 @@ namespace System.Xml.Serialization return map;
}
- map = CreateTypeMapping (qname, SchemaTypes.Class, name);
+ map = CreateTypeMapping (qname, SchemaTypes.Class, name); if (stype != null) {
- map.Documentation = GetDocumentation (stype);
- RegisterMapFixup (map, qname, (XmlSchemaComplexType)stype);
- } else {
- ClassMap cmap = new ClassMap ();
- CodeIdentifiers classIds = new CodeIdentifiers ();
- map.ObjectMap = cmap;
+ map.Documentation = GetDocumentation (stype); + RegisterMapFixup (map, qname, (XmlSchemaComplexType)stype); + } else { + ClassMap cmap = new ClassMap (); + CodeIdentifiers classIds = new CodeIdentifiers (); + map.ObjectMap = cmap; AddTextMember (qname, cmap, classIds);
}
@@ -414,10 +414,10 @@ namespace System.Xml.Serialization {
XmlQualifiedName qname;
XmlSchemaType stype;
- if (!LocateElement (name, out qname, out stype)) return null;
-
- if (stype == null) {
- // Importing a primitive type
+ if (!LocateElement (name, out qname, out stype)) return null; + + if (stype == null) { + // Importing a primitive type TypeData td = TypeTranslator.GetPrimitiveTypeData (qname.Name);
return ReflectType (td.Type, name.Namespace);
}
@@ -450,7 +450,7 @@ namespace System.Xml.Serialization }
else
{
- if (elem.SchemaTypeName.IsEmpty) return false;
+ if (elem.SchemaTypeName.IsEmpty) return false; object type = schemas.Find (elem.SchemaTypeName, typeof (XmlSchemaComplexType));
if (type == null) type = schemas.Find (elem.SchemaTypeName, typeof (XmlSchemaSimpleType));
@@ -1140,12 +1140,12 @@ namespace System.Xml.Serialization if (CanBeEnum (st))
return ImportType (qname, null, true).TypeData;
- if (st.Content is XmlSchemaSimpleTypeRestriction) {
- XmlSchemaSimpleTypeRestriction rest = (XmlSchemaSimpleTypeRestriction) st.Content;
- XmlQualifiedName bn = GetContentBaseType (rest);
- if (bn == XmlQualifiedName.Empty && rest.BaseType != null)
- return FindBuiltInType (qname, rest.BaseType);
- else
+ if (st.Content is XmlSchemaSimpleTypeRestriction) { + XmlSchemaSimpleTypeRestriction rest = (XmlSchemaSimpleTypeRestriction) st.Content; + XmlQualifiedName bn = GetContentBaseType (rest); + if (bn == XmlQualifiedName.Empty && rest.BaseType != null) + return FindBuiltInType (qname, rest.BaseType); + else return FindBuiltInType (bn);
}
else if (st.Content is XmlSchemaSimpleTypeList) {
@@ -1783,11 +1783,10 @@ namespace System.Xml.Serialization }
return grp;
- }
-
- XmlTypeMapping ReflectType (Type type, string ns)
- {
- if (!encodedFormat)
+ } + + XmlTypeMapping ReflectType (Type type, string ns) + {
if (!encodedFormat)
{
if (auxXmlRefImporter == null) auxXmlRefImporter = new XmlReflectionImporter ();
return auxXmlRefImporter.ImportTypeMapping (type, ns);
@@ -1825,4 +1824,4 @@ namespace System.Xml.Serialization #endregion // Methods
}
-}
+} diff --git a/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs b/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs index 7352955ea63..c772e60ff86 100644 --- a/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs +++ b/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs @@ -7,32 +7,32 @@ //
// (C) 2002 John Donagher
//
-
-//
-// 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.
-//
+ +// +// 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.Xml;
using System;
using System.Collections;
-using System.Globalization;
+using System.Globalization; using System.Xml.Schema;
namespace System.Xml.Serialization
@@ -170,31 +170,31 @@ namespace System.Xml.Serialization }
}
-
- // Mapping info for XmlSerializable
- internal class XmlSerializableMapping : XmlTypeMapping
- {
- XmlSchema _schema;
-
- internal XmlSerializableMapping(string elementName, string ns, TypeData typeData, string xmlType, string xmlTypeNamespace)
- : base(elementName, ns, typeData, xmlType, xmlTypeNamespace)
- {
- IXmlSerializable serializable = (IXmlSerializable)Activator.CreateInstance(typeData.Type);
- _schema = serializable.GetSchema();
- if (_schema != null)
- {
- if (_schema.Id == null || _schema.Id.Length == 0)
- throw new InvalidOperationException("Schema Id is missing. The schema returned from " + typeData.Type.FullName + ".GetSchema() must have an Id.");
- }
- }
-
- internal XmlSchema Schema
- {
- get { return _schema; }
- }
- }
-
-
+ + // Mapping info for XmlSerializable + internal class XmlSerializableMapping : XmlTypeMapping + { + XmlSchema _schema; + + internal XmlSerializableMapping(string elementName, string ns, TypeData typeData, string xmlType, string xmlTypeNamespace) + : base(elementName, ns, typeData, xmlType, xmlTypeNamespace) + { + IXmlSerializable serializable = (IXmlSerializable)Activator.CreateInstance(typeData.Type); + _schema = serializable.GetSchema(); + if (_schema != null) + { + if (_schema.Id == null || _schema.Id.Length == 0) + throw new InvalidOperationException("Schema Id is missing. The schema returned from " + typeData.Type.FullName + ".GetSchema() must have an Id."); + } + } + + internal XmlSchema Schema + { + get { return _schema; } + } + } + + // Mapping info for classes and structs
internal class ClassMap: ObjectMap
@@ -281,9 +281,9 @@ namespace System.Xml.Serialization if (_elements.ContainsKey (key))
throw new InvalidOperationException ("The XML element named '" + elem.ElementName + "' from namespace '" + elem.Namespace + "' is already present in the current scope. Use XML attributes to specify another XML name or namespace for the element.");
_elements.Add (key, elem);
- }
-
- if (member.TypeData.IsListType && member.TypeData.Type != null && !member.TypeData.Type.IsArray) {
+ } + + if (member.TypeData.IsListType && member.TypeData.Type != null && !member.TypeData.Type.IsArray) { if (_listMembers == null) _listMembers = new ArrayList ();
_listMembers.Add (member);
}
@@ -399,12 +399,12 @@ namespace System.Xml.Serialization public ArrayList MembersWithDefault
{
get { return _membersWithDefault; }
- }
-
+ } + public ArrayList ListMembers
{
get { return _listMembers; }
- }
+ } public XmlTypeMapMember XmlTextCollector
{
@@ -452,8 +452,8 @@ namespace System.Xml.Serialization {
XmlTypeMapElementInfoList _itemInfo;
bool _gotNestedMapping;
- XmlTypeMapping _nestedArrayMapping;
- string _choiceMember;
+ XmlTypeMapping _nestedArrayMapping; + string _choiceMember; public bool IsMultiArray
{
@@ -463,12 +463,12 @@ namespace System.Xml.Serialization }
}
- public string ChoiceMember
- {
- get { return _choiceMember; }
- set { _choiceMember = value; }
- }
-
+ public string ChoiceMember + { + get { return _choiceMember; } + set { _choiceMember = value; } + } + public XmlTypeMapping NestedArrayMapping
{
get
@@ -505,16 +505,16 @@ namespace System.Xml.Serialization {
if (_itemInfo.Count == 1)
return (XmlTypeMapElementInfo) _itemInfo[0];
- else if (_choiceMember != null && index != -1)
- {
- Array values = (Array) XmlTypeMapMember.GetValue (ob, _choiceMember);
- if (values == null || index >= values.Length)
- throw new InvalidOperationException ("Invalid or missing choice enum value in member '" + _choiceMember + "'.");
- object val = values.GetValue (index);
- foreach (XmlTypeMapElementInfo elem in _itemInfo)
- if (elem.ChoiceValue != null && elem.ChoiceValue.Equals (val))
- return elem;
- }
+ else if (_choiceMember != null && index != -1) + { + Array values = (Array) XmlTypeMapMember.GetValue (ob, _choiceMember); + if (values == null || index >= values.Length) + throw new InvalidOperationException ("Invalid or missing choice enum value in member '" + _choiceMember + "'."); + object val = values.GetValue (index); + foreach (XmlTypeMapElementInfo elem in _itemInfo) + if (elem.ChoiceValue != null && elem.ChoiceValue.Equals (val)) + return elem; + } else
{
if (memberValue == null) return null;
diff --git a/mcs/class/System.XML/System.Xml.XPath/ChangeLog b/mcs/class/System.XML/System.Xml.XPath/ChangeLog index ad30973bd0b..b33e228bf3b 100644 --- a/mcs/class/System.XML/System.Xml.XPath/ChangeLog +++ b/mcs/class/System.XML/System.Xml.XPath/ChangeLog @@ -1,14 +1,3 @@ -2006-01-11 Atsushi Enomoto <atsushi@ximian.com> - - * Iterator.cs : Nowadays removal of cloning of the argument list - in ListIterator is safe. Thanks to Joshua Tauberer for the hint. - -2006-01-11 Atsushi Enomoto <atsushi@ximian.com> - - * Iterator.cs : (DescendantOrSelfIterator/DescendantIterator) the - error message is for blaming custom XPathNavigator - implementation, not us ;-) (see also #77194) - 2006-01-06 Atsushi Enomoto <atsushi@ximian.com> * XPathNavigator.cs : use WriteNode(XPathNavigator, bool) diff --git a/mcs/class/System.XML/System.Xml.XPath/Iterator.cs b/mcs/class/System.XML/System.Xml.XPath/Iterator.cs index eb42e055c57..cb137a19c37 100644 --- a/mcs/class/System.XML/System.Xml.XPath/Iterator.cs +++ b/mcs/class/System.XML/System.Xml.XPath/Iterator.cs @@ -522,7 +522,7 @@ namespace System.Xml.XPath return true; } if (!_nav.MoveToParent ()) // should NEVER fail! - throw new XPathException ("There seems some bugs on the XPathNavigator implementation class: " + _nav.GetType ()); + throw new XPathException ("There seems some bugs on the XPathNavigator implementation class."); _depth --; } _finished = true; @@ -569,7 +569,7 @@ namespace System.Xml.XPath return true; } if (!_nav.MoveToParent ()) // should NEVER fail! - throw new XPathException ("There seems some bugs on the XPathNavigator implementation class: " + _nav.GetType ()); + throw new XPathException ("There seems some bugs on the XPathNavigator implementation class."); _depth --; } _finished = true; @@ -1057,17 +1057,22 @@ namespace System.Xml.XPath public ListIterator (BaseIterator iter, IList list) : base (iter.NamespaceManager) { + if (!(list is ICloneable)) + throw new ArgumentException ("Target enumerator must be cloneable."); _list = list; } public ListIterator (IList list, NSResolver nsm) : base (nsm) { + if (!(list is ICloneable)) + throw new ArgumentException ("Target enumerator must be cloneable."); _list = list; } private ListIterator (ListIterator other) : base (other) { - _list = other._list; + ICloneable listClone = other._list as ICloneable; + _list = (IList) listClone.Clone (); } public override XPathNodeIterator Clone () { return new ListIterator (this); } diff --git a/mcs/class/System.XML/System.Xml/ChangeLog b/mcs/class/System.XML/System.Xml/ChangeLog index 70a14159908..809c2d8899e 100644 --- a/mcs/class/System.XML/System.Xml/ChangeLog +++ b/mcs/class/System.XML/System.Xml/ChangeLog @@ -1,7 +1,3 @@ -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * XmlConvert.cs : handle Ticks. Fixed bug #77252. - 2006-01-13 Atsushi Enomoto <atsushi@ximian.com> * XmlTextWriter.cs : Fixed bug #77082. diff --git a/mcs/class/System.XML/System.Xml/XmlConvert.cs b/mcs/class/System.XML/System.Xml/XmlConvert.cs index c9ede090a06..31673868956 100644 --- a/mcs/class/System.XML/System.Xml/XmlConvert.cs +++ b/mcs/class/System.XML/System.Xml/XmlConvert.cs @@ -439,12 +439,8 @@ namespace System.Xml { builder.Append (value.Minutes).Append ('M'); if (value.Seconds > 0 || value.Milliseconds > 0) { builder.Append (value.Seconds); - long ticks = value.Ticks % TimeSpan.TicksPerMillisecond; - if (ticks > 0) - builder.Append ('.').AppendFormat ("{0:0000000}", value.Ticks % TimeSpan.TicksPerSecond); - else if (value.Milliseconds > 0) + if (value.Milliseconds > 0) builder.Append ('.').AppendFormat ("{0:000}", value.Milliseconds); - builder.Append ('S'); } } @@ -546,7 +542,7 @@ namespace System.Xml { int hours = 0; int minutes = 0; int seconds = 0; - long ticks = 0; + int milliseconds = 0; int parsedDigits = 0; bool error = false; @@ -567,10 +563,10 @@ namespace System.Xml { parsedDigits = i - start; int value = int.Parse (s.Substring (start, i - start), CultureInfo.InvariantCulture); if (parseStep == 7) { - // adjust to 7 digits so that it makes sense as millisecond digits - for (; parsedDigits > 7; parsedDigits--) + // adjust to 3 digits so that it makes sense as millisecond digits + for (; parsedDigits > 3; parsedDigits--) value /= 10; - for (; parsedDigits < 7; parsedDigits++) + for (; parsedDigits < 3; parsedDigits++) value *= 10; } switch (s [i]) { @@ -608,7 +604,7 @@ namespace System.Xml { break; case 'S': if (parseStep == 7) - ticks = value; + milliseconds = value; else seconds = value; if (!isTime || parseStep > 7) @@ -633,8 +629,7 @@ namespace System.Xml { } if (error) throw new ArgumentException ("Invalid format string for duration schema datatype."); - TimeSpan ts = new TimeSpan (days, hours, minutes, seconds); - ts = ts.Add (TimeSpan.FromTicks (ticks)); + TimeSpan ts = new TimeSpan (days, hours, minutes, seconds, milliseconds); return minusValue ? -ts : ts; } diff --git a/mcs/class/System.XML/System.Xml_test.dll.sources b/mcs/class/System.XML/System.Xml_test.dll.sources index 6c13ea47063..58842945d46 100644 --- a/mcs/class/System.XML/System.Xml_test.dll.sources +++ b/mcs/class/System.XML/System.Xml_test.dll.sources @@ -57,8 +57,6 @@ System.Xml.Serialization/SoapAttributeAttributeTests.cs System.Xml.Serialization/SoapElementAttributeTests.cs System.Xml.Serialization/SoapEnumAttributeTests.cs System.Xml.Serialization/SoapIncludeAttributeTests.cs -System.Xml.Serialization/SoapSchemaExporterTests.cs -System.Xml.Serialization/SoapReflectionImporterTests.cs System.Xml.Serialization/SoapSchemaMemberTests.cs System.Xml.Serialization/SoapTypeAttributeTests.cs System.Xml.Serialization/XmlAnyElementAttributeTests.cs @@ -73,7 +71,6 @@ System.Xml.Serialization/XmlIncludeAttributeTests.cs System.Xml.Serialization/XmlReflectionImporterTests.cs System.Xml.Serialization/XmlRootAttributeTests.cs System.Xml.Serialization/XmlSchemaExporterTests.cs -System.Xml.Serialization/XmlSchemaImporterTests.cs System.Xml.Serialization/XmlSerializationWriterTests.cs System.Xml.Serialization/XmlTextAttributeTests.cs System.Xml.Serialization/XmlTypeAttributeTests.cs diff --git a/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog b/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog index 8a8a49edeb1..e4f27de1c65 100644 --- a/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog +++ b/mcs/class/System.XML/Test/System.Xml.Serialization/ChangeLog @@ -1,12 +1,3 @@ -2006-01-07 Gert Driesen <drieseng@users.sourceforge.net> - - * XmlReflectionImporterTests.cs: Added numerous tests. No longer - derive from Assertion. - * SoapReflectionImporterTests.cs: Added numerous tests. - * XmlSchemaImporterTests.cs: Added numerous tests. - * XmlSchemaExporterTests.cs: Added numerous tests. - * SoapSchemaExporterTests.cs: Added numerous tests. - 2005-12-29 Gert Driesen <drieseng@users.sourceforge.net> * XmlSchemaExporterTests.cs: Added tests for exporting structs, and diff --git a/mcs/class/System.XML/Test/System.Xml.Serialization/SoapReflectionImporterTests.cs b/mcs/class/System.XML/Test/System.Xml.Serialization/SoapReflectionImporterTests.cs deleted file mode 100644 index 35d3c3d9b52..00000000000 --- a/mcs/class/System.XML/Test/System.Xml.Serialization/SoapReflectionImporterTests.cs +++ /dev/null @@ -1,1494 +0,0 @@ -// -// System.Xml.Serialization.SoapReflectionImporterTests -// -// Author: -// Gert Driesen (drieseng@users.sourceforge.net) -// -// (C) 2005 Novell -// - -using System; -using System.Collections; -using System.Xml; -using System.Xml.Schema; -using System.Xml.Serialization; - -using NUnit.Framework; - -using MonoTests.System.Xml.TestClasses; - -namespace MonoTests.System.XmlSerialization -{ - [TestFixture] - public class SoapReflectionImporterTests - { - private const string SomeNamespace = "some:urn"; - private const string AnotherNamespace = "another:urn"; - - // these Map methods re-create the SoapReflectionImporter at every call. - - private XmlTypeMapping Map(Type t) - { - SoapReflectionImporter ri = new SoapReflectionImporter(); - XmlTypeMapping tm = ri.ImportTypeMapping(t); - - return tm; - } - - private XmlTypeMapping Map(Type t, string ns) - { - SoapReflectionImporter ri = new SoapReflectionImporter(ns); - XmlTypeMapping tm = ri.ImportTypeMapping(t); - - return tm; - } - - private XmlTypeMapping Map(Type t, SoapAttributeOverrides overrides) - { - SoapReflectionImporter ri = new SoapReflectionImporter(overrides); - XmlTypeMapping tm = ri.ImportTypeMapping(t); - - return tm; - } - - private XmlMembersMapping MembersMap (Type t, SoapAttributeOverrides overrides, - XmlReflectionMember [] members, bool inContainer, bool writeAccessors) - { - SoapReflectionImporter ri = new SoapReflectionImporter(overrides); - XmlMembersMapping mm = ri.ImportMembersMapping(null, null, members, - inContainer, writeAccessors); - - return mm; - } - - [Test] - [Category ("NotWorking")] - public void TestIntTypeMapping() - { - XmlTypeMapping tm = Map (typeof (int)); - Assert.AreEqual ("int", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("Int32", tm.TypeName, "#3"); - Assert.AreEqual ("System.Int32", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestIntTypeMapping_Array () - { - XmlTypeMapping tm = Map (typeof (int[])); - Assert.AreEqual ("ArrayOfInt", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfInt32", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("Int32[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("System.Int32[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (int[][])); - Assert.AreEqual ("ArrayOfArrayOfInt", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfInt32", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("Int32[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("System.Int32[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (int[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfInt", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfInt32", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("Int32[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("System.Int32[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - public void TestStringTypeMapping() - { - XmlTypeMapping tm = Map (typeof (string)); - Assert.AreEqual ("string", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("String", tm.TypeName, "#3"); - Assert.AreEqual ("System.String", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestStringTypeMapping_Array () - { - XmlTypeMapping tm = Map (typeof (string[])); - Assert.AreEqual ("ArrayOfString", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfString", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("String[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("System.String[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (string[][])); - Assert.AreEqual ("ArrayOfArrayOfString", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfString", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("String[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("System.String[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (string[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfString", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfString", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("String[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("System.String[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - public void TestObjectTypeMapping() - { - XmlTypeMapping tm = Map (typeof (object)); - Assert.AreEqual ("anyType", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("Object", tm.TypeName, "#3"); - Assert.AreEqual ("System.Object", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestObjectTypeMapping_Array () - { - XmlTypeMapping tm = Map (typeof (object[])); - Assert.AreEqual ("ArrayOfAnyType", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfObject", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("Object[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("System.Object[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (object[][])); - Assert.AreEqual ("ArrayOfArrayOfAnyType", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfObject", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("Object[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("System.Object[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (object[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfObject", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("Object[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("System.Object[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - public void TestByteTypeMapping () - { - XmlTypeMapping tm = Map (typeof (byte)); - Assert.AreEqual ("unsignedByte", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("Byte", tm.TypeName, "#3"); - Assert.AreEqual ("System.Byte", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestByteTypeMapping_Array () - { - XmlTypeMapping tm = Map (typeof (byte[])); - Assert.AreEqual ("base64Binary", tm.ElementName, "#A1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#A2"); - Assert.AreEqual ("Byte[]", tm.TypeName, "#A3"); - Assert.AreEqual ("System.Byte[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (byte[][])); - Assert.AreEqual ("ArrayOfBase64Binary", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfByte", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("Byte[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("System.Byte[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (byte[][][])); - Assert.AreEqual ("ArrayOfArrayOfBase64Binary", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfByte", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("Byte[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("System.Byte[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - public void TestBoolTypeMapping () - { - XmlTypeMapping tm = Map (typeof (bool)); - Assert.AreEqual ("boolean", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("Boolean", tm.TypeName, "#3"); - Assert.AreEqual ("System.Boolean", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestShortTypeMapping () - { - XmlTypeMapping tm = Map (typeof (short)); - Assert.AreEqual ("short", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("Int16", tm.TypeName, "#3"); - Assert.AreEqual ("System.Int16", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestUnsignedShortTypeMapping () - { - XmlTypeMapping tm = Map (typeof (ushort)); - Assert.AreEqual ("unsignedShort", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("UInt16", tm.TypeName, "#3"); - Assert.AreEqual ("System.UInt16", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestUIntTypeMapping () - { - XmlTypeMapping tm = Map (typeof (uint)); - Assert.AreEqual ("unsignedInt", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("UInt32", tm.TypeName, "#3"); - Assert.AreEqual ("System.UInt32", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestLongTypeMapping () - { - XmlTypeMapping tm = Map (typeof (long)); - Assert.AreEqual ("long", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("Int64", tm.TypeName, "#3"); - Assert.AreEqual ("System.Int64", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestULongTypeMapping () - { - XmlTypeMapping tm = Map (typeof (ulong)); - Assert.AreEqual ("unsignedLong", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("UInt64", tm.TypeName, "#3"); - Assert.AreEqual ("System.UInt64", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestFloatTypeMapping () - { - XmlTypeMapping tm = Map (typeof (float)); - Assert.AreEqual ("float", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("Single", tm.TypeName, "#3"); - Assert.AreEqual ("System.Single", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestDoubleTypeMapping () - { - XmlTypeMapping tm = Map (typeof (double)); - Assert.AreEqual ("double", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("Double", tm.TypeName, "#3"); - Assert.AreEqual ("System.Double", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestDateTimeTypeMapping () - { - XmlTypeMapping tm = Map (typeof (DateTime)); - Assert.AreEqual ("dateTime", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("DateTime", tm.TypeName, "#3"); - Assert.AreEqual ("System.DateTime", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestDateTimeTypeMapping_Array () - { - XmlTypeMapping tm = Map (typeof (DateTime[])); - Assert.AreEqual ("ArrayOfDateTime", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfDateTime", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("DateTime[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("System.DateTime[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (DateTime[][])); - Assert.AreEqual ("ArrayOfArrayOfDateTime", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfDateTime", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("DateTime[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("System.DateTime[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (DateTime[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfDateTime", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfDateTime", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("DateTime[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("System.DateTime[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - public void TestGuidTypeMapping () - { - XmlTypeMapping tm = Map (typeof (Guid)); - Assert.AreEqual ("guid", tm.ElementName, "#1"); - Assert.AreEqual ("http://microsoft.com/wsdl/types/", tm.Namespace, "#2"); - Assert.AreEqual ("Guid", tm.TypeName, "#3"); - Assert.AreEqual ("System.Guid", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestGuidTypeMapping_Array () - { - XmlTypeMapping tm = Map (typeof (Guid[])); - Assert.AreEqual ("ArrayOfGuid", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfGuid", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("Guid[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("System.Guid[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (Guid[][])); - Assert.AreEqual ("ArrayOfArrayOfGuid", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfGuid", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("Guid[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("System.Guid[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (Guid[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfGuid", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfGuid", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("Guid[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("System.Guid[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - public void TestDecimalTypeMapping() - { - XmlTypeMapping tm = Map (typeof (decimal)); - Assert.AreEqual ("decimal", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("Decimal", tm.TypeName, "#3"); - Assert.AreEqual ("System.Decimal", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestXmlQualifiedNameTypeMapping() - { - XmlTypeMapping tm = Map (typeof (XmlQualifiedName)); - Assert.AreEqual ("QName", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("XmlQualifiedName", tm.TypeName, "#3"); - Assert.AreEqual ("System.Xml.XmlQualifiedName", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestSByteTypeMapping() - { - XmlTypeMapping tm = Map (typeof (sbyte)); - Assert.AreEqual ("byte", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("SByte", tm.TypeName, "#3"); - Assert.AreEqual ("System.SByte", tm.TypeFullName, "#4"); - } - - - [Test] - [Category ("NotWorking")] - public void TestCharTypeMapping() - { - XmlTypeMapping tm = Map (typeof (char)); - Assert.AreEqual ("char", tm.ElementName, "#1"); - Assert.AreEqual ("http://microsoft.com/wsdl/types/", tm.Namespace, "#2"); - Assert.AreEqual ("Char", tm.TypeName, "#3"); - Assert.AreEqual ("System.Char", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestCharTypeMapping_Array () - { - XmlTypeMapping tm = Map (typeof (char[])); - Assert.AreEqual ("ArrayOfChar", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfChar", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("Char[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("System.Char[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (char[][])); - Assert.AreEqual ("ArrayOfArrayOfChar", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfChar", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("Char[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("System.Char[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (char[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfChar", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfChar", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("Char[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("System.Char[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (NotSupportedException))] // The type System.Xml.XmlNode may not be serialized with SOAP-encoded messages. - public void TestXmlNodeTypeMapping () - { - Map (typeof (XmlNode)); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (NotSupportedException))] // The type System.Xml.XmlElement may not be serialized with SOAP-encoded messages. - public void TestXmlElementTypeMapping () - { - Map (typeof (XmlElement)); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (NotSupportedException))] // The type System.Xml.XmlNotation may not be serialized with SOAP-encoded messages. - public void TestXmlNotationTypeMapping () - { - Map (typeof (XmlNotation)); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (NotSupportedException))] - public void TestXmlSerializableTypeMapping () - { - Map (typeof (Employee)); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (NotSupportedException))] - public void TestClassTypeMapping_NestedStruct () - { - Map (typeof (NestedStruct)); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (ArgumentNullException))] - public void TestNullTypeMapping() - { - Map(null); - } - - [Test] - [Category ("NotWorking")] - public void TestIntTypeMappingWithDefaultNamespaces() - { - XmlTypeMapping tm = Map (typeof (int), SomeNamespace); - Assert.AreEqual ("int", tm.ElementName, "#1"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", tm.Namespace, "#2"); - Assert.AreEqual ("Int32", tm.TypeName, "#3"); - Assert.AreEqual ("System.Int32", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestStructTypeMapping () - { - XmlTypeMapping tm = Map (typeof (TimeSpan)); - Assert.AreEqual ("TimeSpan", tm.ElementName, "#1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#2"); - Assert.AreEqual ("TimeSpan", tm.TypeName, "#3"); - Assert.AreEqual ("System.TimeSpan", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (NotSupportedException))] // Arrays of structs are not supported with encoded SOAP. - public void TestStructTypeMapping_Array () - { - Map (typeof (TimeSpan[])); - } - - [Test] - [Category ("NotWorking")] - public void TestEnumTypeMapping () - { - XmlTypeMapping tm = Map (typeof (AttributeTargets)); - Assert.AreEqual ("AttributeTargets", tm.ElementName, "#1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#2"); - Assert.AreEqual ("AttributeTargets", tm.TypeName, "#3"); - Assert.AreEqual ("System.AttributeTargets", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestEnumTypeMapping_Array () - { - XmlTypeMapping tm = Map (typeof (AttributeTargets[])); - Assert.AreEqual ("ArrayOfAttributeTargets", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfAttributeTargets", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("AttributeTargets[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("System.AttributeTargets[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (AttributeTargets[][])); - Assert.AreEqual ("ArrayOfArrayOfAttributeTargets", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfAttributeTargets", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("AttributeTargets[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("System.AttributeTargets[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (AttributeTargets[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfAttributeTargets", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfAttributeTargets", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("AttributeTargets[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("System.AttributeTargets[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - public void TestClassTypeMapping() - { - XmlTypeMapping tm = Map (typeof (SimpleClass)); - Assert.AreEqual ("SimpleClass", tm.ElementName, "#1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#2"); - Assert.AreEqual ("SimpleClass", tm.TypeName, "#3"); - Assert.AreEqual ("MonoTests.System.Xml.TestClasses.SimpleClass", tm.TypeFullName, "#4"); - } - - [Test] - [Category ("NotWorking")] - public void TestClassTypeMapping_Array () - { - XmlTypeMapping tm = Map (typeof (SimpleClass[])); - Assert.AreEqual ("ArrayOfSimpleClass", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfSimpleClass", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("SimpleClass[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("MonoTests.System.Xml.TestClasses.SimpleClass[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (SimpleClass[][])); - Assert.AreEqual ("ArrayOfArrayOfSimpleClass", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfSimpleClass", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("SimpleClass[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("MonoTests.System.Xml.TestClasses.SimpleClass[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (SimpleClass[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClass", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClass", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("SimpleClass[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("MonoTests.System.Xml.TestClasses.SimpleClass[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - public void TypeMapping_IEnumerable_SimpleClass () - { - XmlTypeMapping tm = Map (typeof (SimpleClassEnumerable)); - Assert.AreEqual ("ArrayOfSimpleClass", tm.ElementName, "#1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#2"); - Assert.AreEqual ("SimpleClassEnumerable", tm.TypeName, "#3"); - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerable", tm.TypeFullName, "#4"); - - tm = Map (typeof (SimpleClassEnumerable[])); - Assert.AreEqual ("ArrayOfArrayOfSimpleClass", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfSimpleClassEnumerable", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("SimpleClassEnumerable[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerable[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (SimpleClassEnumerable[][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClass", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfSimpleClassEnumerable", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("SimpleClassEnumerable[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerable[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (SimpleClassEnumerable[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfSimpleClass", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClassEnumerable", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("SimpleClassEnumerable[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerable[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - public void TypeMapping_IEnumerable_Object () - { - XmlTypeMapping tm = Map (typeof (ObjectEnumerable)); - Assert.AreEqual ("ArrayOfAnyType", tm.ElementName, "#1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#2"); - Assert.AreEqual ("ObjectEnumerable", tm.TypeName, "#3"); - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.ObjectEnumerable", tm.TypeFullName, "#4"); - - tm = Map (typeof (ObjectEnumerable[])); - Assert.AreEqual ("ArrayOfArrayOfAnyType", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfObjectEnumerable", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("ObjectEnumerable[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.ObjectEnumerable[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (ObjectEnumerable[][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfObjectEnumerable", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("ObjectEnumerable[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.ObjectEnumerable[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (ObjectEnumerable[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfObjectEnumerable", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("ObjectEnumerable[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.ObjectEnumerable[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] - public void TypeMapping_IEnumarable_Object_NoMatchingAddMethod () - { - Map (typeof (ObjectEnumerableNoMatchingAddMethod)); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] - public void TypeMapping_IEnumarable_Object_NoMatchingAddMethod_Array () - { - Map (typeof (ObjectEnumerableNoMatchingAddMethod[])); - } - - [Test] - [Category ("NotWorking")] - public void TypeMapping_IEnumerable_SimpleClass_PrivateCurrent () - { - XmlTypeMapping tm = Map (typeof (SimpleClassEnumerablePrivateCurrent)); - Assert.AreEqual ("ArrayOfAnyType", tm.ElementName, "#1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#2"); - Assert.AreEqual ("SimpleClassEnumerablePrivateCurrent", tm.TypeName, "#3"); - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerablePrivateCurrent", tm.TypeFullName, "#4"); - - tm = Map (typeof (SimpleClassEnumerablePrivateCurrent[])); - Assert.AreEqual ("ArrayOfArrayOfAnyType", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfSimpleClassEnumerablePrivateCurrent", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("SimpleClassEnumerablePrivateCurrent[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerablePrivateCurrent[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (SimpleClassEnumerablePrivateCurrent[][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfSimpleClassEnumerablePrivateCurrent", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("SimpleClassEnumerablePrivateCurrent[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerablePrivateCurrent[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (SimpleClassEnumerablePrivateCurrent[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClassEnumerablePrivateCurrent", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("SimpleClassEnumerablePrivateCurrent[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerablePrivateCurrent[][][]", tm.TypeFullName, "#C4"); - } - - [Test] -#if ONLY_1_1 - [Category ("NotDotNet")] // results in NullReferenceException in .NET 1.1 (SP1) -#endif - [Category ("NotWorking")] - public void TypeMapping_IEnumerable_SimpleClass_PrivateGetEnumerator () - { - XmlTypeMapping tm = Map (typeof (SimpleClassEnumerablePrivateGetEnumerator)); - Assert.AreEqual ("ArrayOfAnyType", tm.ElementName, "#1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#2"); - Assert.AreEqual ("SimpleClassEnumerablePrivateGetEnumerator", tm.TypeName, "#3"); - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerablePrivateGetEnumerator", tm.TypeFullName, "#4"); - - tm = Map (typeof (SimpleClassEnumerablePrivateGetEnumerator[])); - Assert.AreEqual ("ArrayOfArrayOfAnyType", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfSimpleClassEnumerablePrivateGetEnumerator", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("SimpleClassEnumerablePrivateGetEnumerator[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerablePrivateGetEnumerator[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (SimpleClassEnumerablePrivateGetEnumerator[][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfSimpleClassEnumerablePrivateGetEnumerator", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("SimpleClassEnumerablePrivateGetEnumerator[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerablePrivateGetEnumerator[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (SimpleClassEnumerablePrivateGetEnumerator[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClassEnumerablePrivateGetEnumerator", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("SimpleClassEnumerablePrivateGetEnumerator[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassEnumerablePrivateGetEnumerator[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] - public void TypeMapping_ICollection_Object_NoMatchingAddMethod () - { - Map (typeof (ObjectCollectionNoMatchingAddMethod)); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] - public void TypeMapping_ICollection_Object_NoMatchingAddMethod_Array () - { - Map (typeof (ObjectCollectionNoMatchingAddMethod[])); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] - public void TypeMapping_ICollection_SimpleClass_NoMatchingAddMethod () - { - Map (typeof (SimpleClassCollectionNoMatchingAddMethod)); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] - public void TypeMapping_ICollection_SimpleClass_NoMatchingAddMethod_Array () - { - Map (typeof (SimpleClassCollectionNoMatchingAddMethod[])); - } - - [Test] - [Category ("NotWorking")] - public void TypeMapping_ICollection_SimpleClass () - { - XmlTypeMapping tm = Map (typeof (SimpleClassCollection)); - Assert.AreEqual ("ArrayOfSimpleClass", tm.ElementName, "#1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#2"); - Assert.AreEqual ("SimpleClassCollection", tm.TypeName, "#3"); - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassCollection", tm.TypeFullName, "#4"); - - tm = Map (typeof (SimpleClassCollection[])); - Assert.AreEqual ("ArrayOfArrayOfSimpleClass", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfSimpleClassCollection", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("SimpleClassCollection[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassCollection[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (SimpleClassCollection[][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClass", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfSimpleClassCollection", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("SimpleClassCollection[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassCollection[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (SimpleClassCollection[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfSimpleClass", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClassCollection", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("SimpleClassCollection[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.SimpleClassCollection[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - public void TypeMapping_ICollection_Object () - { - XmlTypeMapping tm = Map (typeof (ObjectCollection)); - Assert.AreEqual ("ArrayOfAnyType", tm.ElementName, "#1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#2"); - Assert.AreEqual ("ObjectCollection", tm.TypeName, "#3"); - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.ObjectCollection", tm.TypeFullName, "#4"); - - tm = Map (typeof (ObjectCollection[])); - Assert.AreEqual ("ArrayOfArrayOfAnyType", tm.ElementName, "#A1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#A2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfObjectCollection", tm.TypeName, "#A3"); -#else - Assert.AreEqual ("ObjectCollection[]", tm.TypeName, "#A3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.ObjectCollection[]", tm.TypeFullName, "#A4"); - - tm = Map (typeof (ObjectCollection[][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#B1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#B2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfObjectCollection", tm.TypeName, "#B3"); -#else - Assert.AreEqual ("ObjectCollection[][]", tm.TypeName, "#B3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.ObjectCollection[][]", tm.TypeFullName, "#B4"); - - tm = Map (typeof (ObjectCollection[][][])); - Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#C1"); - Assert.AreEqual (string.Empty, tm.Namespace, "#C2"); -#if NET_2_0 - Assert.AreEqual ("ArrayOfArrayOfArrayOfObjectCollection", tm.TypeName, "#C3"); -#else - Assert.AreEqual ("ObjectCollection[][][]", tm.TypeName, "#C3"); -#endif - Assert.AreEqual ("MonoTests.System.XmlSerialization.SoapReflectionImporterTests.ObjectCollection[][][]", tm.TypeFullName, "#C4"); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] - public void TypeMapping_ICollection_Object_NoIntIndexer () - { - Map (typeof (ObjectCollectionNoIntIndexer)); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] - public void TypeMapping_ICollection_Object_NoIntIndexer_Array () - { - Map (typeof (ObjectCollectionNoIntIndexer[])); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] - public void TypeMapping_ICollection_SimpleClass_NoIntIndexer () - { - Map (typeof (SimpleClassCollectionNoIntIndexer)); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] - public void TypeMapping_ICollection_SimpleClass_NoIntIndexer_Array () - { - Map (typeof (SimpleClassCollectionNoIntIndexer[])); - } - - [Test] - [Category ("NotWorking")] - public void TestImportMembersMapping() - { - Type type = typeof (SimpleClass); - SoapAttributes attrs = new SoapAttributes (); - SoapAttributeOverrides overrides = new SoapAttributeOverrides (); - overrides.Add (typeof (SimpleClass), attrs); - - XmlReflectionMember[] members = new XmlReflectionMember[0]; - XmlMembersMapping mm; - try - { - mm = MembersMap(type, overrides, members, true, true); - Assert.Fail("Should not be able to fetch an empty XmlMembersMapping"); - } - catch (Exception) - { - } - - XmlReflectionMember rm = new XmlReflectionMember(); - rm.IsReturnValue = false; - rm.MemberName = "something"; - rm.MemberType = typeof(string); - members = new XmlReflectionMember[1]; - members[0] = rm; - - mm = MembersMap(type, overrides, members, false, false); - - Equals(mm.Count, 1); - - XmlMemberMapping smm = mm[0]; - Assert.IsFalse (smm.Any, "#1"); - Assert.AreEqual ("something", smm.ElementName, "#2"); - Assert.AreEqual ("something", smm.MemberName, "#3"); - Assert.IsNull (smm.Namespace, "#4"); - Assert.AreEqual ("System.String", smm.TypeFullName, "#5"); - Assert.AreEqual ("string", smm.TypeName, "#6"); - Assert.AreEqual ("http://www.w3.org/2001/XMLSchema", smm.TypeNamespace, "#7"); - - - rm = new XmlReflectionMember(); - rm.IsReturnValue = false; - rm.MemberName = "nothing"; - rm.MemberType = typeof(string); - members = new XmlReflectionMember[1]; - members[0] = rm; - - mm = MembersMap(type, overrides, members, false, false); - Assert.AreEqual (1 , mm.Count, "#8"); - } - - public class Employee : IXmlSerializable - { - private string _firstName; - private string _lastName; - private string _address; - - public XmlSchema GetSchema () - { - return null; - } - - public void WriteXml (XmlWriter writer) - { - writer.WriteStartElement ("employee", "urn:devx-com"); - writer.WriteAttributeString ("firstName", _firstName); - writer.WriteAttributeString ("lastName", _lastName); - writer.WriteAttributeString ("address", _address); - writer.WriteEndElement (); - } - - public void ReadXml (XmlReader reader) - { - XmlNodeType type = reader.MoveToContent (); - if (type == XmlNodeType.Element && reader.LocalName == "employee") { - _firstName = reader["firstName"]; - _lastName = reader["lastName"]; - _address = reader["address"]; - } - } - } - - public class NestedStruct - { - public TimeSpan Period = TimeSpan.MaxValue; - } - - public class ObjectEnumerable : IEnumerable - { - public void Add (int value) - { - } - - public void Add (object value) - { - } - - public IEnumerator GetEnumerator () - { - return new ArrayList ().GetEnumerator (); - } - } - - public class SimpleClassEnumerable : IEnumerable - { - public void Add (int value) - { - } - - public void Add (object value) - { - } - - IEnumerator IEnumerable.GetEnumerator () - { - return GetEnumerator (); - } - - public SimpleClassEnumerator GetEnumerator () - { - return new SimpleClassEnumerator (new ArrayList ()); - } - } - - public class SimpleClassEnumerablePrivateGetEnumerator : IEnumerable - { - public void Add (object value) - { - } - - IEnumerator IEnumerable.GetEnumerator () - { - return new ArrayList ().GetEnumerator (); - } - } - - public class SimpleClassEnumerablePrivateCurrent : IEnumerable - { - public void Add (object value) - { - } - - IEnumerator IEnumerable.GetEnumerator () - { - return GetEnumerator (); - } - - public NoCurrentEnumerator GetEnumerator () - { - return new NoCurrentEnumerator (new ArrayList ()); - } - } - - // GetEnumerator().Current returns object, but there's no corresponding - // Add (System.Object) method - public class ObjectEnumerableNoMatchingAddMethod : IEnumerable - { - public void Add (int value) - { - } - - public IEnumerator GetEnumerator () - { - return new ArrayList ().GetEnumerator (); - } - } - - // GetEnumerator().Current returns SimpleClass, but there's no - // corresponding Add (SimpleClass) method - public class SimpleClassCollectionNoMatchingAddMethod : ICollection - { - public SimpleClass this[int index] { - get { - return (SimpleClass) _list[index]; - } - } - - public int Count { - get { return _list.Count; } - } - - public bool IsSynchronized { - get { return _list.IsSynchronized; } - } - - public object SyncRoot { - get { return _list.SyncRoot; } - } - - public void CopyTo (Array array, int index) - { - _list.CopyTo (array, index); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator (); - } - - public SimpleClassEnumerator GetEnumerator () - { - return new SimpleClassEnumerator (_list); - } - - private ArrayList _list = new ArrayList (); - } - - // GetEnumerator().Current returns object, but there's no corresponding - // Add (System.Object) method - public class ObjectCollectionNoMatchingAddMethod : ICollection - { - public object this[int index] { - get { - return _list[index]; - } - } - - public int Count { - get { return _list.Count; } - } - - public bool IsSynchronized { - get { return _list.IsSynchronized; } - } - - public object SyncRoot { - get { return _list.SyncRoot; } - } - - public void CopyTo (Array array, int index) - { - _list.CopyTo (array, index); - } - - IEnumerator IEnumerable.GetEnumerator () - { - return GetEnumerator (); - } - - public IEnumerator GetEnumerator () - { - return _list.GetEnumerator (); - } - - private ArrayList _list = new ArrayList (); - } - - // Does not have int indexer. - public class SimpleClassCollectionNoIntIndexer : ICollection - { - public SimpleClass this[string name] { - get { - return new SimpleClass (); - } - } - - public int Count { - get { return _list.Count; } - } - - public bool IsSynchronized { - get { return _list.IsSynchronized; } - } - - public object SyncRoot { - get { return _list.SyncRoot; } - } - - public void CopyTo (Array array, int index) - { - _list.CopyTo (array, index); - } - - IEnumerator IEnumerable.GetEnumerator () - { - return GetEnumerator (); - } - - public SimpleClassEnumerator GetEnumerator () - { - return new SimpleClassEnumerator (_list); - } - - public void Add (SimpleClass value) - { - _list.Add (value); - } - - private ArrayList _list = new ArrayList (); - } - - // Does not have int indexer. - public class ObjectCollectionNoIntIndexer : ICollection - { - public object this[string name] { - get { - return new SimpleClass (); - } - } - - public int Count { - get { return _list.Count; } - } - - public bool IsSynchronized { - get { return _list.IsSynchronized; } - } - - public object SyncRoot { - get { return _list.SyncRoot; } - } - - public void CopyTo (Array array, int index) - { - _list.CopyTo (array, index); - } - - public IEnumerator GetEnumerator () - { - return _list.GetEnumerator (); - } - - public void Add (object value) - { - _list.Add (value); - } - - private ArrayList _list = new ArrayList (); - } - - public class SimpleClassCollection : ICollection - { - public SimpleClass this[int index] { - get { - return (SimpleClass) _list[index]; - } - } - - public int Count { - get { return _list.Count; } - } - - public bool IsSynchronized { - get { return _list.IsSynchronized; } - } - - public object SyncRoot { - get { return _list.SyncRoot; } - } - - public void CopyTo (Array array, int index) - { - _list.CopyTo (array, index); - } - - IEnumerator IEnumerable.GetEnumerator () - { - return GetEnumerator (); - } - - public SimpleClassEnumerator GetEnumerator () - { - return new SimpleClassEnumerator (_list); - } - - public void Add (SimpleClass value) - { - _list.Add (value); - } - - private ArrayList _list = new ArrayList (); - } - - public class ObjectCollection : ICollection - { - public object this[int name] { - get { - return new SimpleClass (); - } - } - - public int Count - { - get { return _list.Count; } - } - - public bool IsSynchronized - { - get { return _list.IsSynchronized; } - } - - public object SyncRoot - { - get { return _list.SyncRoot; } - } - - public void CopyTo (Array array, int index) - { - _list.CopyTo (array, index); - } - - public IEnumerator GetEnumerator () - { - return _list.GetEnumerator (); - } - - public void Add (object value) - { - _list.Add (value); - } - - private ArrayList _list = new ArrayList (); - } - - public class SimpleClassEnumerator : IEnumerator - { - internal SimpleClassEnumerator (ArrayList arguments) - { - IEnumerable temp = (IEnumerable) (arguments); - _baseEnumerator = temp.GetEnumerator (); - } - public SimpleClass Current - { - get { return (SimpleClass) _baseEnumerator.Current; } - } - - object IEnumerator.Current - { - get { return _baseEnumerator.Current; } - } - - public bool MoveNext () - { - return _baseEnumerator.MoveNext (); - } - - bool IEnumerator.MoveNext () - { - return _baseEnumerator.MoveNext (); - } - - public void Reset () - { - _baseEnumerator.Reset (); - } - - void IEnumerator.Reset () - { - _baseEnumerator.Reset (); - } - - private IEnumerator _baseEnumerator; - } - - public class NoCurrentEnumerator : IEnumerator - { - internal NoCurrentEnumerator (ArrayList arguments) - { - IEnumerable temp = (IEnumerable) (arguments); - _baseEnumerator = temp.GetEnumerator (); - } - - object IEnumerator.Current - { - get { return _baseEnumerator.Current; } - } - - public bool MoveNext () - { - return _baseEnumerator.MoveNext (); - } - - bool IEnumerator.MoveNext () - { - return _baseEnumerator.MoveNext (); - } - - public void Reset () - { - _baseEnumerator.Reset (); - } - - void IEnumerator.Reset () - { - _baseEnumerator.Reset (); - } - - private IEnumerator _baseEnumerator; - } - } -} diff --git a/mcs/class/System.XML/Test/System.Xml.Serialization/SoapSchemaExporterTests.cs b/mcs/class/System.XML/Test/System.Xml.Serialization/SoapSchemaExporterTests.cs deleted file mode 100644 index b1e0abcc7b0..00000000000 --- a/mcs/class/System.XML/Test/System.Xml.Serialization/SoapSchemaExporterTests.cs +++ /dev/null @@ -1,480 +0,0 @@ -// -// System.Xml.Serialization.SoapSchemaExporterTests -// -// Author: -// Gert Driesen (drieseng@users.sourceforge.net) -// -// (C) 2005 Novell -// - -using System; -using System.Collections; -using System.Globalization; -using System.IO; -using System.Xml; -using System.Xml.Schema; -using System.Xml.Serialization; - -using NUnit.Framework; - -using MonoTests.System.Xml.TestClasses; - -namespace MonoTests.System.XmlSerialization -{ - [TestFixture] - public class SoapSchemaExporterTests - { - [Test] - [Category ("NotWorking")] - public void ExportStruct () - { - SoapReflectionImporter ri = new SoapReflectionImporter ("NSTimeSpan"); - XmlSchemas schemas = new XmlSchemas (); - SoapSchemaExporter sx = new SoapSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (TimeSpan)); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, "#1"); - - StringWriter sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + -#if NET_2_0 - "<xs:schema xmlns:tns=\"NSTimeSpan\" elementFormDefault=\"qualified\" targetNamespace=\"NSTimeSpan\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#else - "<xs:schema xmlns:tns=\"NSTimeSpan\" targetNamespace=\"NSTimeSpan\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#endif - " <xs:complexType name=\"TimeSpan\" />{0}" + - "</xs:schema>", Environment.NewLine), sw.ToString (), "#2"); - } - - - [Test] - [Category ("NotWorking")] - public void ExportClass () - { - SoapAttributeOverrides overrides = new SoapAttributeOverrides (); - SoapAttributes attr = new SoapAttributes (); - SoapElementAttribute element = new SoapElementAttribute (); - element.ElementName = "saying"; - element.IsNullable = true; - attr.SoapElement = element; - overrides.Add (typeof (SimpleClass), "something", attr); - - SoapReflectionImporter ri = new SoapReflectionImporter (overrides, "NSSimpleClass"); - XmlSchemas schemas = new XmlSchemas (); - SoapSchemaExporter sx = new SoapSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (SimpleClass)); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, "#1"); - - StringWriter sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + -#if NET_2_0 - "<xs:schema xmlns:tns=\"NSSimpleClass\" elementFormDefault=\"qualified\" targetNamespace=\"NSSimpleClass\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#else - "<xs:schema xmlns:tns=\"NSSimpleClass\" targetNamespace=\"NSSimpleClass\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#endif - " <xs:complexType name=\"SimpleClass\">{0}" + - " <xs:sequence>{0}" + -#if NET_2_0 - " <xs:element minOccurs=\"0\" maxOccurs=\"1\" form=\"unqualified\" name=\"saying\" nillable=\"true\" type=\"xs:string\" />{0}" + -#else - " <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"saying\" type=\"xs:string\" />{0}" + -#endif - " </xs:sequence>{0}" + - " </xs:complexType>{0}" + - "</xs:schema>", Environment.NewLine), sw.ToString (), "#2"); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] // Cannot use wildcards at the top level of a schema. - public void ExportClass_XmlNode () - { - XmlReflectionImporter ri = new XmlReflectionImporter ("NS1"); - XmlSchemas schemas = new XmlSchemas (); - XmlSchemaExporter sx = new XmlSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (XmlNode)); - sx.ExportTypeMapping (tm); - } - - [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] // Cannot use wildcards at the top level of a schema. - public void ExportClass_XmlElement () - { - XmlReflectionImporter ri = new XmlReflectionImporter ("NS1"); - XmlSchemas schemas = new XmlSchemas (); - XmlSchemaExporter sx = new XmlSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (XmlElement)); - sx.ExportTypeMapping (tm); - } - - [Test] - [Category ("NotWorking")] - public void ExportClass_Array () - { - SoapAttributeOverrides overrides = new SoapAttributeOverrides (); - SoapAttributes attr = new SoapAttributes (); - SoapElementAttribute element = new SoapElementAttribute (); - element.ElementName = "saying"; - element.IsNullable = true; - attr.SoapElement = element; - overrides.Add (typeof (SimpleClass), "something", attr); - - SoapReflectionImporter ri = new SoapReflectionImporter (overrides, "NSSimpleClassArray"); - XmlSchemas schemas = new XmlSchemas (); - SoapSchemaExporter sx = new SoapSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (SimpleClass[])); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, "#1"); - - StringWriter sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + -#if NET_2_0 - "<xs:schema xmlns:tns=\"NSSimpleClassArray\" elementFormDefault=\"qualified\" targetNamespace=\"NSSimpleClassArray\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#else - "<xs:schema xmlns:tns=\"NSSimpleClassArray\" targetNamespace=\"NSSimpleClassArray\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#endif - " <xs:import namespace=\"http://schemas.xmlsoap.org/soap/encoding/\" />{0}" + - " <xs:import namespace=\"http://schemas.xmlsoap.org/wsdl/\" />{0}" + - " <xs:complexType name=\"ArrayOfSimpleClass\">{0}" + - " <xs:complexContent mixed=\"false\">{0}" + - " <xs:restriction xmlns:q1=\"http://schemas.xmlsoap.org/soap/encoding/\" base=\"q1:Array\">{0}" + - " <xs:attribute d5p1:arrayType=\"tns:SimpleClass[]\" ref=\"q1:arrayType\" xmlns:d5p1=\"http://schemas.xmlsoap.org/wsdl/\" />{0}" + - " </xs:restriction>{0}" + - " </xs:complexContent>{0}" + - " </xs:complexType>{0}" + - " <xs:complexType name=\"SimpleClass\">{0}" + - " <xs:sequence>{0}" + -#if NET_2_0 - " <xs:element minOccurs=\"0\" maxOccurs=\"1\" form=\"unqualified\" name=\"saying\" nillable=\"true\" type=\"xs:string\" />{0}" + -#else - " <xs:element minOccurs=\"1\" maxOccurs=\"1\" name=\"saying\" type=\"xs:string\" />{0}" + -#endif - " </xs:sequence>{0}" + - " </xs:complexType>{0}" + - "</xs:schema>", Environment.NewLine), sw.ToString (), "#2"); - } - - [Test] - [Category ("NotWorking")] - public void ExportEnum () - { - SoapReflectionImporter ri = new SoapReflectionImporter ("NSEnumDefaultValue"); - XmlSchemas schemas = new XmlSchemas (); - SoapSchemaExporter sx = new SoapSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (EnumDefaultValue)); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, "#1"); - - StringWriter sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + -#if NET_2_0 - "<xs:schema xmlns:tns=\"NSEnumDefaultValue\" elementFormDefault=\"qualified\" targetNamespace=\"NSEnumDefaultValue\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#else - "<xs:schema xmlns:tns=\"NSEnumDefaultValue\" targetNamespace=\"NSEnumDefaultValue\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#endif - " <xs:simpleType name=\"EnumDefaultValue\">{0}" + - " <xs:list>{0}" + - " <xs:simpleType>{0}" + - " <xs:restriction base=\"xs:string\">{0}" + - " <xs:enumeration value=\"e1\" />{0}" + - " <xs:enumeration value=\"e2\" />{0}" + - " <xs:enumeration value=\"e3\" />{0}" + - " </xs:restriction>{0}" + - " </xs:simpleType>{0}" + - " </xs:list>{0}" + - " </xs:simpleType>{0}" + - "</xs:schema>", Environment.NewLine), sw.ToString (), "#2"); - - ri = new SoapReflectionImporter ("NSEnumDefaultValueNF"); - schemas = new XmlSchemas (); - sx = new SoapSchemaExporter (schemas); - tm = ri.ImportTypeMapping (typeof (EnumDefaultValueNF)); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, "#3"); - - sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + -#if NET_2_0 - "<xs:schema xmlns:tns=\"NSEnumDefaultValueNF\" elementFormDefault=\"qualified\" targetNamespace=\"NSEnumDefaultValueNF\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#else - "<xs:schema xmlns:tns=\"NSEnumDefaultValueNF\" targetNamespace=\"NSEnumDefaultValueNF\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#endif - " <xs:simpleType name=\"EnumDefaultValueNF\">{0}" + - " <xs:restriction base=\"xs:string\">{0}" + - " <xs:enumeration value=\"e1\" />{0}" + - " <xs:enumeration value=\"e2\" />{0}" + - " <xs:enumeration value=\"e3\" />{0}" + - " </xs:restriction>{0}" + - " </xs:simpleType>{0}" + - "</xs:schema>", Environment.NewLine), sw.ToString (), "#4"); - } - - [Test] - [Category ("NotWorking")] - public void ExportXsdPrimitive () - { - ArrayList types = new ArrayList (); - types.Add (new TypeDescription (typeof (object), true, "anyType", "Object")); - types.Add (new TypeDescription (typeof (byte), true, "unsignedByte", "Byte")); - types.Add (new TypeDescription (typeof (sbyte), true, "byte", "Byte")); - types.Add (new TypeDescription (typeof (bool), true, "boolean", "Boolean")); - types.Add (new TypeDescription (typeof (short), true, "short", "Short")); - types.Add (new TypeDescription (typeof (int), true, "int", "Int")); - types.Add (new TypeDescription (typeof (long), true, "long", "Long")); - types.Add (new TypeDescription (typeof (float), true, "float", "Float")); - types.Add (new TypeDescription (typeof (double), true, "double", "Double")); - types.Add (new TypeDescription (typeof (decimal), true, "decimal", "Decimal")); - types.Add (new TypeDescription (typeof (ushort), true, "unsignedShort", "UnsignedShort")); - types.Add (new TypeDescription (typeof (uint), true, "unsignedInt", "UnsignedInt")); - types.Add (new TypeDescription (typeof (ulong), true, "unsignedLong", "UnsignedLong")); - types.Add (new TypeDescription (typeof (DateTime), true, "dateTime", "DateTime")); -#if NET_2_0 - types.Add (new TypeDescription (typeof (XmlQualifiedName), true, "QName", "QName", true)); -#else - types.Add (new TypeDescription (typeof (XmlQualifiedName), true, "QName", "QName")); -#endif - types.Add (new TypeDescription (typeof (string), true, "string", "String", true)); - - foreach (TypeDescription typeDesc in types) { - SoapReflectionImporter ri = new SoapReflectionImporter (typeDesc.Type.Name); - XmlSchemas schemas = new XmlSchemas (); - SoapSchemaExporter sx = new SoapSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeDesc.Type); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (0, schemas.Count, typeDesc.Type.FullName + "#1"); - } - } - - [Test] - [Category ("NotWorking")] - public void ExportXsdPrimitive_ByteArray () - { - SoapReflectionImporter ri = new SoapReflectionImporter ("ByteArray"); - XmlSchemas schemas = new XmlSchemas (); - SoapSchemaExporter sx = new SoapSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (byte[])); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (0, schemas.Count, "#1"); - } - - [Test] - [Category ("NotWorking")] - public void ExportXsdPrimitive_Arrays () - { - ArrayList types = new ArrayList (); - types.Add (new TypeDescription (typeof (object[]), true, "anyType", "AnyType")); - types.Add (new TypeDescription (typeof (sbyte[]), true, "byte", "Byte")); - types.Add (new TypeDescription (typeof (bool[]), true, "boolean", "Boolean")); - types.Add (new TypeDescription (typeof (short[]), true, "short", "Short")); - types.Add (new TypeDescription (typeof (int[]), true, "int", "Int")); - types.Add (new TypeDescription (typeof (long[]), true, "long", "Long")); - types.Add (new TypeDescription (typeof (float[]), true, "float", "Float")); - types.Add (new TypeDescription (typeof (double[]), true, "double", "Double")); - types.Add (new TypeDescription (typeof (decimal[]), true, "decimal", "Decimal")); - types.Add (new TypeDescription (typeof (ushort[]), true, "unsignedShort", "UnsignedShort")); - types.Add (new TypeDescription (typeof (uint[]), true, "unsignedInt", "UnsignedInt")); - types.Add (new TypeDescription (typeof (ulong[]), true, "unsignedLong", "UnsignedLong")); - types.Add (new TypeDescription (typeof (DateTime[]), true, "dateTime", "DateTime")); -#if NET_2_0 - types.Add (new TypeDescription (typeof (XmlQualifiedName[]), true, "QName", "QName", true)); -#else - types.Add (new TypeDescription (typeof (XmlQualifiedName[]), true, "QName", "QName")); -#endif - types.Add (new TypeDescription (typeof (string[]), true, "string", "String", true)); - - foreach (TypeDescription typeDesc in types) { - SoapReflectionImporter ri = new SoapReflectionImporter (typeDesc.Type.Name); - XmlSchemas schemas = new XmlSchemas (); - SoapSchemaExporter sx = new SoapSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeDesc.Type); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, typeDesc.Type.FullName + "#1"); - - StringWriter sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + -#if NET_2_0 - "<xs:schema xmlns:tns=\"{1}\" elementFormDefault=\"qualified\" targetNamespace=\"{1}\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#else - "<xs:schema xmlns:tns=\"{1}\" targetNamespace=\"{1}\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#endif - " <xs:import namespace=\"http://schemas.xmlsoap.org/soap/encoding/\" />{0}" + - " <xs:import namespace=\"http://schemas.xmlsoap.org/wsdl/\" />{0}" + - " <xs:complexType name=\"ArrayOf{2}\">{0}" + - " <xs:complexContent mixed=\"false\">{0}" + - " <xs:restriction xmlns:q1=\"http://schemas.xmlsoap.org/soap/encoding/\" base=\"q1:Array\">{0}" + - " <xs:attribute d5p1:arrayType=\"xs:{3}[]\" ref=\"q1:arrayType\" xmlns:d5p1=\"http://schemas.xmlsoap.org/wsdl/\" />{0}" + - " </xs:restriction>{0}" + - " </xs:complexContent>{0}" + - " </xs:complexType>{0}" + - "</xs:schema>", Environment.NewLine, typeDesc.Type.Name, typeDesc.ArrayType, typeDesc.XmlType, - typeDesc.XsdType ? "xs" : "tns", typeDesc.IsNillable ? "nillable=\"true\" " : ""), - sw.ToString (), typeDesc.Type.FullName + "#2"); - } - } - - [Test] - [Category ("NotWorking")] - public void ExportNonXsdPrimitive_Guid () - { - SoapReflectionImporter ri = new SoapReflectionImporter ("NSPrimGuid"); - XmlSchemas schemas = new XmlSchemas (); - SoapSchemaExporter sx = new SoapSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (Guid)); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, "#1"); - - StringWriter sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + -#if NET_2_0 - "<xs:schema xmlns:tns=\"http://microsoft.com/wsdl/types/\" elementFormDefault=\"qualified\" targetNamespace=\"http://microsoft.com/wsdl/types/\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#else - "<xs:schema xmlns:tns=\"http://microsoft.com/wsdl/types/\" targetNamespace=\"http://microsoft.com/wsdl/types/\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#endif - " <xs:simpleType name=\"guid\">{0}" + - " <xs:restriction base=\"xs:string\">{0}" + - " <xs:pattern value=\"[0-9a-fA-F]{{8}}-[0-9a-fA-F]{{4}}-[0-9a-fA-F]{{4}}-[0-9a-fA-F]{{4}}-[0-9a-fA-F]{{12}}\" />{0}" + - " </xs:restriction>{0}" + - " </xs:simpleType>{0}" + - "</xs:schema>", Environment.NewLine), sw.ToString (), "#2"); - } - - [Test] - [Category ("NotWorking")] - public void ExportNonXsdPrimitive_Char () - { - SoapReflectionImporter ri = new SoapReflectionImporter ("NSPrimChar"); - XmlSchemas schemas = new XmlSchemas (); - SoapSchemaExporter sx = new SoapSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (Char)); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, "#1"); - - StringWriter sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + -#if NET_2_0 - "<xs:schema xmlns:tns=\"http://microsoft.com/wsdl/types/\" elementFormDefault=\"qualified\" targetNamespace=\"http://microsoft.com/wsdl/types/\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#else - "<xs:schema xmlns:tns=\"http://microsoft.com/wsdl/types/\" targetNamespace=\"http://microsoft.com/wsdl/types/\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + -#endif - " <xs:simpleType name=\"char\">{0}" + - " <xs:restriction base=\"xs:unsignedShort\" />{0}" + - " </xs:simpleType>{0}" + - "</xs:schema>", Environment.NewLine), sw.ToString (), "#2"); - } - - public class Employee : IXmlSerializable - { - private string _firstName; - private string _lastName; - private string _address; - - public XmlSchema GetSchema () - { - return null; - } - - public void WriteXml (XmlWriter writer) - { - writer.WriteStartElement ("employee", "urn:devx-com"); - writer.WriteAttributeString ("firstName", _firstName); - writer.WriteAttributeString ("lastName", _lastName); - writer.WriteAttributeString ("address", _address); - writer.WriteEndElement (); - } - - public void ReadXml (XmlReader reader) - { - XmlNodeType type = reader.MoveToContent (); - if (type == XmlNodeType.Element && reader.LocalName == "employee") { - _firstName = reader["firstName"]; - _lastName = reader["lastName"]; - _address = reader["address"]; - } - } - } - - private class TypeDescription - { - public TypeDescription (Type type, bool xsdType, string xmlType, string arrayType) - : this (type, xsdType, xmlType, arrayType, false) - { - } - - public TypeDescription (Type type, bool xsdType, string xmlType, string arrayType, bool isNillable) - { - _type = type; - _xsdType = xsdType; - _xmlType = xmlType; - _arrayType = arrayType; - _isNillable = isNillable; - } - - public Type Type - { - get { return _type; } - } - - public string XmlType - { - get { return _xmlType; } - } - - public string ArrayType - { - get { return _arrayType; } - } - - public bool XsdType - { - get { return _xsdType; } - } - - public bool IsNillable - { - get { return _isNillable; } - } - - private Type _type; - private bool _xsdType; - private string _xmlType; - private string _arrayType; - private bool _isNillable; - } - } -} diff --git a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlReflectionImporterTests.cs b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlReflectionImporterTests.cs index 5125b46ae46..1c9a34f6d18 100644 --- a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlReflectionImporterTests.cs +++ b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlReflectionImporterTests.cs @@ -11,9 +11,7 @@ //
using System;
-using System.Collections;
using System.Xml;
-using System.Xml.Schema;
using System.Xml.Serialization;
using NUnit.Framework;
@@ -48,7 +46,7 @@ namespace MonoTests.System.XmlSerialization }
[TestFixture]
- public class XmlReflectionImporterTests
+ public class XmlReflectionImporterTests : Assertion
{
private const string SomeNamespace = "some:urn";
private const string AnotherNamespace = "another:urn";
@@ -81,14 +79,6 @@ namespace MonoTests.System.XmlSerialization return tm;
}
- private XmlTypeMapping Map (Type t, string ns, XmlRootAttribute root)
- {
- XmlReflectionImporter ri = new XmlReflectionImporter (ns);
- XmlTypeMapping tm = ri.ImportTypeMapping (t, root);
-
- return tm;
- }
-
private XmlTypeMapping Map(Type t, XmlAttributeOverrides overrides)
{
XmlReflectionImporter ri = new XmlReflectionImporter(overrides);
@@ -111,376 +101,190 @@ namespace MonoTests.System.XmlSerialization public void TestIntTypeMapping()
{
XmlTypeMapping tm = Map(typeof(int));
- Assert.AreEqual ("int", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Int32", tm.TypeName, "#3");
- Assert.AreEqual ("System.Int32", tm.TypeFullName, "#4");
+ AssertEquals("int", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Int32", tm.TypeName);
+ AssertEquals("System.Int32", tm.TypeFullName);
}
[Test]
- [Category ("NotWorking")]
- public void TestIntTypeMapping_Array ()
+ public void TestIntArrayTypeMapping()
{
XmlTypeMapping tm = Map(typeof(int[]));
- Assert.AreEqual ("ArrayOfInt", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfInt32", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("Int32[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("System.Int32[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (int[][]));
- Assert.AreEqual ("ArrayOfArrayOfInt", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfInt32", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("Int32[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("System.Int32[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (int[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfInt", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfInt32", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("Int32[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("System.Int32[][][]", tm.TypeFullName, "#C4");
+ AssertEquals("ArrayOfInt", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Int32[]", tm.TypeName);
+ AssertEquals("System.Int32[]", tm.TypeFullName);
}
[Test]
public void TestStringTypeMapping()
{
XmlTypeMapping tm = Map(typeof(string));
- Assert.AreEqual ("string", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("String", tm.TypeName, "#3");
- Assert.AreEqual ("System.String", tm.TypeFullName, "#4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestStringTypeMapping_Array ()
- {
- XmlTypeMapping tm = Map (typeof (string[]));
- Assert.AreEqual ("ArrayOfString", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfString", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("String[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("System.String[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (string[][]));
- Assert.AreEqual ("ArrayOfArrayOfString", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfString", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("String[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("System.String[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (string[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfString", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfString", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("String[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("System.String[][][]", tm.TypeFullName, "#C4");
+ AssertEquals("string", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("String", tm.TypeName);
+ AssertEquals("System.String", tm.TypeFullName);
}
[Test]
public void TestObjectTypeMapping()
{
XmlTypeMapping tm = Map(typeof(object));
- Assert.AreEqual ("anyType", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Object", tm.TypeName, "#3");
- Assert.AreEqual ("System.Object", tm.TypeFullName, "#4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestObjectTypeMapping_Array ()
- {
- XmlTypeMapping tm = Map (typeof (object[]));
- Assert.AreEqual ("ArrayOfAnyType", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfObject", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("Object[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("System.Object[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (object[][]));
- Assert.AreEqual ("ArrayOfArrayOfAnyType", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfObject", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("Object[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("System.Object[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (object[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfObject", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("Object[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("System.Object[][][]", tm.TypeFullName, "#C4");
+ AssertEquals("anyType", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Object", tm.TypeName);
+ AssertEquals("System.Object", tm.TypeFullName);
}
[Test]
public void TestByteTypeMapping()
{
XmlTypeMapping tm = Map(typeof(byte));
- Assert.AreEqual ("unsignedByte", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Byte", tm.TypeName, "#3");
- Assert.AreEqual ("System.Byte", tm.TypeFullName, "#4");
+ AssertEquals("unsignedByte", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Byte", tm.TypeName);
+ AssertEquals("System.Byte", tm.TypeFullName);
}
[Test]
- [Category ("NotWorking")]
- public void TestByteTypeMapping_Array ()
+ public void TestByteArrayTypeMapping()
{
XmlTypeMapping tm = Map(typeof(byte[]));
- Assert.AreEqual ("base64Binary", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
- Assert.AreEqual ("Byte[]", tm.TypeName, "#A3");
- Assert.AreEqual ("System.Byte[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (byte[][]));
- Assert.AreEqual ("ArrayOfBase64Binary", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfByte", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("Byte[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("System.Byte[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (byte[][][]));
- Assert.AreEqual ("ArrayOfArrayOfBase64Binary", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfByte", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("Byte[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("System.Byte[][][]", tm.TypeFullName, "#C4");
+ AssertEquals("base64Binary", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Byte[]", tm.TypeName);
+ AssertEquals("System.Byte[]", tm.TypeFullName);
}
[Test]
public void TestBoolTypeMapping()
{
XmlTypeMapping tm = Map(typeof(bool));
- Assert.AreEqual ("boolean", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Boolean", tm.TypeName, "#3");
- Assert.AreEqual ("System.Boolean", tm.TypeFullName, "#4");
+ AssertEquals("boolean", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Boolean", tm.TypeName);
+ AssertEquals("System.Boolean", tm.TypeFullName);
}
[Test]
public void TestShortTypeMapping()
{
XmlTypeMapping tm = Map(typeof(short));
- Assert.AreEqual ("short", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Int16", tm.TypeName, "#3");
- Assert.AreEqual ("System.Int16", tm.TypeFullName, "#4");
+ AssertEquals("short", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Int16", tm.TypeName);
+ AssertEquals("System.Int16", tm.TypeFullName);
}
[Test]
public void TestUnsignedShortTypeMapping()
{
XmlTypeMapping tm = Map(typeof(ushort));
- Assert.AreEqual ("unsignedShort", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("UInt16", tm.TypeName, "#3");
- Assert.AreEqual ("System.UInt16", tm.TypeFullName, "#4");
+ AssertEquals("unsignedShort", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("UInt16", tm.TypeName);
+ AssertEquals("System.UInt16", tm.TypeFullName);
}
[Test]
public void TestUIntTypeMapping()
{
XmlTypeMapping tm = Map(typeof(uint));
- Assert.AreEqual ("unsignedInt", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("UInt32", tm.TypeName, "#3");
- Assert.AreEqual ("System.UInt32", tm.TypeFullName, "#4");
+ AssertEquals("unsignedInt", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("UInt32", tm.TypeName);
+ AssertEquals("System.UInt32", tm.TypeFullName);
}
[Test]
public void TestLongTypeMapping()
{
XmlTypeMapping tm = Map(typeof(long));
- Assert.AreEqual ("long", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Int64", tm.TypeName, "#3");
- Assert.AreEqual ("System.Int64", tm.TypeFullName, "#4");
+ AssertEquals("long", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Int64", tm.TypeName);
+ AssertEquals("System.Int64", tm.TypeFullName);
}
[Test]
public void TestULongTypeMapping()
{
XmlTypeMapping tm = Map(typeof(ulong));
- Assert.AreEqual ("unsignedLong", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("UInt64", tm.TypeName, "#3");
- Assert.AreEqual ("System.UInt64", tm.TypeFullName, "#4");
+ AssertEquals("unsignedLong", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("UInt64", tm.TypeName);
+ AssertEquals("System.UInt64", tm.TypeFullName);
}
[Test]
public void TestFloatTypeMapping()
{
XmlTypeMapping tm = Map(typeof(float));
- Assert.AreEqual ("float", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Single", tm.TypeName, "#3");
- Assert.AreEqual ("System.Single", tm.TypeFullName, "#4");
+ AssertEquals("float", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Single", tm.TypeName);
+ AssertEquals("System.Single", tm.TypeFullName);
}
[Test]
public void TestDoubleTypeMapping()
{
XmlTypeMapping tm = Map(typeof(double));
- Assert.AreEqual ("double", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Double", tm.TypeName, "#3");
- Assert.AreEqual ("System.Double", tm.TypeFullName, "#4");
+ AssertEquals("double", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Double", tm.TypeName);
+ AssertEquals("System.Double", tm.TypeFullName);
}
[Test]
public void TestDateTimeTypeMapping()
{
XmlTypeMapping tm = Map(typeof(DateTime));
- Assert.AreEqual ("dateTime", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("DateTime", tm.TypeName, "#3");
- Assert.AreEqual ("System.DateTime", tm.TypeFullName, "#4");
+ AssertEquals("dateTime", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("DateTime", tm.TypeName);
+ AssertEquals("System.DateTime", tm.TypeFullName);
}
-
- [Test]
- [Category ("NotWorking")]
- public void TestDateTimeTypeMapping_Array ()
- {
- XmlTypeMapping tm = Map (typeof (DateTime[]));
- Assert.AreEqual ("ArrayOfDateTime", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfDateTime", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("DateTime[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("System.DateTime[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (DateTime[][]));
- Assert.AreEqual ("ArrayOfArrayOfDateTime", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfDateTime", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("DateTime[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("System.DateTime[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (DateTime[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfDateTime", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfDateTime", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("DateTime[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("System.DateTime[][][]", tm.TypeFullName, "#C4");
- }
-
+
[Test]
public void TestGuidTypeMapping()
{
XmlTypeMapping tm = Map(typeof(Guid));
- Assert.AreEqual ("guid", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Guid", tm.TypeName, "#3");
- Assert.AreEqual ("System.Guid", tm.TypeFullName, "#4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestGuidTypeMapping_Array ()
- {
- XmlTypeMapping tm = Map (typeof (Guid[]));
- Assert.AreEqual ("ArrayOfGuid", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfGuid", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("Guid[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("System.Guid[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (Guid[][]));
- Assert.AreEqual ("ArrayOfArrayOfGuid", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfGuid", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("Guid[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("System.Guid[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (Guid[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfGuid", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfGuid", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("Guid[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("System.Guid[][][]", tm.TypeFullName, "#C4");
+ AssertEquals("guid", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Guid", tm.TypeName);
+ AssertEquals("System.Guid", tm.TypeFullName);
}
-
+
[Test]
public void TestDecimalTypeMapping()
{
XmlTypeMapping tm = Map(typeof(decimal));
- Assert.AreEqual ("decimal", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Decimal", tm.TypeName, "#3");
- Assert.AreEqual ("System.Decimal", tm.TypeFullName, "#4");
+ AssertEquals("decimal", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Decimal", tm.TypeName);
+ AssertEquals("System.Decimal", tm.TypeFullName);
}
[Test]
public void TestXmlQualifiedNameTypeMapping()
{
XmlTypeMapping tm = Map(typeof(XmlQualifiedName));
- Assert.AreEqual ("QName", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("XmlQualifiedName", tm.TypeName, "#3");
- Assert.AreEqual ("System.Xml.XmlQualifiedName", tm.TypeFullName, "#4");
+ AssertEquals("QName", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("XmlQualifiedName", tm.TypeName);
+ AssertEquals("System.Xml.XmlQualifiedName", tm.TypeFullName);
}
[Test]
public void TestSByteTypeMapping()
{
XmlTypeMapping tm = Map(typeof(sbyte));
- Assert.AreEqual ("byte", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("SByte", tm.TypeName, "#3");
- Assert.AreEqual ("System.SByte", tm.TypeFullName, "#4");
+ AssertEquals("byte", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("SByte", tm.TypeName);
+ AssertEquals("System.SByte", tm.TypeFullName);
}
@@ -488,725 +292,78 @@ namespace MonoTests.System.XmlSerialization public void TestCharTypeMapping()
{
XmlTypeMapping tm = Map(typeof(char));
- Assert.AreEqual ("char", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Char", tm.TypeName, "#3");
- Assert.AreEqual ("System.Char", tm.TypeFullName, "#4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestCharTypeMapping_Array ()
- {
- XmlTypeMapping tm = Map (typeof (char[]));
- Assert.AreEqual ("ArrayOfChar", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfChar", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("Char[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("System.Char[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (char[][]));
- Assert.AreEqual ("ArrayOfArrayOfChar", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfChar", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("Char[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("System.Char[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (char[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfChar", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfChar", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("Char[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("System.Char[][][]", tm.TypeFullName, "#C4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestXmlNodeTypeMapping ()
- {
- Type type = typeof (XmlNode);
-
- XmlTypeMapping tm = Map (type);
- Assert.AreEqual (string.Empty, tm.ElementName, "#A1");
- Assert.IsNull (tm.Namespace, "#A2");
- Assert.AreEqual ("XmlNode", tm.TypeName, "#A3");
- Assert.AreEqual ("System.Xml.XmlNode", tm.TypeFullName, "#A4");
-
- tm = Map (type, AnotherNamespace);
- Assert.AreEqual (string.Empty, tm.ElementName, "#B1");
- Assert.IsNull (tm.Namespace, "#B2");
- Assert.AreEqual ("XmlNode", tm.TypeName, "#B3");
- Assert.AreEqual ("System.Xml.XmlNode", tm.TypeFullName, "#B4");
-
- XmlRootAttribute root = new XmlRootAttribute ("somename");
- root.Namespace = SomeNamespace;
- tm = Map (type, root);
- Assert.AreEqual ("somename", tm.ElementName, "#C1");
- Assert.IsNull (tm.Namespace, "#C2");
- Assert.AreEqual ("XmlNode", tm.TypeName, "#C3");
- Assert.AreEqual ("System.Xml.XmlNode", tm.TypeFullName, "#C4");
-
- tm = Map (type, AnotherNamespace, root);
- Assert.AreEqual ("somename", tm.ElementName, "#D1");
- Assert.IsNull (tm.Namespace, "#D2");
- Assert.AreEqual ("XmlNode", tm.TypeName, "#D3");
- Assert.AreEqual ("System.Xml.XmlNode", tm.TypeFullName, "#D4");
-
- root.Namespace = null;
- tm = Map (type, root);
- Assert.AreEqual ("somename", tm.ElementName, "#E1");
- Assert.IsNull (tm.Namespace, "#E2");
- Assert.AreEqual ("XmlNode", tm.TypeName, "#E3");
- Assert.AreEqual ("System.Xml.XmlNode", tm.TypeFullName, "#E4");
-
- tm = Map (type, AnotherNamespace, root);
- Assert.AreEqual ("somename", tm.ElementName, "#F1");
- Assert.IsNull (tm.Namespace, "#F2");
- Assert.AreEqual ("XmlNode", tm.TypeName, "#F3");
- Assert.AreEqual ("System.Xml.XmlNode", tm.TypeFullName, "#F4");
+ AssertEquals("char", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("Char", tm.TypeName);
+ AssertEquals("System.Char", tm.TypeFullName);
}
[Test]
- [Category ("NotWorking")]
- public void TestXmlElementTypeMapping ()
- {
- Type type = typeof (XmlElement);
-
- XmlTypeMapping tm = Map (type);
- Assert.AreEqual (string.Empty, tm.ElementName, "#1");
- Assert.IsNull (tm.Namespace, "#2");
- Assert.AreEqual ("XmlElement", tm.TypeName, "#3");
- Assert.AreEqual ("System.Xml.XmlElement", tm.TypeFullName, "#4");
-
- tm = Map (type, AnotherNamespace);
- Assert.AreEqual (string.Empty, tm.ElementName, "#B1");
- Assert.IsNull (tm.Namespace, "#B2");
- Assert.AreEqual ("XmlElement", tm.TypeName, "#B3");
- Assert.AreEqual ("System.Xml.XmlElement", tm.TypeFullName, "#B4");
-
- XmlRootAttribute root = new XmlRootAttribute ("somename");
- root.Namespace = SomeNamespace;
- tm = Map (type, root);
- Assert.AreEqual ("somename", tm.ElementName, "#C1");
- Assert.IsNull (tm.Namespace, "#C2");
- Assert.AreEqual ("XmlElement", tm.TypeName, "#C3");
- Assert.AreEqual ("System.Xml.XmlElement", tm.TypeFullName, "#C4");
-
- tm = Map (type, AnotherNamespace, root);
- Assert.AreEqual ("somename", tm.ElementName, "#D1");
- Assert.IsNull (tm.Namespace, "#D2");
- Assert.AreEqual ("XmlElement", tm.TypeName, "#D3");
- Assert.AreEqual ("System.Xml.XmlElement", tm.TypeFullName, "#D4");
-
- root.Namespace = null;
- tm = Map (type, root);
- Assert.AreEqual ("somename", tm.ElementName, "#E1");
- Assert.IsNull (tm.Namespace, "#E2");
- Assert.AreEqual ("XmlElement", tm.TypeName, "#E3");
- Assert.AreEqual ("System.Xml.XmlElement", tm.TypeFullName, "#E4");
-
- tm = Map (type, AnotherNamespace, root);
- Assert.AreEqual ("somename", tm.ElementName, "#F1");
- Assert.IsNull (tm.Namespace, "#F2");
- Assert.AreEqual ("XmlElement", tm.TypeName, "#F3");
- Assert.AreEqual ("System.Xml.XmlElement", tm.TypeFullName, "#F4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestXmlNotationTypeMapping ()
- {
- Type type = typeof (XmlNotation);
-
- XmlTypeMapping tm = Map (type);
- Assert.AreEqual (string.Empty, tm.ElementName, "#1");
- Assert.IsNull (tm.Namespace, "#2");
- Assert.AreEqual ("XmlNotation", tm.TypeName, "#3");
- Assert.AreEqual ("System.Xml.XmlNotation", tm.TypeFullName, "#4");
-
- tm = Map (type, AnotherNamespace);
- Assert.AreEqual (string.Empty, tm.ElementName, "#B1");
- Assert.IsNull (tm.Namespace, "#B2");
- Assert.AreEqual ("XmlNotation", tm.TypeName, "#B3");
- Assert.AreEqual ("System.Xml.XmlNotation", tm.TypeFullName, "#B4");
-
- XmlRootAttribute root = new XmlRootAttribute ("somename");
- root.Namespace = SomeNamespace;
- tm = Map (type, root);
- Assert.AreEqual ("somename", tm.ElementName, "#C1");
- Assert.IsNull (tm.Namespace, "#C2");
- Assert.AreEqual ("XmlNotation", tm.TypeName, "#C3");
- Assert.AreEqual ("System.Xml.XmlNotation", tm.TypeFullName, "#C4");
-
- tm = Map (type, AnotherNamespace, root);
- Assert.AreEqual ("somename", tm.ElementName, "#D1");
- Assert.IsNull (tm.Namespace, "#D2");
- Assert.AreEqual ("XmlNotation", tm.TypeName, "#D3");
- Assert.AreEqual ("System.Xml.XmlNotation", tm.TypeFullName, "#D4");
-
- root.Namespace = null;
- tm = Map (type, root);
- Assert.AreEqual ("somename", tm.ElementName, "#E1");
- Assert.IsNull (tm.Namespace, "#E2");
- Assert.AreEqual ("XmlNotation", tm.TypeName, "#E3");
- Assert.AreEqual ("System.Xml.XmlNotation", tm.TypeFullName, "#E4");
-
- tm = Map (type, AnotherNamespace, root);
- Assert.AreEqual ("somename", tm.ElementName, "#F1");
- Assert.IsNull (tm.Namespace, "#F2");
- Assert.AreEqual ("XmlNotation", tm.TypeName, "#F3");
- Assert.AreEqual ("System.Xml.XmlNotation", tm.TypeFullName, "#F4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestXmlSerializableTypeMapping ()
- {
- XmlTypeMapping tm = Map (typeof (Employee));
- Assert.AreEqual ("Employee", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("Employee", tm.TypeName, "#3");
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.Employee", tm.TypeFullName, "#4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestXmlSerializableTypeMapping_Array ()
+ public void TestNullTypeMapping()
{
- XmlTypeMapping tm = Map (typeof (Employee[]));
- Assert.AreEqual ("ArrayOfEmployee", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfEmployee", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("Employee[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.Employee[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (Employee[][]));
- Assert.AreEqual ("ArrayOfArrayOfEmployee", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfEmployee", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("Employee[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.Employee[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (Employee[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfEmployee", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfEmployee", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("Employee[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.Employee[][][]", tm.TypeFullName, "#C4");
+ try
+ {
+ XmlTypeMapping tm = Map(null);
+ Fail("Should not be able to map a null type");
+ }
+ catch (Exception)
+ {
+ }
}
+
[Test]
- [Category ("NotWorking")]
- public void TestClassTypeMapping_NestedStruct ()
+ public void TestInvalidClassTypeMapping()
{
- XmlTypeMapping tm = Map (typeof (NestedStruct));
- Assert.AreEqual ("NestedStruct", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("NestedStruct", tm.TypeName, "#3");
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.NestedStruct", tm.TypeFullName, "#4");
+ try
+ {
+ // this can use any class
+ XmlTypeMapping tm = Map(typeof(SimpleClass));
+ Fail("Should not be able to this type");
+ }
+ catch (Exception)
+ {
+ }
}
+ /*
[Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void TestNullTypeMapping()
+ public void TestTypeMapping()
{
- Map(null);
+ XmlTypeMapping tm = Map(typeof());
+ AssertEquals(tm.ElementName, "");
+ AssertEquals(tm.Namespace, "");
+ AssertEquals(tm.TypeName, "");
+ AssertEquals(tm.TypeFullName, "System.");
}
-
+ */
+
[Test]
public void TestIntTypeMappingWithDefaultNamespaces()
{
XmlTypeMapping tm = Map(typeof(int), SomeNamespace);
- Assert.AreEqual ("int", tm.ElementName, "#1");
- Assert.AreEqual (SomeNamespace, tm.Namespace, "#2");
- Assert.AreEqual ("Int32", tm.TypeName, "#3");
- Assert.AreEqual ("System.Int32", tm.TypeFullName, "#4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestStructTypeMapping ()
- {
- XmlTypeMapping tm = Map (typeof (TimeSpan));
- Assert.AreEqual ("TimeSpan", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("TimeSpan", tm.TypeName, "#3");
- Assert.AreEqual ("System.TimeSpan", tm.TypeFullName, "#4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestStructTypeMapping_Array ()
- {
- XmlTypeMapping tm = Map (typeof (TimeSpan[]));
- Assert.AreEqual ("ArrayOfTimeSpan", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfTimeSpan", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("TimeSpan[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("System.TimeSpan[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (TimeSpan[][]));
- Assert.AreEqual ("ArrayOfArrayOfTimeSpan", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfTimeSpan", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("TimeSpan[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("System.TimeSpan[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (TimeSpan[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfTimeSpan", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfTimeSpan", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("TimeSpan[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("System.TimeSpan[][][]", tm.TypeFullName, "#C4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestEnumTypeMapping ()
- {
- XmlTypeMapping tm = Map (typeof (AttributeTargets));
- Assert.AreEqual ("AttributeTargets", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("AttributeTargets", tm.TypeName, "#3");
- Assert.AreEqual ("System.AttributeTargets", tm.TypeFullName, "#4");
+ AssertEquals("int", tm.ElementName);
+ AssertEquals(SomeNamespace, tm.Namespace);
+ AssertEquals("Int32", tm.TypeName);
+ AssertEquals("System.Int32", tm.TypeFullName);
}
[Test]
- [Category ("NotWorking")]
- public void TestEnumTypeMapping_Array ()
+ public void TestValidClassTypeMapping()
{
- XmlTypeMapping tm = Map (typeof (AttributeTargets[]));
- Assert.AreEqual ("ArrayOfAttributeTargets", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfAttributeTargets", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("AttributeTargets[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("System.AttributeTargets[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (AttributeTargets[][]));
- Assert.AreEqual ("ArrayOfArrayOfAttributeTargets", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfAttributeTargets", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("AttributeTargets[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("System.AttributeTargets[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (AttributeTargets[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfAttributeTargets", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfAttributeTargets", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("AttributeTargets[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("System.AttributeTargets[][][]", tm.TypeFullName, "#C4");
- }
-
- [Test]
- public void TestClassTypeMapping()
- {
- XmlTypeMapping tm = Map (typeof (SimpleClass));
- Assert.AreEqual ("SimpleClass", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("SimpleClass", tm.TypeName, "#3");
- Assert.AreEqual ("MonoTests.System.Xml.TestClasses.SimpleClass", tm.TypeFullName, "#4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TestClassTypeMapping_Array ()
- {
- XmlTypeMapping tm = Map (typeof (SimpleClass[]));
- Assert.AreEqual ("ArrayOfSimpleClass", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfSimpleClass", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("SimpleClass[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("MonoTests.System.Xml.TestClasses.SimpleClass[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (SimpleClass[][]));
- Assert.AreEqual ("ArrayOfArrayOfSimpleClass", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfSimpleClass", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("SimpleClass[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("MonoTests.System.Xml.TestClasses.SimpleClass[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (SimpleClass[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClass", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClass", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("SimpleClass[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("MonoTests.System.Xml.TestClasses.SimpleClass[][][]", tm.TypeFullName, "#C4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TypeMapping_IEnumerable_SimpleClass ()
- {
- XmlTypeMapping tm = Map (typeof (SimpleClassEnumerable));
- Assert.AreEqual ("ArrayOfSimpleClass", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("SimpleClassEnumerable", tm.TypeName, "#3");
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerable", tm.TypeFullName, "#4");
-
- tm = Map (typeof (SimpleClassEnumerable[]));
- Assert.AreEqual ("ArrayOfArrayOfSimpleClass", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfSimpleClassEnumerable", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("SimpleClassEnumerable[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerable[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (SimpleClassEnumerable[][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClass", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfSimpleClassEnumerable", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("SimpleClassEnumerable[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerable[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (SimpleClassEnumerable[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfSimpleClass", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClassEnumerable", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("SimpleClassEnumerable[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerable[][][]", tm.TypeFullName, "#C4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TypeMapping_IEnumerable_Object ()
- {
- XmlTypeMapping tm = Map (typeof (ObjectEnumerable));
- Assert.AreEqual ("ArrayOfAnyType", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("ObjectEnumerable", tm.TypeName, "#3");
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.ObjectEnumerable", tm.TypeFullName, "#4");
-
- tm = Map (typeof (ObjectEnumerable[]));
- Assert.AreEqual ("ArrayOfArrayOfAnyType", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfObjectEnumerable", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("ObjectEnumerable[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.ObjectEnumerable[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (ObjectEnumerable[][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfObjectEnumerable", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("ObjectEnumerable[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.ObjectEnumerable[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (ObjectEnumerable[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfObjectEnumerable", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("ObjectEnumerable[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.ObjectEnumerable[][][]", tm.TypeFullName, "#C4");
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TypeMapping_IEnumarable_Object_NoMatchingAddMethod ()
- {
- Map (typeof (ObjectEnumerableNoMatchingAddMethod));
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TypeMapping_IEnumarable_Object_NoMatchingAddMethod_Array ()
- {
- Map (typeof (ObjectEnumerableNoMatchingAddMethod[]));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TypeMapping_IEnumerable_SimpleClass_PrivateCurrent ()
- {
- XmlTypeMapping tm = Map (typeof (SimpleClassEnumerablePrivateCurrent));
- Assert.AreEqual ("ArrayOfAnyType", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("SimpleClassEnumerablePrivateCurrent", tm.TypeName, "#3");
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerablePrivateCurrent", tm.TypeFullName, "#4");
-
- tm = Map (typeof (SimpleClassEnumerablePrivateCurrent[]));
- Assert.AreEqual ("ArrayOfArrayOfAnyType", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfSimpleClassEnumerablePrivateCurrent", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("SimpleClassEnumerablePrivateCurrent[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerablePrivateCurrent[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (SimpleClassEnumerablePrivateCurrent[][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfSimpleClassEnumerablePrivateCurrent", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("SimpleClassEnumerablePrivateCurrent[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerablePrivateCurrent[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (SimpleClassEnumerablePrivateCurrent[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClassEnumerablePrivateCurrent", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("SimpleClassEnumerablePrivateCurrent[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerablePrivateCurrent[][][]", tm.TypeFullName, "#C4");
- }
-
- [Test]
-#if ONLY_1_1
- [Category ("NotDotNet")] // results in NullReferenceException in .NET 1.1 (SP1)
-#endif
- [Category ("NotWorking")]
- public void TypeMapping_IEnumerable_SimpleClass_PrivateGetEnumerator ()
- {
- XmlTypeMapping tm = Map (typeof (SimpleClassEnumerablePrivateGetEnumerator));
- Assert.AreEqual ("ArrayOfAnyType", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("SimpleClassEnumerablePrivateGetEnumerator", tm.TypeName, "#3");
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerablePrivateGetEnumerator", tm.TypeFullName, "#4");
-
- tm = Map (typeof (SimpleClassEnumerablePrivateGetEnumerator[]));
- Assert.AreEqual ("ArrayOfArrayOfAnyType", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfSimpleClassEnumerablePrivateGetEnumerator", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("SimpleClassEnumerablePrivateGetEnumerator[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerablePrivateGetEnumerator[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (SimpleClassEnumerablePrivateGetEnumerator[][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfSimpleClassEnumerablePrivateGetEnumerator", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("SimpleClassEnumerablePrivateGetEnumerator[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerablePrivateGetEnumerator[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (SimpleClassEnumerablePrivateGetEnumerator[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClassEnumerablePrivateGetEnumerator", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("SimpleClassEnumerablePrivateGetEnumerator[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassEnumerablePrivateGetEnumerator[][][]", tm.TypeFullName, "#C4");
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TypeMapping_ICollection_Object_NoMatchingAddMethod ()
- {
- Map (typeof (ObjectCollectionNoMatchingAddMethod));
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TypeMapping_ICollection_Object_NoMatchingAddMethod_Array ()
- {
- Map (typeof (ObjectCollectionNoMatchingAddMethod[]));
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TypeMapping_ICollection_SimpleClass_NoMatchingAddMethod ()
- {
- Map (typeof (SimpleClassCollectionNoMatchingAddMethod));
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TypeMapping_ICollection_SimpleClass_NoMatchingAddMethod_Array ()
- {
- Map (typeof (SimpleClassCollectionNoMatchingAddMethod[]));
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TypeMapping_ICollection_SimpleClass ()
- {
- XmlTypeMapping tm = Map (typeof (SimpleClassCollection));
- Assert.AreEqual ("ArrayOfSimpleClass", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("SimpleClassCollection", tm.TypeName, "#3");
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassCollection", tm.TypeFullName, "#4");
-
- tm = Map (typeof (SimpleClassCollection[]));
- Assert.AreEqual ("ArrayOfArrayOfSimpleClass", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfSimpleClassCollection", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("SimpleClassCollection[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassCollection[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (SimpleClassCollection[][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClass", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfSimpleClassCollection", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("SimpleClassCollection[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassCollection[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (SimpleClassCollection[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfSimpleClass", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfSimpleClassCollection", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("SimpleClassCollection[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.SimpleClassCollection[][][]", tm.TypeFullName, "#C4");
- }
-
- [Test]
- [Category ("NotWorking")]
- public void TypeMapping_ICollection_Object ()
- {
- XmlTypeMapping tm = Map (typeof (ObjectCollection));
- Assert.AreEqual ("ArrayOfAnyType", tm.ElementName, "#1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#2");
- Assert.AreEqual ("ObjectCollection", tm.TypeName, "#3");
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.ObjectCollection", tm.TypeFullName, "#4");
-
- tm = Map (typeof (ObjectCollection[]));
- Assert.AreEqual ("ArrayOfArrayOfAnyType", tm.ElementName, "#A1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#A2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfObjectCollection", tm.TypeName, "#A3");
-#else
- Assert.AreEqual ("ObjectCollection[]", tm.TypeName, "#A3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.ObjectCollection[]", tm.TypeFullName, "#A4");
-
- tm = Map (typeof (ObjectCollection[][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#B1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#B2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfObjectCollection", tm.TypeName, "#B3");
-#else
- Assert.AreEqual ("ObjectCollection[][]", tm.TypeName, "#B3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.ObjectCollection[][]", tm.TypeFullName, "#B4");
-
- tm = Map (typeof (ObjectCollection[][][]));
- Assert.AreEqual ("ArrayOfArrayOfArrayOfArrayOfAnyType", tm.ElementName, "#C1");
- Assert.AreEqual (string.Empty, tm.Namespace, "#C2");
-#if NET_2_0
- Assert.AreEqual ("ArrayOfArrayOfArrayOfObjectCollection", tm.TypeName, "#C3");
-#else
- Assert.AreEqual ("ObjectCollection[][][]", tm.TypeName, "#C3");
-#endif
- Assert.AreEqual ("MonoTests.System.XmlSerialization.XmlReflectionImporterTests.ObjectCollection[][][]", tm.TypeFullName, "#C4");
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TypeMapping_ICollection_Object_NoIntIndexer ()
- {
- Map (typeof (ObjectCollectionNoIntIndexer));
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TypeMapping_ICollection_Object_NoIntIndexer_Array ()
- {
- Map (typeof (ObjectCollectionNoIntIndexer[]));
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TypeMapping_ICollection_SimpleClass_NoIntIndexer ()
- {
- Map (typeof (SimpleClassCollectionNoIntIndexer));
- }
-
- [Test]
- [Category ("NotWorking")]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TypeMapping_ICollection_SimpleClass_NoIntIndexer_Array ()
- {
- Map (typeof (SimpleClassCollectionNoIntIndexer[]));
+ Type type = typeof(SimpleClass);
+ XmlAttributes attrs = new XmlAttributes();
+ XmlAttributeOverrides overrides = new XmlAttributeOverrides();
+ overrides.Add(typeof(SimpleClass), attrs);
+
+ XmlTypeMapping tm = Map(type, overrides);
+ AssertEquals("SimpleClass", tm.ElementName);
+ AssertEquals("", tm.Namespace);
+ AssertEquals("SimpleClass", tm.TypeName);
+ AssertEquals("MonoTests.System.Xml.TestClasses.SimpleClass", tm.TypeFullName);
}
+
[Test]
[Category ("NotWorking")]
public void TestImportMembersMapping()
@@ -1221,7 +378,7 @@ namespace MonoTests.System.XmlSerialization try
{
mm = MembersMap(type, overrides, members, true);
- Assert.Fail("Should not be able to fetch an empty XmlMembersMapping");
+ Fail("Should not be able to fetch an empty XmlMembersMapping");
}
catch (Exception)
{
@@ -1239,13 +396,13 @@ namespace MonoTests.System.XmlSerialization Equals(mm.Count, 1);
XmlMemberMapping smm = mm[0];
- Assert.IsFalse (smm.Any, "#1");
- Assert.AreEqual ("something", smm.ElementName, "#2");
- Assert.AreEqual ("something", smm.MemberName, "#3");
- Assert.IsNull (smm.Namespace, "#4");
- Assert.AreEqual ("System.String", smm.TypeFullName, "#5");
- Assert.AreEqual ("string", smm.TypeName, "#6");
- Assert.IsNull (smm.TypeNamespace, "#7");
+ AssertEquals(false, smm.Any);
+ AssertEquals("something", smm.ElementName);
+ AssertEquals("something", smm.MemberName);
+ AssertEquals(null, smm.Namespace);
+ AssertEquals("System.String", smm.TypeFullName);
+ AssertEquals("string", smm.TypeName);
+ AssertEquals(null, smm.TypeNamespace);
rm = new XmlReflectionMember();
@@ -1256,7 +413,7 @@ namespace MonoTests.System.XmlSerialization members[0] = rm;
mm = MembersMap(type, overrides, members, false);
- Assert.AreEqual (1, mm.Count, "#8");
+ Equals(mm.Count, 0);
}
[Test]
@@ -1267,10 +424,10 @@ namespace MonoTests.System.XmlSerialization root.Namespace = TheNamespace;
XmlTypeMapping tm = Map(typeof(int), root);
- Assert.AreEqual ("price", tm.ElementName, "#1");
- Assert.AreEqual (TheNamespace, tm.Namespace, "#2");
- Assert.AreEqual ("Int32", tm.TypeName, "#3");
- Assert.AreEqual ("System.Int32", tm.TypeFullName, "#4");
+ AssertEquals("price", tm.ElementName);
+ AssertEquals(TheNamespace, tm.Namespace);
+ AssertEquals("Int32", tm.TypeName);
+ AssertEquals("System.Int32", tm.TypeFullName);
}
[Test]
@@ -1279,472 +436,6 @@ namespace MonoTests.System.XmlSerialization {
new XmlSerializer (typeof(WrongChoices));
}
-
- public class Employee : IXmlSerializable
- {
- private string _firstName;
- private string _lastName;
- private string _address;
-
- public XmlSchema GetSchema ()
- {
- return null;
- }
-
- public void WriteXml (XmlWriter writer)
- {
- writer.WriteStartElement ("employee", "urn:devx-com");
- writer.WriteAttributeString ("firstName", _firstName);
- writer.WriteAttributeString ("lastName", _lastName);
- writer.WriteAttributeString ("address", _address);
- writer.WriteEndElement ();
- }
-
- public void ReadXml (XmlReader reader)
- {
- XmlNodeType type = reader.MoveToContent ();
- if (type == XmlNodeType.Element && reader.LocalName == "employee") {
- _firstName = reader["firstName"];
- _lastName = reader["lastName"];
- _address = reader["address"];
- }
- }
- }
-
- public class NestedStruct
- {
- public TimeSpan Period = TimeSpan.MaxValue;
- }
-
- public class ObjectEnumerable : IEnumerable
- {
- public void Add (int value)
- {
- }
-
- public void Add (object value)
- {
- }
-
- public IEnumerator GetEnumerator ()
- {
- return new ArrayList ().GetEnumerator ();
- }
- }
-
- public class SimpleClassEnumerable : IEnumerable
- {
- public void Add (int value)
- {
- }
-
- public void Add (object value)
- {
- }
-
- IEnumerator IEnumerable.GetEnumerator ()
- {
- return GetEnumerator ();
- }
-
- public SimpleClassEnumerator GetEnumerator ()
- {
- return new SimpleClassEnumerator (new ArrayList ());
- }
- }
-
- public class SimpleClassEnumerablePrivateGetEnumerator : IEnumerable
- {
- public void Add (object value)
- {
- }
-
- IEnumerator IEnumerable.GetEnumerator ()
- {
- return new ArrayList ().GetEnumerator ();
- }
- }
-
- public class SimpleClassEnumerablePrivateCurrent : IEnumerable
- {
- public void Add (object value)
- {
- }
-
- IEnumerator IEnumerable.GetEnumerator ()
- {
- return GetEnumerator ();
- }
-
- public NoCurrentEnumerator GetEnumerator ()
- {
- return new NoCurrentEnumerator (new ArrayList ());
- }
- }
-
- // GetEnumerator().Current returns object, but there's no corresponding
- // Add (System.Object) method
- public class ObjectEnumerableNoMatchingAddMethod : IEnumerable
- {
- public void Add (int value)
- {
- }
-
- public IEnumerator GetEnumerator ()
- {
- return new ArrayList ().GetEnumerator ();
- }
- }
-
- // GetEnumerator().Current returns SimpleClass, but there's no
- // corresponding Add (SimpleClass) method
- public class SimpleClassCollectionNoMatchingAddMethod : ICollection
- {
- public SimpleClass this[int index]
- {
- get
- {
- return (SimpleClass) _list[index];
- }
- }
-
- public int Count
- {
- get { return _list.Count; }
- }
-
- public bool IsSynchronized
- {
- get { return _list.IsSynchronized; }
- }
-
- public object SyncRoot
- {
- get { return _list.SyncRoot; }
- }
-
- public void CopyTo (Array array, int index)
- {
- _list.CopyTo (array, index);
- }
-
- IEnumerator IEnumerable.GetEnumerator ()
- {
- return GetEnumerator ();
- }
-
- public SimpleClassEnumerator GetEnumerator ()
- {
- return new SimpleClassEnumerator (_list);
- }
-
- private ArrayList _list = new ArrayList ();
- }
-
- // GetEnumerator().Current returns object, but there's no corresponding
- // Add (System.Object) method
- public class ObjectCollectionNoMatchingAddMethod : ICollection
- {
- public object this[int index]
- {
- get
- {
- return _list[index];
- }
- }
-
- public int Count
- {
- get { return _list.Count; }
- }
-
- public bool IsSynchronized
- {
- get { return _list.IsSynchronized; }
- }
-
- public object SyncRoot
- {
- get { return _list.SyncRoot; }
- }
-
- public void CopyTo (Array array, int index)
- {
- _list.CopyTo (array, index);
- }
-
- IEnumerator IEnumerable.GetEnumerator ()
- {
- return GetEnumerator ();
- }
-
- public IEnumerator GetEnumerator ()
- {
- return _list.GetEnumerator ();
- }
-
- private ArrayList _list = new ArrayList ();
- }
-
- // Does not have int indexer.
- public class SimpleClassCollectionNoIntIndexer : ICollection
- {
- public SimpleClass this[string name]
- {
- get
- {
- return new SimpleClass ();
- }
- }
-
- public int Count
- {
- get { return _list.Count; }
- }
-
- public bool IsSynchronized
- {
- get { return _list.IsSynchronized; }
- }
-
- public object SyncRoot
- {
- get { return _list.SyncRoot; }
- }
-
- public void CopyTo (Array array, int index)
- {
- _list.CopyTo (array, index);
- }
-
- IEnumerator IEnumerable.GetEnumerator ()
- {
- return GetEnumerator ();
- }
-
- public SimpleClassEnumerator GetEnumerator ()
- {
- return new SimpleClassEnumerator (_list);
- }
-
- public void Add (SimpleClass value)
- {
- _list.Add (value);
- }
-
- private ArrayList _list = new ArrayList ();
- }
-
- // Does not have int indexer.
- public class ObjectCollectionNoIntIndexer : ICollection
- {
- public object this[string name]
- {
- get
- {
- return new SimpleClass ();
- }
- }
-
- public int Count
- {
- get { return _list.Count; }
- }
-
- public bool IsSynchronized
- {
- get { return _list.IsSynchronized; }
- }
-
- public object SyncRoot
- {
- get { return _list.SyncRoot; }
- }
-
- public void CopyTo (Array array, int index)
- {
- _list.CopyTo (array, index);
- }
-
- public IEnumerator GetEnumerator ()
- {
- return _list.GetEnumerator ();
- }
-
- public void Add (object value)
- {
- _list.Add (value);
- }
-
- private ArrayList _list = new ArrayList ();
- }
-
- public class SimpleClassCollection : ICollection
- {
- public SimpleClass this[int index]
- {
- get
- {
- return (SimpleClass) _list[index];
- }
- }
-
- public int Count
- {
- get { return _list.Count; }
- }
-
- public bool IsSynchronized
- {
- get { return _list.IsSynchronized; }
- }
-
- public object SyncRoot
- {
- get { return _list.SyncRoot; }
- }
-
- public void CopyTo (Array array, int index)
- {
- _list.CopyTo (array, index);
- }
-
- IEnumerator IEnumerable.GetEnumerator ()
- {
- return GetEnumerator ();
- }
-
- public SimpleClassEnumerator GetEnumerator ()
- {
- return new SimpleClassEnumerator (_list);
- }
-
- public void Add (SimpleClass value)
- {
- _list.Add (value);
- }
-
- private ArrayList _list = new ArrayList ();
- }
-
- public class ObjectCollection : ICollection
- {
- public object this[int name]
- {
- get
- {
- return new SimpleClass ();
- }
- }
-
- public int Count
- {
- get { return _list.Count; }
- }
-
- public bool IsSynchronized
- {
- get { return _list.IsSynchronized; }
- }
-
- public object SyncRoot
- {
- get { return _list.SyncRoot; }
- }
-
- public void CopyTo (Array array, int index)
- {
- _list.CopyTo (array, index);
- }
-
- public IEnumerator GetEnumerator ()
- {
- return _list.GetEnumerator ();
- }
-
- public void Add (object value)
- {
- _list.Add (value);
- }
-
- private ArrayList _list = new ArrayList ();
- }
-
- public class SimpleClassEnumerator : IEnumerator
- {
- internal SimpleClassEnumerator (ArrayList arguments)
- {
- IEnumerable temp = (IEnumerable) (arguments);
- _baseEnumerator = temp.GetEnumerator ();
- }
- public SimpleClass Current
- {
- get { return (SimpleClass) _baseEnumerator.Current; }
- }
-
- object IEnumerator.Current
- {
- get { return _baseEnumerator.Current; }
- }
-
- public bool MoveNext ()
- {
- return _baseEnumerator.MoveNext ();
- }
-
- bool IEnumerator.MoveNext ()
- {
- return _baseEnumerator.MoveNext ();
- }
-
- public void Reset ()
- {
- _baseEnumerator.Reset ();
- }
-
- void IEnumerator.Reset ()
- {
- _baseEnumerator.Reset ();
- }
-
- private IEnumerator _baseEnumerator;
- }
-
- public class NoCurrentEnumerator : IEnumerator
- {
- internal NoCurrentEnumerator (ArrayList arguments)
- {
- IEnumerable temp = (IEnumerable) (arguments);
- _baseEnumerator = temp.GetEnumerator ();
- }
-
- object IEnumerator.Current
- {
- get { return _baseEnumerator.Current; }
- }
-
- public bool MoveNext ()
- {
- return _baseEnumerator.MoveNext ();
- }
-
- bool IEnumerator.MoveNext ()
- {
- return _baseEnumerator.MoveNext ();
- }
-
- public void Reset ()
- {
- _baseEnumerator.Reset ();
- }
-
- void IEnumerator.Reset ()
- {
- _baseEnumerator.Reset ();
- }
-
- private IEnumerator _baseEnumerator;
- }
}
}
diff --git a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSchemaExporterTests.cs b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSchemaExporterTests.cs index 74007cd7ba0..0f225fc4f7b 100644 --- a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSchemaExporterTests.cs +++ b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSchemaExporterTests.cs @@ -111,18 +111,6 @@ namespace MonoTests.System.XmlSerialization } [Test] - [Category ("NotWorking")] - [ExpectedException (typeof (InvalidOperationException))] // Cannot use wildcards at the top level of a schema. - public void ExportClass_XmlElement () - { - XmlReflectionImporter ri = new XmlReflectionImporter ("NS1"); - XmlSchemas schemas = new XmlSchemas (); - XmlSchemaExporter sx = new XmlSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (XmlElement)); - sx.ExportTypeMapping (tm); - } - - [Test] [Category ("NotWorking")] // on Mono, element is output before type public void ExportClass_Array () { @@ -166,7 +154,7 @@ namespace MonoTests.System.XmlSerialization [Category ("NotWorking")] // on Mono, element is output before type public void ExportEnum () { - XmlReflectionImporter ri = new XmlReflectionImporter ("NSEnumDefaultValue"); + XmlReflectionImporter ri = new XmlReflectionImporter ("NS2"); XmlSchemas schemas = new XmlSchemas (); XmlSchemaExporter sx = new XmlSchemaExporter (schemas); XmlTypeMapping tm = ri.ImportTypeMapping (typeof (EnumDefaultValue)); @@ -179,7 +167,7 @@ namespace MonoTests.System.XmlSerialization Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + - "<xs:schema xmlns:tns=\"NSEnumDefaultValue\" elementFormDefault=\"qualified\" targetNamespace=\"NSEnumDefaultValue\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + + "<xs:schema xmlns:tns=\"NS2\" elementFormDefault=\"qualified\" targetNamespace=\"NS2\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + " <xs:element name=\"EnumDefaultValue\" type=\"tns:EnumDefaultValue\" />{0}" + " <xs:simpleType name=\"EnumDefaultValue\">{0}" + " <xs:list>{0}" + @@ -193,30 +181,6 @@ namespace MonoTests.System.XmlSerialization " </xs:list>{0}" + " </xs:simpleType>{0}" + "</xs:schema>", Environment.NewLine), sw.ToString (), "#2"); - - ri = new XmlReflectionImporter ("NSEnumDefaultValueNF"); - schemas = new XmlSchemas (); - sx = new XmlSchemaExporter (schemas); - tm = ri.ImportTypeMapping (typeof (EnumDefaultValueNF)); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, "#3"); - - sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + - "<xs:schema xmlns:tns=\"NSEnumDefaultValueNF\" elementFormDefault=\"qualified\" targetNamespace=\"NSEnumDefaultValueNF\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + - " <xs:element name=\"EnumDefaultValueNF\" type=\"tns:EnumDefaultValueNF\" />{0}" + - " <xs:simpleType name=\"EnumDefaultValueNF\">{0}" + - " <xs:restriction base=\"xs:string\">{0}" + - " <xs:enumeration value=\"e1\" />{0}" + - " <xs:enumeration value=\"e2\" />{0}" + - " <xs:enumeration value=\"e3\" />{0}" + - " </xs:restriction>{0}" + - " </xs:simpleType>{0}" + - "</xs:schema>", Environment.NewLine), sw.ToString (), "#4"); } [Test] @@ -328,28 +292,6 @@ namespace MonoTests.System.XmlSerialization [Test] [Category ("NotWorking")] // bug #77117 - public void ExportXsdPrimitive_Object () - { - XmlReflectionImporter ri = new XmlReflectionImporter ("NSAnyType"); - XmlSchemas schemas = new XmlSchemas (); - XmlSchemaExporter sx = new XmlSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (object)); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, "#1"); - - StringWriter sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + - "<xs:schema xmlns:tns=\"NSAnyType\" elementFormDefault=\"qualified\" targetNamespace=\"NSAnyType\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + - " <xs:element name=\"anyType\" nillable=\"true\" />{0}" + - "</xs:schema>", Environment.NewLine), sw.ToString (), "#2"); - } - - [Test] - [Category ("NotWorking")] // bug #77117 public void ExportXsdPrimitive_ByteArray () { XmlReflectionImporter ri = new XmlReflectionImporter ("ByteArray"); @@ -423,33 +365,6 @@ namespace MonoTests.System.XmlSerialization [Test] [Category ("NotWorking")] // bug #77117 - public void ExportXsdPrimitive_Object_Arrays () - { - XmlReflectionImporter ri = new XmlReflectionImporter ("NSArrayOfAnyType"); - XmlSchemas schemas = new XmlSchemas (); - XmlSchemaExporter sx = new XmlSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (typeof (object[])); - sx.ExportTypeMapping (tm); - - Assert.AreEqual (1, schemas.Count, "#1"); - - StringWriter sw = new StringWriter (); - schemas[0].Write (sw); - - Assert.AreEqual (string.Format (CultureInfo.InvariantCulture, - "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" + - "<xs:schema xmlns:tns=\"NSArrayOfAnyType\" elementFormDefault=\"qualified\" targetNamespace=\"NSArrayOfAnyType\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">{0}" + - " <xs:element name=\"ArrayOfAnyType\" nillable=\"true\" type=\"tns:ArrayOfAnyType\" />{0}" + - " <xs:complexType name=\"ArrayOfAnyType\">{0}" + - " <xs:sequence>{0}" + - " <xs:element minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"anyType\" nillable=\"true\" />{0}" + - " </xs:sequence>{0}" + - " </xs:complexType>{0}" + - "</xs:schema>", Environment.NewLine), sw.ToString (), "#2"); - } - - [Test] - [Category ("NotWorking")] // bug #77117 public void ExportNonXsdPrimitive_Guid () { XmlReflectionImporter ri = new XmlReflectionImporter ("NSPrimGuid"); diff --git a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSchemaImporterTests.cs b/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSchemaImporterTests.cs deleted file mode 100644 index 4a82fa901bb..00000000000 --- a/mcs/class/System.XML/Test/System.Xml.Serialization/XmlSchemaImporterTests.cs +++ /dev/null @@ -1,455 +0,0 @@ -// -// System.Xml.Serialization.XmlSchemaImporterTests -// -// Author: -// Gert Driesen (drieseng@users.sourceforge.net) -// -// (C) 2005 Novell -// - -using System; -using System.Collections; -using System.Globalization; -using System.IO; -using System.Xml; -using System.Xml.Schema; -using System.Xml.Serialization; - -using NUnit.Framework; - -using MonoTests.System.Xml.TestClasses; - -namespace MonoTests.System.XmlSerialization -{ - [TestFixture] - public class XmlSchemaImporterTests - { - [Test] - [Category ("NotWorking")] - public void ImportTypeMapping_Struct () - { - XmlSchemas schemas = ExportType (typeof (TimeSpan)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("TimeSpan", map.ElementName, "#3"); - Assert.AreEqual ("NSTimeSpan", map.Namespace, "#4"); - Assert.AreEqual ("TimeSpan", map.TypeFullName, "#5"); - Assert.AreEqual ("TimeSpan", map.TypeName, "#6"); - } - - [Test] - [Category ("NotWorking")] - public void ImportTypeMapping_XsdPrimitive_AnyType () - { - XmlSchemas schemas = ExportType (typeof (object)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("anyType", map.ElementName, "#3"); - Assert.AreEqual ("NSObject", map.Namespace, "#4"); - Assert.AreEqual ("System.Object", map.TypeFullName, "#5"); - Assert.AreEqual ("Object", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_Boolean () - { - XmlSchemas schemas = ExportType (typeof (bool)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("boolean", map.ElementName, "#3"); - Assert.AreEqual ("NSBoolean", map.Namespace, "#4"); - Assert.AreEqual ("System.Boolean", map.TypeFullName, "#5"); - Assert.AreEqual ("Boolean", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_Short () - { - XmlSchemas schemas = ExportType (typeof (short)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("short", map.ElementName, "#3"); - Assert.AreEqual ("NSInt16", map.Namespace, "#4"); - Assert.AreEqual ("System.Int16", map.TypeFullName, "#5"); - Assert.AreEqual ("Int16", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_UnsignedShort () - { - XmlSchemas schemas = ExportType (typeof (ushort)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("unsignedShort", map.ElementName, "#3"); - Assert.AreEqual ("NSUInt16", map.Namespace, "#4"); - Assert.AreEqual ("System.UInt16", map.TypeFullName, "#5"); - Assert.AreEqual ("UInt16", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_Int () - { - XmlSchemas schemas = ExportType (typeof (int)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("int", map.ElementName, "#3"); - Assert.AreEqual ("NSInt32", map.Namespace, "#4"); - Assert.AreEqual ("System.Int32", map.TypeFullName, "#5"); - Assert.AreEqual ("Int32", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_UnsignedInt () - { - XmlSchemas schemas = ExportType (typeof (uint)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("unsignedInt", map.ElementName, "#3"); - Assert.AreEqual ("NSUInt32", map.Namespace, "#4"); - Assert.AreEqual ("System.UInt32", map.TypeFullName, "#5"); - Assert.AreEqual ("UInt32", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_Long () - { - XmlSchemas schemas = ExportType (typeof (long)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("long", map.ElementName, "#3"); - Assert.AreEqual ("NSInt64", map.Namespace, "#4"); - Assert.AreEqual ("System.Int64", map.TypeFullName, "#5"); - Assert.AreEqual ("Int64", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_UnsignedLong () - { - XmlSchemas schemas = ExportType (typeof (ulong)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("unsignedLong", map.ElementName, "#3"); - Assert.AreEqual ("NSUInt64", map.Namespace, "#4"); - Assert.AreEqual ("System.UInt64", map.TypeFullName, "#5"); - Assert.AreEqual ("UInt64", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_Float () - { - XmlSchemas schemas = ExportType (typeof (float)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("float", map.ElementName, "#3"); - Assert.AreEqual ("NSSingle", map.Namespace, "#4"); - Assert.AreEqual ("System.Single", map.TypeFullName, "#5"); - Assert.AreEqual ("Single", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_Double () - { - XmlSchemas schemas = ExportType (typeof (double)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("double", map.ElementName, "#3"); - Assert.AreEqual ("NSDouble", map.Namespace, "#4"); - Assert.AreEqual ("System.Double", map.TypeFullName, "#5"); - Assert.AreEqual ("Double", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_DateTime () - { - XmlSchemas schemas = ExportType (typeof (DateTime)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("dateTime", map.ElementName, "#3"); - Assert.AreEqual ("NSDateTime", map.Namespace, "#4"); - Assert.AreEqual ("System.DateTime", map.TypeFullName, "#5"); - Assert.AreEqual ("DateTime", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_Decimal () - { - XmlSchemas schemas = ExportType (typeof (decimal)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("decimal", map.ElementName, "#3"); - Assert.AreEqual ("NSDecimal", map.Namespace, "#4"); - Assert.AreEqual ("System.Decimal", map.TypeFullName, "#5"); - Assert.AreEqual ("Decimal", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_QName () - { - XmlSchemas schemas = ExportType (typeof (XmlQualifiedName)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("QName", map.ElementName, "#3"); - Assert.AreEqual ("NSXmlQualifiedName", map.Namespace, "#4"); - Assert.AreEqual ("System.Xml.XmlQualifiedName", map.TypeFullName, "#5"); - Assert.AreEqual ("XmlQualifiedName", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_String () - { - XmlSchemas schemas = ExportType (typeof (string)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("string", map.ElementName, "#3"); - Assert.AreEqual ("NSString", map.Namespace, "#4"); - Assert.AreEqual ("System.String", map.TypeFullName, "#5"); - Assert.AreEqual ("String", map.TypeName, "#6"); - } - - [Test] - [Category ("NotWorking")] - public void ImportTypeMapping_XsdPrimitive_Guid () - { - XmlSchemas schemas = ExportType (typeof (Guid)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("int", map.ElementName, "#3"); - Assert.AreEqual ("NSInt32", map.Namespace, "#4"); - Assert.AreEqual ("System.Int32", map.TypeFullName, "#5"); - Assert.AreEqual ("Int32", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_UnsignedByte () - { - XmlSchemas schemas = ExportType (typeof (byte)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("unsignedByte", map.ElementName, "#3"); - Assert.AreEqual ("NSByte", map.Namespace, "#4"); - Assert.AreEqual ("System.Byte", map.TypeFullName, "#5"); - Assert.AreEqual ("Byte", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_Byte () - { - XmlSchemas schemas = ExportType (typeof (sbyte)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("byte", map.ElementName, "#3"); - Assert.AreEqual ("NSSByte", map.Namespace, "#4"); - Assert.AreEqual ("System.SByte", map.TypeFullName, "#5"); - Assert.AreEqual ("SByte", map.TypeName, "#6"); - } - - [Test] - [Category ("NotWorking")] - public void ImportTypeMapping_XsdPrimitive_Char () - { - XmlSchemas schemas = ExportType (typeof (char)); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("int", map.ElementName, "#3"); - Assert.AreEqual ("NSChar", map.Namespace, "#4"); - Assert.AreEqual ("System.Int32", map.TypeFullName, "#5"); - Assert.AreEqual ("Int32", map.TypeName, "#6"); - } - - [Test] - public void ImportTypeMapping_XsdPrimitive_Base64Binary () - { - XmlSchemas schemas = ExportType (typeof (byte[])); - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#2"); - Assert.AreEqual ("base64Binary", map.ElementName, "#3"); - Assert.AreEqual ("NSByte[]", map.Namespace, "#4"); - Assert.AreEqual ("System.Byte[]", map.TypeFullName, "#5"); - Assert.AreEqual ("Byte[]", map.TypeName, "#6"); - } - - [Test] - [Category ("NotWorking")] - public void ImportTypeMapping_XsdPrimitive_Duration () - { - string schemaFragment = "<?xml version=\"1.0\" encoding=\"utf-16\"?>" + - "<xs:schema xmlns:tns=\"NSDuration\" elementFormDefault=\"qualified\" targetNamespace=\"NSDuration\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">" + - " <xs:element name=\"duration\" type=\"xs:duration\" />" + - "</xs:schema>"; - - XmlSchemas schemas = new XmlSchemas (); - schemas.Add (XmlSchema.Read (new StringReader (schemaFragment), null)); - - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlQualifiedName qname = (XmlQualifiedName) qnames[0]; - - Assert.AreEqual ("duration", qname.Name, "#2"); - Assert.AreEqual ("NSDuration", qname.Namespace, "#3"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#4"); - Assert.AreEqual ("duration", map.ElementName, "#5"); - Assert.AreEqual ("NSDuration", map.Namespace, "#6"); - Assert.AreEqual ("System.String", map.TypeFullName, "#7"); - Assert.AreEqual ("String", map.TypeName, "#8"); - } - - [Test] - [Category ("NotWorking")] - public void ImportTypeMapping_XsdPrimitive_Date () - { - string schemaFragment = "<?xml version=\"1.0\" encoding=\"utf-16\"?>" + - "<xs:schema xmlns:tns=\"NSDate\" elementFormDefault=\"qualified\" targetNamespace=\"NSDate\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">" + - " <xs:element name=\"date\" type=\"xs:date\" />" + - "</xs:schema>"; - - XmlSchemas schemas = new XmlSchemas (); - schemas.Add (XmlSchema.Read (new StringReader (schemaFragment), null)); - - ArrayList qnames = GetXmlQualifiedNames (schemas); - Assert.AreEqual (1, qnames.Count, "#1"); - - XmlQualifiedName qname = (XmlQualifiedName) qnames[0]; - - Assert.AreEqual ("date", qname.Name, "#2"); - Assert.AreEqual ("NSDate", qname.Namespace, "#3"); - - XmlSchemaImporter importer = new XmlSchemaImporter (schemas); - XmlTypeMapping map = importer.ImportTypeMapping ((XmlQualifiedName) qnames[0]); - - Assert.IsNotNull (map, "#4"); - Assert.AreEqual ("date", map.ElementName, "#5"); - Assert.AreEqual ("NSDate", map.Namespace, "#6"); - Assert.AreEqual ("System.DateTime", map.TypeFullName, "#7"); - Assert.AreEqual ("DateTime", map.TypeName, "#8"); - } - - private static XmlSchemas ExportType (Type type) - { - XmlReflectionImporter ri = new XmlReflectionImporter ("NS" + type.Name); - XmlSchemas schemas = new XmlSchemas (); - XmlSchemaExporter sx = new XmlSchemaExporter (schemas); - XmlTypeMapping tm = ri.ImportTypeMapping (type); - sx.ExportTypeMapping (tm); - return schemas; - } - - private static ArrayList GetXmlQualifiedNames (XmlSchemas schemas) - { - ArrayList qnames = new ArrayList (); - - foreach (XmlSchema schema in schemas) { - if (!schema.IsCompiled) schema.Compile (null); - foreach (XmlSchemaObject ob in schema.Items) - if (ob is XmlSchemaElement) - qnames.Add (((XmlSchemaElement) ob).QualifiedName); - } - - return qnames; - } - } -} diff --git a/mcs/class/System.XML/Test/System.Xml/ChangeLog b/mcs/class/System.XML/Test/System.Xml/ChangeLog index 7183721bd33..1e0736ea1fb 100644 --- a/mcs/class/System.XML/Test/System.Xml/ChangeLog +++ b/mcs/class/System.XML/Test/System.Xml/ChangeLog @@ -1,7 +1,3 @@ -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * XmlConvertTests.cs : added test for bug #77252. - 2006-01-13 Atsushi Enomoto <atsushi@ximian.com> * XsdValidatingReaderTests.cs : test from bug #77241. diff --git a/mcs/class/System.XML/Test/System.Xml/XmlConvertTests.cs b/mcs/class/System.XML/Test/System.Xml/XmlConvertTests.cs index a601250da45..e2cd05f4b09 100644 --- a/mcs/class/System.XML/Test/System.Xml/XmlConvertTests.cs +++ b/mcs/class/System.XML/Test/System.Xml/XmlConvertTests.cs @@ -342,16 +342,7 @@ namespace MonoTests.System.Xml AssertEquals (33, dateString.Length); AssertEquals ("2003-05-05T00:00:00.0000000", dateString.Substring (0, 27)); } - - [Test] - public void FromTimeSpan () - { - // bug #77252 - TimeSpan t1 = TimeSpan.FromTicks ( - TimeSpan.TicksPerSecond + 1); - AssertEquals ("PT1.0000001S", XmlConvert.ToString (t1)); - } - + [Test] public void ToTimeSpan ()//not done { @@ -366,11 +357,6 @@ namespace MonoTests.System.Xml XmlConvert.ToTimeSpan ("PT0.010S")); AssertEquals ("#5", new TimeSpan (0, 0, 0, 0, 10), XmlConvert.ToTimeSpan ("PT0.01S")); - - // bug #77252 - AssertEquals ("#6", - TimeSpan.FromTicks (TimeSpan.TicksPerSecond + 1), - XmlConvert.ToTimeSpan ("PT1.0000001S")); } [Test] diff --git a/mcs/class/System.XML/Test/XmlFiles/xsd/ChangeLog b/mcs/class/System.XML/Test/XmlFiles/xsd/ChangeLog index a645e2bff91..3fa61cb1cd3 100644 --- a/mcs/class/System.XML/Test/XmlFiles/xsd/ChangeLog +++ b/mcs/class/System.XML/Test/XmlFiles/xsd/ChangeLog @@ -1,7 +1,3 @@ -2006-01-11 Atsushi Enomoto <atsushi@ximian.com> - - * datatypesTest.xsd : missing required file for xsd tests. - 2005-12-26 Atsushi Enomoto <atsushi@ximian.com> * multi-schemaLocation.xml, diff --git a/mcs/class/System/ChangeLog b/mcs/class/System/ChangeLog index b1a6368e7c1..e99dd0c4585 100644 --- a/mcs/class/System/ChangeLog +++ b/mcs/class/System/ChangeLog @@ -1,12 +1,3 @@ -2005-01-13 John Luke <john.luke@gmail.com> - - * System_test.dll.sources: add System.Net.Mail.SmtpClient tests - -2006-01-09 Chris Toshok <toshok@ximian.com> - - * Makefile (LIB_MCS_FLAGS): if we're building net_2_0, define - CONFIGURATION_2_0 to use the new System.Configuration api. - 2006-01-02 Chris Toshok <toshok@ximian.com> * Makefile: use an external alias (PrebuiltSystem) when building diff --git a/mcs/class/System/Makefile b/mcs/class/System/Makefile index be94478c729..4ff1d716981 100644 --- a/mcs/class/System/Makefile +++ b/mcs/class/System/Makefile @@ -31,7 +31,7 @@ CONFIGURATION_DEP := System.Configuration.dll CONFIGURATION_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(CONFIGURATION_DEP)) CYCLIC_DEPS += $(SECURITY_DEP) $(CONFIGURATION_DEP) CYCLIC_DEP_FILES += $(SECURITY_DEP_FILE) $(CONFIGURATION_DEP_FILE) -LIB_MCS_FLAGS = -nowarn:618 -d:CONFIGURATION_2_0 +LIB_MCS_FLAGS = -nowarn:618 endif EXTRA_DISTFILES = \ diff --git a/mcs/class/System/System.Configuration/ChangeLog b/mcs/class/System/System.Configuration/ChangeLog index 3863e43f905..13dda585a9b 100644 --- a/mcs/class/System/System.Configuration/ChangeLog +++ b/mcs/class/System/System.Configuration/ChangeLog @@ -1,11 +1,3 @@ -2006-01-16 Chris Toshok <toshok@ximian.com> - - * ConfigurationSettings.cs (AppSettings): move back to a 1.x - strategy in the 2.0 case. That is, don't hardcode the reference - to ConfigurationManager.AppSettings (yet). Eventually we can move - back to this code, once ConfigurationManager supports reading - web.config for settings. - 2006-01-03 Chris Toshok <toshok@ximian.com> * ConfigurationSettings.cs (GetConfig): be nice to people using diff --git a/mcs/class/System/System.Configuration/ConfigurationSettings.cs b/mcs/class/System/System.Configuration/ConfigurationSettings.cs index 42b02b39de5..066d185f75c 100644 --- a/mcs/class/System/System.Configuration/ConfigurationSettings.cs +++ b/mcs/class/System/System.Configuration/ConfigurationSettings.cs @@ -65,28 +65,12 @@ namespace System.Configuration #if NET_2_0 [Obsolete ("This property is obsolete. Please use System.Configuration.ConfigurationManager.AppSettings")] #endif -#if NET_2_0 && CONFIGURATION_2_0 - static NameValueCollection appSettingsCol; -#endif public static NameValueCollection AppSettings { get { #if NET_2_0 && CONFIGURATION_2_0 #if CONFIGURATION_DEP - lock (lockobj) { - if (appSettingsCol == null) { - AppSettingsSection appSettings = (AppSettingsSection)GetConfig ("appSettings"); - - appSettingsCol = new NameValueCollection (); - - foreach (string key in appSettings.Settings.AllKeys) { - KeyValueConfigurationElement ele = appSettings.Settings[key]; - appSettingsCol.Add (ele.Key, ele.Value); - } - } - } - - return appSettingsCol; + return ConfigurationManager.AppSettings; #else return null; #endif @@ -109,9 +93,6 @@ namespace System.Configuration lock (lockobj) { IConfigurationSystem old = config; config = newSystem; -#if NET_2_0 && CONFIGURATION_2_0 - appSettingsCol = null; -#endif return old; } } diff --git a/mcs/class/System/System.Diagnostics/ChangeLog b/mcs/class/System/System.Diagnostics/ChangeLog index f8e0717e3d8..e63ff0a26ab 100644 --- a/mcs/class/System/System.Diagnostics/ChangeLog +++ b/mcs/class/System/System.Diagnostics/ChangeLog @@ -1,7 +1,3 @@ -2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu> - - * ConsoleTraceListener.cs: New 2.0 class - 2005-11-17 Dick Porter <dick@ximian.com> * Process.cs: Split Start_common into Start_shell and diff --git a/mcs/class/System/System.Diagnostics/ConsoleTraceListener.cs b/mcs/class/System/System.Diagnostics/ConsoleTraceListener.cs deleted file mode 100644 index eb4143afed7..00000000000 --- a/mcs/class/System/System.Diagnostics/ConsoleTraceListener.cs +++ /dev/null @@ -1,39 +0,0 @@ -// -// System.Diagnostics.ConsoleTraceListener.cs -// -// Authors: -// Ben Maurer <bmaurer@andrew.cmu.edu> -// -// (C) 2006 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_0 -using System; - -namespace System.Diagnostics { - public class ConsoleTraceListener : TextWriterTraceListener { - public ConsoleTraceListener () : this (false) {} - public ConsoleTraceListener (bool useErrorStream) : - base (useErrorStream ? Console.Error : Console.Out) {} - } -} - -#endif
\ No newline at end of file diff --git a/mcs/class/System/System.Net.Mail/ChangeLog b/mcs/class/System/System.Net.Mail/ChangeLog index 73bd5699ca0..2ac0e791d39 100644 --- a/mcs/class/System/System.Net.Mail/ChangeLog +++ b/mcs/class/System/System.Net.Mail/ChangeLog @@ -1,19 +1,3 @@ -2006-1-13 John Luke <john.luke@gmail.com> - - * MailMessage.cs: add [MonoTODO] for FormatException in ctor, - throw ArugmentNullException's from the ctors, - add internal BodyContentType property, - change BodyEncoding to use BodyContentType, - change IsBodyHtml to use BodyContentType, - * SmtpClient.cs: set timeout initially to 100000, - don't throw ArgumentOutOfRangeException when Timeout = 0, - add [MonoTODO] for set_host, and throw Exceptions for it, - add [MonoTODO] for UseDefaultCredentials, - get messageContentType from the message, - use "127.0.0.1" for Host and 25 for Port - if host or port is not specified until reading - them from the configuration files is done - 2006-1-02 John Luke <john.luke@gmail.com> * DeliveryNotificationOptions: fix value of Delay diff --git a/mcs/class/System/System.Net.Mail/MailMessage.cs b/mcs/class/System/System.Net.Mail/MailMessage.cs index c45ac4e9283..702940250c3 100644 --- a/mcs/class/System/System.Net.Mail/MailMessage.cs +++ b/mcs/class/System/System.Net.Mail/MailMessage.cs @@ -31,7 +31,6 @@ #if NET_2_0 using System.Collections.Specialized; -using System.Globalization; using System.Net.Mime; using System.Text; @@ -45,16 +44,17 @@ namespace System.Net.Mail { AttachmentCollection attachments; MailAddressCollection bcc; string body; + bool isBodyHtml; MailPriority priority; MailAddress replyTo, sender; DeliveryNotificationOptions deliveryNotificationOptions; + Encoding bodyEncoding; MailAddressCollection cc; MailAddress from; NameValueCollection headers; MailAddressCollection to; string subject; Encoding subjectEncoding; - ContentType bodyContentType; #endregion // Fields @@ -64,12 +64,8 @@ namespace System.Net.Mail { { } - [MonoTODO ("FormatException")] public MailMessage (MailAddress from, MailAddress to) { - if (from == null || to == null) - throw new ArgumentNullException (); - From = from; this.to = new MailAddressCollection (); @@ -87,15 +83,11 @@ namespace System.Net.Mail { public MailMessage (string from, string to) : this (new MailAddress (from), new MailAddress (to)) { - if (from == null || to == null) - throw new ArgumentNullException (); } public MailMessage (string from, string to, string subject, string body) : this (new MailAddress (from), new MailAddress (to)) { - if (from == null || to == null) - throw new ArgumentNullException (); Body = body; Subject = subject; } @@ -121,17 +113,12 @@ namespace System.Net.Mail { set { body = value; } } - internal ContentType BodyContentType { - get { - if (bodyContentType == null) - bodyContentType = new ContentType ("text/plain; charset=us-ascii"); - return bodyContentType; - } - } - public Encoding BodyEncoding { - get { return Encoding.GetEncoding (BodyContentType.CharSet); } - set { BodyContentType.CharSet = value.WebName; } + get { return bodyEncoding; } + set { + bodyEncoding = value; + //bodyContentType.CharSet = value.WebName; + } } public MailAddressCollection CC { @@ -153,13 +140,8 @@ namespace System.Net.Mail { } public bool IsBodyHtml { - get { return String.Compare (BodyContentType.MediaType, "text/html", true, CultureInfo.InvariantCulture) == 0; } - set { - if (value) - BodyContentType.MediaType = "text/html"; - else - BodyContentType.MediaType = "text/plain"; - } + get { return isBodyHtml; } + set { isBodyHtml = value; } } public MailPriority Priority { diff --git a/mcs/class/System/System.Net.Mail/SmtpClient.cs b/mcs/class/System/System.Net.Mail/SmtpClient.cs index 3ff00f46ed7..ca261171a62 100644 --- a/mcs/class/System/System.Net.Mail/SmtpClient.cs +++ b/mcs/class/System/System.Net.Mail/SmtpClient.cs @@ -48,7 +48,7 @@ namespace System.Net.Mail { string host; int port; - int timeout = 100000; + int timeout; ICredentialsByHost credentials; bool useDefaultCredentials; string pickupDirectoryLocation; @@ -83,19 +83,8 @@ namespace System.Net.Mail { [MonoTODO ("Load default settings from configuration.")] public SmtpClient (string host, int port) { - // FIXME: load from configuration - if (String.IsNullOrEmpty (host)) - Host = "127.0.0.1"; - else - Host = host; - - // FIXME: load from configuration - if (port == 0) - Port = 25; - else - Port = port; - - // FIXME: load credentials from configuration + Host = host; + Port = port; } #endregion // Constructors @@ -124,14 +113,7 @@ namespace System.Net.Mail { public string Host { get { return host; } - [MonoTODO ("Check to make sure an email is not being sent.")] - set { - if (value == null) - throw new ArgumentNullException (); - if (value.Length == 0) - throw new ArgumentException (); - host = value; - } + set { host = value; } } public string PickupDirectoryLocation { @@ -158,13 +140,12 @@ namespace System.Net.Mail { get { return timeout; } [MonoTODO ("Check to make sure an email is not being sent.")] set { - if (value < 0) + if (value <= 0) throw new ArgumentOutOfRangeException (); timeout = value; } } - [MonoTODO] public bool UseDefaultCredentials { get { return useDefaultCredentials; } set { useDefaultCredentials = value; } @@ -282,8 +263,9 @@ namespace System.Net.Mail { throw new SmtpException (status.StatusCode); // Figure out the message content type - ContentType messageContentType = message.BodyContentType; + ContentType messageContentType = new ContentType ("text/plain"); if (hasAttachments || hasAlternateViews) { + //messageContentType = new ContentType (); messageContentType.Boundary = boundary; if (hasAttachments) diff --git a/mcs/class/System/System.Net.Mime/ChangeLog b/mcs/class/System/System.Net.Mime/ChangeLog index 733cac06eda..1ee783a9a28 100644 --- a/mcs/class/System/System.Net.Mime/ChangeLog +++ b/mcs/class/System/System.Net.Mime/ChangeLog @@ -1,8 +1,3 @@ -2006-01-13 John Luke <john.luke@gmail.com> - - * ContentDisposition.cs: use String.Compare instead - of comparing .ToLower's - 2006-01-02 John Luke <john.luke@gmail.com> * ContentDisposition.cs: remove [MonoTODO]'s diff --git a/mcs/class/System/System.Net.Mime/ContentDisposition.cs b/mcs/class/System/System.Net.Mime/ContentDisposition.cs index a68fa9780bc..385deb27488 100644 --- a/mcs/class/System/System.Net.Mime/ContentDisposition.cs +++ b/mcs/class/System/System.Net.Mime/ContentDisposition.cs @@ -35,7 +35,6 @@ using System.Text; using System.Collections; using System.Collections.Specialized; -using System.Globalization; namespace System.Net.Mime { public class ContentDisposition @@ -130,7 +129,7 @@ namespace System.Net.Mime { } public bool Inline { - get { return String.Compare (dispositionType, DispositionTypeNames.Inline, true, CultureInfo.InvariantCulture) == 0; } + get { return dispositionType.ToLower () == DispositionTypeNames.Inline.ToLower (); } set { if (value) dispositionType = DispositionTypeNames.Inline; diff --git a/mcs/class/System/System.Net/ListenerPrefix.cs b/mcs/class/System/System.Net/ListenerPrefix.cs index 6d336a9fe85..18ebe4d0a20 100644 --- a/mcs/class/System/System.Net/ListenerPrefix.cs +++ b/mcs/class/System/System.Net/ListenerPrefix.cs @@ -3,7 +3,6 @@ // // Author: // Gonzalo Paniagua Javier (gonzalo@novell.com) -// Oleg Mihailik (mihailik gmail co_m) // // Copyright (c) 2005 Novell, Inc. (http://www.novell.com) // diff --git a/mcs/class/System/System.dll.sources b/mcs/class/System/System.dll.sources index 2782d80584e..7c79d217e1d 100644 --- a/mcs/class/System/System.dll.sources +++ b/mcs/class/System/System.dll.sources @@ -54,8 +54,8 @@ System.CodeDom/CodeDefaultValueExpression.cs System.CodeDom/CodeDelegateCreateExpression.cs System.CodeDom/CodeDelegateInvokeExpression.cs System.CodeDom/CodeDirectionExpression.cs -System.CodeDom/CodeDirectiveCollection.cs System.CodeDom/CodeDirective.cs +System.CodeDom/CodeDirectiveCollection.cs System.CodeDom/CodeEntryPointMethod.cs System.CodeDom/CodeEventReferenceExpression.cs System.CodeDom/CodeExpressionCollection.cs @@ -104,8 +104,8 @@ System.CodeDom/CodeTypeDelegate.cs System.CodeDom/CodeTypeMemberCollection.cs System.CodeDom/CodeTypeMember.cs System.CodeDom/CodeTypeOfExpression.cs -System.CodeDom/CodeTypeParameterCollection.cs System.CodeDom/CodeTypeParameter.cs +System.CodeDom/CodeTypeParameterCollection.cs System.CodeDom/CodeTypeReferenceCollection.cs System.CodeDom/CodeTypeReference.cs System.CodeDom/CodeTypeReferenceExpression.cs @@ -134,11 +134,11 @@ System.CodeDom.Compiler/LanguageOptions.cs System.CodeDom.Compiler/TempFileCollection.cs System.CodeDom/FieldDirection.cs System.CodeDom/MemberAttributes.cs +System.Collections.Generic/Queue.cs +System.Collections.Generic/Stack.cs System.Collections.Generic/LinkedList.cs System.Collections.Generic/LinkedListNode.cs -System.Collections.Generic/Queue.cs System.Collections.Generic/SortedList.cs -System.Collections.Generic/Stack.cs System.Collections.Specialized/BitVector32.cs System.Collections.Specialized/CollectionsUtil.cs System.Collections.Specialized/HybridDictionary.cs @@ -151,8 +151,6 @@ System.Collections.Specialized/ProcessStringDictionary.cs System.Collections.Specialized/StringCollection.cs System.Collections.Specialized/StringDictionary.cs System.Collections.Specialized/StringEnumerator.cs -System.ComponentModel/AmbientValueAttribute.cs -System.ComponentModel/ArrayConverter.cs System.ComponentModel/AsyncCompletedEventArgs.cs System.ComponentModel/AsyncCompletedEventHandler.cs System.ComponentModel/AttributeCollection.cs @@ -160,103 +158,28 @@ System.ComponentModel/BaseNumberConverter.cs System.ComponentModel/BindableAttribute.cs System.ComponentModel/BindableSupport.cs System.ComponentModel/BindingDirection.cs -System.ComponentModel/BooleanConverter.cs System.ComponentModel/BrowsableAttribute.cs -System.ComponentModel/ByteConverter.cs System.ComponentModel/CancelEventArgs.cs System.ComponentModel/CancelEventHandler.cs System.ComponentModel/CategoryAttribute.cs -System.ComponentModel/CharConverter.cs System.ComponentModel/CollectionChangeAction.cs System.ComponentModel/CollectionChangeEventArgs.cs System.ComponentModel/CollectionChangeEventHandler.cs -System.ComponentModel/CollectionConverter.cs System.ComponentModel/ComponentCollection.cs -System.ComponentModel/ComponentConverter.cs -System.ComponentModel/Component.cs -System.ComponentModel/ComponentEditor.cs System.ComponentModel/ComponentResourceManager.cs +System.ComponentModel/Component.cs System.ComponentModel/Container.cs -System.ComponentModel/CultureInfoConverter.cs -System.ComponentModel/DateTimeConverter.cs -System.ComponentModel/DecimalConverter.cs System.ComponentModel/DefaultEventAttribute.cs System.ComponentModel/DefaultPropertyAttribute.cs System.ComponentModel/DefaultValueAttribute.cs System.ComponentModel/DerivedPropertyDescriptor.cs System.ComponentModel/DescriptionAttribute.cs -System.ComponentModel.Design/ActiveDesignerEventArgs.cs -System.ComponentModel.Design/ActiveDesignerEventHandler.cs -System.ComponentModel.Design/CheckoutException.cs -System.ComponentModel.Design/CommandID.cs -System.ComponentModel.Design/ComponentChangedEventArgs.cs -System.ComponentModel.Design/ComponentChangedEventHandler.cs -System.ComponentModel.Design/ComponentChangingEventArgs.cs -System.ComponentModel.Design/ComponentChangingEventHandler.cs -System.ComponentModel.Design/ComponentEventArgs.cs -System.ComponentModel.Design/ComponentEventHandler.cs -System.ComponentModel.Design/ComponentRenameEventArgs.cs -System.ComponentModel.Design/ComponentRenameEventHandler.cs -System.ComponentModel.Design/DesignerCollection.cs -System.ComponentModel.Design/DesignerEventArgs.cs -System.ComponentModel.Design/DesignerEventHandler.cs -System.ComponentModel.Design/DesignerTransactionCloseEventArgs.cs -System.ComponentModel.Design/DesignerTransactionCloseEventHandler.cs -System.ComponentModel.Design/DesignerTransaction.cs -System.ComponentModel.Design/DesignerVerbCollection.cs -System.ComponentModel.Design/DesignerVerb.cs -System.ComponentModel.Design/DesigntimeLicenseContext.cs -System.ComponentModel.Design/DesigntimeLicenseContextSerializer.cs System.ComponentModel/DesignerAttribute.cs System.ComponentModel/DesignerCategoryAttribute.cs System.ComponentModel/DesignerSerializationVisibilityAttribute.cs System.ComponentModel/DesignerSerializationVisibility.cs -System.ComponentModel.Design/HelpContextType.cs -System.ComponentModel.Design/HelpKeywordType.cs -System.ComponentModel.Design/IComponentChangeService.cs -System.ComponentModel.Design/IDesigner.cs -System.ComponentModel.Design/IDesignerEventService.cs -System.ComponentModel.Design/IDesignerFilter.cs -System.ComponentModel.Design/IDesignerHost.cs -System.ComponentModel.Design/IDesignerOptionService.cs -System.ComponentModel.Design/IDictionaryService.cs -System.ComponentModel.Design/IEventBindingService.cs -System.ComponentModel.Design/IExtenderListService.cs -System.ComponentModel.Design/IExtenderProviderService.cs -System.ComponentModel.Design/IHelpService.cs -System.ComponentModel.Design/IInheritanceService.cs -System.ComponentModel.Design/IMenuCommandService.cs -System.ComponentModel.Design/IReferenceService.cs -System.ComponentModel.Design/IResourceService.cs -System.ComponentModel.Design/IRootDesigner.cs -System.ComponentModel.Design/ISelectionService.cs -System.ComponentModel.Design/IServiceContainer.cs -System.ComponentModel.Design/ITypeDescriptorFilterService.cs -System.ComponentModel.Design/ITypeResolutionService.cs -System.ComponentModel.Design/MenuCommand.cs System.ComponentModel/DesignOnlyAttribute.cs -System.ComponentModel.Design/RuntimeLicenseContext.cs -System.ComponentModel.Design/SelectionTypes.cs -System.ComponentModel.Design.Serialization/ContextStack.cs -System.ComponentModel.Design.Serialization/DesignerLoader.cs -System.ComponentModel.Design.Serialization/DesignerSerializerAttribute.cs -System.ComponentModel.Design.Serialization/IDesignerLoaderHost.cs -System.ComponentModel.Design.Serialization/IDesignerLoaderService.cs -System.ComponentModel.Design.Serialization/IDesignerSerializationManager.cs -System.ComponentModel.Design.Serialization/IDesignerSerializationProvider.cs -System.ComponentModel.Design.Serialization/IDesignerSerializationService.cs -System.ComponentModel.Design.Serialization/INameCreationService.cs -System.ComponentModel.Design.Serialization/InstanceDescriptor.cs -System.ComponentModel.Design.Serialization/ResolveNameEventArgs.cs -System.ComponentModel.Design.Serialization/ResolveNameEventHandler.cs -System.ComponentModel.Design.Serialization/RootDesignerSerializerAttribute.cs -System.ComponentModel.Design/ServiceContainer.cs -System.ComponentModel.Design/ServiceCreatorCallback.cs -System.ComponentModel.Design/StandardCommands.cs -System.ComponentModel.Design/StandardToolWindows.cs System.ComponentModel/DesignTimeVisibleAttribute.cs -System.ComponentModel.Design/ViewTechnology.cs -System.ComponentModel/DoubleConverter.cs System.ComponentModel/EditorAttribute.cs System.ComponentModel/EditorBrowsableAttribute.cs System.ComponentModel/EditorBrowsableState.cs @@ -266,28 +189,21 @@ System.ComponentModel/EventDescriptor.cs System.ComponentModel/EventHandlerList.cs System.ComponentModel/ExpandableObjectConverter.cs System.ComponentModel/ExtenderProvidedPropertyAttribute.cs -System.ComponentModel/GuidConverter.cs -System.ComponentModel/HandledEventArgs.cs -System.ComponentModel/HandledEventHandler.cs System.ComponentModel/IBindingList.cs System.ComponentModel/IBindingListView.cs +System.ComponentModel/HandledEventArgs.cs +System.ComponentModel/HandledEventHandler.cs System.ComponentModel/IChangeTracking.cs -System.ComponentModel/IComNativeDescriptorHandler.cs System.ComponentModel/IComponent.cs +System.ComponentModel/IComNativeDescriptorHandler.cs System.ComponentModel/IContainer.cs System.ComponentModel/ICustomTypeDescriptor.cs System.ComponentModel/IDataErrorInfo.cs System.ComponentModel/IEditableObject.cs System.ComponentModel/IExtenderProvider.cs System.ComponentModel/IListSource.cs -System.ComponentModel/ImmutableObjectAttribute.cs -System.ComponentModel/InheritanceAttribute.cs -System.ComponentModel/InheritanceLevel.cs System.ComponentModel/INotifyPropertyChanged.cs -System.ComponentModel/InstallerTypeAttribute.cs -System.ComponentModel/Int16Converter.cs System.ComponentModel/Int32Converter.cs -System.ComponentModel/Int64Converter.cs System.ComponentModel/InvalidEnumArgumentException.cs System.ComponentModel/IRevertibleChangeTracking.cs System.ComponentModel/ISite.cs @@ -296,109 +212,191 @@ System.ComponentModel/ISynchronizeInvoke.cs System.ComponentModel/ITypeDescriptorContext.cs System.ComponentModel/ITypedList.cs System.ComponentModel/LicenseContext.cs -System.ComponentModel/License.cs -System.ComponentModel/LicenseException.cs -System.ComponentModel/LicenseManager.cs -System.ComponentModel/LicenseProviderAttribute.cs -System.ComponentModel/LicenseProvider.cs System.ComponentModel/LicenseUsageMode.cs -System.ComponentModel/LicFileLicenseProvider.cs System.ComponentModel/ListBindableAttribute.cs System.ComponentModel/ListChangedEventArgs.cs System.ComponentModel/ListChangedEventHandler.cs System.ComponentModel/ListChangedType.cs -System.ComponentModel/ListSortDescriptionCollection.cs -System.ComponentModel/ListSortDescription.cs System.ComponentModel/ListSortDirection.cs +System.ComponentModel/ListSortDescription.cs +System.ComponentModel/ListSortDescriptionCollection.cs System.ComponentModel/LocalizableAttribute.cs System.ComponentModel/MarshalByValueComponent.cs System.ComponentModel/MemberDescriptor.cs -System.ComponentModel/MergablePropertyAttribute.cs System.ComponentModel/NotifyParentPropertyAttribute.cs -System.ComponentModel/ParenthesizePropertyNameAttribute.cs System.ComponentModel/PropertyChangedEventArgs.cs System.ComponentModel/PropertyChangedEventHandler.cs System.ComponentModel/PropertyDescriptorCollection.cs System.ComponentModel/PropertyDescriptor.cs -System.ComponentModel/PropertyTabAttribute.cs System.ComponentModel/PropertyTabScope.cs -System.ComponentModel/ProvidePropertyAttribute.cs System.ComponentModel/ReadOnlyAttribute.cs System.ComponentModel/RecommendedAsConfigurableAttribute.cs -System.ComponentModel/ReferenceConverter.cs -System.ComponentModel/ReflectionEventDescriptor.cs -System.ComponentModel/ReflectionPropertyDescriptor.cs System.ComponentModel/RefreshEventArgs.cs System.ComponentModel/RefreshEventHandler.cs System.ComponentModel/RefreshPropertiesAttribute.cs System.ComponentModel/RefreshProperties.cs System.ComponentModel/RunInstallerAttribute.cs -System.ComponentModel/SByteConverter.cs -System.ComponentModel/SingleConverter.cs System.ComponentModel/StringConverter.cs System.ComponentModel/SyntaxCheck.cs -System.ComponentModel/TimeSpanConverter.cs System.ComponentModel/ToolboxItemAttribute.cs -System.ComponentModel/ToolboxItemFilterAttribute.cs -System.ComponentModel/ToolboxItemFilterType.cs System.ComponentModel/TypeConverterAttribute.cs System.ComponentModel/TypeConverter.cs System.ComponentModel/TypeDescriptor.cs +System.ComponentModel/WarningException.cs +System.ComponentModel/Win32Exception.cs +System.ComponentModel/InheritanceAttribute.cs +System.ComponentModel/InheritanceLevel.cs +System.ComponentModel/AmbientValueAttribute.cs +System.ComponentModel/ArrayConverter.cs +System.ComponentModel/BooleanConverter.cs +System.ComponentModel/ByteConverter.cs +System.ComponentModel/CharConverter.cs +System.ComponentModel/CollectionConverter.cs +System.ComponentModel/ComponentConverter.cs +System.ComponentModel/ComponentEditor.cs +System.ComponentModel/CultureInfoConverter.cs +System.ComponentModel/DateTimeConverter.cs +System.ComponentModel/DecimalConverter.cs +System.ComponentModel/DoubleConverter.cs +System.ComponentModel/GuidConverter.cs +System.ComponentModel/ImmutableObjectAttribute.cs +System.ComponentModel/InstallerTypeAttribute.cs +System.ComponentModel/Int16Converter.cs +System.ComponentModel/Int64Converter.cs +System.ComponentModel/License.cs +System.ComponentModel/LicenseException.cs +System.ComponentModel/LicenseManager.cs +System.ComponentModel/LicenseProviderAttribute.cs +System.ComponentModel/LicenseProvider.cs +System.ComponentModel/LicFileLicenseProvider.cs +System.ComponentModel/MergablePropertyAttribute.cs +System.ComponentModel/ParenthesizePropertyNameAttribute.cs +System.ComponentModel/PropertyTabAttribute.cs +System.ComponentModel/ProvidePropertyAttribute.cs +System.ComponentModel/ReferenceConverter.cs +System.ComponentModel/ReflectionEventDescriptor.cs +System.ComponentModel/ReflectionPropertyDescriptor.cs +System.ComponentModel/SByteConverter.cs +System.ComponentModel/SingleConverter.cs +System.ComponentModel/TimeSpanConverter.cs +System.ComponentModel/ToolboxItemFilterAttribute.cs +System.ComponentModel/ToolboxItemFilterType.cs System.ComponentModel/TypeListConverter.cs System.ComponentModel/UInt16Converter.cs System.ComponentModel/UInt32Converter.cs System.ComponentModel/UInt64Converter.cs -System.ComponentModel/WarningException.cs -System.ComponentModel/Win32Exception.cs +System.ComponentModel.Design/ActiveDesignerEventArgs.cs +System.ComponentModel.Design/ActiveDesignerEventHandler.cs +System.ComponentModel.Design/CheckoutException.cs +System.ComponentModel.Design/CommandID.cs +System.ComponentModel.Design/ComponentChangedEventArgs.cs +System.ComponentModel.Design/ComponentChangedEventHandler.cs +System.ComponentModel.Design/ComponentChangingEventArgs.cs +System.ComponentModel.Design/ComponentChangingEventHandler.cs +System.ComponentModel.Design/ComponentEventArgs.cs +System.ComponentModel.Design/ComponentEventHandler.cs +System.ComponentModel.Design/ComponentRenameEventArgs.cs +System.ComponentModel.Design/ComponentRenameEventHandler.cs +System.ComponentModel.Design/DesignerCollection.cs +System.ComponentModel.Design/DesignerEventArgs.cs +System.ComponentModel.Design/DesignerEventHandler.cs +System.ComponentModel.Design/DesignerTransactionCloseEventArgs.cs +System.ComponentModel.Design/DesignerTransactionCloseEventHandler.cs +System.ComponentModel.Design/DesignerTransaction.cs +System.ComponentModel.Design/DesignerVerbCollection.cs +System.ComponentModel.Design/DesignerVerb.cs +System.ComponentModel.Design/DesigntimeLicenseContext.cs +System.ComponentModel.Design/DesigntimeLicenseContextSerializer.cs +System.ComponentModel.Design/HelpContextType.cs +System.ComponentModel.Design/HelpKeywordType.cs +System.ComponentModel.Design/IComponentChangeService.cs +System.ComponentModel.Design/IDesigner.cs +System.ComponentModel.Design/IDesignerEventService.cs +System.ComponentModel.Design/IDesignerFilter.cs +System.ComponentModel.Design/IDesignerHost.cs +System.ComponentModel.Design/IDesignerOptionService.cs +System.ComponentModel.Design/IDictionaryService.cs +System.ComponentModel.Design/IEventBindingService.cs +System.ComponentModel.Design/IExtenderListService.cs +System.ComponentModel.Design/IExtenderProviderService.cs +System.ComponentModel.Design/IHelpService.cs +System.ComponentModel.Design/IInheritanceService.cs +System.ComponentModel.Design/IMenuCommandService.cs +System.ComponentModel.Design/IReferenceService.cs +System.ComponentModel.Design/IResourceService.cs +System.ComponentModel.Design/IRootDesigner.cs +System.ComponentModel.Design/ISelectionService.cs +System.ComponentModel.Design/IServiceContainer.cs +System.ComponentModel.Design/ITypeDescriptorFilterService.cs +System.ComponentModel.Design/ITypeResolutionService.cs +System.ComponentModel.Design/MenuCommand.cs +System.ComponentModel.Design/RuntimeLicenseContext.cs +System.ComponentModel.Design/SelectionTypes.cs +System.ComponentModel.Design/ServiceContainer.cs +System.ComponentModel.Design/ServiceCreatorCallback.cs +System.ComponentModel.Design/StandardCommands.cs +System.ComponentModel.Design/StandardToolWindows.cs +System.ComponentModel.Design/ViewTechnology.cs +System.ComponentModel.Design.Serialization/ContextStack.cs +System.ComponentModel.Design.Serialization/IDesignerSerializationManager.cs +System.ComponentModel.Design.Serialization/ResolveNameEventArgs.cs +System.ComponentModel.Design.Serialization/DesignerLoader.cs +System.ComponentModel.Design.Serialization/IDesignerSerializationProvider.cs +System.ComponentModel.Design.Serialization/ResolveNameEventHandler.cs +System.ComponentModel.Design.Serialization/DesignerSerializerAttribute.cs +System.ComponentModel.Design.Serialization/IDesignerSerializationService.cs +System.ComponentModel.Design.Serialization/RootDesignerSerializerAttribute.cs +System.ComponentModel.Design.Serialization/IDesignerLoaderHost.cs +System.ComponentModel.Design.Serialization/INameCreationService.cs +System.ComponentModel.Design.Serialization/IDesignerLoaderService.cs +System.ComponentModel.Design.Serialization/InstanceDescriptor.cs +System.Configuration/AppSettingsReader.cs System.Configuration/ApplicationScopedSettingAttribute.cs System.Configuration/ApplicationSettingsBase.cs -System.Configuration/AppSettingsReader.cs System.Configuration/ConfigHelper.cs +System.Configuration/ConfigXmlDocument.cs System.Configuration/ConfigurationException.cs System.Configuration/ConfigurationSettings.cs -System.Configuration/ConfigXmlDocument.cs System.Configuration/DefaultSettingValueAttribute.cs System.Configuration/DictionarySectionHandler.cs System.Configuration/IApplicationSettingsProvider.cs +System.Configuration/IConfigXmlNode.cs System.Configuration/IConfigurationSectionHandler.cs System.Configuration/IConfigurationSystem.cs -System.Configuration/IConfigXmlNode.cs System.Configuration/IgnoreSectionHandler.cs System.Configuration/IPersistComponentSettings.cs System.Configuration/ISettingsProviderService.cs System.Configuration/LocalFileSettingsProvider.cs System.Configuration/NameValueFileSectionHandler.cs System.Configuration/NameValueSectionHandler.cs +System.Configuration/SingleTagSectionHandler.cs System.Configuration/SettingAttribute.cs -System.Configuration/SettingChangingEventArgs.cs -System.Configuration/SettingChangingEventHandler.cs -System.Configuration/SettingElementCollection.cs System.Configuration/SettingElement.cs +System.Configuration/SettingElementCollection.cs System.Configuration/SettingsAttributeDictionary.cs System.Configuration/SettingsBase.cs +System.Configuration/SettingChangingEventArgs.cs +System.Configuration/SettingChangingEventHandler.cs System.Configuration/SettingsContext.cs System.Configuration/SettingsLoadedEventArgs.cs System.Configuration/SettingsLoadedEventHandler.cs -System.Configuration/SettingsPropertyCollection.cs System.Configuration/SettingsProperty.cs +System.Configuration/SettingsPropertyCollection.cs System.Configuration/SettingsPropertyIsReadOnlyException.cs System.Configuration/SettingsPropertyNotFoundException.cs -System.Configuration/SettingsPropertyValueCollection.cs System.Configuration/SettingsPropertyValue.cs +System.Configuration/SettingsPropertyValueCollection.cs System.Configuration/SettingsPropertyWrongTypeException.cs +System.Configuration/SettingsProvider.cs System.Configuration/SettingsProviderAttribute.cs System.Configuration/SettingsProviderCollection.cs -System.Configuration/SettingsProvider.cs System.Configuration/SettingsSavingEventHandler.cs -System.Configuration/SettingsSerializeAsAttribute.cs System.Configuration/SettingsSerializeAs.cs +System.Configuration/SettingsSerializeAsAttribute.cs System.Configuration/SettingValueElement.cs -System.Configuration/SingleTagSectionHandler.cs System.Configuration/UserScopedSettingAttribute.cs -System/DefaultUriParser.cs System.Diagnostics/AlphabeticalEnumConverter.cs System.Diagnostics/BooleanSwitch.cs -System.Diagnostics/ConsoleTraceListener.cs System.Diagnostics/CounterCreationDataCollection.cs System.Diagnostics/CounterCreationData.cs System.Diagnostics/CounterSampleCalculator.cs @@ -455,15 +453,6 @@ System.Diagnostics/TraceLevel.cs System.Diagnostics/TraceListenerCollection.cs System.Diagnostics/TraceListener.cs System.Diagnostics/TraceSwitch.cs -System/FileStyleUriParser.cs -System/FtpStyleUriParser.cs -System/GenericUriParser.cs -System/GenericUriParserOptions.cs -System/GopherStyleUriParser.cs -System/HttpStyleUriParser.cs -System.IO.Compression/CompressionMode.cs -System.IO.Compression/DeflateStream.cs -System.IO.Compression/GzipStream.cs System.IO/DefaultWatcher.cs System.IO/ErrorEventArgs.cs System.IO/ErrorEventHandler.cs @@ -480,30 +469,33 @@ System.IO/KeventWatcher.cs System.IO/MonoIO.cs System.IO/MonoIOError.cs System.IO/NotifyFilters.cs -System.IO.Ports/SerialErrorEventArgs.cs -System.IO.Ports/SerialPinChangedEventArgs.cs -System.IO.Ports/SerialPort.cs -System.IO.Ports/SerialReceivedEventArgs.cs System.IO/RenamedEventArgs.cs System.IO/RenamedEventHandler.cs System.IO/SearchPattern.cs System.IO/WaitForChangedResult.cs System.IO/WatcherChangeTypes.cs System.IO/WindowsWatcher.cs -System/LdapStyleUriParser.cs +System.IO.Compression/CompressionMode.cs +System.IO.Compression/DeflateStream.cs +System.IO.Compression/GzipStream.cs +System.IO.Ports/SerialErrorEventArgs.cs +System.IO.Ports/SerialPinChangedEventArgs.cs +System.IO.Ports/SerialPort.cs +System.IO.Ports/SerialReceivedEventArgs.cs System.Net/AuthenticationManager.cs System.Net/AuthenticationSchemes.cs System.Net/AuthenticationSchemeSelector.cs System.Net/Authorization.cs System.Net/BasicClient.cs System.Net/BindIPEndPoint.cs +System.Net/ChunkStream.cs +System.Net/ChunkedInputStream.cs +System.Net/ConnectionModes.cs System.Net.Cache/HttpCacheAgeControl.cs System.Net.Cache/HttpRequestCacheLevel.cs System.Net.Cache/HttpRequestCachePolicy.cs System.Net.Cache/RequestCacheLevel.cs System.Net.Cache/RequestCachePolicy.cs -System.Net/ChunkedInputStream.cs -System.Net/ChunkStream.cs System.Net.Configuration/AuthenticationModuleElementCollection.cs System.Net.Configuration/AuthenticationModuleElement.cs System.Net.Configuration/AuthenticationModulesSection.cs @@ -529,8 +521,8 @@ System.Net.Configuration/ProxyElement.cs System.Net.Configuration/RequestCachingSection.cs System.Net.Configuration/ServicePointManagerElement.cs System.Net.Configuration/SettingsSection.cs -System.Net.Configuration/SmtpNetworkElement.cs System.Net.Configuration/SmtpSection.cs +System.Net.Configuration/SmtpNetworkElement.cs System.Net.Configuration/SmtpSpecifiedPickupDirectoryElement.cs System.Net.Configuration/SocketElement.cs System.Net.Configuration/WebProxyScriptElement.cs @@ -538,7 +530,6 @@ System.Net.Configuration/WebRequestModuleElementCollection.cs System.Net.Configuration/WebRequestModuleElement.cs System.Net.Configuration/WebRequestModuleHandler.cs System.Net.Configuration/WebRequestModulesSection.cs -System.Net/ConnectionModes.cs System.Net/CookieCollection.cs System.Net/CookieContainer.cs System.Net/Cookie.cs @@ -553,15 +544,15 @@ System.Net/EndPoint.cs System.Net/EndPointListener.cs System.Net/EndPointManager.cs System.Net/EndpointPermission.cs -System.Net/FileWebRequestCreator.cs System.Net/FileWebRequest.cs +System.Net/FileWebRequestCreator.cs System.Net/FileWebResponse.cs System.Net/GlobalProxySelection.cs System.Net/HttpConnection.cs System.Net/HttpContinueDelegate.cs +System.Net/HttpListener.cs System.Net/HttpListenerBasicIdentity.cs System.Net/HttpListenerContext.cs -System.Net/HttpListener.cs System.Net/HttpListenerException.cs System.Net/HttpListenerPrefixCollection.cs System.Net/HttpListenerRequest.cs @@ -588,37 +579,11 @@ System.Net/IWebProxy.cs System.Net/IWebRequestCreate.cs System.Net/ListenerAsyncResult.cs System.Net/ListenerPrefix.cs -System.Net.Mail/AlternateViewCollection.cs -System.Net.Mail/AlternateView.cs -System.Net.Mail/AttachmentBase.cs -System.Net.Mail/AttachmentCollection.cs -System.Net.Mail/Attachment.cs -System.Net.Mail/DeliveryNotificationOptions.cs -System.Net.Mail/LinkedResourceCollection.cs -System.Net.Mail/LinkedResource.cs -System.Net.Mail/MailAddressCollection.cs -System.Net.Mail/MailAddress.cs -System.Net.Mail/MailMessage.cs -System.Net.Mail/MailPriority.cs -System.Net.Mail/SendCompletedEventHandler.cs -System.Net.Mail/SmtpAccess.cs -System.Net.Mail/SmtpClient.cs -System.Net.Mail/SmtpDeliveryMethod.cs -System.Net.Mail/SmtpException.cs -System.Net.Mail/SmtpFailedRecipientException.cs -System.Net.Mail/SmtpFailedRecipientsException.cs -System.Net.Mail/SmtpStatusCode.cs -System.Net.Mime/ContentDisposition.cs -System.Net.Mime/ContentType.cs -System.Net.Mime/DispositionTypeNames.cs -System.Net.Mime/MediaTypeNames.cs -System.Net.Mime/TransferEncoding.cs System.Net/MonoHttpDate.cs System.Net/NetConfig.cs System.Net/NetworkAccess.cs System.Net/NetworkCredential.cs System.Net/NtlmClient.cs -System/NetPipeStyleUriParser.cs System.Net/ProtocolViolationException.cs System.Net/RequestStream.cs System.Net/ResponseStream.cs @@ -627,9 +592,9 @@ System.Net.Security/AuthenticationLevel.cs System.Net.Security/LocalCertSelectionCallback.cs System.Net.Security/NegotiateStream.cs System.Net.Security/ProtectionLevel.cs -System.Net/SecurityProtocolType.cs System.Net.Security/RemoteCertValidationCallback.cs System.Net.Security/SslStream.cs +System.Net/SecurityProtocolType.cs System.Net/ServicePoint.cs System.Net/ServicePointManager.cs System.Net/SocketAddress.cs @@ -654,10 +619,9 @@ System.Net.Sockets/SocketType.cs System.Net.Sockets/TcpClient.cs System.Net.Sockets/TcpListener.cs System.Net.Sockets/UdpClient.cs -System/NetTcpStyleUriParser.cs System.Net/TransportType.cs -System.Net/WebAsyncResult.cs System.Net/WebClient.cs +System.Net/WebAsyncResult.cs System.Net/WebConnection.cs System.Net/WebConnectionData.cs System.Net/WebConnectionGroup.cs @@ -665,23 +629,47 @@ System.Net/WebConnectionStream.cs System.Net/WebException.cs System.Net/WebExceptionStatus.cs System.Net/WebHeaderCollection.cs -System.Net/WebPermissionAttribute.cs System.Net/WebPermission.cs +System.Net/WebPermissionAttribute.cs System.Net/WebProxy.cs System.Net/WebRequest.cs System.Net/WebResponse.cs -System/NewsStyleUriParser.cs -System.Security.AccessControl/SemaphoreRights.cs +System.Net.Mail/AlternateView.cs +System.Net.Mail/AlternateViewCollection.cs +System.Net.Mail/Attachment.cs +System.Net.Mail/AttachmentBase.cs +System.Net.Mail/AttachmentCollection.cs +System.Net.Mail/DeliveryNotificationOptions.cs +System.Net.Mail/LinkedResource.cs +System.Net.Mail/LinkedResourceCollection.cs +System.Net.Mail/MailAddress.cs +System.Net.Mail/MailAddressCollection.cs +System.Net.Mail/MailMessage.cs +System.Net.Mail/MailPriority.cs +System.Net.Mail/SendCompletedEventHandler.cs +System.Net.Mail/SmtpAccess.cs +System.Net.Mail/SmtpClient.cs +System.Net.Mail/SmtpDeliveryMethod.cs +System.Net.Mail/SmtpException.cs +System.Net.Mail/SmtpFailedRecipientException.cs +System.Net.Mail/SmtpFailedRecipientsException.cs +System.Net.Mail/SmtpStatusCode.cs +System.Net.Mime/ContentDisposition.cs +System.Net.Mime/ContentType.cs +System.Net.Mime/DispositionTypeNames.cs +System.Net.Mime/MediaTypeNames.cs +System.Net.Mime/TransferEncoding.cs System.Security.AccessControl/SemaphoreSecurity.cs +System.Security.AccessControl/SemaphoreRights.cs System.Security.Authentication/CipherAlgorithmType.cs System.Security.Authentication/ExchangeAlgorithmType.cs System.Security.Authentication/HashAlgorithmType.cs System.Security.Authentication/SslProtocolType.cs -System.Security.Cryptography/AsnEncodedDataCollection.cs System.Security.Cryptography/AsnEncodedData.cs +System.Security.Cryptography/AsnEncodedDataCollection.cs System.Security.Cryptography/AsnEncodedDataEnumerator.cs -System.Security.Cryptography/OidCollection.cs System.Security.Cryptography/Oid.cs +System.Security.Cryptography/OidCollection.cs System.Security.Cryptography/OidEnumerator.cs System.Security.Cryptography.X509Certificates/OpenFlags.cs System.Security.Cryptography.X509Certificates/PublicKey.cs @@ -690,25 +678,25 @@ System.Security.Cryptography.X509Certificates/StoreName.cs System.Security.Cryptography.X509Certificates/X500DistinguishedName.cs System.Security.Cryptography.X509Certificates/X500DistinguishedNameFlags.cs System.Security.Cryptography.X509Certificates/X509BasicConstraintsExtension.cs -System.Security.Cryptography.X509Certificates/X509Certificate2Collection.cs +System.Security.Cryptography.X509Certificates/X509CertificateCollection.cs System.Security.Cryptography.X509Certificates/X509Certificate2.cs +System.Security.Cryptography.X509Certificates/X509Certificate2Collection.cs System.Security.Cryptography.X509Certificates/X509Certificate2Enumerator.cs -System.Security.Cryptography.X509Certificates/X509CertificateCollection.cs System.Security.Cryptography.X509Certificates/X509Chain.cs -System.Security.Cryptography.X509Certificates/X509ChainElementCollection.cs System.Security.Cryptography.X509Certificates/X509ChainElement.cs +System.Security.Cryptography.X509Certificates/X509ChainElementCollection.cs System.Security.Cryptography.X509Certificates/X509ChainElementEnumerator.cs System.Security.Cryptography.X509Certificates/X509ChainPolicy.cs System.Security.Cryptography.X509Certificates/X509ChainStatus.cs System.Security.Cryptography.X509Certificates/X509ChainStatusFlags.cs System.Security.Cryptography.X509Certificates/X509EnhancedKeyUsageExtension.cs -System.Security.Cryptography.X509Certificates/X509ExtensionCollection.cs System.Security.Cryptography.X509Certificates/X509Extension.cs +System.Security.Cryptography.X509Certificates/X509ExtensionCollection.cs System.Security.Cryptography.X509Certificates/X509ExtensionEnumerator.cs System.Security.Cryptography.X509Certificates/X509FindType.cs System.Security.Cryptography.X509Certificates/X509IncludeOption.cs -System.Security.Cryptography.X509Certificates/X509KeyUsageExtension.cs System.Security.Cryptography.X509Certificates/X509KeyUsageFlags.cs +System.Security.Cryptography.X509Certificates/X509KeyUsageExtension.cs System.Security.Cryptography.X509Certificates/X509NameType.cs System.Security.Cryptography.X509Certificates/X509RevocationFlag.cs System.Security.Cryptography.X509Certificates/X509RevocationMode.cs @@ -719,28 +707,27 @@ System.Security.Cryptography.X509Certificates/X509VerificationFlags.cs System.Security.Permissions/PermissionHelper.cs System.Security.Permissions/ResourcePermissionBase.cs System.Security.Permissions/ResourcePermissionBaseEntry.cs -System.Security.Permissions/StorePermissionAttribute.cs System.Security.Permissions/StorePermission.cs +System.Security.Permissions/StorePermissionAttribute.cs System.Security.Permissions/StorePermissionFlags.cs -System/SRDescriptionAttribute.cs System.Text.RegularExpressions/arch.cs System.Text.RegularExpressions/cache.cs -System.Text.RegularExpressions/CaptureCollection.cs System.Text.RegularExpressions/Capture.cs +System.Text.RegularExpressions/CaptureCollection.cs System.Text.RegularExpressions/category.cs System.Text.RegularExpressions/compiler.cs System.Text.RegularExpressions/debug.cs -System.Text.RegularExpressions/GroupCollection.cs System.Text.RegularExpressions/Group.cs +System.Text.RegularExpressions/GroupCollection.cs System.Text.RegularExpressions/interpreter.cs System.Text.RegularExpressions/interval.cs -System.Text.RegularExpressions/MatchCollection.cs System.Text.RegularExpressions/Match.cs +System.Text.RegularExpressions/MatchCollection.cs System.Text.RegularExpressions/MatchEvaluator.cs System.Text.RegularExpressions/parser.cs System.Text.RegularExpressions/quicksearch.cs -System.Text.RegularExpressions/RegexCompilationInfo.cs System.Text.RegularExpressions/Regex.cs +System.Text.RegularExpressions/RegexCompilationInfo.cs System.Text.RegularExpressions/RegexOptions.cs System.Text.RegularExpressions/RegexRunner.cs System.Text.RegularExpressions/RegexRunnerFactory.cs @@ -754,16 +741,28 @@ System.Timers/ElapsedEventArgs.cs System.Timers/ElapsedEventHandler.cs System.Timers/Timer.cs System.Timers/TimersDescriptionAttribute.cs +System.Web/AspNetHostingPermission.cs +System.Web/AspNetHostingPermissionAttribute.cs +System.Web/AspNetHostingPermissionLevel.cs +System/DefaultUriParser.cs +System/FileStyleUriParser.cs +System/FtpStyleUriParser.cs +System/GenericUriParser.cs +System/GenericUriParserOptions.cs +System/GopherStyleUriParser.cs +System/HttpStyleUriParser.cs +System/LdapStyleUriParser.cs +System/NetPipeStyleUriParser.cs +System/NetTcpStyleUriParser.cs +System/NewsStyleUriParser.cs +System/SRDescriptionAttribute.cs System/UriBuilder.cs -System/UriComponents.cs System/Uri.cs +System/UriComponents.cs System/UriFormat.cs System/UriFormatException.cs +System/UriParser.cs System/UriHostNameType.cs System/UriKind.cs -System/UriParser.cs System/UriPartial.cs System/UriTypeConverter.cs -System.Web/AspNetHostingPermissionAttribute.cs -System.Web/AspNetHostingPermission.cs -System.Web/AspNetHostingPermissionLevel.cs diff --git a/mcs/class/System/System_test.dll.sources b/mcs/class/System/System_test.dll.sources index da6840a30e4..3960be7e604 100644 --- a/mcs/class/System/System_test.dll.sources +++ b/mcs/class/System/System_test.dll.sources @@ -170,7 +170,6 @@ System.Net.Mail/MailAddressTest.cs System.Net.Mail/AttachmentTest.cs System.Net.Mail/AlternateViewTest.cs System.Net.Mail/LinkedResourceCollectionTest.cs -System.Net.Mail/SmtpClientTest.cs System.Net.Mime/ContentDispositionTest.cs System.Net.Mime/ContentTypeTest.cs System.Security.Cryptography/AsnEncodedDataTest.cs diff --git a/mcs/class/System/Test/ChangeLog b/mcs/class/System/Test/ChangeLog index 0bb5ba1eeca..dfaaa36356e 100644 --- a/mcs/class/System/Test/ChangeLog +++ b/mcs/class/System/Test/ChangeLog @@ -1,7 +1,3 @@ -2006-01-13 John Luke <john.luke@gmail.com> - - * System.Net.Mail/*Test.cs: update tests - 2006-01-06 Raja R Harinath <rharinath@novell.com> * System.Net.Mime/ContentDispositionTest.cs: Use Assert.AreEqual diff --git a/mcs/class/System/Test/System.Net.Mail/MailMessageTest.cs b/mcs/class/System/Test/System.Net.Mail/MailMessageTest.cs index 5d896053b4d..30d72633a75 100644 --- a/mcs/class/System/Test/System.Net.Mail/MailMessageTest.cs +++ b/mcs/class/System/Test/System.Net.Mail/MailMessageTest.cs @@ -4,7 +4,7 @@ // Authors: // John Luke (john.luke@gmail.com) // -// (C) 2005, 2006 John Luke +// (C) 2005 John Luke // #if NET_2_0 using NUnit.Framework; @@ -30,39 +30,11 @@ namespace MonoTests.System.Net.Mail //Attachment a = Attachment.CreateAttachmentFromString ("blah blah", "text/plain"); //msg.Attachments.Add (a); } - - [Test] - [ExpectedException (typeof (ArgumentNullException))] - public void ArgumentNullCtor1 () - { - new MailMessage (null, "to@example.com"); - } - - [Test] - [ExpectedException (typeof (ArgumentNullException))] - public void ArgumentNullCtor2 () - { - new MailMessage (null, new MailAddress ("to@example.com")); - } - - [Test] - [ExpectedException (typeof (ArgumentNullException))] - public void ArgumentNullCtor3 () - { - new MailMessage ("from@example.com", null); - } - - [Test] - [ExpectedException (typeof (ArgumentNullException))] - public void ArgumentNullCtor4 () - { - new MailMessage (new MailAddress ("from@example.com"), null); - } /*[Test] public void AlternateView () { - Assert.AreEqual (msg.AlternateViews.Count, 1); + Assert.IsTrue (msg.AlternateViews.Count == 1); AlternateView av = msg.AlternateViews[0]; // test that the type is ok, etc. }*/ @@ -70,27 +42,21 @@ namespace MonoTests.System.Net.Mail /*[Test] public void Attachment () { - Assert.AreEqual (msg.Attachments.Count, 1); + Assert.IsTrue (msg.Attachments.Count == 1); Attachment at = msg.Attachments[0]; - Assert.AreEqual (at.ContentType.MediaType, "text/plain"); + Assert.IsTrue (at.ContentType.MediaType == "text/plain"); }*/ [Test] public void Body () { - Assert.AreEqual (msg.Body, "hello"); - } - - [Test] - public void BodyEncoding () - { - Assert.AreEqual (msg.BodyEncoding, Encoding.ASCII); + Assert.IsTrue (msg.Body == "hello"); } [Test] public void From () { - Assert.AreEqual (msg.From.Address, "from@example.com"); + Assert.IsTrue (msg.From.Address == "from@example.com"); } [Test] @@ -102,20 +68,20 @@ namespace MonoTests.System.Net.Mail [Test] public void Priority () { - Assert.AreEqual (msg.Priority, MailPriority.Normal); + Assert.IsTrue (msg.Priority == MailPriority.Normal); } [Test] public void Subject () { - Assert.AreEqual (msg.Subject, "the subject"); + Assert.IsTrue (msg.Subject == "the subject"); } [Test] public void To () { - Assert.AreEqual (msg.To.Count, 1); - Assert.AreEqual (msg.To[0].Address, "to@example.com"); + Assert.IsTrue (msg.To.Count == 1); + Assert.IsTrue (msg.To[0].Address == "to@example.com"); } } } diff --git a/mcs/class/System/Test/System.Net.Mail/SmtpClientTest.cs b/mcs/class/System/Test/System.Net.Mail/SmtpClientTest.cs deleted file mode 100644 index cc6b965b5bf..00000000000 --- a/mcs/class/System/Test/System.Net.Mail/SmtpClientTest.cs +++ /dev/null @@ -1,64 +0,0 @@ -// -// SmtpClientTest.cs - NUnit Test Cases for System.Net.Mail.SmtpClient -// -// Authors: -// John Luke (john.luke@gmail.com) -// -// (C) 2006 John Luke -// -#if NET_2_0 -using NUnit.Framework; -using System; -using System.IO; -using System.Net.Mail; -using System.Net.Mime; - -namespace MonoTests.System.Net.Mail -{ - [TestFixture] - public class SmtpClientTest - { - SmtpClient smtp; - - [SetUp] - public void GetReady () - { - smtp = new SmtpClient (); - } - - [Test] - public void InitialTimeout () - { - Assert.AreEqual (smtp.Timeout, 100000); - } - - [Test] - [ExpectedException (typeof (ArgumentOutOfRangeException))] - public void NegativePortValue () - { - smtp.Port = -1; - } - - [Test] - [ExpectedException (typeof (ArgumentOutOfRangeException))] - public void NegativeTimeoutValue () - { - smtp.Timeout = -1; - } - - [Test] - [ExpectedException (typeof (ArgumentNullException))] - public void NullHost () - { - smtp.Host = null; - } - - [Test] - [ExpectedException (typeof (ArgumentException))] - public void EmptyHost () - { - smtp.Host = String.Empty; - } - } -} -#endif diff --git a/mcs/class/corlib/ChangeLog b/mcs/class/corlib/ChangeLog index d5c82b6ef7f..13214ce8165 100644 --- a/mcs/class/corlib/ChangeLog +++ b/mcs/class/corlib/ChangeLog @@ -1,17 +1,4 @@ -2006-01-19 Raja R Harinath <rharinath@novell.com> - - * Makefile: Simplify. Remove support for corlib_plattest and reslib. - * corlib_plattest.dll.excludes, corlib_res.dll.excludes: remove. - -2006-01-18 Atsushi Enomoto <atsushi@ximian.com> - - * Makefile : corlib_plattest dll is now profile-aware. - -2006-01-13 Robert Jordan <robertj@gmx.net> - - * corlib.dll.sources: Added System.Resources/ResourceManagerTest.cs - -2006-01-05 Kornel Pal <kornelpal@hotmail.com> +2006-01-05 Kornél Pál <kornelpal@hotmail.com> * corlib.dll.sources: Added DriveNotFoundException.cs in System.IO. @@ -925,7 +912,7 @@ * corlib.dll.sources: Added System.Runtime.Serialization.Formatter.Binary.CodeGenerator.cs -2004-02-10 Carlos Guzman Alvarez <carlosga@telefonica.net> +2004-02-10 Carlos Guzmán Álvarez <carlosga@telefonica.net> * Mono.Security.Cryptography/PKCS1.cs: @@ -1002,7 +989,7 @@ * corlib_test.dll.sources: Added unit tests PaddingMode and X509 using CryptoAPI. -2003-12-14 Pedro Martinez Julia <yoros@wanadoo.es> +2003-12-14 Pedro Martínez Juliá <yoros@wanadoo.es> * DateTime.cs: Be sure that the array access is not out of range when looking for ArgumentOutOfRangeException in the year value. @@ -1093,7 +1080,7 @@ * corlib.dll.sources: Added classes for Authenticode support. * corlib_test.dll.sources: Added unit test for SPC certificates. -2003-09-26 Pedro Martinez Julia <yoros@wanadoo.es> +2003-09-26 Pedro Martínez Juliá <yoros@wanadoo.es> * corlib_test.dll.sources: Remove tests that generate compile errors. The tests are still there but its name is rmoved here. @@ -1251,7 +1238,7 @@ * unix.args: Added System.Runtime.Remoting.Activation/AppDomainLevelActivator.cs -2003-03-16 Pedro Martinez Julia <yoros@wanadoo.es> +2003-03-16 Pedro Martínez Juliá <yoros@wanadoo.es> * unix.args: Added "System.FloatingPointFormatter.cs". @@ -1263,7 +1250,7 @@ * unix.args: Added System.Runtime.InteropServices/HandleRef.cs -2003-03-04 Pedro Martinez Julia <yoros@wanadoo.es> +2003-03-04 Pedro Martínez Juliá <yoros@wanadoo.es> * unix.args: Added "DoubleFormatter.cs" and "SingleFormatter.cs" diff --git a/mcs/class/corlib/Makefile b/mcs/class/corlib/Makefile index 49a2391c576..69772f5f704 100644 --- a/mcs/class/corlib/Makefile +++ b/mcs/class/corlib/Makefile @@ -3,14 +3,6 @@ SUBDIRS = include ../../build/rules.make export __SECURITY_BOOTSTRAP_DB=$(topdir)/class/corlib -LIBRARY = corlib.dll -LIBRARY_NAME = mscorlib.dll -LIB_MCS_FLAGS = $(corlib_flags) $(RESOURCE_FILES:%=-resource:%) -LIBRARY_USE_INTERMEDIATE_FILE = yes - -LIBRARY_COMPILE = $(BOOT_COMPILE) -LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION) - RESOURCE_FILES = \ resources/collation.core.bin \ resources/collation.tailoring.bin \ @@ -27,19 +19,67 @@ ifneq ($(FRAMEWORK_VERSION),1.0) LOCAL_MCS_FLAGS += -nowarn:414 endif -TEST_MCS_FLAGS = -debug+ -debug:full -nowarn:168,219,618,672 -unsafe +LIBRARY = corlib.dll +LIBRARY_NAME = mscorlib.dll +LIB_MCS_FLAGS = $(corlib_flags) $(RESOURCE_FILES:%=/resource:%) +LIBRARY_USE_INTERMEDIATE_FILE = yes + +LIBRARY_COMPILE = $(BOOT_COMPILE) +LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/$(FRAMEWORK_VERSION) EXTRA_DISTFILES = \ - corlib.dll.win32-excludes \ + corlib.dll.win32-excludes corlib_cmp.dll.excludes corlib_res.dll.excludes \ + $(plattestlib).excludes \ Test/ms_run_test.sh \ Test/resources/MyResources.resources \ Test/resources/Empty.resources \ - Test/resources/AFile.txt \ + Test/resources/AFile.txt \ $(RESOURCE_FILES) -include $(topdir)/build/library.make +CLEAN_FILES = $(cmplib) $(reslib) $(plattestlib) $(plattestlib).sources \ + $(cmp_response) $(cmp_makefrag) \ + $(res_response) $(res_makefrag) \ + $(cmppdb) $(respdb) $(plattestpdb) + +# If building on a non mono-native platform, default +# to running the unit tests on its corlib, to see if +# our tests are complaint with their (hopefully bug-free) +# corlib. If on a mono-native platform, test our actual +# corlib. +# +# You can access either one on demand with either 'make +# run-monotest' or 'make run-plattest'. + +plattestlib = corlib_plattest.dll +plattestpdb = $(patsubst %.dll,%.pdb,$(plattestlib)) +$(plattestlib).sources: corlib_test.dll.sources $(plattestlib).excludes + sort corlib_test.dll.sources $(plattestlib).excludes | uniq -u >$@ + +TEST_MCS_FLAGS = -debug+ -debug:full -nowarn:168,219,618,672 -unsafe + +ifndef PLATFORM_MONO_NATIVE +test_lib = $(plattestlib) +test_against = $(PLATFORM_CORLIB) +HAVE_CS_TESTS = $(plattestlib).sources + +## for now, compiling the testsuite with CSC causes CS0583. So compile with internal MCS +TEST_COMPILE = MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_MCS) $(USE_MCS_FLAGS) +endif + +include ../../build/library.make + +ifndef PLATFORM_MONO_NATIVE +run-monotest: + $(MAKE) $(reslib) + $(MAKE) test_lib=corlib_test.dll test_against=$(reslib) run-test + +run-plattest: + $(MAKE) test_lib=$(plattestlib) test_against='$(PLATFORM_CORLIB)' run-test + +else +run-monotest: run-test +endif -ifdef FIXME_CORLIB_CMP # corlib_cmp cmplib = $(topdir)/class/lib/$(PROFILE)/corlib_cmp.dll cmppdb = $(cmplib:.dll=.pdb) @@ -47,9 +87,6 @@ cmp_response = $(depsdir)/$(PROFILE)_corlib_cmp.dll.response cmp_makefrag = $(depsdir)/$(PROFILE)_corlib_cmp.dll.makefrag cmp_flags = -r:$(PLATFORM_CORLIB) $(corlib_flags) -EXTRA_DISTFILES += corlib_cmp.dll.excludes -CLEAN_FILES += $(cmplib) $(cmp_response) $(cmp_makefrag) $(cmppdb) - $(cmplib): $(cmp_makefrag) $(cmp_response) $(BOOT_COMPILE) $(LIBRARY_FLAGS) $(cmp_flags) -target:library -out:$@ @$(cmp_response) @@ -67,4 +104,24 @@ $(cmp_makefrag): $(cmp_response) # leading to a broken build. # # -include $(cmp_makefrag) -endif + +# corlib_res +reslib = $(topdir)/class/lib/$(PROFILE)/corlib_res.dll +respdb = $(reslib:.dll=.pdb) +res_response = $(depsdir)/$(PROFILE)_corlib_res.dll.response +res_makefrag = $(depsdir)/$(PROFILE)_corlib_res.dll.makefrag +res_flags = -r:$(PLATFORM_CORLIB) $(corlib_flags) + +$(reslib): $(res_makefrag) $(res_response) + $(BOOT_COMPILE) $(LIBRARY_FLAGS) $(res_flags) -target:library -out:$@ @$(res_response) + +$(res_response): $(sourcefile) corlib_res.dll.excludes + @echo Creating $@ ... + @sort $(sourcefile) corlib_res.dll.excludes | uniq -u | $(PLATFORM_CHANGE_SEPARATOR_CMD) >$@ + +# warning: embedded tab in the 'echo touch' line +$(res_makefrag): $(res_response) + @echo Creating $@ ... + @sed 's,^,$(reslib): ,' $< >$@ + +-include $(res_makefrag) diff --git a/mcs/class/corlib/Microsoft.Win32.SafeHandles/ChangeLog b/mcs/class/corlib/Microsoft.Win32.SafeHandles/ChangeLog index 1b5b481604f..e0a53eda021 100644 --- a/mcs/class/corlib/Microsoft.Win32.SafeHandles/ChangeLog +++ b/mcs/class/corlib/Microsoft.Win32.SafeHandles/ChangeLog @@ -1,9 +1,3 @@ -2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu> - - * SafeHandleZeroOrMinusOneIsInvalid.cs: Update to RTM api - - * SafeFileHandle.cs: Update to RTM api - 2005-08-10 Zoltan Varga <vargaz@freemail.hu> * SafeFileHandle.cs: Make this inherit from SafeHandleZeroOrMinusOneIsInvalid. diff --git a/mcs/class/corlib/Microsoft.Win32.SafeHandles/SafeFileHandle.cs b/mcs/class/corlib/Microsoft.Win32.SafeHandles/SafeFileHandle.cs index 5457ba1ca34..001b3d984b1 100644 --- a/mcs/class/corlib/Microsoft.Win32.SafeHandles/SafeFileHandle.cs +++ b/mcs/class/corlib/Microsoft.Win32.SafeHandles/SafeFileHandle.cs @@ -35,24 +35,16 @@ namespace Microsoft.Win32.SafeHandles { [MonoTODO] public sealed class SafeFileHandle : SafeHandleZeroOrMinusOneIsInvalid { - public SafeFileHandle (IntPtr preexistingHandle, bool ownsHandle) : base (ownsHandle) + public SafeFileHandle (IntPtr preexistingHandle, bool ownsHandle) { - SetHandle (preexistingHandle); } - [MonoTODO] public override bool IsInvalid { get { throw new NotImplementedException (); } } - [MonoTODO] - protected override bool ReleaseHandle () - { - throw new NotImplementedException (); - } - } } diff --git a/mcs/class/corlib/Microsoft.Win32.SafeHandles/SafeHandleZeroOrMinusOneIsInvalid.cs b/mcs/class/corlib/Microsoft.Win32.SafeHandles/SafeHandleZeroOrMinusOneIsInvalid.cs index 4f6dc86c0b0..58bcd82884c 100644 --- a/mcs/class/corlib/Microsoft.Win32.SafeHandles/SafeHandleZeroOrMinusOneIsInvalid.cs +++ b/mcs/class/corlib/Microsoft.Win32.SafeHandles/SafeHandleZeroOrMinusOneIsInvalid.cs @@ -35,14 +35,6 @@ namespace Microsoft.Win32.SafeHandles { [MonoTODO] public abstract class SafeHandleZeroOrMinusOneIsInvalid : SafeHandle, IDisposable { - protected SafeHandleZeroOrMinusOneIsInvalid (bool ownsHandle) : base ((IntPtr) 0, ownsHandle) { - } - - public override bool IsInvalid { - get { - return handle == (IntPtr)(-1) || handle == (IntPtr) 0; - } - } } } diff --git a/mcs/class/corlib/System.Collections.Generic/ChangeLog b/mcs/class/corlib/System.Collections.Generic/ChangeLog index 7507abc3759..289d903df48 100644 --- a/mcs/class/corlib/System.Collections.Generic/ChangeLog +++ b/mcs/class/corlib/System.Collections.Generic/ChangeLog @@ -1,22 +1,3 @@ -2006-01-19 Raja R Harinath <rharinath@novell.com> - - Fix to pass new nunit tests. - * Dictionary.cs (ShimEnumerator): New class. Implement the - requirement that ((IDictionary) foo).GetEnumerator ().Current has - type DictionaryEntry. - (IDictionary.GetEnumerator): Use ShimEnumerator. - (Enumerator.Current): Now has type KeyValuePair<TKey, TValue>. - (Enumerator.MoveNext): Use VerifyState. - (Enumerator.VerifyState): Move validation of 'current' field to ... - (Enumerator.CurrentSlot): ... this. - (Enumerator.Current, Enumerator.IDictionaryEnumerator.Entry): - Use CurrentSlot. - (CopyTo, ICollection.CopyTo): Use subtle reasoning to replace a - '>=' with a '>'. Don't throw an ArgumentException when - index==array.Length && Count==0. - (KeyCollection.CopyTo, ValueCollection.CopyTo): Likewise, and thus - obviate the need to check (dictionary.Count == 0). - 2005-12-20 Sebastien Pouliot <sebastien@ximian.com> * List.cs: Applied Atsushi's patch for Sort (bug 76361) now that the diff --git a/mcs/class/corlib/System.Collections.Generic/Dictionary.cs b/mcs/class/corlib/System.Collections.Generic/Dictionary.cs index 33391041a56..bddc8b9458f 100644 --- a/mcs/class/corlib/System.Collections.Generic/Dictionary.cs +++ b/mcs/class/corlib/System.Collections.Generic/Dictionary.cs @@ -171,8 +171,7 @@ namespace System.Collections.Generic { throw new ArgumentNullException ("array"); if (index < 0) throw new ArgumentOutOfRangeException ("index"); - // we want no exception for index==array.Length && Count == 0 - if (index > array.Length) + if (index >= array.Length) throw new ArgumentException ("index larger than largest valid index of array"); if (array.Length - index < Count) throw new ArgumentException ("Destination array cannot hold the requested elements!"); @@ -447,8 +446,7 @@ namespace System.Collections.Generic { throw new ArgumentNullException ("array"); if (index < 0) throw new ArgumentOutOfRangeException ("index"); - // we want no exception for index==array.Length && Count == 0 - if (index > array.Length) + if (index >= array.Length) throw new ArgumentException ("index larger than largest valid index of array"); if (array.Length - index < Count) throw new ArgumentException ("Destination array cannot hold the requested elements!"); @@ -471,7 +469,7 @@ namespace System.Collections.Generic { IDictionaryEnumerator IDictionary.GetEnumerator () { - return new ShimEnumerator (this); + return new Enumerator (this); } public Enumerator GetEnumerator () @@ -480,49 +478,6 @@ namespace System.Collections.Generic { } [Serializable] - private struct ShimEnumerator : IDictionaryEnumerator, IEnumerator - { - Enumerator host_enumerator; - public ShimEnumerator (Dictionary<TKey, TValue> host) - { - host_enumerator = host.GetEnumerator (); - } - - public void Dispose () - { - host_enumerator.Dispose (); - } - - public bool MoveNext () - { - return host_enumerator.MoveNext (); - } - - public DictionaryEntry Entry { - get { return ((IDictionaryEnumerator) host_enumerator).Entry; } - } - - public object Key { - get { return host_enumerator.Current.Key; } - } - - public object Value { - get { return host_enumerator.Current.Value; } - } - - // This is the raison d' etre of this $%!@$%@^@ class. - // We want: IDictionary.GetEnumerator ().Current is DictionaryEntry - public object Current { - get { return Entry; } - } - - public void Reset () - { - ((IEnumerator)host_enumerator).Reset (); - } - } - - [Serializable] public struct Enumerator : IEnumerator<KeyValuePair<TKey,TValue>>, IDisposable, IDictionaryEnumerator, IEnumerator { @@ -545,25 +500,33 @@ namespace System.Collections.Generic { public bool MoveNext () { - VerifyState (); + if (dictionary == null) + throw new ObjectDisposedException (null); + if (dictionary.generation != stamp) + throw new InvalidOperationException ("out of sync"); - // Pre-condition: current == null => this is the first call to MoveNext () + // Pre-condition: current == null => this is the first call + // to MoveNext () if (current != null) current = current.Next; while (current == null && next_index < dictionary.table.Length) current = dictionary.table [next_index++]; - // Post-condition: current == null => this is the last call to MoveNext() + // Post-condition: current == null => this is the last call + // to MoveNext() return current != null; } public KeyValuePair<TKey, TValue> Current { - get { return CurrentSlot ().Data; } + get { + VerifyState (); + return current.Data; + } } object IEnumerator.Current { - get { return Current; } + get { return ((IDictionaryEnumerator) this).Entry; } } void IEnumerator.Reset () @@ -574,8 +537,8 @@ namespace System.Collections.Generic { DictionaryEntry IDictionaryEnumerator.Entry { get { - Slot s = CurrentSlot (); - return new DictionaryEntry (s.Data.Key, s.Data.Value); + VerifyState (); + return new DictionaryEntry (current.Data.Key, current.Data.Value); } } @@ -593,16 +556,9 @@ namespace System.Collections.Generic { throw new ObjectDisposedException (null); if (dictionary.generation != stamp) throw new InvalidOperationException ("out of sync"); - } - - Slot CurrentSlot () - { - VerifyState (); if (current == null) - throw new InvalidOperationException ("Current is not valid"); - return current; + throw new InvalidOperationException (); } - public void Dispose () { current = null; @@ -628,8 +584,10 @@ namespace System.Collections.Generic { throw new ArgumentNullException ("array"); if (index < 0) throw new ArgumentOutOfRangeException ("index"); - // we want no exception for index==array.Length && dictionary.Count == 0 - if (index > array.Length) + // no exception for index==array.Length in this case + if (dictionary.Count == 0) + return; + if (index >= array.Length) throw new ArgumentException ("index larger than largest valid index of array"); if (array.Length - index < dictionary.Count) throw new ArgumentException ("Destination array cannot hold the requested elements!"); @@ -746,8 +704,10 @@ namespace System.Collections.Generic { throw new ArgumentNullException ("array"); if (index < 0) throw new ArgumentOutOfRangeException ("index"); - // we want no exception for index==array.Length && dictionary.Count == 0 - if (index > array.Length) + // no exception for index==array.Length in this case + if (dictionary.Count == 0) + return; + if (index >= array.Length) throw new ArgumentException ("index larger than largest valid index of array"); if (array.Length - index < dictionary.Count) throw new ArgumentException ("Destination array cannot hold the requested elements!"); diff --git a/mcs/class/corlib/System.IO/ChangeLog b/mcs/class/corlib/System.IO/ChangeLog index 86679553eca..a88503b4aea 100644 --- a/mcs/class/corlib/System.IO/ChangeLog +++ b/mcs/class/corlib/System.IO/ChangeLog @@ -1,27 +1,9 @@ -2006-01-18 Atsushi Enomoto <atsushi@ximian.com> - - * Path.cs : (GetRandomFileName) use random buffer ;-) It somehow - caused infinite loop on Windows. - -2006-01-18 Atsushi Enomoto <atsushi@ximian.com> - - * DirectoryInfo.cs : on Windows top directory is something like c:\. - -2006-01-17 Joshua Tauberer <tauberer@for.net> - - * StreamReader.cs: Avoid two totally unnecessary string creations. - (kind of pedantic) - 2006-01-13 Ben Maurer <bmaurer@andrew.cmu.edu> * TextWriter.cs: Call char[],int,int from the Write(char[]) method both for msft compat and for performance. Thanks to "Mike Glenn" <mglenn@zoominternet.net> for pointing. - -2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu> - - * File.cs: Support for Read/WriteAllText - + 2006-01-11 Sebastien Pouliot <sebastien@ximian.com> * Path.cs: Previous fix caused regression of bug #76191. Fixed (again) diff --git a/mcs/class/corlib/System.IO/DirectoryInfo.cs b/mcs/class/corlib/System.IO/DirectoryInfo.cs index b8372743871..110367dbbd2 100644 --- a/mcs/class/corlib/System.IO/DirectoryInfo.cs +++ b/mcs/class/corlib/System.IO/DirectoryInfo.cs @@ -65,7 +65,7 @@ namespace System.IO { parent = null; } else { current = FullPath.Substring (last + 1, len - last); - if (last == 0 && !Environment.IsRunningOnWindows) + if (last == 0) parent = Path.DirectorySeparatorStr; else parent = FullPath.Substring (0, last); diff --git a/mcs/class/corlib/System.IO/File.cs b/mcs/class/corlib/System.IO/File.cs index 588a6493d3f..ab5f506b6a8 100644 --- a/mcs/class/corlib/System.IO/File.cs +++ b/mcs/class/corlib/System.IO/File.cs @@ -36,7 +36,6 @@ // using System; -using System.Text; namespace System.IO { @@ -437,30 +436,6 @@ namespace System.IO return result; } } - - public static string ReadAllText (string path) - { - return ReadAllText (path, Encoding.UTF8Unmarked); - } - - public static string ReadAllText (string path, Encoding enc) - { - using (StreamReader sr = new StreamReader (path, enc)) { - return sr.ReadToEnd (); - } - } - - public static void WriteAllText (string path, string contents) - { - WriteAllText (path, contents, Encoding.UTF8Unmarked); - } - - public static void WriteAllText (string path, string contents, Encoding enc) - { - using (StreamWriter sw = new StreamWriter (path, false, enc)) { - sw.Write (contents); - } - } #endif } } diff --git a/mcs/class/corlib/System.IO/Path.cs b/mcs/class/corlib/System.IO/Path.cs index f6a0af31c6b..072225030a8 100644 --- a/mcs/class/corlib/System.IO/Path.cs +++ b/mcs/class/corlib/System.IO/Path.cs @@ -445,7 +445,7 @@ namespace System.IO { int i = 0; rng.GetNonZeroBytes (buffer); while ((i < buffer.Length) && (sb.Length < 12)) { - char c = (char) buffer [i]; + char c = (char)i; if (Array.IndexOf (invalid, c) == -1) sb.Append (c); i++; diff --git a/mcs/class/corlib/System.IO/StreamReader.cs b/mcs/class/corlib/System.IO/StreamReader.cs index 294124740d5..0e829bdabb2 100644 --- a/mcs/class/corlib/System.IO/StreamReader.cs +++ b/mcs/class/corlib/System.IO/StreamReader.cs @@ -420,7 +420,7 @@ namespace System.IO { if (foundCR) // don't include the trailing CR if present decoded_count--; - line_builder.Append (decoded_buffer, begin, decoded_count - begin); + line_builder.Append (new string (decoded_buffer, begin, decoded_count - begin)); if (ReadBuffer () == 0) { if (line_builder.Capacity > 32768) { StringBuilder sb = line_builder; @@ -433,7 +433,7 @@ namespace System.IO { begin = pos; end = FindNextEOL (); if (end < decoded_count && end >= begin) { - line_builder.Append (decoded_buffer, begin, end - begin); + line_builder.Append (new string (decoded_buffer, begin, end - begin)); if (line_builder.Capacity > 32768) { StringBuilder sb = line_builder; line_builder = null; diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ChangeLog b/mcs/class/corlib/System.Runtime.InteropServices/ChangeLog index 98577ac569c..724ab538b20 100644 --- a/mcs/class/corlib/System.Runtime.InteropServices/ChangeLog +++ b/mcs/class/corlib/System.Runtime.InteropServices/ChangeLog @@ -1,7 +1,3 @@ -2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu> - - * SafeHandle.cs: Update to RTM api - 2005-11-17 Zoltan Varga <vargaz@gmail.com> * DefaultParameterValueAttribute.cs: New file. diff --git a/mcs/class/corlib/System.Runtime.InteropServices/SafeHandle.cs b/mcs/class/corlib/System.Runtime.InteropServices/SafeHandle.cs index 62ebf95ea4c..e31ce310a00 100644 --- a/mcs/class/corlib/System.Runtime.InteropServices/SafeHandle.cs +++ b/mcs/class/corlib/System.Runtime.InteropServices/SafeHandle.cs @@ -32,14 +32,7 @@ namespace System.Runtime.InteropServices { [MonoTODO] public abstract class SafeHandle : CriticalFinalizerObject, IDisposable { - protected IntPtr handle; - - [MonoTODO] - protected SafeHandle (IntPtr invalidHandleValue, bool ownsHandle) - { - throw new NotImplementedException (); - } - + [MonoTODO] public void Close () { throw new NotImplementedException (); @@ -69,19 +62,7 @@ namespace System.Runtime.InteropServices public void SetHandleAsInvalid () { throw new NotImplementedException (); } - - [MonoTODO] - protected virtual void Dispose (bool disposing) { - throw new NotImplementedException (); - } - - protected abstract bool ReleaseHandle (); - - [MonoTODO] - protected void SetHandle (IntPtr handle) { - throw new NotImplementedException (); - } - + [MonoTODO] public bool IsClosed { get { diff --git a/mcs/class/corlib/System/ChangeLog b/mcs/class/corlib/System/ChangeLog index 978aac623f4..294b71ea345 100644 --- a/mcs/class/corlib/System/ChangeLog +++ b/mcs/class/corlib/System/ChangeLog @@ -3,15 +3,6 @@ * Console.cs: if InternalCodePage returns -1, use the default encoding. Also match the UTF8 one properly. Patch by wall_john@sohu.com. -2006-01-19 Atsushi Enomoto <atsushi@ximian.com> - - * ModuleHandle.cs : GetPEKind() is not public in 2.0 RTM. - -2006-01-16 Alp Toker <alp@atoker.com> - - * TimeSpan.cs: Simple implementation of NET 2.0 TryParse() using - try/catch - 2006-01-05 Raja R Harinath <rharinath@novell.com> Fix regressions introduced by the fix to #71300. diff --git a/mcs/class/corlib/System/ModuleHandle.cs b/mcs/class/corlib/System/ModuleHandle.cs index d45d385fa13..98bc38156e1 100644 --- a/mcs/class/corlib/System/ModuleHandle.cs +++ b/mcs/class/corlib/System/ModuleHandle.cs @@ -59,7 +59,7 @@ namespace System } } - internal void GetPEKind (out PortableExecutableKinds peKind, out ImageFileMachine machine) + public void GetPEKind (out PortableExecutableKinds peKind, out ImageFileMachine machine) { if (value == IntPtr.Zero) throw new ArgumentNullException (String.Empty, "Invalid handle"); diff --git a/mcs/class/corlib/System/TimeSpan.cs b/mcs/class/corlib/System/TimeSpan.cs index dd7c230d845..adc326f1605 100644 --- a/mcs/class/corlib/System/TimeSpan.cs +++ b/mcs/class/corlib/System/TimeSpan.cs @@ -331,19 +331,6 @@ namespace System return p.Execute (); } -#if NET_2_0 - public static bool TryParse (string s, out TimeSpan result) - { - try { - result = Parse (s); - return true; - } catch { - result = TimeSpan.Zero; - return false; - } - } -#endif - public TimeSpan Subtract (TimeSpan ts) { try { diff --git a/mcs/class/corlib/Test/System.Collections.Generic/ChangeLog b/mcs/class/corlib/Test/System.Collections.Generic/ChangeLog index e5a47afe973..0d2074f5d50 100644 --- a/mcs/class/corlib/Test/System.Collections.Generic/ChangeLog +++ b/mcs/class/corlib/Test/System.Collections.Generic/ChangeLog @@ -1,16 +1,3 @@ -2006-01-19 Raja R Harinath <rharinath@novell.com> - - * DictionaryTest.cs: Remove NotWorking annotations. - (Empty_CopyTo, Empty_Values_CopyTo): Fix tests to check that - CopyTo from an empty dictionary does not throw an exception when - 'index==array.Length'. - (PlainEnumeratorReturnTest): Check the type of 'Entry' property too. - -2006-01-19 Atsushi Enomoto <atsushi@ximian.com> - - * DictionaryTest.cs : fixed several tests to not fail under .NET 2.0 - and thus marked some as NotWorking. Numbered some assertions. - 2005-12-21 Sebastien Pouliot <sebastien@ximian.com> * ListTest.cs: Added test cases for #77039 for sorting a list with diff --git a/mcs/class/corlib/Test/System.Collections.Generic/DictionaryTest.cs b/mcs/class/corlib/Test/System.Collections.Generic/DictionaryTest.cs index ea0d3953d1f..b4ad8323e7b 100644 --- a/mcs/class/corlib/Test/System.Collections.Generic/DictionaryTest.cs +++ b/mcs/class/corlib/Test/System.Collections.Generic/DictionaryTest.cs @@ -341,8 +341,10 @@ namespace MonoTests.System.Collections.Generic { IEnumerator itr = ((IEnumerable)_dictionary).GetEnumerator (); while (itr.MoveNext ()) { object o = itr.Current; - Assert.AreEqual (typeof (KeyValuePair<string,object>), o.GetType (), "Current should return a type of KeyValuePair"); - KeyValuePair<string,object> entry = (KeyValuePair<string,object>) itr.Current; + Assert.AreEqual (typeof (DictionaryEntry), o.GetType (), "Current should return a type of DictionaryEntry"); + DictionaryEntry entry = (DictionaryEntry)itr.Current; + if (entry.Key.ToString () == "key4") + entry.Value = "value33"; } Assert.AreEqual ("value4", _dictionary ["key4"].ToString (), ""); } @@ -358,7 +360,7 @@ namespace MonoTests.System.Collections.Generic { IEnumerator <KeyValuePair <string, object>> itr = ((IEnumerable <KeyValuePair <string, object>>)_dictionary).GetEnumerator (); while (itr.MoveNext ()) { object o = itr.Current; - Assert.AreEqual (typeof (KeyValuePair <string, object>), o.GetType (), "Current should return a type of KeyValuePair<object,string>"); + Assert.AreEqual (typeof (KeyValuePair <string, object>), o.GetType (), "Current should return a type of DictionaryEntry"); KeyValuePair <string, object> entry = (KeyValuePair <string, object>)itr.Current; } Assert.AreEqual ("value4", _dictionary ["key4"].ToString (), ""); @@ -376,7 +378,9 @@ namespace MonoTests.System.Collections.Generic { while (itr.MoveNext ()) { object o = itr.Current; Assert.AreEqual (typeof (DictionaryEntry), o.GetType (), "Current should return a type of DictionaryEntry"); - DictionaryEntry entry = (DictionaryEntry) itr.Current; + DictionaryEntry entry = (DictionaryEntry)itr.Current; + if (entry.Key.ToString () == "key4") + entry.Value = "value33"; } Assert.AreEqual ("value4", _dictionary ["key4"].ToString (), ""); @@ -392,17 +396,23 @@ namespace MonoTests.System.Collections.Generic { int i = 0; foreach (KeyValuePair <string, object> entry in _dictionary) + { i++; + } Assert.AreEqual(4, i, "fail1: foreach entry failed!"); i = 0; - foreach (KeyValuePair <string, object> entry in ((IEnumerable)_dictionary)) + foreach (DictionaryEntry entry in ((IEnumerable)_dictionary)) + { i++; + } Assert.AreEqual(4, i, "fail2: foreach entry failed!"); i = 0; foreach (DictionaryEntry entry in ((IDictionary)_dictionary)) + { i++; + } Assert.AreEqual (4, i, "fail3: foreach entry failed!"); } @@ -490,14 +500,13 @@ namespace MonoTests.System.Collections.Generic { [Test] public void PlainEnumeratorReturnTest () { - // Test that we return a KeyValuePair even for non-generic dictionary iteration + // Test that we return a DictionaryEntry for non-generic dictionary iteration _dictionary["foo"] = "bar"; IEnumerator<KeyValuePair<string, object>> enumerator = _dictionary.GetEnumerator(); - Assert.IsTrue(enumerator.MoveNext(), "#1"); - Assert.AreEqual (typeof (KeyValuePair<string,object>), ((IEnumerator)enumerator).Current.GetType (), "#2"); - Assert.AreEqual (typeof (DictionaryEntry), ((IDictionaryEnumerator)enumerator).Entry.GetType (), "#3"); - Assert.AreEqual (typeof (KeyValuePair<string,object>), ((IDictionaryEnumerator)enumerator).Current.GetType (), "#4"); - Assert.AreEqual (typeof (KeyValuePair<string,object>), ((object) enumerator.Current).GetType (), "#5"); + Assert.IsTrue(enumerator.MoveNext()); + Assert.IsTrue(((IEnumerator)enumerator).Current is DictionaryEntry); + Assert.IsTrue(((IDictionaryEnumerator)enumerator).Current is DictionaryEntry); + Assert.IsFalse(((object) enumerator.Current) is DictionaryEntry); } [Test, ExpectedException (typeof (InvalidOperationException))] @@ -606,12 +615,11 @@ namespace MonoTests.System.Collections.Generic { } [Test] - public void Empty_KeysValues_CopyTo () + public void Empty_Values_CopyTo () { Dictionary<int, int> d = new Dictionary<int, int> (); - int[] array = new int[1]; - d.Keys.CopyTo (array, array.Length); - d.Values.CopyTo (array, array.Length); + int[] array = new int[10]; + d.Values.CopyTo (array, 0); } [Test] @@ -619,12 +627,8 @@ namespace MonoTests.System.Collections.Generic { { Dictionary<int, int> d = new Dictionary<int, int> (); ICollection c = (ICollection) d; - DictionaryEntry [] array = new DictionaryEntry [1]; - c.CopyTo (array, array.Length); - - ICollection<KeyValuePair<int,int>> c2 = d; - KeyValuePair<int,int> [] array2 = new KeyValuePair<int,int> [1]; - c2.CopyTo (array2, array2.Length); + DictionaryEntry[] array = new DictionaryEntry[1]; + c.CopyTo (array, 0); } } } diff --git a/mcs/class/corlib/Test/System.IO/ChangeLog b/mcs/class/corlib/Test/System.IO/ChangeLog index 221bc0d887c..9773e19a9a6 100644 --- a/mcs/class/corlib/Test/System.IO/ChangeLog +++ b/mcs/class/corlib/Test/System.IO/ChangeLog @@ -1,17 +1,8 @@ -2006-01-18 Atsushi Enomoto <atsushi@ximian.com> - - * DirectoryInfoTest.cs : don't expect "/" as a top directory on - Windows. - 2006-01-13 Ben Maurer <bmaurer@andrew.cmu.edu> * TextWriterTest.cs: Make sure TextWriter calls the char[],int,int overload when calling the char[]. - -2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu> - - * FileTest.cs: Tests tests for read/writealltext. - + 2006-01-02 Sebastien Pouliot <sebastien@ximian.com> * StreamReaderTest.cs: Added test case when reading a new line (see diff --git a/mcs/class/corlib/Test/System.IO/DirectoryInfoTest.cs b/mcs/class/corlib/Test/System.IO/DirectoryInfoTest.cs index 766ad1b17e0..8d3dbb1cce7 100644 --- a/mcs/class/corlib/Test/System.IO/DirectoryInfoTest.cs +++ b/mcs/class/corlib/Test/System.IO/DirectoryInfoTest.cs @@ -766,11 +766,7 @@ namespace MonoTests.System.IO public void Parent_Bug77090 ()
{ DirectoryInfo di = new DirectoryInfo ("/home");
- if (Path.DirectorySeparatorChar == '\\') {
- Assert ("/home parent (Windows path)", di.Parent.Name.EndsWith (":\\"));
- }
- else
- AssertEquals ("/home parent", "/", di.Parent.Name);
+ AssertEquals ("/home parent", "/", di.Parent.Name);
AssertNull ("/home parent parent", di.Parent.Parent);
}
}
diff --git a/mcs/class/corlib/Test/System.IO/FileTest.cs b/mcs/class/corlib/Test/System.IO/FileTest.cs index 561eb48b5dc..3c2635d892a 100644 --- a/mcs/class/corlib/Test/System.IO/FileTest.cs +++ b/mcs/class/corlib/Test/System.IO/FileTest.cs @@ -1499,42 +1499,6 @@ namespace MonoTests.System.IO DeleteFile (fn); } -#if NET_2_0 - void TestRWAT (string s) - { - string f = Path.GetTempFileName (); - try { - File.WriteAllText (f, s); - string r = File.ReadAllText (f); - AssertEquals (r, s); - } finally { - DeleteFile (f); - } - } - [Test] - public void ReadWriteAllText () - { - // The MSDN docs said something about - // not including a final new line. it looks - // like that was not true. I'm not sure what - // that was talking about - TestRWAT (""); - TestRWAT ("\r"); - TestRWAT ("\n"); - TestRWAT ("\r\n"); - TestRWAT ("a\r"); - TestRWAT ("a\n"); - TestRWAT ("a\r\n"); - TestRWAT ("a\ra"); - TestRWAT ("a\na"); - TestRWAT ("a\r\na"); - TestRWAT ("a"); - TestRWAT ("\r\r"); - TestRWAT ("\n\n"); - TestRWAT ("\r\n\r\n"); - } -#endif - private void DeleteFile (string path) { if (File.Exists (path)) diff --git a/mcs/class/corlib/Test/System.Reflection/ChangeLog b/mcs/class/corlib/Test/System.Reflection/ChangeLog index e194ab2795e..da497efae9d 100644 --- a/mcs/class/corlib/Test/System.Reflection/ChangeLog +++ b/mcs/class/corlib/Test/System.Reflection/ChangeLog @@ -1,7 +1,3 @@ -2006-01-19 Atsushi Enomoto <atsushi@ximian.com> - - * ModuleTest.cs : ResolveString() does not work under .NET 2.0 either. - 2006-01-06 Raja R Harinath <rharinath@novell.com> * PropertyInfoTest.cs: Use newer nunit API. diff --git a/mcs/class/corlib/Test/System.Reflection/ModuleTest.cs b/mcs/class/corlib/Test/System.Reflection/ModuleTest.cs index a1d3e242e04..00d4155b4dd 100644 --- a/mcs/class/corlib/Test/System.Reflection/ModuleTest.cs +++ b/mcs/class/corlib/Test/System.Reflection/ModuleTest.cs @@ -211,7 +211,7 @@ public class ModuleTest : Assertion }
}
- [Ignore ("it breaks nunit-console.exe execution under .NET 2.0")]
+ [Category ("NotWorking")]
[Test]
public void ResolveString () {
Type t = typeof (ModuleTest);
diff --git a/mcs/class/corlib/Test/System.Resources/ChangeLog b/mcs/class/corlib/Test/System.Resources/ChangeLog index 86822fcbecc..964cfec9c2f 100644 --- a/mcs/class/corlib/Test/System.Resources/ChangeLog +++ b/mcs/class/corlib/Test/System.Resources/ChangeLog @@ -1,8 +1,3 @@ -2006-01-13 Robert Jordan <robertj@gmx.net> - - * ResourceManagerTest.cs: New. Unit tests for ResourceManager. - See bug #77242. - 2005-03-31 Sebastien Pouliot <sebastien@ximian.com> * ResourceReaderCas.cs: New. CAS unit tests for ResourceReader. diff --git a/mcs/class/corlib/Test/System.Resources/ResourceManagerTest.cs b/mcs/class/corlib/Test/System.Resources/ResourceManagerTest.cs deleted file mode 100644 index c4fd1acec91..00000000000 --- a/mcs/class/corlib/Test/System.Resources/ResourceManagerTest.cs +++ /dev/null @@ -1,68 +0,0 @@ -// -// ResourceManager.cs: -// NUnit Test Cases for System.Resources.ResourceManager -// -// Authors: -// Robert Jordan (robertj@gmx.net) -// -// 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.Globalization; -using System.Resources; -using System.Threading; - -using NUnit.Framework; - -namespace MonoTests.System.Resources -{ - [TestFixture] - public class ResourceManagerTest - { - [Test] - [Category ("NotWorking")] - public void TestInvariantCulture () - { - Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture; - ResourceManager rm = ResourceManager. - CreateFileBasedResourceManager ("MyResources", "Test/resources", null); - Assert.AreEqual ("Hello World", rm.GetString ("HelloWorld"), "#01"); - Assert.AreEqual ("Hello World", rm.GetObject ("HelloWorld"), "#02"); - } - - [Test] - [Category ("NotWorking")] - public void TestGermanCulture () - { - Thread.CurrentThread.CurrentUICulture = new CultureInfo ("de-DE"); - ResourceManager rm = ResourceManager. - CreateFileBasedResourceManager ("MyResources", "Test/resources", null); - Assert.AreEqual ("Hello World", rm.GetString ("HelloWorld"), "#01"); - Assert.AreEqual ("Hello World", rm.GetObject ("HelloWorld"), "#02"); - Assert.AreEqual ("Hallo Welt", rm.GetString ("deHelloWorld"), "#03"); - Assert.AreEqual ("Hallo Welt", rm.GetObject ("deHelloWorld"), "#04"); - } - } -} diff --git a/mcs/class/corlib/Test/System.Text/ChangeLog b/mcs/class/corlib/Test/System.Text/ChangeLog index 25cc2603d54..f11e87811ea 100644 --- a/mcs/class/corlib/Test/System.Text/ChangeLog +++ b/mcs/class/corlib/Test/System.Text/ChangeLog @@ -1,19 +1,3 @@ -2006-01-19 Atsushi Enomoto <atsushi@ximian.com> - - * UnicodeEncodingTest.cs, DecoderReplacementFallbackBufferTest.cs, - EncoderReplacementFallbackBufferTest.cs : tests were fixed but - "NotWorking" were not marked correctly. - -2006-01-19 Atsushi Enomoto <atsushi@ximian.com> - - * UTF7EncodingTest.cs UTF8EncodingTest.cs UnicodeEncodingTest.cs : - due to the introduction of fallback, some of their internals have - changed. Thus marked some tests as NotWorking. - * DecoderReplacementFallbackBufferTest.cs, - EncoderReplacementFallbackBufferTest.cs : - some behaviors have changed since beta2, so marked old tests as - NotWorking. - 2005-12-05 Sebastien Pouliot <sebastien@ximian.com> * StringBuilderTest.cs: Test case MaxCapacity_Overflow3 doesn't work diff --git a/mcs/class/corlib/Test/System.Text/DecoderReplacementFallbackBufferTest.cs b/mcs/class/corlib/Test/System.Text/DecoderReplacementFallbackBufferTest.cs index 9aab4b8147c..86d07841316 100644 --- a/mcs/class/corlib/Test/System.Text/DecoderReplacementFallbackBufferTest.cs +++ b/mcs/class/corlib/Test/System.Text/DecoderReplacementFallbackBufferTest.cs @@ -69,21 +69,20 @@ namespace MonoTests.System.Text } [Test] - [Category ("NotWorking")] public void Iterate () { Assert.AreEqual ('\0', Encoding.UTF8.DecoderFallback .CreateFallbackBuffer ().GetNextChar (), "#1"); Buffer b = NewInstance (); -// Assert.AreEqual (1, b.Remaining, "#2"); -// Assert.AreEqual ('?', b.GetNextChar (), "#3"); + Assert.AreEqual (1, b.Remaining, "#2"); + Assert.AreEqual ('?', b.GetNextChar (), "#3"); Assert.AreEqual (0, b.Remaining, "#4"); Assert.AreEqual ('\0', b.GetNextChar (), "#5"); -// Assert.IsTrue (b.MovePrevious (), "#6"); -// Assert.AreEqual (1, b.Remaining, "#7"); + Assert.IsTrue (b.MovePrevious (), "#6"); + Assert.AreEqual (1, b.Remaining, "#7"); Assert.IsFalse (b.MovePrevious (), "#8"); -// Assert.AreEqual ('?', b.GetNextChar (), "#9"); + Assert.AreEqual ('?', b.GetNextChar (), "#9"); } } } diff --git a/mcs/class/corlib/Test/System.Text/EncoderReplacementFallbackBufferTest.cs b/mcs/class/corlib/Test/System.Text/EncoderReplacementFallbackBufferTest.cs index 2c700ade783..9abf2fa0ec4 100644 --- a/mcs/class/corlib/Test/System.Text/EncoderReplacementFallbackBufferTest.cs +++ b/mcs/class/corlib/Test/System.Text/EncoderReplacementFallbackBufferTest.cs @@ -69,21 +69,20 @@ namespace MonoTests.System.Text } [Test] - [Category ("NotWorking")] public void Iterate () { Assert.AreEqual ('\0', Encoding.UTF8.EncoderFallback .CreateFallbackBuffer ().GetNextChar (), "#1"); Buffer b = NewInstance (); -// Assert.AreEqual (1, b.Remaining, "#2"); -// Assert.AreEqual ('?', b.GetNextChar (), "#3"); + Assert.AreEqual (1, b.Remaining, "#2"); + Assert.AreEqual ('?', b.GetNextChar (), "#3"); Assert.AreEqual (0, b.Remaining, "#4"); Assert.AreEqual ('\0', b.GetNextChar (), "#5"); -// Assert.IsTrue (b.MovePrevious (), "#6"); -// Assert.AreEqual (1, b.Remaining, "#7"); + Assert.IsTrue (b.MovePrevious (), "#6"); + Assert.AreEqual (1, b.Remaining, "#7"); Assert.IsFalse (b.MovePrevious (), "#8"); -// Assert.AreEqual ('?', b.GetNextChar (), "#9"); + Assert.AreEqual ('?', b.GetNextChar (), "#9"); } } } diff --git a/mcs/class/corlib/Test/System.Text/UTF7EncodingTest.cs b/mcs/class/corlib/Test/System.Text/UTF7EncodingTest.cs index 45813ba0c56..f1786a99ce1 100644 --- a/mcs/class/corlib/Test/System.Text/UTF7EncodingTest.cs +++ b/mcs/class/corlib/Test/System.Text/UTF7EncodingTest.cs @@ -230,17 +230,10 @@ namespace MonoTests.System.Text } [Test] -#if NET_2_0 - [Category ("NotWorking")] -#endif public void TestMaxByteCount() { UTF7Encoding UTF7enc = new UTF7Encoding (); -#if NET_2_0 - Assertion.AssertEquals ("UTF #1", 152, UTF7enc.GetMaxByteCount(50)); -#else Assertion.AssertEquals ("UTF #1", 136, UTF7enc.GetMaxByteCount(50)); -#endif } } } diff --git a/mcs/class/corlib/Test/System.Text/UTF8EncodingTest.cs b/mcs/class/corlib/Test/System.Text/UTF8EncodingTest.cs index b743c49a4c3..fa3152b10a6 100644 --- a/mcs/class/corlib/Test/System.Text/UTF8EncodingTest.cs +++ b/mcs/class/corlib/Test/System.Text/UTF8EncodingTest.cs @@ -93,33 +93,17 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [Category ("NotWorking")] -#endif public void TestMaxCharCount() { UTF8Encoding UTF8enc = new UTF8Encoding (); -#if NET_2_0 - // hmm, where is this extra 1 coming from? - Assertion.AssertEquals ("UTF #1", 51, UTF8enc.GetMaxCharCount(50)); -#else Assertion.AssertEquals ("UTF #1", 50, UTF8enc.GetMaxCharCount(50)); -#endif } [Test] -#if NET_2_0 - [Category ("NotWorking")] -#endif public void TestMaxByteCount() { UTF8Encoding UTF8enc = new UTF8Encoding (); -#if NET_2_0 - // maybe under .NET 2.0 insufficient surrogate pair is just not handled, and 3 is Preamble size. - Assertion.AssertEquals ("UTF #1", 153, UTF8enc.GetMaxByteCount(50)); -#else Assertion.AssertEquals ("UTF #1", 200, UTF8enc.GetMaxByteCount(50)); -#endif } // regression for bug #59648 @@ -706,10 +690,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_1_UTF16Surrogates_511 () @@ -721,10 +701,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_1_UTF16Surrogates_512 () @@ -736,10 +712,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_1_UTF16Surrogates_513 () @@ -751,10 +723,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_1_UTF16Surrogates_514 () @@ -766,10 +734,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_1_UTF16Surrogates_515 () @@ -781,10 +745,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_1_UTF16Surrogates_516 () @@ -796,10 +756,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_1_UTF16Surrogates_517 () @@ -811,10 +767,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_2_PairedUTF16Surrogates_521 () @@ -827,10 +779,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_2_PairedUTF16Surrogates_522 () @@ -843,10 +791,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_2_PairedUTF16Surrogates_523 () @@ -859,10 +803,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_2_PairedUTF16Surrogates_524 () @@ -875,10 +815,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_2_PairedUTF16Surrogates_525 () @@ -891,10 +827,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_2_PairedUTF16Surrogates_526 () @@ -907,10 +839,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_2_PairedUTF16Surrogates_527 () @@ -923,10 +851,6 @@ namespace MonoTests.System.Text { } [Test] -#if NET_2_0 - [ExpectedException (typeof (DecoderFallbackException))] - [Category ("NotWorking")] -#endif // MS Fx 1.1 accept this // [ExpectedException (typeof (DecoderException))] public void T5_IllegalCodePosition_2_PairedUTF16Surrogates_528 () diff --git a/mcs/class/corlib/Test/System.Text/UnicodeEncodingTest.cs b/mcs/class/corlib/Test/System.Text/UnicodeEncodingTest.cs index a74dc3238ef..4f4b1b6c342 100644 --- a/mcs/class/corlib/Test/System.Text/UnicodeEncodingTest.cs +++ b/mcs/class/corlib/Test/System.Text/UnicodeEncodingTest.cs @@ -136,34 +136,17 @@ namespace MonoTests.System.Text }
[Test]
-#if NET_2_0
- [Category ("NotWorking")]
-#endif
public void TestMaxCharCount()
{
UnicodeEncoding UnicodeEnc = new UnicodeEncoding ();
-#if NET_2_0
- // where is this extra 1 coming from?
- Assertion.AssertEquals ("UTF #1", 25, UnicodeEnc.GetMaxCharCount(51));
-#else
Assertion.AssertEquals ("UTF #1", 25, UnicodeEnc.GetMaxCharCount(50));
-#endif
}
[Test]
-#if NET_2_0
- [Category ("NotWorking")]
-#endif
public void TestMaxByteCount()
{
UnicodeEncoding UnicodeEnc = new UnicodeEncoding ();
-#if NET_2_0
- // is this extra 2 BOM?
- Assertion.AssertEquals ("UTF #1", 102, UnicodeEnc.GetMaxByteCount(50));
-#else
- UnicodeEncoding UnicodeEnc = new UnicodeEncoding ();
Assertion.AssertEquals ("UTF #1", 100, UnicodeEnc.GetMaxByteCount(50));
-#endif
}
}
}
diff --git a/mcs/class/corlib/Test/System.Threading/ChangeLog b/mcs/class/corlib/Test/System.Threading/ChangeLog index fafd9048c98..0d4008cc68c 100644 --- a/mcs/class/corlib/Test/System.Threading/ChangeLog +++ b/mcs/class/corlib/Test/System.Threading/ChangeLog @@ -1,13 +1,3 @@ -2006-01-18 Atsushi Enomoto <atsushi@ximian.com> - - * ThreadTest.cs : mark not-working tests as [Ignore] since it blocks - run-test-ondotnet under 2.0 profile. - -2006-01-18 Atsushi Enomoto <atsushi@ximian.com> - - * MutexTest.cs : Marked TestWaitAndFoget1 as [Ignore]. Under - .NET 2.0 it breaks nunit-console (breaks its own AppDomain). - 2005-10-06 Sebastien Pouliot <sebastien@ximian.com> * ThreadTest.cs: Added regression test for #76332 when an IPrincipal diff --git a/mcs/class/corlib/Test/System.Threading/MutexTest.cs b/mcs/class/corlib/Test/System.Threading/MutexTest.cs index 2fa5a2b3082..0104086bb8a 100644 --- a/mcs/class/corlib/Test/System.Threading/MutexTest.cs +++ b/mcs/class/corlib/Test/System.Threading/MutexTest.cs @@ -144,7 +144,6 @@ namespace MonoTests.System.Threading // Hangs
[Category("NotWorking")]
- [Ignore ("It hangs and breaks the domain which runs nunit-console itself")]
public void TestWaitAndFoget1()
{
Mutex Sem = new Mutex(false);
diff --git a/mcs/class/corlib/Test/System.Threading/ThreadTest.cs b/mcs/class/corlib/Test/System.Threading/ThreadTest.cs index 39c445c9a38..1ff215e79ad 100644 --- a/mcs/class/corlib/Test/System.Threading/ThreadTest.cs +++ b/mcs/class/corlib/Test/System.Threading/ThreadTest.cs @@ -476,7 +476,6 @@ namespace MonoTests.System.Threading { } [Test] - [Ignore ("see comment below.")] public void CurrentPrincipal_PrincipalPolicy_NoPrincipal () { // note: switching from PrincipalPolicy won't work inside the same thread @@ -492,7 +491,6 @@ namespace MonoTests.System.Threading { } [Test] - [Ignore ("see comment below.")] public void CurrentPrincipal_PrincipalPolicy_UnauthenticatedPrincipal () { // note: switching from PrincipalPolicy won't work inside the same thread diff --git a/mcs/class/corlib/Test/System/ChangeLog b/mcs/class/corlib/Test/System/ChangeLog index 83509b6ab05..36fa209b198 100644 --- a/mcs/class/corlib/Test/System/ChangeLog +++ b/mcs/class/corlib/Test/System/ChangeLog @@ -1,11 +1,3 @@ -2006-01-19 Atsushi Enomoto <atsushi@ximian.com> - - * StringTest.cs : numbered some assertions. - -2006-01-19 Atsushi Enomoto <atsushi@ximian.com> - - * ModuleHandleTest.cs : GetPEKind() is not public in 2.0 RTM. - 2006-01-03 Zoltan Varga <vargaz@gmail.com> * ActivatorTest.cs: Add Nullable tests. diff --git a/mcs/class/corlib/Test/System/ModuleHandleTest.cs b/mcs/class/corlib/Test/System/ModuleHandleTest.cs index b966c5aa797..976de22253a 100644 --- a/mcs/class/corlib/Test/System/ModuleHandleTest.cs +++ b/mcs/class/corlib/Test/System/ModuleHandleTest.cs @@ -159,7 +159,6 @@ public class ModuleHandleTest : Assertion module.ResolveMethodHandle (0x60f0001); } -/* it is not public in 2.0 RTM. [Test] public void GetPEKind () { PortableExecutableKinds pe_kind; @@ -178,7 +177,6 @@ public class ModuleHandleTest : Assertion ModuleHandle.EmptyHandle.GetPEKind (out pe_kind, out machine); } -*/ } } diff --git a/mcs/class/corlib/Test/System/StringTest.cs b/mcs/class/corlib/Test/System/StringTest.cs index 424a42e8311..8d851dc6fe2 100644 --- a/mcs/class/corlib/Test/System/StringTest.cs +++ b/mcs/class/corlib/Test/System/StringTest.cs @@ -544,20 +544,20 @@ public class StringTest : Assertion Assert("null string error", errorThrown); AssertEquals("basic char index", 1, s1.IndexOf('r')); - AssertEquals("basic char index 2", 2, s1.IndexOf('i')); + AssertEquals("basic char index", 2, s1.IndexOf('i')); AssertEquals("basic char index - no", -1, s1.IndexOf('q')); AssertEquals("basic string index", 1, s1.IndexOf("rig")); - AssertEquals("basic string index 2", 2, s1.IndexOf("i")); - AssertEquals("basic string index 3", 0, "".IndexOf("")); - AssertEquals("basic string index 4", 0, "ABC".IndexOf("")); + AssertEquals("basic string index", 2, s1.IndexOf("i")); + AssertEquals("basic string index", 0, "".IndexOf("")); + AssertEquals("basic string index", 0, "ABC".IndexOf("")); AssertEquals("basic string index - no", -1, s1.IndexOf("rag")); AssertEquals("stepped char index", 1, s1.IndexOf('r', 1)); - AssertEquals("stepped char index 2", 2, s1.IndexOf('i', 1)); - AssertEquals("stepped char index 3", 4, s1.IndexOf('i', 3)); - AssertEquals("stepped char index 4", -1, s1.IndexOf('i', 5)); - AssertEquals("stepped char index 5", -1, s1.IndexOf('l', s1.Length)); + AssertEquals("stepped char index", 2, s1.IndexOf('i', 1)); + AssertEquals("stepped char index", 4, s1.IndexOf('i', 3)); + AssertEquals("stepped char index", -1, s1.IndexOf('i', 5)); + AssertEquals("stepped char index", -1, s1.IndexOf('l', s1.Length)); AssertEquals("stepped limited char index", 1, s1.IndexOf('r', 1, 1)); diff --git a/mcs/class/corlib/Test/resources/MyResources.de.resources b/mcs/class/corlib/Test/resources/MyResources.de.resources Binary files differdeleted file mode 100644 index acc57a03ef9..00000000000 --- a/mcs/class/corlib/Test/resources/MyResources.de.resources +++ /dev/null diff --git a/mcs/class/System.Web/Test/System.Web.Compilation/ChangeLog b/mcs/class/corlib/corlib_plattest.dll.excludes index e69de29bb2d..e69de29bb2d 100644 --- a/mcs/class/System.Web/Test/System.Web.Compilation/ChangeLog +++ b/mcs/class/corlib/corlib_plattest.dll.excludes diff --git a/mcs/class/corlib/corlib_res.dll.excludes b/mcs/class/corlib/corlib_res.dll.excludes new file mode 100644 index 00000000000..688550ea906 --- /dev/null +++ b/mcs/class/corlib/corlib_res.dll.excludes @@ -0,0 +1,22 @@ +System/Object.cs +System/ValueType.cs +System/Enum.cs +System/Delegate.cs +System/MulticastDelegate.cs +System.Runtime.CompilerServices/RuntimeHelpers.cs +System/Decimal.cs +System/DecimalFormatter.cs +System/MonoType.cs +System/Array.cs +System/String.cs +System/Console.cs +System/RuntimeTypeHandle.cs +System/ArgIterator.cs +System/ICloneable.cs +System.Collections/Queue.cs +System.Collections/ICollection.cs +System.Collections/IEnumerator.cs +System.Collections/IEnumerable.cs +System.Collections/IList.cs +System.Reflection/TargetInvocationException.cs +System.Security.Permissions/SecurityPermissionAttribute.cs diff --git a/mcs/class/corlib/corlib_test.dll.sources b/mcs/class/corlib/corlib_test.dll.sources index c0f2f2ab2b8..3ea294e0f20 100644 --- a/mcs/class/corlib/corlib_test.dll.sources +++ b/mcs/class/corlib/corlib_test.dll.sources @@ -120,7 +120,6 @@ System.Reflection/ModuleTest.cs System.Reflection/StrongNameKeyPairTest.cs System/ResolveEventArgsTest.cs System.Resources/ResourceReaderTest.cs -System.Resources/ResourceManagerTest.cs System.Runtime.CompilerServices/RuntimeHelpersTest.cs System.Runtime.InteropServices/GCHandleTest.cs System.Runtime.InteropServices/MarshalTest.cs diff --git a/mcs/errors/ChangeLog b/mcs/errors/ChangeLog index cecb5b496aa..e8e9461b28f 100644 --- a/mcs/errors/ChangeLog +++ b/mcs/errors/ChangeLog @@ -1,19 +1,3 @@ -2006-01-18 Raja R Harinath <rharinath@novell.com> - - * cs1026-2.cs: New test from #76656. - -2006-01-17 Raja R Harinath <rharinath@novell.com> - - * cs0201-2.cs, cs0201-3.cs: New tests from #76824. - -2006-01-16 Raja R Harinath <rharinath@novell.com> - - * cs1654.cs, cs1654-2, cs1656-4: New tests from #76874. - -2006-01-11 Raja R Harinath <rharinath@novell.com> - - * cs0023-3.cs: New test from #77204. - 2006-01-06 Ankit Jain <jankit@novell.com> * known-issues-gmcs: Removed cs0619-18.cs and cs0619-24.cs (working now). diff --git a/mcs/errors/cs0023-3.cs b/mcs/errors/cs0023-3.cs deleted file mode 100644 index 5ce866d779c..00000000000 --- a/mcs/errors/cs0023-3.cs +++ /dev/null @@ -1,14 +0,0 @@ -// cs0023-3.cs: The `.' operator can not be applied to operands of type 'void' -// Line: 12 - -using System; - -public class Testing -{ - public static void DoNothing() {} - - public static void Main() - { - Console.WriteLine(DoNothing().ToString()); - } -} diff --git a/mcs/errors/cs0165-11.cs b/mcs/errors/cs0165-11.cs index ad5c1ee3015..ad5c1ee3015 100644..100755 --- a/mcs/errors/cs0165-11.cs +++ b/mcs/errors/cs0165-11.cs diff --git a/mcs/errors/cs0165-8.cs b/mcs/errors/cs0165-8.cs index b6f8ddd5dc3..b6f8ddd5dc3 100644..100755 --- a/mcs/errors/cs0165-8.cs +++ b/mcs/errors/cs0165-8.cs diff --git a/mcs/errors/cs0201-2.cs b/mcs/errors/cs0201-2.cs deleted file mode 100644 index 260186d2df6..00000000000 --- a/mcs/errors/cs0201-2.cs +++ /dev/null @@ -1,9 +0,0 @@ -// cs0201-2.cs: Only assignment, call, increment, decrement, and new object expressions can be used as a statement -// Line: 7 - -class T { - static string XX; - static void Main () { - T.XX; - } -} diff --git a/mcs/errors/cs0201-3.cs b/mcs/errors/cs0201-3.cs deleted file mode 100644 index 623fd7fea4f..00000000000 --- a/mcs/errors/cs0201-3.cs +++ /dev/null @@ -1,11 +0,0 @@ -// cs0201-3.cs: Only assignment, call, increment, decrement, and new object expressions can be used as a statement -// Line: 7 - -class T { - static string XX { - get {return "";} - } - static void Main () { - T.XX; - } -} diff --git a/mcs/errors/cs1026-2.cs b/mcs/errors/cs1026-2.cs deleted file mode 100644 index 2ef8ebfba3f..00000000000 --- a/mcs/errors/cs1026-2.cs +++ /dev/null @@ -1,12 +0,0 @@ -// cs1026-2.cs: Expecting `)' -// Line: 10 - -using System; - -class Test { - static void Main () - { - string uri = "http://localhost/"; - int default_port = (uri.StartsWith ("http://") ? 80 : -1; - } -} diff --git a/mcs/errors/cs1654-2.cs b/mcs/errors/cs1654-2.cs deleted file mode 100644 index 1305053eb43..00000000000 --- a/mcs/errors/cs1654-2.cs +++ /dev/null @@ -1,24 +0,0 @@ -// cs1654-2.cs: Cannot assign to members of `q' because it is a `foreach iteration variable' -// Line: 22 - -using System.Collections; - -struct P { - public int x; -} - -struct Q { - public P p; -} - -class Test { - static IEnumerable foo () { return null; } - - static void Main () - { - IEnumerable f = foo (); - if (f != null) - foreach (Q q in f) - q.p.x = 0; - } -} diff --git a/mcs/errors/cs1654.cs b/mcs/errors/cs1654.cs deleted file mode 100644 index b9b316ea09a..00000000000 --- a/mcs/errors/cs1654.cs +++ /dev/null @@ -1,20 +0,0 @@ -// cs1654.cs: Cannot assign to members of `p' because it is a `foreach iteration variable' -// Line: 18 - -using System.Collections; - -struct P { - public int x; -} - -class Test { - static IEnumerable foo () { return null; } - - static void Main () - { - IEnumerable f = foo (); - if (f != null) - foreach (P p in f) - p.x = 0; - } -} diff --git a/mcs/errors/cs1656-4.cs b/mcs/errors/cs1656-4.cs deleted file mode 100644 index 491fd7f3f1e..00000000000 --- a/mcs/errors/cs1656-4.cs +++ /dev/null @@ -1,16 +0,0 @@ -// cs1656-4.cs: Cannot assign to `i' because it is a `foreach iteration variable' -// Line: 14 - -using System.Collections; - -class Test { - static IEnumerable foo () { return null; } - - static void Main () - { - IEnumerable f = foo (); - if (f != null) - foreach (int i in f) - i = 0; - } -} diff --git a/mcs/errors/gcs0021.cs b/mcs/errors/gcs0021.cs index 0c2ff6b1921..0c2ff6b1921 100644..100755 --- a/mcs/errors/gcs0021.cs +++ b/mcs/errors/gcs0021.cs diff --git a/mcs/errors/gcs0121.cs b/mcs/errors/gcs0121.cs deleted file mode 100755 index 39711b8a9f1..00000000000 --- a/mcs/errors/gcs0121.cs +++ /dev/null @@ -1,25 +0,0 @@ -// CS0121: The call is ambiguous between the following methods or properties: `Foo<int,int>.Test<>(in int)' and `Foo<int,int>.Test<>(in int)' -// Line: 23 -using System; - -public class Foo<T,U> -{ - public void Test (T index) - { - Console.WriteLine ("Test 1: {0}", index); - } - - public void Test (U index) - { - Console.WriteLine ("Test 2: {0}", index); - } -} - -class X -{ - static void Main () - { - Foo<int,int> foo = new Foo<int,int> (); - foo.Test (3); - } -} diff --git a/mcs/errors/known-issues-gmcs b/mcs/errors/known-issues-gmcs index f4931b3f6a4..00e35265e26 100644 --- a/mcs/errors/known-issues-gmcs +++ b/mcs/errors/known-issues-gmcs @@ -13,6 +13,7 @@ cs0229-2.cs cs0229.cs NO ERROR +cs0231-2.cs cs0525.cs cs0526.cs cs0531.cs @@ -24,6 +25,7 @@ cs0560.cs cs0567.cs cs0612-2.cs NO ERROR cs0619-42.cs +cs0628-3.cs NO ERROR cs0631-2.cs cs0647-3.cs cs1035.cs diff --git a/mcs/errors/known-issues-mcs b/mcs/errors/known-issues-mcs index 59b82912c51..5b7227669b7 100644 --- a/mcs/errors/known-issues-mcs +++ b/mcs/errors/known-issues-mcs @@ -13,6 +13,7 @@ cs0229-2.cs cs0229.cs NO ERROR +cs0231-2.cs cs0525.cs cs0526.cs cs0547.cs @@ -31,4 +32,4 @@ cs1525.cs cs1528.cs cs1586.cs cs1641.cs -cs1670-2.cs +cs1670-2.cs
\ No newline at end of file diff --git a/mcs/gmcs/ChangeLog b/mcs/gmcs/ChangeLog index f662515dd0b..7313b6f8fd2 100644 --- a/mcs/gmcs/ChangeLog +++ b/mcs/gmcs/ChangeLog @@ -19,57 +19,6 @@ 14.4.2.2 of the spec: if two methods unify for some type parameter substitution, we need to pick the more specific one. -2006-01-18 Raja R Harinath <rharinath@novell.com> - - Fix #76656, cs0231-2.cs. - * cs-parser.jay (formal_parameter_list): Make error case catch - more issues. - (parenthesized_expression_0): Add CS1026 check. - (invocation_expression): Remove unused { $$ = lexer.Location }. - -2006-01-17 Raja R Harinath <rharinath@novell.com> - - Fix #76824. - * cs-parser.jay (statement_expression): Don't list out the - individual statement-expressions. Convert syntax error into - CS0201 check. - -2006-01-16 Raja R Harinath <rharinath@novell.com> - - Fix #76874. - * ecore.cs (MemberAccess.CheckIntermediateModification): Remove. - (UnboxCast.DoResolveLValue): New. Move CS0445 check from - CheckIntermediateModification. - (FieldExpr.DoResolve): Add new two-argument version that - allows us to resolve the InstanceExpression as an lvalue. - The one-argument variant is now just a wrapper. - (FieldExpr.DoResolveLValue): Use two-argument DoResolve. - Resolve the lhs as an lvalue if the it has a value type. - (FieldExpr.AssignToReadonly): Move CS1648 and CS1650 checks - from Assign.DoResolve. - (PropertyExpr.InstanceResolve): Allow InstanceExpression to be - resolved as an lvalue. - (PropertyExpr.DoResolve): Update. - (PropertyExpr.DoResolveLValue): Resolve the lhs as an lvalue if it - has a value type. Move CS1612 check here from - CheckIntermediateModification. - * assign.cs (Assign.DoResolve): Remove CS1648 and CS1650 checks. - * expression.cs (EmptyExpression.OutAccess): New. Used as the - 'right_side' of a ResolveLValue on an 'out' argument. - (EmptyExpression.LValueMemberAccess): New. Used as the - 'right_side' of a propagated ResolveLValue on a value type. - (LocalVariableReference.DoResolveBase): Recognize - EmptyExpression.OutAccess and EmptyExpression.LValueMemberAccess. - Add CS1654 check. - (Argument.Resolve): Use EmptyExpression.OutAccess rather than - EmptyExpression.Null. - -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * typemanager.cs : added IsGenericParameter(). In gmcs it returns - Type.IsGenericParameter(). Fixed bug #77183. - * doc.cs : it is now identical to doc.cs in mcs. - 2006-01-16 Martin Baulig <martin@ximian.com> * generic.cs (ConstraintChecker.CheckConstraint): Fix #77167. @@ -161,6 +110,20 @@ Fix #77035. * expression.cs (ComposedCast.GetSignatureForError): Define. +2006-01-10 Martin Baulig <martin@ximian.com> + + * generic.cs + (TypeParameter.InflateConstraints): New public method. + + * iterators.cs (Iterator.DefineNestedTypes): Also inflate the + constraints; fixes #77042. + +2006-01-10 Martin Baulig <martin@ximian.com> + + * anonymous.cs (ScopeInfo.EmitScopeType): Use the `CurrentType' + instead of the `TypeBuilder' for this "<>THIS" variable; fixes + #77061. + 2006-01-05 Jb Evain <jbevain@gmail.com> * class.cs (Property.Define, Indexer.Define): do not tag the diff --git a/mcs/gmcs/assign.cs b/mcs/gmcs/assign.cs index ddc3e3d41ba..6b81d51f4b6 100644 --- a/mcs/gmcs/assign.cs +++ b/mcs/gmcs/assign.cs @@ -400,6 +400,21 @@ namespace Mono.CSharp { } } + FieldExpr field_exp = target as FieldExpr; + if (field_exp != null && field_exp.DeclaringType.IsValueType && !ec.IsConstructor && !ec.IsFieldInitializer) { + field_exp = field_exp.InstanceExpression as FieldExpr; + if (field_exp != null && field_exp.FieldInfo.IsInitOnly) { + if (field_exp.IsStatic) { + Report.Error (1650, loc, "Fields of static readonly field `{0}' cannot be assigned to (except in a static constructor or a variable initializer)", + field_exp.GetSignatureForError ()); + } else { + Report.Error (1648, loc, "Members of readonly field `{0}' cannot be modified (except in a constructor or a variable initializer)", + field_exp.GetSignatureForError ()); + } + return null; + } + } + if (!(target is IAssignMethod) && (target.eclass != ExprClass.EventAccess)) { Report.Error (131, loc, "Left hand of an assignment must be a variable, " + diff --git a/mcs/gmcs/cs-parser.jay b/mcs/gmcs/cs-parser.jay index cbd8f95dfb0..fc62f9fc2c5 100644 --- a/mcs/gmcs/cs-parser.jay +++ b/mcs/gmcs/cs-parser.jay @@ -1244,13 +1244,13 @@ formal_parameter_list $$ = new Parameters (pars, true); } - | parameter_array COMMA error + | parameter_array COMMA fixed_parameters { if ($1 != null) Report.Error (231, ((Parameter) $1).Location, "A params parameter must be the last parameter in a formal parameter list"); $$ = null; } - | ARGLIST COMMA error + | ARGLIST COMMA fixed_parameters { Report.Error (257, (Location) $1, "An __arglist parameter must be the last parameter in a formal parameter list"); $$ = null; @@ -2975,7 +2975,6 @@ parenthesized_expression_0 // CLOSE_PARENS_CAST, CLOSE_PARENS_NO_CAST, CLOSE_PARENS_OPEN_PARENS // or CLOSE_PARENS_MINUS. } - | OPEN_PARENS expression error { CheckToken (1026, yyToken, "Expecting ')'", lexer.Location); } ; parenthesized_expression @@ -2990,7 +2989,7 @@ parenthesized_expression // in Binary.DoResolve(). $$ = new ParenthesizedExpression ((Expression) $1); } - ; + ;; member_access : primary_expression DOT IDENTIFIER opt_type_argument_list @@ -3012,12 +3011,15 @@ predefined_type ; invocation_expression - : primary_expression OPEN_PARENS opt_argument_list CLOSE_PARENS + : primary_expression { + $$ = lexer.Location; + } OPEN_PARENS opt_argument_list CLOSE_PARENS { - if ($1 == null) - Report.Error (1, (Location) $2, "Parse error"); - else - $$ = new Invocation ((Expression) $1, (ArrayList) $3); + if ($1 == null) { + Location l = (Location) $3; + Report.Error (1, l, "Parse error"); + } + $$ = new Invocation ((Expression) $1, (ArrayList) $4); } | parenthesized_expression_0 CLOSE_PARENS_OPEN_PARENS OPEN_PARENS CLOSE_PARENS { @@ -4238,7 +4240,10 @@ local_constant_declaration ; expression_statement - : statement_expression SEMICOLON { $$ = $1; } + : statement_expression SEMICOLON + { + $$ = $1; + } ; // @@ -4246,18 +4251,14 @@ expression_statement // because statement_expression is used for example in for_statement // statement_expression - : expression - { - Expression expr = (Expression) $1; - ExpressionStatement s = expr as ExpressionStatement; - if (s == null) { - Report.Error (201, expr.Location, "Only assignment, call, increment, decrement, and new object expressions can be used as a statement"); - $$ = null; - } - $$ = new StatementExpression (s); - } - | error - { + : invocation_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | object_creation_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | assignment_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | post_increment_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | post_decrement_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | pre_increment_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | pre_decrement_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | error { Report.Error (1002, GetLocation ($1), "Expecting `;'"); $$ = null; } @@ -5272,7 +5273,6 @@ public CSharpParser (SeekableStreamReader reader, SourceFile file, ArrayList def public void parse () { - int errors = Report.Errors; try { if (yacc_verbose_flag > 1) yyparse (lexer, new yydebug.yyDebugSimple ()); @@ -5285,8 +5285,7 @@ public void parse () // Removed for production use, use parser verbose to get the output. // // Console.WriteLine (e); - if (Report.Errors == errors) - Report.Error (-25, lexer.Location, "Parsing error"); + Report.Error (-25, lexer.Location, "Parsing error"); if (yacc_verbose_flag > 0) Console.WriteLine (e); } @@ -5296,10 +5295,11 @@ public void parse () void CheckToken (int error, int yyToken, string msg, Location loc) { - if (yyToken >= Token.FIRST_KEYWORD && yyToken <= Token.LAST_KEYWORD) - Report.Error (error, loc, "{0}: `{1}' is a keyword", msg, yyNames [yyToken].ToLower ()); - else - Report.Error (error, loc, msg); + if (yyToken >= Token.FIRST_KEYWORD && yyToken <= Token.LAST_KEYWORD){ + Report.Error (error, loc, String.Format ("{0}: `{1}' is a keyword", msg, yyNames [yyToken].ToLower ())); + return; + } + Report.Error (error, loc, msg); } void CheckIdentifierToken (int yyToken, Location loc) diff --git a/mcs/gmcs/doc.cs b/mcs/gmcs/doc.cs index 5dc90161d3a..a0c81d475da 100644 --- a/mcs/gmcs/doc.cs +++ b/mcs/gmcs/doc.cs @@ -9,7 +9,6 @@ // (C) 2004 Novell, Inc. // // -#if ! BOOTSTRAP_WITH_OLDLIB using System; using System.Collections; using System.Collections.Specialized; @@ -30,16 +29,8 @@ namespace Mono.CSharp { // // Support class for XML documentation. // -#if NET_2_0 - static -#else - abstract -#endif - public class DocUtil + public static class DocUtil { -#if !NET_2_0 - private DocUtil () {} -#endif // TypeContainer // @@ -706,7 +697,7 @@ namespace Mono.CSharp { // delegate must not be referenced with args && (!type.IsSubclassOf (typeof (System.Delegate)) || parameterTypes == null)) { - string result = GetSignatureForDoc (type) + string result = type.FullName.Replace ("+", ".") + (bracePos < 0 ? String.Empty : signature.Substring (bracePos)); xref.SetAttribute ("cref", "T:" + result); return; // a type @@ -729,7 +720,7 @@ namespace Mono.CSharp { // to get its name, since mi // could be from DeclaringType // for nested types. - xref.SetAttribute ("cref", GetMemberDocHead (mi.MemberType) + GetSignatureForDoc (fm.Type) + "." + memberName + GetParametersFormatted (mi)); + xref.SetAttribute ("cref", GetMemberDocHead (mi.MemberType) + fm.Type.FullName.Replace ("+", ".") + "." + memberName + GetParametersFormatted (mi)); return; // a member of a type } } @@ -745,7 +736,7 @@ namespace Mono.CSharp { // to get its name, since mi // could be from DeclaringType // for nested types. - xref.SetAttribute ("cref", GetMemberDocHead (mi.MemberType) + GetSignatureForDoc (fm.Type) + "." + name + GetParametersFormatted (mi)); + xref.SetAttribute ("cref", GetMemberDocHead (mi.MemberType) + fm.Type.FullName.Replace ("+", ".") + "." + name + GetParametersFormatted (mi)); return; // local member name } } @@ -794,7 +785,7 @@ namespace Mono.CSharp { if (i > 0) sb.Append (','); Type t = parameters.ParameterType (i); - sb.Append (GetSignatureForDoc (t)); + sb.Append (t.FullName.Replace ('+', '.').Replace ('&', '@')); } sb.Append (')'); return sb.ToString (); @@ -860,7 +851,7 @@ namespace Mono.CSharp { StringBuilder psb = new StringBuilder (); foreach (Parameter p in plist) { psb.Append (psb.Length != 0 ? "," : "("); - psb.Append (GetSignatureForDoc (p.ExternalType ())); + psb.Append (p.ExternalType ().FullName.Replace ("+", ".").Replace ('&', '@')); } paramSpec = psb.ToString (); } @@ -875,20 +866,13 @@ namespace Mono.CSharp { switch (op.OperatorType) { case Operator.OpType.Implicit: case Operator.OpType.Explicit: - suffix = "~" + GetSignatureForDoc (op.OperatorMethodBuilder.ReturnType); + suffix = "~" + op.OperatorMethodBuilder.ReturnType.FullName.Replace ('+', '.'); break; } } return String.Concat (mc.DocCommentHeader, ds.Name, ".", name, paramSpec, suffix); } - static string GetSignatureForDoc (Type type) - { - return TypeManager.IsGenericParameter (type) ? - "`" + type.GenericParameterPosition : - type.FullName.Replace ("+", ".").Replace ('&', '@'); - } - // // Raised (and passed an XmlElement that contains the comment) // when GenerateDocComment is writing documentation expectedly. @@ -1071,4 +1055,3 @@ namespace Mono.CSharp { } } } -#endif diff --git a/mcs/gmcs/ecore.cs b/mcs/gmcs/ecore.cs index 7b516cb3515..fdbea06e164 100644 --- a/mcs/gmcs/ecore.cs +++ b/mcs/gmcs/ecore.cs @@ -1523,13 +1523,6 @@ namespace Mono.CSharp { return this; } - public override Expression DoResolveLValue (EmitContext ec, Expression right_side) - { - if (right_side == EmptyExpression.LValueMemberAccess) - Report.Error (445, loc, "Cannot modify the result of an unboxing conversion"); - return base.DoResolveLValue (ec, right_side); - } - public override void Emit (EmitContext ec) { Type t = type; @@ -2636,6 +2629,25 @@ namespace Mono.CSharp { "with an instance reference, qualify it with a type name instead", name); } + protected bool CheckIntermediateModification () + { + if (!InstanceExpression.Type.IsValueType) + return true; + + if (InstanceExpression is UnboxCast) { + Report.Error (445, loc, "Cannot modify the result of an unboxing conversion"); + return false; + } + + if (!(InstanceExpression is IMemoryLocation)) { + Report.Error (1612, loc, "Cannot modify the return value of `{0}' because it is not a variable", + InstanceExpression.GetSignatureForError ()); + return false; + } + + return true; + } + // TODO: possible optimalization // Cache resolved constant result in FieldBuilder <-> expression map public virtual Expression ResolveMemberAccess (EmitContext ec, Expression left, Location loc, @@ -3033,11 +3045,6 @@ namespace Mono.CSharp { override public Expression DoResolve (EmitContext ec) { - return DoResolve (ec, false); - } - - Expression DoResolve (EmitContext ec, bool lvalue_instance) - { if (ec.InRefOutArgumentResolving && FieldInfo.IsInitOnly && !ec.IsConstructor && FieldInfo.FieldType.IsValueType) { if (FieldInfo.FieldType is TypeBuilder) { if (FieldInfo.IsStatic) @@ -3070,17 +3077,8 @@ namespace Mono.CSharp { // Resolve the field's instance expression while flow analysis is turned // off: when accessing a field "a.b", we must check whether the field // "a.b" is initialized, not whether the whole struct "a" is initialized. - - if (lvalue_instance) { - bool old_do_flow_analysis = ec.DoFlowAnalysis; - ec.DoFlowAnalysis = false; - InstanceExpression = InstanceExpression.ResolveLValue (ec, EmptyExpression.LValueMemberAccess, loc); - ec.DoFlowAnalysis = old_do_flow_analysis; - } else { - ResolveFlags rf = ResolveFlags.VariableOrValue | ResolveFlags.DisableFlowAnalysis; - InstanceExpression = InstanceExpression.Resolve (ec, rf); - } - + InstanceExpression = InstanceExpression.Resolve ( + ec, ResolveFlags.VariableOrValue | ResolveFlags.DisableFlowAnalysis); if (InstanceExpression == null) return null; } @@ -3126,32 +3124,16 @@ namespace Mono.CSharp { return this; } - void Report_AssignToReadonly (Expression right_side) + void Report_AssignToReadonly (bool is_instance) { - int code; string msg; - bool need_error_sig = false; - if (right_side == EmptyExpression.LValueMemberAccess) { - if (IsStatic) { - code = 1650; - msg = "Fields of static readonly field `{0}' cannot be assigned to (except in a static constructor or a variable initializer)"; - } else { - code = 1648; - msg = "Members of readonly field `{0}' cannot be modified (except in a constructor or a variable initializer)"; - } - need_error_sig = true; - } else if (IsStatic) { - code = 198; - msg = "A static readonly field cannot be assigned to (except in a static constructor or a variable initializer)"; - } else { - code = 191; + + if (is_instance) msg = "A readonly field cannot be assigned to (except in a constructor or a variable initializer)"; - } - - if (need_error_sig) - Report.Error (code, loc, msg, GetSignatureForError ()); else - Report.Error (code, loc, msg); + msg = "A static readonly field cannot be assigned to (except in a static constructor or a variable initializer)"; + + Report.Error (is_instance ? 191 : 198, loc, msg); } override public Expression DoResolveLValue (EmitContext ec, Expression right_side) @@ -3160,13 +3142,14 @@ namespace Mono.CSharp { if ((var != null) && (var.VariableInfo != null)) var.VariableInfo.SetFieldAssigned (ec, FieldInfo.Name); - bool lvalue_instance = !FieldInfo.IsStatic && FieldInfo.DeclaringType.IsValueType; - - Expression e = DoResolve (ec, lvalue_instance); + Expression e = DoResolve (ec); if (e == null) return null; + if (!FieldInfo.IsStatic && !CheckIntermediateModification ()) + return null; + FieldBase fb = TypeManager.GetField (FieldInfo); if (fb != null) fb.SetAssigned (); @@ -3180,7 +3163,7 @@ namespace Mono.CSharp { if (ec.IsConstructor){ if (IsStatic && !ec.IsStatic) - Report_AssignToReadonly (right_side); + Report_AssignToReadonly (false); Type ctype; if (ec.TypeContainer.CurrentType != null) @@ -3192,7 +3175,7 @@ namespace Mono.CSharp { return this; } - Report_AssignToReadonly (right_side); + Report_AssignToReadonly (!IsStatic); return null; } @@ -3292,7 +3275,7 @@ namespace Mono.CSharp { prepared = prepare_for_load; if (is_readonly && !ec.IsConstructor){ - Report_AssignToReadonly (source); + Report_AssignToReadonly (!is_static); return; } @@ -3533,7 +3516,7 @@ namespace Mono.CSharp { } } - bool InstanceResolve (EmitContext ec, bool lvalue_instance, bool must_do_cs1540_check) + bool InstanceResolve (EmitContext ec, bool must_do_cs1540_check) { if (is_static) { InstanceExpression = null; @@ -3545,10 +3528,7 @@ namespace Mono.CSharp { return false; } - if (lvalue_instance) - InstanceExpression = InstanceExpression.ResolveLValue (ec, EmptyExpression.LValueMemberAccess, loc); - else - InstanceExpression = InstanceExpression.DoResolve (ec); + InstanceExpression = InstanceExpression.DoResolve (ec); if (InstanceExpression == null) return false; @@ -3628,7 +3608,7 @@ namespace Mono.CSharp { return null; } - if (!InstanceResolve (ec, false, must_do_cs1540_check)) + if (!InstanceResolve (ec, must_do_cs1540_check)) return null; // @@ -3660,13 +3640,9 @@ namespace Mono.CSharp { // if (getter == null) return null; - - if (right_side == EmptyExpression.LValueMemberAccess) - Report.Error (1612, loc, "Cannot modify the return value of `{0}' because it is not a variable", - GetSignatureForError ()); - else - Report.Error (200, loc, "Property or indexer `{0}' cannot be assigned to (it is read only)", - GetSignatureForError ()); + + Report.Error (200, loc, " Property or indexer `{0}' cannot be assigned to (it is read only)", + TypeManager.GetFullNameSignature (PropertyInfo)); return null; } @@ -3688,7 +3664,7 @@ namespace Mono.CSharp { return null; } - if (!InstanceResolve (ec, PropertyInfo.DeclaringType.IsValueType, must_do_cs1540_check)) + if (!InstanceResolve (ec, must_do_cs1540_check)) return null; // @@ -3699,6 +3675,12 @@ namespace Mono.CSharp { return null; } + // + // Check that we are not making changes to a temporary memory location + // + if (InstanceExpression != null && !CheckIntermediateModification ()) + return null; + return this; } diff --git a/mcs/gmcs/expression.cs b/mcs/gmcs/expression.cs index 2afc8b1afa5..2f1cf7c021d 100644 --- a/mcs/gmcs/expression.cs +++ b/mcs/gmcs/expression.cs @@ -3489,7 +3489,7 @@ namespace Mono.CSharp { local_info = Block.GetLocalInfo (Name); // is out param - if (lvalue_right_side == EmptyExpression.OutAccess) + if (lvalue_right_side == EmptyExpression.Null) local_info.Used = true; is_readonly = local_info.ReadOnly; @@ -3500,12 +3500,9 @@ namespace Mono.CSharp { VariableInfo variable_info = local_info.VariableInfo; if (lvalue_right_side != null){ if (is_readonly){ - if (lvalue_right_side is LocalVariableReference || lvalue_right_side == EmptyExpression.OutAccess) + if (lvalue_right_side is LocalVariableReference || lvalue_right_side == EmptyExpression.Null) Report.Error (1657, loc, "Cannot pass `{0}' as a ref or out argument because it is a `{1}'", Name, local_info.GetReadOnlyContext ()); - else if (lvalue_right_side == EmptyExpression.LValueMemberAccess) - Report.Error (1654, loc, "Cannot assign to members of `{0}' because it is a `{1}'", - Name, local_info.GetReadOnlyContext ()); else Report.Error (1656, loc, "Cannot assign to `{0}' because it is a `{1}'", Name, local_info.GetReadOnlyContext ()); @@ -4075,7 +4072,7 @@ namespace Mono.CSharp { Error_LValueRequired (loc); } else if (ArgType == AType.Out) { ec.InRefOutArgumentResolving = true; - Expr = Expr.DoResolveLValue (ec, EmptyExpression.OutAccess); + Expr = Expr.DoResolveLValue (ec, EmptyExpression.Null); ec.InRefOutArgumentResolving = false; if (Expr == null) @@ -8581,9 +8578,6 @@ namespace Mono.CSharp { public class EmptyExpression : Expression { public static readonly EmptyExpression Null = new EmptyExpression (); - public static readonly EmptyExpression OutAccess = new EmptyExpression (); - public static readonly EmptyExpression LValueMemberAccess = new EmptyExpression (); - static EmptyExpression temp = new EmptyExpression (); public static EmptyExpression Grab () { diff --git a/mcs/gmcs/typemanager.cs b/mcs/gmcs/typemanager.cs index 91a28d33f8e..981b4fd73c7 100644 --- a/mcs/gmcs/typemanager.cs +++ b/mcs/gmcs/typemanager.cs @@ -2436,13 +2436,6 @@ public partial class TypeManager { return target_list; } - // This method always return false for non-generic compiler, - // while Type.IsGenericParameter is returned if it is supported. - public static bool IsGenericParameter (Type type) - { - return type.IsGenericParameter; - } - #region MemberLookup implementation // diff --git a/mcs/mcs/ChangeLog b/mcs/mcs/ChangeLog index a3beb979a30..946fc43ae80 100644 --- a/mcs/mcs/ChangeLog +++ b/mcs/mcs/ChangeLog @@ -1,74 +1,3 @@ -2006-01-18 Raja R Harinath <rharinath@novell.com> - - Fix #76656, cs0231-2.cs. - * cs-parser.jay (formal_parameter_list): Make error case catch - more issues. - (parenthesized_expression_0): Add CS1026 check. - (invocation_expression): Remove unused { $$ = lexer.Location }. - -2006-01-17 Raja R Harinath <rharinath@novell.com> - - Fix #76824. - * cs-parser.jay (statement_expression): Don't list out the - individual statement-expressions. Convert syntax error into - CS0201 check. - -2006-01-16 Raja R Harinath <rharinath@novell.com> - - Fix #76874. - * ecore.cs (MemberAccess.CheckIntermediateModification): Remove. - (UnboxCast.DoResolveLValue): New. Move CS0445 check from - CheckIntermediateModification. - (FieldExpr.DoResolve): Add new two-argument version that - allows us to resolve the InstanceExpression as an lvalue. - The one-argument variant is now just a wrapper. - (FieldExpr.DoResolveLValue): Use two-argument DoResolve. - Resolve the lhs as an lvalue if the it has a value type. - (FieldExpr.AssignToReadonly): Move CS1648 and CS1650 checks - from Assign.DoResolve. - (PropertyExpr.InstanceResolve): Allow InstanceExpression to be - resolved as an lvalue. - (PropertyExpr.DoResolve): Update. - (PropertyExpr.DoResolveLValue): Resolve the lhs as an lvalue if it - has a value type. Move CS1612 check here from - CheckIntermediateModification. - * assign.cs (Assign.DoResolve): Remove CS1648 and CS1650 checks. - * expression.cs (EmptyExpression.OutAccess): New. Used as the - 'right_side' of a ResolveLValue on an 'out' argument. - (EmptyExpression.LValueMemberAccess): New. Used as the - 'right_side' of a propagated ResolveLValue on a value type. - (LocalVariableReference.DoResolveBase): Recognize - EmptyExpression.OutAccess and EmptyExpression.LValueMemberAccess. - Add CS1654 check. - (Argument.Resolve): Use EmptyExpression.OutAccess rather than - EmptyExpression.Null. - -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * typemanager.cs : added IsGenericParameter(). In mcs it always - return false. - * doc.cs : for generic parameters, use GenericParameterPosition, - not FullName. - -2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu> - - * expression.cs: Fix Console.WriteLine ((this = x).foo); - -2006-01-12 Miguel de Icaza <miguel@novell.com> - - This fixes the problem where we used ldfld instead of ldflda to - load the "THIS" pointer on captured parameters, when THIS is a - value type. See bug #77205. - - * iterators.cs (CapturedThisReference.Emit): Pass false to - EmitThis (we do not need the address). - - * codegen.cs (EmitThis): it needs to know whether we need the - address of `this' or not. This is used by value types. - - * expression.cs (This.AddressOf): Pass true to the EmitThis call, - every other call passes false. - 2006-01-12 Raja R Harinath <rharinath@novell.com> Fix #77221. diff --git a/mcs/mcs/assign.cs b/mcs/mcs/assign.cs index c692474c096..ef46657107c 100644 --- a/mcs/mcs/assign.cs +++ b/mcs/mcs/assign.cs @@ -400,6 +400,21 @@ namespace Mono.CSharp { } } + FieldExpr field_exp = target as FieldExpr; + if (field_exp != null && field_exp.DeclaringType.IsValueType && !ec.IsConstructor && !ec.IsFieldInitializer) { + field_exp = field_exp.InstanceExpression as FieldExpr; + if (field_exp != null && field_exp.FieldInfo.IsInitOnly) { + if (field_exp.IsStatic) { + Report.Error (1650, loc, "Fields of static readonly field `{0}' cannot be assigned to (except in a static constructor or a variable initializer)", + field_exp.GetSignatureForError ()); + } else { + Report.Error (1648, loc, "Members of readonly field `{0}' cannot be modified (except in a constructor or a variable initializer)", + field_exp.GetSignatureForError ()); + } + return null; + } + } + if (!(target is IAssignMethod) && (target.eclass != ExprClass.EventAccess)) { Report.Error (131, loc, "Left hand of an assignment must be a variable, " + diff --git a/mcs/mcs/codegen.cs b/mcs/mcs/codegen.cs index a05e2853f42..a6f2449e888 100644 --- a/mcs/mcs/codegen.cs +++ b/mcs/mcs/codegen.cs @@ -886,7 +886,7 @@ namespace Mono.CSharp { // Emits the proper object to address fields on a remapped // variable/parameter to field in anonymous-method/iterator proxy classes. // - public void EmitThis (bool need_address) + public void EmitThis () { ig.Emit (OpCodes.Ldarg_0); if (capture_context != null && CurrentAnonymousMethod != null){ @@ -895,10 +895,7 @@ namespace Mono.CSharp { if (si.ParentLink != null) ig.Emit (OpCodes.Ldfld, si.ParentLink); if (si.THIS != null){ - if (need_address && TypeManager.IsValueType (si.THIS.FieldType)) - ig.Emit (OpCodes.Ldflda, si.THIS); - else - ig.Emit (OpCodes.Ldfld, si.THIS); + ig.Emit (OpCodes.Ldfld, si.THIS); break; } si = si.ParentScope; diff --git a/mcs/mcs/cs-parser.jay b/mcs/mcs/cs-parser.jay index 8a70d97127d..a88ca9764f7 100644 --- a/mcs/mcs/cs-parser.jay +++ b/mcs/mcs/cs-parser.jay @@ -1176,13 +1176,13 @@ formal_parameter_list $$ = new Parameters (pars, true); } - | parameter_array COMMA error + | parameter_array COMMA fixed_parameters { if ($1 != null) Report.Error (231, ((Parameter) $1).Location, "A params parameter must be the last parameter in a formal parameter list"); $$ = null; } - | ARGLIST COMMA error + | ARGLIST COMMA fixed_parameters { Report.Error (257, (Location) $1, "An __arglist parameter must be the last parameter in a formal parameter list"); $$ = null; @@ -2743,7 +2743,6 @@ parenthesized_expression_0 // CLOSE_PARENS_CAST, CLOSE_PARENS_NO_CAST, CLOSE_PARENS_OPEN_PARENS // or CLOSE_PARENS_MINUS. } - | OPEN_PARENS expression error { CheckToken (1026, yyToken, "Expecting ')'", lexer.Location); } ; parenthesized_expression @@ -2758,7 +2757,7 @@ parenthesized_expression // in Binary.DoResolve(). $$ = new ParenthesizedExpression ((Expression) $1); } - ; + ;; member_access : primary_expression DOT IDENTIFIER @@ -2778,12 +2777,15 @@ predefined_type ; invocation_expression - : primary_expression OPEN_PARENS opt_argument_list CLOSE_PARENS + : primary_expression { + $$ = lexer.Location; + } OPEN_PARENS opt_argument_list CLOSE_PARENS { - if ($1 == null) - Report.Error (1, (Location) $2, "Parse error"); - else - $$ = new Invocation ((Expression) $1, (ArrayList) $3); + if ($1 == null) { + Location l = (Location) $3; + Report.Error (1, l, "Parse error"); + } + $$ = new Invocation ((Expression) $1, (ArrayList) $4); } | parenthesized_expression_0 CLOSE_PARENS_OPEN_PARENS OPEN_PARENS CLOSE_PARENS { @@ -3851,7 +3853,10 @@ local_constant_declaration ; expression_statement - : statement_expression SEMICOLON { $$ = $1; } + : statement_expression SEMICOLON + { + $$ = $1; + } ; // @@ -3859,18 +3864,14 @@ expression_statement // because statement_expression is used for example in for_statement // statement_expression - : expression - { - Expression expr = (Expression) $1; - ExpressionStatement s = expr as ExpressionStatement; - if (s == null) { - Report.Error (201, expr.Location, "Only assignment, call, increment, decrement, and new object expressions can be used as a statement"); - $$ = null; - } - $$ = new StatementExpression (s); - } - | error - { + : invocation_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | object_creation_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | assignment_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | post_increment_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | post_decrement_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | pre_increment_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | pre_decrement_expression { $$ = new StatementExpression ((ExpressionStatement) $1); } + | error { Report.Error (1002, GetLocation ($1), "Expecting `;'"); $$ = null; } @@ -4885,7 +4886,6 @@ public CSharpParser (SeekableStreamReader reader, SourceFile file, ArrayList def public void parse () { - int errors = Report.Errors; try { if (yacc_verbose_flag > 1) yyparse (lexer, new yydebug.yyDebugSimple ()); @@ -4898,8 +4898,7 @@ public void parse () // Removed for production use, use parser verbose to get the output. // // Console.WriteLine (e); - if (Report.Errors == errors) - Report.Error (-25, lexer.Location, "Parsing error"); + Report.Error (-25, lexer.Location, "Parsing error"); if (yacc_verbose_flag > 0) Console.WriteLine (e); } @@ -4909,10 +4908,11 @@ public void parse () void CheckToken (int error, int yyToken, string msg, Location loc) { - if (yyToken >= Token.FIRST_KEYWORD && yyToken <= Token.LAST_KEYWORD) - Report.Error (error, loc, "{0}: `{1}' is a keyword", msg, yyNames [yyToken].ToLower ()); - else - Report.Error (error, loc, msg); + if (yyToken >= Token.FIRST_KEYWORD && yyToken <= Token.LAST_KEYWORD){ + Report.Error (error, loc, String.Format ("{0}: `{1}' is a keyword", msg, yyNames [yyToken].ToLower ())); + return; + } + Report.Error (error, loc, msg); } void CheckIdentifierToken (int yyToken, Location loc) diff --git a/mcs/mcs/doc.cs b/mcs/mcs/doc.cs index 9e6ca327654..8f0d14fbce4 100644 --- a/mcs/mcs/doc.cs +++ b/mcs/mcs/doc.cs @@ -9,6 +9,7 @@ // (C) 2004 Novell, Inc. // // + #if ! BOOTSTRAP_WITH_OLDLIB using System; using System.Collections; @@ -30,16 +31,8 @@ namespace Mono.CSharp { // // Support class for XML documentation. // -#if NET_2_0 - static -#else - abstract -#endif public class DocUtil { -#if !NET_2_0 - private DocUtil () {} -#endif // TypeContainer // @@ -706,7 +699,7 @@ namespace Mono.CSharp { // delegate must not be referenced with args && (!type.IsSubclassOf (typeof (System.Delegate)) || parameterTypes == null)) { - string result = GetSignatureForDoc (type) + string result = type.FullName.Replace ("+", ".") + (bracePos < 0 ? String.Empty : signature.Substring (bracePos)); xref.SetAttribute ("cref", "T:" + result); return; // a type @@ -729,7 +722,7 @@ namespace Mono.CSharp { // to get its name, since mi // could be from DeclaringType // for nested types. - xref.SetAttribute ("cref", GetMemberDocHead (mi.MemberType) + GetSignatureForDoc (fm.Type) + "." + memberName + GetParametersFormatted (mi)); + xref.SetAttribute ("cref", GetMemberDocHead (mi.MemberType) + fm.Type.FullName.Replace ("+", ".") + "." + memberName + GetParametersFormatted (mi)); return; // a member of a type } } @@ -745,7 +738,7 @@ namespace Mono.CSharp { // to get its name, since mi // could be from DeclaringType // for nested types. - xref.SetAttribute ("cref", GetMemberDocHead (mi.MemberType) + GetSignatureForDoc (fm.Type) + "." + name + GetParametersFormatted (mi)); + xref.SetAttribute ("cref", GetMemberDocHead (mi.MemberType) + fm.Type.FullName.Replace ("+", ".") + "." + name + GetParametersFormatted (mi)); return; // local member name } } @@ -794,7 +787,7 @@ namespace Mono.CSharp { if (i > 0) sb.Append (','); Type t = parameters.ParameterType (i); - sb.Append (GetSignatureForDoc (t)); + sb.Append (t.FullName.Replace ('+', '.').Replace ('&', '@')); } sb.Append (')'); return sb.ToString (); @@ -860,7 +853,7 @@ namespace Mono.CSharp { StringBuilder psb = new StringBuilder (); foreach (Parameter p in plist) { psb.Append (psb.Length != 0 ? "," : "("); - psb.Append (GetSignatureForDoc (p.ExternalType ())); + psb.Append (p.ExternalType ().FullName.Replace ("+", ".").Replace ('&', '@')); } paramSpec = psb.ToString (); } @@ -875,20 +868,13 @@ namespace Mono.CSharp { switch (op.OperatorType) { case Operator.OpType.Implicit: case Operator.OpType.Explicit: - suffix = "~" + GetSignatureForDoc (op.OperatorMethodBuilder.ReturnType); + suffix = "~" + op.OperatorMethodBuilder.ReturnType.FullName.Replace ('+', '.'); break; } } return String.Concat (mc.DocCommentHeader, ds.Name, ".", name, paramSpec, suffix); } - static string GetSignatureForDoc (Type type) - { - return TypeManager.IsGenericParameter (type) ? - type.Name : - type.FullName.Replace ("+", ".").Replace ('&', '@'); - } - // // Raised (and passed an XmlElement that contains the comment) // when GenerateDocComment is writing documentation expectedly. @@ -1071,4 +1057,5 @@ namespace Mono.CSharp { } } } + #endif diff --git a/mcs/mcs/ecore.cs b/mcs/mcs/ecore.cs index dbecb8fd6dd..91f013ef80d 100644 --- a/mcs/mcs/ecore.cs +++ b/mcs/mcs/ecore.cs @@ -1484,13 +1484,6 @@ namespace Mono.CSharp { return this; } - public override Expression DoResolveLValue (EmitContext ec, Expression right_side) - { - if (right_side == EmptyExpression.LValueMemberAccess) - Report.Error (445, loc, "Cannot modify the result of an unboxing conversion"); - return base.DoResolveLValue (ec, right_side); - } - public override void Emit (EmitContext ec) { Type t = type; @@ -2393,6 +2386,25 @@ namespace Mono.CSharp { "with an instance reference, qualify it with a type name instead", name); } + protected bool CheckIntermediateModification () + { + if (!InstanceExpression.Type.IsValueType) + return true; + + if (InstanceExpression is UnboxCast) { + Report.Error (445, loc, "Cannot modify the result of an unboxing conversion"); + return false; + } + + if (!(InstanceExpression is IMemoryLocation)) { + Report.Error (1612, loc, "Cannot modify the return value of `{0}' because it is not a variable", + InstanceExpression.GetSignatureForError ()); + return false; + } + + return true; + } + // TODO: possible optimalization // Cache resolved constant result in FieldBuilder <-> expression map public virtual Expression ResolveMemberAccess (EmitContext ec, Expression left, Location loc, @@ -2728,11 +2740,6 @@ namespace Mono.CSharp { override public Expression DoResolve (EmitContext ec) { - return DoResolve (ec, false); - } - - Expression DoResolve (EmitContext ec, bool lvalue_instance) - { if (ec.InRefOutArgumentResolving && FieldInfo.IsInitOnly && !ec.IsConstructor && FieldInfo.FieldType.IsValueType) { if (FieldInfo.FieldType is TypeBuilder) { if (FieldInfo.IsStatic) @@ -2765,17 +2772,8 @@ namespace Mono.CSharp { // Resolve the field's instance expression while flow analysis is turned // off: when accessing a field "a.b", we must check whether the field // "a.b" is initialized, not whether the whole struct "a" is initialized. - - if (lvalue_instance) { - bool old_do_flow_analysis = ec.DoFlowAnalysis; - ec.DoFlowAnalysis = false; - InstanceExpression = InstanceExpression.ResolveLValue (ec, EmptyExpression.LValueMemberAccess, loc); - ec.DoFlowAnalysis = old_do_flow_analysis; - } else { - ResolveFlags rf = ResolveFlags.VariableOrValue | ResolveFlags.DisableFlowAnalysis; - InstanceExpression = InstanceExpression.Resolve (ec, rf); - } - + InstanceExpression = InstanceExpression.Resolve ( + ec, ResolveFlags.VariableOrValue | ResolveFlags.DisableFlowAnalysis); if (InstanceExpression == null) return null; } @@ -2822,32 +2820,16 @@ namespace Mono.CSharp { return this; } - void Report_AssignToReadonly (Expression right_side) + void Report_AssignToReadonly (bool is_instance) { - int code; string msg; - bool need_error_sig = false; - if (right_side == EmptyExpression.LValueMemberAccess) { - if (IsStatic) { - code = 1650; - msg = "Fields of static readonly field `{0}' cannot be assigned to (except in a static constructor or a variable initializer)"; - } else { - code = 1648; - msg = "Members of readonly field `{0}' cannot be modified (except in a constructor or a variable initializer)"; - } - need_error_sig = true; - } else if (IsStatic) { - code = 198; - msg = "A static readonly field cannot be assigned to (except in a static constructor or a variable initializer)"; - } else { - code = 191; + + if (is_instance) msg = "A readonly field cannot be assigned to (except in a constructor or a variable initializer)"; - } - - if (need_error_sig) - Report.Error (code, loc, msg, GetSignatureForError ()); else - Report.Error (code, loc, msg); + msg = "A static readonly field cannot be assigned to (except in a static constructor or a variable initializer)"; + + Report.Error (is_instance ? 191 : 198, loc, msg); } override public Expression DoResolveLValue (EmitContext ec, Expression right_side) @@ -2856,13 +2838,14 @@ namespace Mono.CSharp { if ((var != null) && (var.VariableInfo != null)) var.VariableInfo.SetFieldAssigned (ec, FieldInfo.Name); - bool lvalue_instance = !FieldInfo.IsStatic && FieldInfo.DeclaringType.IsValueType; - - Expression e = DoResolve (ec, lvalue_instance); + Expression e = DoResolve (ec); if (e == null) return null; + if (!FieldInfo.IsStatic && !CheckIntermediateModification ()) + return null; + FieldBase fb = TypeManager.GetField (FieldInfo); if (fb != null) fb.SetAssigned (); @@ -2876,13 +2859,13 @@ namespace Mono.CSharp { if (ec.IsConstructor){ if (IsStatic && !ec.IsStatic) - Report_AssignToReadonly (right_side); + Report_AssignToReadonly (false); if (ec.ContainerType == FieldInfo.DeclaringType) return this; } - Report_AssignToReadonly (right_side); + Report_AssignToReadonly (!IsStatic); return null; } @@ -2981,7 +2964,7 @@ namespace Mono.CSharp { prepared = prepare_for_load; if (is_readonly && !ec.IsConstructor){ - Report_AssignToReadonly (source); + Report_AssignToReadonly (!is_static); return; } @@ -3216,7 +3199,7 @@ namespace Mono.CSharp { } } - bool InstanceResolve (EmitContext ec, bool lvalue_instance, bool must_do_cs1540_check) + bool InstanceResolve (EmitContext ec, bool must_do_cs1540_check) { if (is_static) { InstanceExpression = null; @@ -3228,10 +3211,7 @@ namespace Mono.CSharp { return false; } - if (lvalue_instance) - InstanceExpression = InstanceExpression.ResolveLValue (ec, EmptyExpression.LValueMemberAccess, loc); - else - InstanceExpression = InstanceExpression.DoResolve (ec); + InstanceExpression = InstanceExpression.DoResolve (ec); if (InstanceExpression == null) return false; @@ -3311,7 +3291,7 @@ namespace Mono.CSharp { return null; } - if (!InstanceResolve (ec, false, must_do_cs1540_check)) + if (!InstanceResolve (ec, must_do_cs1540_check)) return null; // @@ -3343,13 +3323,9 @@ namespace Mono.CSharp { // if (getter == null) return null; - - if (right_side == EmptyExpression.LValueMemberAccess) - Report.Error (1612, loc, "Cannot modify the return value of `{0}' because it is not a variable", - GetSignatureForError ()); - else - Report.Error (200, loc, "Property or indexer `{0}' cannot be assigned to (it is read only)", - GetSignatureForError ()); + + Report.Error (200, loc, " Property or indexer `{0}' cannot be assigned to (it is read only)", + TypeManager.GetFullNameSignature (PropertyInfo)); return null; } @@ -3371,7 +3347,7 @@ namespace Mono.CSharp { return null; } - if (!InstanceResolve (ec, PropertyInfo.DeclaringType.IsValueType, must_do_cs1540_check)) + if (!InstanceResolve (ec, must_do_cs1540_check)) return null; // @@ -3382,6 +3358,12 @@ namespace Mono.CSharp { return null; } + // + // Check that we are not making changes to a temporary memory location + // + if (InstanceExpression != null && !CheckIntermediateModification ()) + return null; + return this; } diff --git a/mcs/mcs/expression.cs b/mcs/mcs/expression.cs index f508f16e406..b9eccc180f9 100644 --- a/mcs/mcs/expression.cs +++ b/mcs/mcs/expression.cs @@ -3410,7 +3410,7 @@ namespace Mono.CSharp { local_info = Block.GetLocalInfo (Name); // is out param - if (lvalue_right_side == EmptyExpression.OutAccess) + if (lvalue_right_side == EmptyExpression.Null) local_info.Used = true; is_readonly = local_info.ReadOnly; @@ -3421,12 +3421,9 @@ namespace Mono.CSharp { VariableInfo variable_info = local_info.VariableInfo; if (lvalue_right_side != null){ if (is_readonly){ - if (lvalue_right_side is LocalVariableReference || lvalue_right_side == EmptyExpression.OutAccess) + if (lvalue_right_side is LocalVariableReference || lvalue_right_side == EmptyExpression.Null) Report.Error (1657, loc, "Cannot pass `{0}' as a ref or out argument because it is a `{1}'", Name, local_info.GetReadOnlyContext ()); - else if (lvalue_right_side == EmptyExpression.LValueMemberAccess) - Report.Error (1654, loc, "Cannot assign to members of `{0}' because it is a `{1}'", - Name, local_info.GetReadOnlyContext ()); else Report.Error (1656, loc, "Cannot assign to `{0}' because it is a `{1}'", Name, local_info.GetReadOnlyContext ()); @@ -3992,7 +3989,7 @@ namespace Mono.CSharp { Error_LValueRequired (loc); } else if (ArgType == AType.Out) { ec.InRefOutArgumentResolving = true; - Expr = Expr.DoResolveLValue (ec, EmptyExpression.OutAccess); + Expr = Expr.DoResolveLValue (ec, EmptyExpression.Null); ec.InRefOutArgumentResolving = false; if (Expr == null) @@ -6638,20 +6635,11 @@ namespace Mono.CSharp { ILGenerator ig = ec.ig; if (ec.TypeContainer is Struct){ - ec.EmitThis (false); + ec.EmitThis (); source.Emit (ec); - - LocalTemporary t = null; - if (leave_copy) { - t = new LocalTemporary (ec, type); + if (leave_copy) ec.ig.Emit (OpCodes.Dup); - t.Store (ec); - } - ig.Emit (OpCodes.Stobj, type); - - if (leave_copy) - t.Emit (ec); } else { throw new Exception ("how did you get here"); } @@ -6661,7 +6649,7 @@ namespace Mono.CSharp { { ILGenerator ig = ec.ig; - ec.EmitThis (false); + ec.EmitThis (); if (ec.TypeContainer is Struct) ig.Emit (OpCodes.Ldobj, type); } @@ -6682,7 +6670,7 @@ namespace Mono.CSharp { public void AddressOf (EmitContext ec, AddressOp mode) { - ec.EmitThis (true); + ec.EmitThis (); // FIMXE // FIGURE OUT WHY LDARG_S does not work @@ -8215,9 +8203,6 @@ namespace Mono.CSharp { public class EmptyExpression : Expression { public static readonly EmptyExpression Null = new EmptyExpression (); - public static readonly EmptyExpression OutAccess = new EmptyExpression (); - public static readonly EmptyExpression LValueMemberAccess = new EmptyExpression (); - static EmptyExpression temp = new EmptyExpression (); public static EmptyExpression Grab () { diff --git a/mcs/mcs/iterators.cs b/mcs/mcs/iterators.cs index 8d105c37ddc..4f36dc10b8a 100644 --- a/mcs/mcs/iterators.cs +++ b/mcs/mcs/iterators.cs @@ -781,7 +781,7 @@ namespace Mono.CSharp { public override void Emit (EmitContext ec) { - ec.EmitThis (false); + ec.EmitThis (); } } diff --git a/mcs/mcs/typemanager.cs b/mcs/mcs/typemanager.cs index 47591325b5f..342daf3983b 100644 --- a/mcs/mcs/typemanager.cs +++ b/mcs/mcs/typemanager.cs @@ -2110,13 +2110,6 @@ public class TypeManager { } - // This method always return false for non-generic compiler, - // while Type.IsGenericParameter is returned if it is supported. - public static bool IsGenericParameter (Type type) - { - return false; - } - #region MemberLookup implementation // diff --git a/mcs/nunit20/ChangeLog b/mcs/nunit20/ChangeLog index 76aaa8ce11f..ef28a576698 100755 --- a/mcs/nunit20/ChangeLog +++ b/mcs/nunit20/ChangeLog @@ -1,3 +1,4 @@ + Wed Apr 20 18:05:41 CEST 2005 Paolo Molaro <lupus@ximian.com> * */AssemblyInfo.cs: fixed path to key file. diff --git a/mcs/nunit20/nunit-console/ChangeLog b/mcs/nunit20/nunit-console/ChangeLog index d1594fcb373..a4da4e4d6a1 100644 --- a/mcs/nunit20/nunit-console/ChangeLog +++ b/mcs/nunit20/nunit-console/ChangeLog @@ -1,26 +1,3 @@ -2006-01-12 Raja R Harinath <rharinath@novell.com> - - * Makefile: Revert my '2006-01-10' commit. Prefer the more - generic fix to build/executable.make. - (DISTFILES): Distribute nunit-console.exe.config.net_2_0. - * nunit-console.exe.net_2_0.config: Delete. - -2006-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * nunit-console.exe.config.net_2_0: configuration for - nunit-console in the 2.0 profile. - -2006-01-10 Raja R Harinath <rharinath@novell.com> - - This should fix #76928. This fix incorporates ideas from a patch - posted on that bugreport. - * Makefile [net_2_0 profile]: Don't build nunit-console.exe. Copy - the executable from the 'default' profile, and use a slightly - customized nunit-console.exe.config. - * nunit-console.exe.net_2_0.config: New config file for the - net_2_0 profile. Alter the list of 'supportedRuntime's to prefer - the 2.0 runtime. - 2005-11-05 Kornél Pál <kornelpal@hotmail.com> * nunit-console.exe.config: Updated runtime version to v2.0.50727 (2.0 RTM). diff --git a/mcs/nunit20/nunit-console/Makefile b/mcs/nunit20/nunit-console/Makefile index 59c2ea7e8a3..0a33bca390a 100644 --- a/mcs/nunit20/nunit-console/Makefile +++ b/mcs/nunit20/nunit-console/Makefile @@ -4,6 +4,6 @@ include ../../build/rules.make PROGRAM = $(topdir)/class/lib/$(PROFILE)/nunit-console.exe LOCAL_MCS_FLAGS = /r:nunit.framework.dll /r:nunit.util.dll /r:nunit.core.dll -DISTFILES = app.config App.ico nunit-console.csproj nunit-console.exe.config.net_2_0 +DISTFILES = app.config App.ico nunit-console.csproj include ../../build/executable.make diff --git a/mcs/nunit20/nunit-console/nunit-console.exe.config b/mcs/nunit20/nunit-console/nunit-console.exe.config index 777966b1f69..777966b1f69 100644..100755 --- a/mcs/nunit20/nunit-console/nunit-console.exe.config +++ b/mcs/nunit20/nunit-console/nunit-console.exe.config diff --git a/mcs/nunit20/nunit-console/nunit-console.exe.config.net_2_0 b/mcs/nunit20/nunit-console/nunit-console.exe.config.net_2_0 deleted file mode 100644 index d5d1e397d45..00000000000 --- a/mcs/nunit20/nunit-console/nunit-console.exe.config.net_2_0 +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<configuration> - <!-- - Application settings for NUnit-console.exe. Do NOT put settings - for use by your tests here. - --> - <appSettings> - - <!-- Specify the location to be used by .NET for the cache --> - <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" /> - - </appSettings> - - <!-- - These statements specify the runtime versions supported - in the order that they will be used if more than one - is present. You can change the order of these if you like - or remove any that do not apply. - - Since .NET 1.0 does not recognize the <supportedRuntime> elements, - a <requiredRuntime> element is used in case it is the only version - of the framework that is installed. - --> - <startup> - <supportedRuntime version="v2.0.50727" /> - </startup> - - <!-- - The following <runtime> section allows running nunit under - .NET 1.0 by redirecting assemblies. The appliesTo attribute - causes the section to be ignored except under .NET 1.0version 1 - on a machine with only the .NET version 1.0 runtime installed. - If application and its tests were built for .NET 1.1 you will - also need to redirect system assemblies in the test config file. - --> - - <runtime> - - <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" - appliesTo="v1.0.3705"> - - <dependentAssembly> - <assemblyIdentity name="System" - publicKeyToken="b77a5c561934e089" - culture=""/> - <bindingRedirect oldVersion="1.0.5000.0" - newVersion="1.0.3300.0"/> - </dependentAssembly> - - <dependentAssembly> - <assemblyIdentity name="System.Data" - publicKeyToken="b77a5c561934e089" - culture=""/> - <bindingRedirect oldVersion="1.0.5000.0" - newVersion="1.0.3300.0"/> - </dependentAssembly> - - <dependentAssembly> - <assemblyIdentity name="System.Drawing" - publicKeyToken="b03f5f7f11d50a3a" - culture=""/> - <bindingRedirect oldVersion="1.0.5000.0" - newVersion="1.0.3300.0"/> - </dependentAssembly> - - <dependentAssembly> - <assemblyIdentity name="System.Windows.Forms" - publicKeyToken="b77a5c561934e089" - culture=""/> - <bindingRedirect oldVersion="1.0.5000.0" - newVersion="1.0.3300.0"/> - </dependentAssembly> - - <dependentAssembly> - <assemblyIdentity name="System.Xml" - publicKeyToken="b77a5c561934e089" - culture=""/> - <bindingRedirect oldVersion="1.0.5000.0" - newVersion="1.0.3300.0"/> - </dependentAssembly> - - </assemblyBinding> - - </runtime> - -</configuration> diff --git a/mcs/tests/ChangeLog b/mcs/tests/ChangeLog index 502b0fa0cda..0b1b2bb3bb7 100644 --- a/mcs/tests/ChangeLog +++ b/mcs/tests/ChangeLog @@ -1,33 +1,3 @@ -2006-01-16 Raja R Harinath <rharinath@novell.com> - - * test-488.cs: New test based on #76874. - -2006-01-16 Atsushi Enomoto <atsushi@ximian.com> - - * gtest-xml-1-ref.xml, gtest-xml-1.cs : test for bug #77183. - -2006-01-12 Ben Maurer <bmaurer@andrew.cmu.edu> - - * test-437.cs: New test for Console.WriteLine ((this = x).foo) - -2006-01-12 Raja R Harinath <rharinath@novell.com> - - * test-486.cs: New test from #77221. - -2006-01-11 Raja R Harinath <rharinath@novell.com> - - * test-485.cs: New test from #77180. - - * test-484.cs: New test based on #77200. - - * test-xml-050.cs: Set output to xml-050.xml, not xml-050.cs. - * gtest-233.cs: Rename from gtest-233-exe.cs. - -2006-01-09 Raja R Harinath <rharinath@novell.com> - - * Makefile (TEST_ILS): New list of CIL test libraries. - * test-483-lib.il, test-483.cs: New test from #75636. - 2005-12-21 Carlos Alberto Cortez <calberto.cortez@gmail.com> * gtest-friend-00-lib.cs: Include the public key in diff --git a/mcs/tests/Makefile b/mcs/tests/Makefile index 43dac1baa97..fd283e2ee4b 100644 --- a/mcs/tests/Makefile +++ b/mcs/tests/Makefile @@ -61,9 +61,7 @@ COMPILER = $(topdir)/class/lib/$(PROFILE)/mcs.exe TEST_PATTERN = 'test-*.cs' endif -TEST_ILS := $(wildcard *-lib.il) - -run-test-local: $(TEST_ILS:.il=.dll) +run-test-local: test-377-lib.dll test-443-lib.dll MONO_RUNTIME='$(RUNTIME)' $(TEST_RUNTIME) $(RUNTIME_FLAGS) $(topdir)/class/lib/$(PROFILE)/compiler-tester.exe positive $(TEST_PATTERN) $(COMPILER) known-issues-$(COMPILER_NAME) $(COMPILER_NAME).log # do nothing for this target diff --git a/mcs/tests/gtest-233.cs b/mcs/tests/gtest-233-exe.cs index 8a52828d070..ea331614261 100644 --- a/mcs/tests/gtest-233.cs +++ b/mcs/tests/gtest-233-exe.cs @@ -1,4 +1,5 @@ // Compiler options: /r:gtest-233-lib.dll +// Dependencies: gtest-233-lib.cs using System; using System.Collections.Generic; using System.Text; diff --git a/mcs/tests/gtest-235.cs b/mcs/tests/gtest-235-exe.cs index 9a3ea01098a..7af72fa9325 100755 --- a/mcs/tests/gtest-235.cs +++ b/mcs/tests/gtest-235-exe.cs @@ -1,4 +1,5 @@ // Compiler options: /r:gtest-235-lib.dll +// Dependencies: gtest-235-lib.cs using System; class GettingStarted diff --git a/mcs/tests/gtest-xml-1-ref.xml b/mcs/tests/gtest-xml-1-ref.xml deleted file mode 100644 index a90f1e3b8ac..00000000000 --- a/mcs/tests/gtest-xml-1-ref.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0"?> -<doc> - <assembly> - <name>gtest-xml-1</name> - </assembly> - <members> - <member name="T:GenericClass`1"> - <summary>This file throws an error when compiled with XML documentation</summary> - </member> - <member name="M:GenericClass`1.#ctor(`0)"> - <summary>This line caused bug #77183</summary> - </member> - </members> -</doc> diff --git a/mcs/tests/gtest-xml-1.cs b/mcs/tests/gtest-xml-1.cs deleted file mode 100644 index d2a2dc460b4..00000000000 --- a/mcs/tests/gtest-xml-1.cs +++ /dev/null @@ -1,19 +0,0 @@ -// Compiler options: -doc:gxml-1.xml -using System; - -///<summary>This file throws an error when compiled with XML documentation</summary> -public class GenericClass <gT> -{ - gT m_data; - - ///<summary>This line caused bug #77183</summary> - public GenericClass (gT Data) - { - m_data = Data; - } -} - -class Foo -{ - public static void Main () {} -} diff --git a/mcs/tests/known-issues-gmcs b/mcs/tests/known-issues-gmcs index fa5f02cf2cb..92e3a2f89e3 100644 --- a/mcs/tests/known-issues-gmcs +++ b/mcs/tests/known-issues-gmcs @@ -4,6 +4,7 @@ # csXXXX.cs : test case causes error # csXXXX.cs IGNORE : adds test to ignore list +test-442.cs IGNORE # Causes runtime to crash test-50.cs IGNORE # Windows-only test test-67.cs IGNORE # Windows-only test test-anon-27.cs @@ -12,3 +13,4 @@ test-465.cs IGNORE # need to fix the path separator to work both on Unix and Win test-476.cs gtest-230.cs +gtest-231.cs diff --git a/mcs/tests/test-483-lib.il b/mcs/tests/test-483-lib.il deleted file mode 100644 index adc80ca3296..00000000000 --- a/mcs/tests/test-483-lib.il +++ /dev/null @@ -1,24 +0,0 @@ -.assembly 'test-483-lib' {} -.assembly extern mscorlib {} - -.class public auto ansi beforefieldinit Foo { - - .method famorassem virtual newslot - instance default object clone () cil managed - { - .maxstack 8 - ldarg.0 - ret - } -} - -.class public auto ansi Bar extends Foo { - - .method public virtual - instance default object clone () cil managed - { - .maxstack 8 - ldarg.0 - ret - } -} diff --git a/mcs/tests/test-483.cs b/mcs/tests/test-483.cs deleted file mode 100644 index 666ae5d83d3..00000000000 --- a/mcs/tests/test-483.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Compiler options: -r:test-483-lib.dll - -using System; - -public class Tests { - - public static void Main () { - Bar bar = null; - try { bar.clone (); } catch (NullReferenceException) {} - } -} diff --git a/mcs/tests/test-484.cs b/mcs/tests/test-484.cs deleted file mode 100644 index ea6e1914ac7..00000000000 --- a/mcs/tests/test-484.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; - -namespace Test -{ - public class TestBit { - const bool a00 = false & false; - const bool a01 = false & true; - const bool a10 = true & false; - const bool a11 = true & true; - - const bool o00 = false | false; - const bool o01 = false | true; - const bool o10 = true | false; - const bool o11 = true | true; - - const bool x00 = false ^ false; - const bool x01 = false ^ true; - const bool x10 = true ^ false; - const bool x11 = true ^ true; - - const bool correct = !a00 & !a01 & !a10 & a11 & !o00 & o01 & o10 & o11 & !x00 & x01 & x10 & !x11; - - public static void Main() - { - if (!correct) - throw new Exception (); - } - } -} diff --git a/mcs/tests/test-485.cs b/mcs/tests/test-485.cs deleted file mode 100644 index 909fc5f8f6e..00000000000 --- a/mcs/tests/test-485.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Compiler options: /checked+ - -using System; - - -public class MonoBUG -{ - public static void Main (string[] args) - { - double B = 4.0; - double K = 2.0; - double A = - B / (K * K); - - Console.WriteLine ("{0}", A); - } -} diff --git a/mcs/tests/test-486.cs b/mcs/tests/test-486.cs deleted file mode 100644 index 91dd76b4aa0..00000000000 --- a/mcs/tests/test-486.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -public class Test -{ - public static void Main () - { - string[] aPath = {"a","b"}; - char c = '.'; - if (c.ToString () != ".") - throw new Exception ("c.ToString () is not \".\""); - string erg = ""; - erg += String.Join (c.ToString (), aPath); - if (erg != "a.b") - throw new Exception ("erg is " + erg); - } -} diff --git a/mcs/tests/test-487.cs b/mcs/tests/test-487.cs deleted file mode 100644 index d692ea9b942..00000000000 --- a/mcs/tests/test-487.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -struct X { - int i; - static bool pass = false; - - X (object dummy) - { - X x = new X (); - x.i = 1; - int n = 0; - - if ((this = x).i == 1) - n ++; - - if (this.i == 1) - n ++; - - pass = (n == 2); - } - static int Main () - { - new X (null); - return pass ? 0 : 1; - } -}
\ No newline at end of file diff --git a/mcs/tests/test-488.cs b/mcs/tests/test-488.cs deleted file mode 100644 index 62794ff50b8..00000000000 --- a/mcs/tests/test-488.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Collections; - -class P { - public int x; -} - -struct Q { - public P p; - public Q (P p) { this.p = p; } -} - -class Test { - static IEnumerable foo () { return null; } - - static void Main () - { - IEnumerable f = foo (); - if (f != null) - foreach (P p in f) - p.x = 0; - if (f != null) - foreach (Q q in f) - q.p.x = 0; - } -} diff --git a/mcs/tests/test-xml-050.cs b/mcs/tests/test-xml-050.cs index 5be57b7f10f..d1edc58f2b8 100644 --- a/mcs/tests/test-xml-050.cs +++ b/mcs/tests/test-xml-050.cs @@ -1,4 +1,4 @@ -// Compiler options: -doc:xml-050.xml -warnaserror +// Compiler options: -doc:xml-050.cs -warnaserror // see bug #76954. // NOTE: It might got broken after some /doc related merge. /// <summary> diff --git a/mcs/tools/mjs/ChangeLog b/mcs/tools/mjs/ChangeLog index 2795d359efb..6707afb0e2a 100644 --- a/mcs/tools/mjs/ChangeLog +++ b/mcs/tools/mjs/ChangeLog @@ -1,11 +1,3 @@ -2006-01-11 Evan Briones <evan@evanbriones.com> - - * mjs.cs: Fixed out by adding SetOption to the compiler engine. - -2006-01-08 Cesar Lopez Nataren <cnataren@novell.com> - - * mjs.cs: Add support for nostdlib, out, pkg and reference. - 2005-09-13 Cesar Lopez Nataren <cnataren@novell.com> * mjs.cs: Add support for flags parsing. diff --git a/mcs/tools/mjs/mjs.cs b/mcs/tools/mjs/mjs.cs index 48afccbe150..dafc67fac00 100644 --- a/mcs/tools/mjs/mjs.cs +++ b/mcs/tools/mjs/mjs.cs @@ -5,7 +5,7 @@ // Cesar Lopez Nataren (cesar@ciencias.unam.mx) // // (C) 2003, Cesar Lopez Nataren -// (C) Copyright 2005, 2006, Novell Inc. (http://www.novell.com) +// (C) Copyright 2005, Novell Inc. (http://www.novell.com) // // @@ -36,7 +36,6 @@ using Microsoft.Vsa; using Microsoft.JScript; using System.Reflection; using System.Collections; -using System.Diagnostics; using Microsoft.JScript.Vsa; using System.Reflection.Emit; using Mono.CSharp; @@ -64,33 +63,25 @@ namespace Mono.JScript { private static Assembly [] assemblies = new Assembly [0]; - private static bool StdLib = true; + private static bool StdLib; private static void Usage () { Console.WriteLine ("Mono JScript compiler\n" + - "Copyright (C) 2003 - 2004 Cesar Lopez Nataren\n" + - "Copyright (C) 2004 - 2006 Novell Inc (http://novell.com)\n\n" + + "(C) 2003 - 2004 Cesar Lopez Nataren\n" + + "(C) 2004 - 2005 Novell Inc (http://novell.com)\n\n" + "mjs [options] source-file\n" + " /about About the Mono JScript compiler\n" + " /lib:PATH1,PATH2 Adds the paths to the assembly link path\n" + - " /nostdlib[+|-] Does not load core libraries\n" + - " /out:<file> Specify name of binary output file\n" + - " /pkg:P1[,Pn] References packages P1..Pn\n" + - " /r[eference]:ASS Reference the specified assembly\n" + - - "\n" + - "Resources:\n" + - " @file Read response file for more options\n\n" + - "Options can be of the form -option or /option"); + " /r[eference]:ASS Reference the specified assembly\n"); } private static void About () { Console.WriteLine ( "The Mono JScript compiler is:\n" + - "Copyright (C) 2003 - 2004 Cesar Lopez Nataren\n" + - "Copyright (C) 2004 - 2006 Novell Inc.\n\n" + + "(C) 2003 - 2004 Cesar Lopez Nataren\n" + + "(C) 2004 - 2005 Novell Inc.\n\n" + "The compiler source code is released under the terms of both the MIT X11 and MPL\n" + "The compiler was written by Cesar Lopez Nataren"); Environment.Exit (0); @@ -103,6 +94,7 @@ namespace Mono.JScript { { foreach (string r in references) LoadAssembly (r, false); + return; } private static void LoadAssembly (string assembly, bool soft) @@ -163,10 +155,10 @@ namespace Mono.JScript { Assembly [] n = new Assembly [top + 1]; assemblies.CopyTo (n, 0); - + n [top] = a; assemblies = n; - } + } static string [] LoadArgs (string file) { @@ -263,7 +255,7 @@ namespace Mono.JScript { Usage (); Environment.Exit (1); } - + references.Add (args [++i]); return true; @@ -311,47 +303,6 @@ namespace Mono.JScript { SetOutputFile (value); return true; - case "/pkg": - string packages; - - if (value == String.Empty) { - Usage (); - Environment.Exit (1); - } - packages = String.Join (" ", value.Split (new Char [] { ';', ',', '\n', '\r'})); - - ProcessStartInfo pi = new ProcessStartInfo (); - pi.FileName = "pkg-config"; - pi.RedirectStandardOutput = true; - pi.UseShellExecute = false; - pi.Arguments = "--libs " + packages; - Process p = null; - try { - p = Process.Start (pi); - } catch (Exception e) { - Console.Error.WriteLine ("Couldn't run pkg-config: " + e.Message); - Environment.Exit (1); - } - - if (p.StandardOutput == null){ - Console.Error.WriteLine ("Specified package did not return any information"); - return true; - } - string pkgout = p.StandardOutput.ReadToEnd (); - p.WaitForExit (); - if (p.ExitCode != 0) { - Console.Error.WriteLine ("Error running pkg-config. Check the above output."); - Environment.Exit (1); - } - - if (pkgout != null){ - string [] xargs = pkgout.Trim (new Char [] {' ', '\n', '\r', '\t'}). - Split (new Char [] { ' ', '\t'}); - args = AddArgs (args, xargs); - } - p.Close (); - return true; - case "/r": case "/reference": { if (value == ""){ @@ -360,8 +311,9 @@ namespace Mono.JScript { } string [] refs = value.Split (new char [] { ';', ',' }); - foreach (string r in refs) + foreach (string r in refs){ references.Add (r); + } return true; } @@ -382,16 +334,6 @@ namespace Mono.JScript { case "/about": About (); return true; - - - case "/nostdlib": - case "/nostdlib+": - StdLib = false; - return true; - - case "/nostdlib-": - StdLib = true; - return true; } return false; } @@ -405,14 +347,18 @@ namespace Mono.JScript { // split args into first half and second half based on '--' // and add the extra_args before -- int split_position = Array.IndexOf (args, "--"); - if (split_position != -1) { - Array.Copy (args, new_args, split_position); - extra_args.CopyTo (new_args, split_position); - Array.Copy (args, split_position, new_args, split_position + extra_args.Length, args.Length - split_position); - } else { - args.CopyTo (new_args, 0); - extra_args.CopyTo (new_args, args.Length); - } + if (split_position != -1) + { + Array.Copy (args, new_args, split_position); + extra_args.CopyTo (new_args, split_position); + Array.Copy (args, split_position, new_args, split_position + extra_args.Length, args.Length - split_position); + } + else + { + args.CopyTo (new_args, 0); + extra_args.CopyTo (new_args, args.Length); + } + return new_args; } @@ -589,6 +535,7 @@ namespace Mono.JScript { // Entry point // private static void Main (string [] args) { + if (args.Length < 1) { Usage (); Environment.Exit (0); @@ -618,7 +565,6 @@ namespace Mono.JScript { engine.SetOption ("link_path", link_paths); engine.SetOption ("first_source", first_source); engine.SetOption ("assemblies", assemblies); - engine.SetOption ("out", output_file); engine.Compile (); } diff --git a/mcs/tools/mkbundle/ChangeLog b/mcs/tools/mkbundle/ChangeLog index 874559c3c00..7d0fcc7cefc 100644 --- a/mcs/tools/mkbundle/ChangeLog +++ b/mcs/tools/mkbundle/ChangeLog @@ -1,7 +1,3 @@ -2005-12-29 Robert Jordan <robertj@gmx.net> - - * mkbundle.cs, template.c, template_z.c: Added support for Windows. - 2005-12-18 Alexandre Rocha Lima e Marcondes <alexandre@psl-pr.softwarelivre.org> diff --git a/mcs/tools/mkbundle/TODO b/mcs/tools/mkbundle/TODO index 58eb944c9a0..36397b20a94 100644 --- a/mcs/tools/mkbundle/TODO +++ b/mcs/tools/mkbundle/TODO @@ -8,25 +8,3 @@ Files: * Need to trace a typical execution and locate the files that this will require at runtime, provide hooks of some form. -Windows Issues: - ---static doesn't work because libmono.a is not distributed with the -Windows package. - -Not a big deal, because the needed dlls can be simply distributed with -the mkbundle-generated executable. - -For example, a bundled XSP needs: - -mono-1.dll -libglib*.dll -libgmodule*.dll -libgthread*.dll -iconv.dll -intl.dll - -(roundabout 10MB). This seems to be the minimal working set of dlls -that have to be distributed with a bundled application. - --z doesn't work due to some weird cygwin zlib problems. - diff --git a/mcs/tools/mkbundle/mkbundle.cs b/mcs/tools/mkbundle/mkbundle.cs index 7fbda6bc581..959e0d6e146 100644 --- a/mcs/tools/mkbundle/mkbundle.cs +++ b/mcs/tools/mkbundle/mkbundle.cs @@ -9,7 +9,6 @@ // (C) Novell, Inc 2004 // using System; -using System.Diagnostics; using System.Xml; using System.Collections; using System.Reflection; @@ -36,8 +35,6 @@ class MakeBundle { ArrayList sources = new ArrayList (); int top = args.Length; link_paths.Add ("."); - - DetectOS (); for (int i = 0; i < top; i++){ switch (args [i]){ @@ -85,10 +82,6 @@ class MakeBundle { keeptemp = true; break; case "--static": - if (style == "windows") { - Console.Error.WriteLine ("The option `{0}' is not supported on this platform.", args [i]); - return 1; - } static_link = true; Console.WriteLine ("Note that statically linking the LGPL Mono runtime has more licensing restrictions than dynamically linking."); Console.WriteLine ("See http://www.mono-project.com/Licensing for details on licensing."); @@ -110,10 +103,6 @@ class MakeBundle { config_dir = args [++i]; break; case "-z": - if (style == "windows") { - Console.Error.WriteLine ("The option `{0}' is not supported on this platform.", args [i]); - return 1; - } compress = true; break; default: @@ -122,6 +111,8 @@ class MakeBundle { } } + DetectOS (); + Console.WriteLine ("Sources: {0} Auto-dependencies: {1}", sources.Count, autodeps); if (sources.Count == 0 || output == null) { Help (); @@ -162,14 +153,6 @@ class MakeBundle { "_{0}:\n", name, size); break; - case "windows": - sw.WriteLine ( - ".globl _{0}\n" + - "\t.section .rdata,\"dr\"\n" + - "\t.align 32\n" + - "_{0}:\n", - name, size); - break; } } @@ -177,7 +160,7 @@ class MakeBundle { { string temp_s = "temp.s"; // Path.GetTempFileName (); string temp_c = "temp.c"; - string temp_o = "temp.o"; + string temp_o = Path.GetTempFileName () + ".o"; if (compile_only) temp_c = output; @@ -204,8 +187,8 @@ class MakeBundle { } foreach (string url in files){ - string fname = new Uri (url).LocalPath; - string aname = Path.GetFileName (fname); + string fname = url.Substring (7); + string aname = fname.Substring (fname.LastIndexOf ("/") + 1); string encoded = aname.Replace ("-", "_").Replace (".", "_"); if (prog == null) @@ -296,8 +279,9 @@ class MakeBundle { ts.Close (); Console.WriteLine ("Compiling:"); - string cmd = String.Format ("{0} -o {1} {2} ", GetEnv ("AS", "as"), temp_o, temp_s); - int ret = Execute (cmd); + string cmd = String.Format ("as -o {0} {1} ", temp_o, temp_s); + Console.WriteLine (cmd); + int ret = system (cmd); if (ret != 0){ Error ("[Fail]"); return; @@ -344,7 +328,6 @@ class MakeBundle { string zlib = (compress ? "-lz" : ""); string debugging = "-g"; - string cc = GetEnv ("CC", IsUnix ? "cc" : "gcc -mno-cygwin"); if (style == "linux") debugging = "-ggdb"; @@ -354,17 +337,18 @@ class MakeBundle { smonolib = "`pkg-config --variable=libdir mono`/libmono.a "; else smonolib = "-Wl,-Bstatic -lmono -Wl,-Bdynamic "; - cmd = String.Format ("{4} -o {2} -Wall `pkg-config --cflags mono` {0} {3} " + + cmd = String.Format ("cc -o {2} -Wall `pkg-config --cflags mono` {0} {3}" + "`pkg-config --libs-only-L mono` " + smonolib + "`pkg-config --libs-only-l mono | sed -e \"s/\\-lmono //\"` {1}", - temp_c, temp_o, output, zlib, cc); + temp_c, temp_o, output, zlib); } else { - cmd = String.Format ("{4} " + debugging + " -o {2} -Wall {0} `pkg-config --cflags --libs mono` {3} {1}", - temp_c, temp_o, output, zlib, cc); + cmd = String.Format ("cc " + debugging + " -o {2} -Wall {0} `pkg-config --cflags --libs mono` {3} {1}", + temp_c, temp_o, output, zlib); } - ret = Execute (cmd); + Console.WriteLine (cmd); + ret = system (cmd); if (ret != 0){ Error ("[Fail]"); return; @@ -411,7 +395,7 @@ class MakeBundle { return; files.Add (codebase); - Assembly a = Assembly.LoadFrom (new Uri(codebase).LocalPath); + Assembly a = Assembly.LoadFrom (codebase); if (!autodeps) return; @@ -486,7 +470,7 @@ class MakeBundle { " --config F Bundle system config file `F'\n" + " --config-dir D Set MONO_CFG_DIR to `D'\n" + " --static Statically link to mono libs\n" + - " -z Compress the assemblies before embedding.\n"); + " -z Compress the assemblies before embedding.\n"); } [DllImport ("libc")] @@ -496,12 +480,6 @@ class MakeBundle { static void DetectOS () { - if (!IsUnix) { - Console.WriteLine ("OS is: Windows"); - style = "windows"; - return; - } - IntPtr buf = UnixMarshal.AllocHeap(8192); if (uname (buf) != 0){ Console.WriteLine ("Warning: Unable to detect OS"); @@ -514,29 +492,6 @@ class MakeBundle { UnixMarshal.FreeHeap(buf); } - - static bool IsUnix { - get { - int p = (int) Environment.OSVersion.Platform; - return ((p == 4) || (p == 128)); - } - } - - static int Execute (string cmdLine) - { - Console.WriteLine (cmdLine); - if (IsUnix) { - return system (cmdLine); - } else { - Process p = Process.Start ("sh", String.Format ("-c \"{0}\"", cmdLine)); - p.WaitForExit (); - return p.ExitCode; - } - } - - static string GetEnv (string name, string defaultValue) - { - string s = Environment.GetEnvironmentVariable (name); - return s != null ? s : defaultValue; - } + } + diff --git a/mcs/tools/mkbundle/template.c b/mcs/tools/mkbundle/template.c index 86fa34c704c..74f2d6a6fd4 100644 --- a/mcs/tools/mkbundle/template.c +++ b/mcs/tools/mkbundle/template.c @@ -14,7 +14,7 @@ int main (int argc, char* argv[]) newargs [++i] = NULL; if (config_dir != NULL && getenv ("MONO_CFG_DIR") == NULL) - mono_set_dirs (getenv ("MONO_PATH"), config_dir); + setenv ("MONO_CFG_DIR", config_dir, 1); install_dll_config_files (); mono_register_bundled_assemblies(bundled); diff --git a/mcs/tools/mkbundle/template_z.c b/mcs/tools/mkbundle/template_z.c index 053cdba5683..a0bdecd616f 100644 --- a/mcs/tools/mkbundle/template_z.c +++ b/mcs/tools/mkbundle/template_z.c @@ -55,7 +55,7 @@ int main (int argc, char* argv[]) newargs [++i] = NULL; if (config_dir != NULL && getenv ("MONO_CFG_DIR") == NULL) - mono_set_dirs (getenv ("MONO_PATH"), config_dir); + setenv ("MONO_CFG_DIR", config_dir, 1); install_dll_config_files (); diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index 751d784843f..dae46f090fc 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -10,14 +10,6 @@ (method_from_memberref): Compare the uninstantiated signatures; fixes #76417. -2006-01-18 Robert Jordan <robertj@gmx.net> - - * boehm-gc.c, null-gc.c (mono_gc_weak_link_remove): - Clear the weak link. Fixes bug #77170. - - * gc.c (mono_gchandle_free): - Reflect *-gc.c changes (tiny optimization). - 2006-01-18 Zoltan Varga <vargaz@gmail.com> * metadata.c (mono_metadata_signature_dup): Applied patch from @@ -49,24 +41,15 @@ Mon Jan 16 19:20:43 CET 2006 Paolo Molaro <lupus@ximian.com> don't need that anymore. 2006-01-12 Miguel de Icaza <miguel@novell.com> - + * socket-io.c (ves_icall_System_Net_Sockets_Socket_GetSocketOption_obj_internal): To avoid initing the nested_classes when not needed I turned the PeerCredData as a toplevel internal class, as it has to be shared anyways. - Fixes the CASA issue. - -2006-01-11 Ben Maurer <bmaurer@andrew.cmu.edu> - - * domain.c: Accessors for MonoJitInfo - - * profiler-private.h: Add jitinfo to the end jit hook - - * profiler.[ch]: Define new hooks, called after jitting which give - the MonoJitInfo that was compiled - + Fixes the CASA issue. + 2006-01-10 Martin Baulig <martin@ximian.com> * class.c (mono_class_setup_events): Add support for generic diff --git a/mono/metadata/appdomain.h b/mono/metadata/appdomain.h index 7fc842fb046..b9f37c8ca0d 100644 --- a/mono/metadata/appdomain.h +++ b/mono/metadata/appdomain.h @@ -115,18 +115,6 @@ mono_context_get (void); MonoJitInfo * mono_jit_info_table_find (MonoDomain *domain, char *addr); -/* MonoJitInfo accessors */ - -gpointer -mono_jit_info_get_code_start (MonoJitInfo* ji); - -int -mono_jit_info_get_code_size (MonoJitInfo* ji); - -MonoMethod* -mono_jit_info_get_method (MonoJitInfo* ji); - - MonoImage* mono_get_corlib (void); diff --git a/mono/metadata/boehm-gc.c b/mono/metadata/boehm-gc.c index 9cccd11b062..04a8af07018 100644 --- a/mono/metadata/boehm-gc.c +++ b/mono/metadata/boehm-gc.c @@ -132,7 +132,6 @@ void mono_gc_weak_link_remove (void **link_addr) { GC_unregister_disappearing_link (link_addr); - *link_addr = NULL; } MonoObject* diff --git a/mono/metadata/domain.c b/mono/metadata/domain.c index 3acf3963c81..ac7ab955d46 100644 --- a/mono/metadata/domain.c +++ b/mono/metadata/domain.c @@ -320,24 +320,6 @@ mono_install_jit_info_find_in_aot (MonoJitInfoFindInAot func) jit_info_find_in_aot_func = func; } -gpointer -mono_jit_info_get_code_start (MonoJitInfo* ji) -{ - return ji->code_start; -} - -int -mono_jit_info_get_code_size (MonoJitInfo* ji) -{ - return ji->code_size; -} - -MonoMethod* -mono_jit_info_get_method (MonoJitInfo* ji) -{ - return ji->method; -} - gboolean mono_string_equal (MonoString *s1, MonoString *s2) { diff --git a/mono/metadata/gc.c b/mono/metadata/gc.c index 00fecb0bd33..b8374c6d064 100644 --- a/mono/metadata/gc.c +++ b/mono/metadata/gc.c @@ -665,8 +665,7 @@ mono_gchandle_free (guint32 gchandle) if (slot < handles->size && (handles->bitmap [slot / 32] & (1 << (slot % 32)))) { if (handles->type <= HANDLE_WEAK_TRACK) mono_gc_weak_link_remove (&handles->entries [slot]); - else - handles->entries [slot] = NULL; + handles->entries [slot] = NULL; handles->bitmap [slot / 32] &= ~(1 << (slot % 32)); } else { /* print a warning? */ diff --git a/mono/metadata/null-gc.c b/mono/metadata/null-gc.c index 397da356f56..cad88bdad3d 100644 --- a/mono/metadata/null-gc.c +++ b/mono/metadata/null-gc.c @@ -76,7 +76,6 @@ mono_gc_weak_link_add (void **link_addr, MonoObject *obj) void mono_gc_weak_link_remove (void **link_addr) { - *link_addr = NULL; } MonoObject* diff --git a/mono/metadata/profiler-private.h b/mono/metadata/profiler-private.h index 3885e42cbca..5381ad935a1 100644 --- a/mono/metadata/profiler-private.h +++ b/mono/metadata/profiler-private.h @@ -26,7 +26,7 @@ void mono_profiler_shutdown (void); void mono_profiler_method_enter (MonoMethod *method); void mono_profiler_method_leave (MonoMethod *method); void mono_profiler_method_jit (MonoMethod *method); -void mono_profiler_method_end_jit (MonoMethod *method, MonoJitInfo* jinfo, int result); +void mono_profiler_method_end_jit (MonoMethod *method, int result); void mono_profiler_code_transition (MonoMethod *method, int result); void mono_profiler_allocation (MonoObject *obj, MonoClass *klass); diff --git a/mono/metadata/profiler.c b/mono/metadata/profiler.c index c40bf099018..27eba5f6062 100644 --- a/mono/metadata/profiler.c +++ b/mono/metadata/profiler.c @@ -38,7 +38,6 @@ static MonoProfileClassFunc class_end_unload; static MonoProfileMethodFunc jit_start; static MonoProfileMethodResult jit_end; -static MonoProfileJitResult jit_end2; static MonoProfileMethodResult man_unman_transition; static MonoProfileAllocFunc allocation_cb; static MonoProfileStatFunc statistical_cb; @@ -99,12 +98,6 @@ mono_profiler_install_jit_compile (MonoProfileMethodFunc start, MonoProfileMetho } void -mono_profiler_install_jit_end (MonoProfileJitResult end) -{ - jit_end2 = end; -} - -void mono_profiler_install_thread (MonoProfileThreadFunc start, MonoProfileThreadFunc end) { thread_start = start; @@ -198,14 +191,10 @@ mono_profiler_method_jit (MonoMethod *method) } void -mono_profiler_method_end_jit (MonoMethod *method, MonoJitInfo* jinfo, int result) +mono_profiler_method_end_jit (MonoMethod *method, int result) { - if ((mono_profiler_events & MONO_PROFILE_JIT_COMPILATION)) { - if (jit_end) - jit_end (current_profiler, method, result); - if (jit_end2) - jit_end2 (current_profiler, method, jinfo, result); - } + if ((mono_profiler_events & MONO_PROFILE_JIT_COMPILATION) && jit_end) + jit_end (current_profiler, method, result); } void diff --git a/mono/metadata/profiler.h b/mono/metadata/profiler.h index 1d9e713560b..a689304b007 100644 --- a/mono/metadata/profiler.h +++ b/mono/metadata/profiler.h @@ -67,7 +67,6 @@ typedef void (*MonoProfileAssemblyFunc) (MonoProfiler *prof, MonoAssembly *assem typedef void (*MonoProfileAppDomainResult)(MonoProfiler *prof, MonoDomain *domain, int result); typedef void (*MonoProfileMethodResult) (MonoProfiler *prof, MonoMethod *method, int result); -typedef void (*MonoProfileJitResult) (MonoProfiler *prof, MonoMethod *method, MonoJitInfo* jinfo, int result); typedef void (*MonoProfileClassResult) (MonoProfiler *prof, MonoClass *klass, int result); typedef void (*MonoProfileModuleResult) (MonoProfiler *prof, MonoImage *module, int result); typedef void (*MonoProfileAssemblyResult) (MonoProfiler *prof, MonoAssembly *assembly, int result); @@ -102,7 +101,6 @@ void mono_profiler_install_class (MonoProfileClassFunc start_load, MonoPro MonoProfileClassFunc start_unload, MonoProfileClassFunc end_unload); void mono_profiler_install_jit_compile (MonoProfileMethodFunc start, MonoProfileMethodResult end); -void mono_profiler_install_jit_end (MonoProfileJitResult end); void mono_profiler_install_enter_leave (MonoProfileMethodFunc enter, MonoProfileMethodFunc fleave); void mono_profiler_install_thread (MonoProfileThreadFunc start, MonoProfileThreadFunc end); void mono_profiler_install_transition (MonoProfileMethodResult callback); diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index e74602bebce..c2b58f20e97 100644 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -1,19 +1,8 @@ -2006-01-17 Zoltan Varga <vargaz@gmail.com> - - * mini.h: Move mono_bitset_test_fast macro to monobitset.h where it belongs. - 2006-01-16 Zoltan Varga <vargaz@gmail.com> - * mini.h (mono_bitset_test_fast): Disable the 'fast' implementation which - depends on implementation details of monobitset. - * mini.c (mini_get_ldelema_ins): Fix handling of 1 dimensional arrays. Fixes #77271. -2006-01-15 Zoltan Varga <vargaz@gmail.com> - - * liveness.c: Update after monobitset changes. - 2006-01-14 Zoltan Varga <vargaz@gmail.com> * mini-amd64.c (mono_arch_compute_omit_fp): Fix a leak. @@ -24,14 +13,6 @@ * mini-s390x.c: Remove warning messages. -2006-01-11 Ben Maurer <bmaurer@andrew.cmu.edu> - - * mini.c: pass the jitinfo to mono_profiler_method_end_jit. - -2006-01-10 Zoltan Varga <vargaz@gmail.com> - - * generics.2.cs: Add ldelem/stelem_any test. - 2006-01-10 Neale Ferguson <neale@sinenomine.net> * mini-s390.c: Fix ATOMIC_ADD_I4 operation. @@ -40,12 +21,6 @@ * inssel-long.brg: Fix int->long ovf conversion rules. Fixes #77172. -2006-01-06 Zoltan Varga <vargaz@gmail.com> - - * generics.2.cs: Reenable vtype tests. - - * inssel-x86.brg: Remove an icorrect valuetype rule. - 2006-01-06 Neale Ferguson <neale@sinenomine.net> * mini-s390x.c, inssel-s390x.brg, cpu-s390x.md: Fix ATOMIC_I8 operations. Provide diff --git a/mono/mini/generics.2.cs b/mono/mini/generics.2.cs index 1688c779f1f..dfab228c0b8 100644 --- a/mono/mini/generics.2.cs +++ b/mono/mini/generics.2.cs @@ -14,7 +14,7 @@ class Tests { { return TestDriver.RunTests (typeof (Tests)); } - + public static int test_1_nullable_unbox () { return Unbox<int?> (1).Value; @@ -41,6 +41,8 @@ class Tests { return (o is int?) ? 1 : 0; } + /* FIXME: This doesn't work yet + public static int test_1_nullable_unbox_vtype () { return Unbox<TestStruct?> (new TestStruct (1)).Value.i; @@ -66,21 +68,7 @@ class Tests { object o = new TestStruct (1); return (o is TestStruct?) ? 1 : 0; } - - public static void stelem_any<T> (T[] arr, T elem) { - arr [0] = elem; - } - - public static T ldelem_any<T> (T[] arr) { - return arr [0]; - } - - public static int test_1_ldelem_stelem_any_int () { - int[] arr = new int [3]; - stelem_any (arr, 1); - - return ldelem_any (arr); - } + */ static object Box<T> (T t) { diff --git a/mono/mini/inssel-x86.brg b/mono/mini/inssel-x86.brg index 9e44c67a8bd..44939553877 100644 --- a/mono/mini/inssel-x86.brg +++ b/mono/mini/inssel-x86.brg @@ -335,6 +335,12 @@ stmt: OP_OUTARG (CEE_LDIND_REF (base)) { mono_bblock_add_inst (s->cbb, tree); } +stmt: OP_OUTARG (CEE_LDOBJ (reg)) { + tree->opcode = OP_X86_PUSH; + tree->sreg1 = state->left->reg1; + mono_bblock_add_inst (s->cbb, tree); +} + stmt: OP_OUTARG (freg) { MONO_EMIT_NEW_BIALU_IMM (s, OP_SUB_IMM, X86_ESP, X86_ESP, 8); tree->opcode = OP_STORER8_MEMBASE_REG; diff --git a/mono/mini/liveness.c b/mono/mini/liveness.c index 38fe980a0b0..36710656a70 100644 --- a/mono/mini/liveness.c +++ b/mono/mini/liveness.c @@ -13,12 +13,6 @@ //#define DEBUG_LIVENESS -#if SIZEOF_VOID_P == 8 -#define BITS_PER_CHUNK 64 -#else -#define BITS_PER_CHUNK 32 -#endif - extern guint8 mono_burg_arity []; /* mono_bitset_mp_new: @@ -410,27 +404,27 @@ mono_analyze_liveness (MonoCompile *cfg) MonoBasicBlock *bb = cfg->bblocks [i]; guint32 rem; - rem = max_vars % BITS_PER_CHUNK; - for (j = 0; j < (max_vars / BITS_PER_CHUNK) + 1; ++j) { - gsize bits_in; - gsize bits_out; + rem = max_vars % 32; + for (j = 0; j < (max_vars / 32) + 1; ++j) { + guint32 bits_in; + guint32 bits_out; int k, nbits; - if (j > (max_vars / BITS_PER_CHUNK)) + if (j > (max_vars / 32)) break; else - if (j == (max_vars / BITS_PER_CHUNK)) + if (j == (max_vars / 32)) nbits = rem; else - nbits = BITS_PER_CHUNK; + nbits = 32; - bits_in = mono_bitset_test_bulk (bb->live_in_set, j * BITS_PER_CHUNK); - bits_out = mono_bitset_test_bulk (bb->live_out_set, j * BITS_PER_CHUNK); + bits_in = mono_bitset_test_bulk (bb->live_in_set, j * 32); + bits_out = mono_bitset_test_bulk (bb->live_out_set, j * 32); for (k = 0; k < nbits; ++k) { - if (bits_in & ((gsize)1 << k)) - update_live_range (cfg, (j * BITS_PER_CHUNK) + k, bb->dfn, 0); - if (bits_out & ((gsize)1 << k)) - update_live_range (cfg, (j * BITS_PER_CHUNK) + k, bb->dfn, 0xffff); + if (bits_in & (1 << k)) + update_live_range (cfg, (j * 32) + k, bb->dfn, 0); + if (bits_out & (1 << k)) + update_live_range (cfg, (j * 32) + k, bb->dfn, 0xffff); } } } diff --git a/mono/mini/mini.c b/mono/mini/mini.c index 039e13e0714..8e5e4091847 100644 --- a/mono/mini/mini.c +++ b/mono/mini/mini.c @@ -9269,7 +9269,7 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, gbool if ((i = mono_method_to_ir (cfg, method, NULL, NULL, cfg->locals_start, NULL, NULL, NULL, 0, FALSE)) < 0) { if (cfg->prof_options & MONO_PROFILE_JIT_COMPILATION) - mono_profiler_method_end_jit (method, NULL, MONO_PROFILE_FAILED); + mono_profiler_method_end_jit (method, MONO_PROFILE_FAILED); mono_destroy_compile (cfg); return NULL; } @@ -9549,7 +9549,7 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, gbool mono_jit_stats.native_code_size += cfg->code_len; if (cfg->prof_options & MONO_PROFILE_JIT_COMPILATION) - mono_profiler_method_end_jit (method, jinfo, MONO_PROFILE_OK); + mono_profiler_method_end_jit (method, MONO_PROFILE_OK); /* this can only be set if the security manager is active */ if (cfg->exception_type == MONO_EXCEPTION_SECURITY_LINKDEMAND) { diff --git a/mono/mini/mini.h b/mono/mini/mini.h index 85a74f7ee5b..c61cf21b823 100644 --- a/mono/mini/mini.h +++ b/mono/mini/mini.h @@ -39,6 +39,12 @@ /* Version number of the AOT file format */ #define MONO_AOT_FILE_VERSION "25" +#if 1 +#define mono_bitset_test_fast(set,n) (((guint32*)set)[2+(n)/32] & (1 << ((n) % 32))) +#else +#define mono_bitset_test_fast(set,n) mono_bitset_test(set,n) +#endif + #if 0 #define mono_bitset_foreach_bit(set,b,n) \ for (b = 0; b < n; b++)\ diff --git a/mono/utils/ChangeLog b/mono/utils/ChangeLog index 8e5a30ffd3a..194c8073af1 100644 --- a/mono/utils/ChangeLog +++ b/mono/utils/ChangeLog @@ -1,12 +1,3 @@ -2006-01-17 Zoltan Varga <vargaz@gmail.com> - - * monobitset.h monobitset.c: Move the mono_bitset_test_fast macro here - from mini.h. Also fix it after the 64 bit changes. - -2006-01-15 Zoltan Varga <vargaz@gmail.com> - - * monobitset.h monobitset.c: Use 64 bit chunks on 64 bit machines. - 2006-01-04 Zoltan Varga <vargaz@gmail.com> * mono-codeman.c (new_codechunk): Fix warnings. diff --git a/mono/utils/monobitset.c b/mono/utils/monobitset.c index c23381f7608..a39820c51aa 100644 --- a/mono/utils/monobitset.c +++ b/mono/utils/monobitset.c @@ -10,12 +10,12 @@ #define MONO_ZERO_LEN_ARRAY 1 #endif -#define BITS_PER_CHUNK MONO_BITSET_BITS_PER_CHUNK +#define BITS_PER_CHUNK (8 * sizeof (guint32)) struct MonoBitSet { - gsize size; - gsize flags; - gsize data [MONO_ZERO_LEN_ARRAY]; + guint32 size; + guint32 flags; + guint32 data [MONO_ZERO_LEN_ARRAY]; }; /* @@ -31,7 +31,7 @@ guint32 mono_bitset_alloc_size (guint32 max_size, guint32 flags) { guint32 real_size = (max_size + BITS_PER_CHUNK - 1) / BITS_PER_CHUNK; - return sizeof (MonoBitSet) + sizeof (gsize) * (real_size - MONO_ZERO_LEN_ARRAY); + return sizeof (MonoBitSet) + sizeof (guint32) * (real_size - MONO_ZERO_LEN_ARRAY); } /* @@ -47,7 +47,7 @@ mono_bitset_new (guint32 max_size, guint32 flags) { guint32 real_size = (max_size + BITS_PER_CHUNK - 1) / BITS_PER_CHUNK; MonoBitSet *result; - result = g_malloc0 (sizeof (MonoBitSet) + sizeof (gsize) * (real_size - MONO_ZERO_LEN_ARRAY)); + result = g_malloc0 (sizeof (MonoBitSet) + sizeof (guint32) * (real_size - MONO_ZERO_LEN_ARRAY)); result->size = real_size * BITS_PER_CHUNK; result->flags = flags; return result; @@ -101,7 +101,7 @@ mono_bitset_set (MonoBitSet *set, guint32 pos) { g_return_if_fail (pos < set->size); - set->data [j] |= (gsize)1 << bit; + set->data [j] |= 1 << bit; } /* @@ -119,7 +119,7 @@ mono_bitset_test (const MonoBitSet *set, guint32 pos) { g_return_val_if_fail (pos < set->size, 0); - return (set->data [j] & ((gsize)1 << bit)) > 0; + return set->data [j] & (1 << bit); } /* @@ -127,10 +127,10 @@ mono_bitset_test (const MonoBitSet *set, guint32 pos) { * @set: bitset ptr * @pos: test bit at this pos * - * Return 32/64 bits from the bitset, starting from @pos, which must be - * divisible with 32/64. + * Return 32 bits from the bitset, starting from @pos, which must be divisible + * with 32. */ -gsize +guint32 mono_bitset_test_bulk (const MonoBitSet *set, guint32 pos) { int j = pos / BITS_PER_CHUNK; @@ -154,7 +154,7 @@ mono_bitset_clear (MonoBitSet *set, guint32 pos) { g_return_if_fail (pos < set->size); - set->data [j] &= ~((gsize)1 << bit); + set->data [j] &= ~(1 << bit); } /* @@ -180,7 +180,7 @@ void mono_bitset_set_all (MonoBitSet *set) { int i; for (i = 0; i < set->size / BITS_PER_CHUNK; ++i) - set->data [i] = (gsize)-1; + set->data [i] = 0xffffffff; } /* @@ -239,16 +239,6 @@ mono_bitset_count (const MonoBitSet *set) { count += table [b [2] >> 4]; count += table [b [3] & 0xf]; count += table [b [3] >> 4]; -#if SIZEOF_VOID_P == 8 - count += table [b [4] & 0xf]; - count += table [b [4] >> 4]; - count += table [b [5] & 0xf]; - count += table [b [5] >> 4]; - count += table [b [6] & 0xf]; - count += table [b [6] >> 4]; - count += table [b [7] & 0xf]; - count += table [b [7] >> 4]; -#endif } } return count; @@ -297,18 +287,13 @@ bitstart_mask [] = { #else static inline gint -my_g_bit_nth_lsf (gsize mask, gint nth_bit) +my_g_bit_nth_lsf (guint32 mask, gint nth_bit) { do { nth_bit++; - if (mask & ((gsize)1 << nth_bit)) { - if (nth_bit == BITS_PER_CHUNK) - /* On 64 bit platforms, 1 << 64 == 1 */ - return -1; - else - return nth_bit; - } - } while (nth_bit < BITS_PER_CHUNK); + if (mask & (1 << (gulong) nth_bit)) + return nth_bit; + } while (nth_bit < 31); return -1; } #define my_g_bit_nth_lsf_nomask(m) (my_g_bit_nth_lsf((m),-1)) @@ -548,7 +533,7 @@ mono_bitset_foreach (MonoBitSet *set, MonoBitSetFunc func, gpointer data) for (i = 0; i < set->size / BITS_PER_CHUNK; ++i) { if (set->data [i]) { for (j = 0; j < BITS_PER_CHUNK; ++j) - if (set->data [i] & ((gsize)1 << j)) + if (set->data [i] & (1 << j)) func (j + i * BITS_PER_CHUNK, data); } } diff --git a/mono/utils/monobitset.h b/mono/utils/monobitset.h index 8a68d81f331..6807336a6c9 100644 --- a/mono/utils/monobitset.h +++ b/mono/utils/monobitset.h @@ -10,11 +10,6 @@ enum { MONO_BITSET_DONT_FREE = 1 }; -#define MONO_BITSET_BITS_PER_CHUNK (8 * sizeof (gsize)) - -/* Fast access to bits which depends on the implementation of the bitset */ -#define mono_bitset_test_fast(set,n) (((gsize*)set)[2+(n)/MONO_BITSET_BITS_PER_CHUNK] & ((gsize)1 << ((n) % MONO_BITSET_BITS_PER_CHUNK))) - /* * Interface documentation can be found in the c-file. * Interface documentation by Dennis Haney. @@ -34,7 +29,7 @@ void mono_bitset_set_all (MonoBitSet *set); int mono_bitset_test (const MonoBitSet *set, guint32 pos); -gsize mono_bitset_test_bulk (const MonoBitSet *set, guint32 pos); +guint32 mono_bitset_test_bulk (const MonoBitSet *set, guint32 pos); void mono_bitset_clear (MonoBitSet *set, guint32 pos); diff --git a/scripts/Makefile.am b/scripts/Makefile.am index b74d809d030..7ddb6fa1780 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -40,7 +40,6 @@ scripts_2_0 = \ gmcs \ ilasm2 \ monop2 \ - nunit-console2 \ wsdl2 \ xbuild |