diff options
116 files changed, 815 insertions, 2608 deletions
diff --git a/ChangeLog b/ChangeLog index 12797b18287..2d5040dff93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,18 +1,3 @@ -2003-08-16 Zoltan Varga <vargaz@freemail.hu> - - * mono/tests/checked.cs: Added mul.ovf tests. - -2003-08-15 Duncan Mak <duncan@ximian.com> - - * doc/mysql: Change references to ByteFX.Data.MySQLClient to the - correct ByteFX.Data.MySqlClient (note the change in - capitalization). Thanks to Tom Wagner <Tom.Wagner@wacker.com> for - spotting the error. - -2003-08-15 Zoltan Varga <vargaz@freemail.hu> - - * mono/tests/bug-47295.cs: Regression test for bug #47295. - 2003-08-11 Duncan Mak <duncan@ximian.com> * runtime/Makefile.am (assemblies_DATA): Add Mono.Cairo.dll. diff --git a/Makefile.am b/Makefile.am index 95b8d6d13f3..403567fc8f2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -33,7 +33,4 @@ mcs-rest: (cd ../mcs/class; make) remove-binaries: - rm ../mcs/class/lib/corlib.dll ../mcs/mcs/mcs.exe runtime/*dll runtime/*.exe >& /dev/null; echo - -win32setup: - makensis /DMILESTONE=@VERSION@ /DSOURCE_INSTALL_DIR=`cygpath -a -w @prefix@`\\* monowiz.win32.nsi
\ No newline at end of file + rm ../mcs/class/lib/corlib.dll ../mcs/mcs/mcs.exe runtime/*dll runtime/*.exe >& /dev/null; echo
\ No newline at end of file diff --git a/config.h.in b/config.h.in deleted file mode 100644 index b412155c227..00000000000 --- a/config.h.in +++ /dev/null @@ -1,51 +0,0 @@ -/* config.h.in. Generated automatically from configure.in by autoheader 2.13. */ - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -#undef HAVE_INET_PTON -#undef HAVE_INET_ATON -#undef HAVE_SOL_IP -#undef HAVE_SOL_TCP -#undef HAVE_IP_PKTINFO -#undef HAVE_STRUCT_IP_MREQN -#undef HAVE_PTHREAD -#undef HAVE_PTHREAD_MUTEX_TIMEDLOCK -#undef USE_MONO_MUTEX -#undef HAVE_LARGE_FILE_SUPPORT -#undef PLATFORM_WIN32 -#undef HAVE_NEW_ICONV -#undef NAME_DEV_RANDOM -#undef HAVE_CRYPT_RNG -#undef HAVE_BOEHM_GC - -/* The number of bytes in a void *. */ -#undef SIZEOF_VOID_P - -/* Define if you have the inet_aton function. */ -#undef HAVE_INET_ATON - -/* Define if you have the inet_pton function. */ -#undef HAVE_INET_PTON - -/* Define if you have the <dlfcn.h> header file. */ -#undef HAVE_DLFCN_H - -/* Define if you have the <netdb.h> header file. */ -#undef HAVE_NETDB_H - -/* Define if you have the <sys/filio.h> header file. */ -#undef HAVE_SYS_FILIO_H - -/* Define if you have the <sys/sockio.h> header file. */ -#undef HAVE_SYS_SOCKIO_H - -/* Define if you have the <utime.h> header file. */ -#undef HAVE_UTIME_H - -/* Name of package */ -#undef PACKAGE - -/* Version number of package */ -#undef VERSION - diff --git a/data/.cvsignore b/data/.cvsignore new file mode 100644 index 00000000000..a0529befba9 --- /dev/null +++ b/data/.cvsignore @@ -0,0 +1,4 @@ +Makefile.in +Makefile +config +.cvsignore diff --git a/doc/bugs b/doc/bugs new file mode 100644 index 00000000000..bfb06a1883e --- /dev/null +++ b/doc/bugs @@ -0,0 +1,69 @@ +* Bug reporting + + To report bugs you need to create a <a + href="http://bugzilla.ximian.com/createaccount.cgi">Bugzilla + Account</a>. + + Here are some convenient shortcuts to browse or add bug reports. + + <ul> + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&newqueryname=&form_name=query&order=bugs.priority%2C%20bugs.bug_id">[Query]</> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FClass%20Libraries">[Add]</a> Class Libraries + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FAssembler&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FAssembler">[Add]</a> IL Assembler. + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FMCS&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FMCS">[Add]</a> C# Compiler. + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FRuntime&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FRuntime">[Add]</a> Runtime + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FDoctools&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FDoctools">[Add]</a> Documentation system. + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=gtk%23&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=gtk%23">[Add]</a> Gtk# + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FDebugger&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FDebugger">[Add]</a> Debugger. + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&product=Mono%2FMCS&product=Mono%2FRuntime&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&order=%27Importance%27&form_name=query">[Query]</a> All core components. + </ul> + +<a name="goodbugreport"/> +** How to make good bug reports + + <ol> + * Submit a test case, the smaller it is, the better + + * Use <a href="http://bugzilla.ximian.com"> + http://bugzilla.ximian.com</a> to report the bug. + + <p>In <b>addition</b> to bugzilla, posting to the list is + fine if the bug merits larger exposure or design + discussions to solve; posting to the list twice or more + is just a way to annoy people and make them waste time, + specially when you start a new thread about it. + + * If the test involves libraries or assemblies that are + not part of mono, add info about where to download all + the dependencies, and how to compile/install them. + + * If compiling the test case requires more than: + <pre> mcs test.cs </pre> + provide the <b>full command line</b> you used to compile + the test. + + * If running the test requires more than: + <pre> mono test.exe </pre> + provide the <b>full command line</b> needed to replicate + the bug. + + * Provide info about the version of the software you're + using (both mono and the operating system or relevant + libraries). + + * Provide the output you expect the test case to produce. + + * Provide the actual output <b>you</b> get from the test case. + </ol> + + A good bug report complies with at least 6 items from the list. + If your bug report complies with 3 or less items, it is very + poor and it means it will take much more time to fix (when it's + not ignored). + diff --git a/doc/download b/doc/download index 4c14608c516..26f6380b3fb 100644 --- a/doc/download +++ b/doc/download @@ -12,98 +12,7 @@ href="http://www.go-mono.org/mono-beginning.html">Resources/Beginning section</a>, the <a href="http://www.go-mono.org/faq.html">FAQ</a>. - <table> - <tbody> - <tr bgcolor="#DDDDDD"> - <td> - <b>Release 0.26</b><br> - <a href="archive/mono-0.26.html">Release notes</a><br> - Aug 14, 2003 - </td> - <td> - <table cellspacing="1" cellpadding="3"> - <tr bgcolor="#BBBBBB"> - <td> - <b>Source Code</b> - </td> - <td> - <ul> - <li><a href="archive/mcs-0.26.tar.gz">Mono Class Libraries and C# Compiler.</a> - <li><a href="archive/mono-0.26.tar.gz">Mono Runtime</a> - <li><a href="archive/xsp-0.5.tar.gz">XSP web server (0.5)</a> - <li><a href="archive/mod_mono-0.4.tar.gz">Apache Mono module (mod_mono)</a> - <li><a href="archive/monodoc-0.6.tar.gz">MonoDoc 0.6</a> - </ul> - </td> - </tr> - <tr bgcolor="#BBBBBB"> - <td> - <b>Source RPMs</b><br> - (No RPMS for XSP). - </td> - <td> - <ul> - <li><a href="archive/redhat-90-i386/mono-0.26-1.ximian.6.1.src.rpm">mono-0.26-1.src.rpm (RH9)</a> - <li><a href="archive/redhat-90-i386/mono-0.26-1.ximian.5.1.src.rpm">mono-0.26-1.src.rpm (RH8)</a> - </ul> - </td> - </tr> - <tr> - <td></td> - </tr> - <tr> - <td bgcolor="#999999"> - <img src="images/redhat-36.gif"><b>Red Hat 9.0/x86</b> - <ul> - <li><a href="archive/redhat-90-i386/mono-0.26-1.ximian.6.1.i386.rpm">mono-0.26-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/mono-devel-0.26-1.ximian.6.1.i386.rpm">mono-devel-0.26-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/mono-debuginfo-0.26-1.ximian.6.1.i386.rpm">mono-debuginfo-0.26-1.i386.rpm</a> - <br> - <li><a href="archive/redhat-90-i386/libpixregion-0.1.0-1.ximian.6.1.i386.rpm">libpixregion-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/libpixregion-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">libpixregion-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/libic-0.1.0-1.ximian.6.1.i386.rpm">libic-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/libic-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">libic-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/xc-0.1.0-1.ximian.6.1.i386.rpm">xc-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/xc-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">xc-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/xr-0.1.0-1.ximian.6.1.i386.rpm">xr-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/xr-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">xr-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a> - <br> - <li><a href="archive/redhat-90-i386/monodoc-0.6-1.ximian.6.1.i386.rpm">monodoc-0.6-1.ximian.6.1.i386.rpm</a> (To be used only with CVS gtk-sharp) - <li><a href="archive/redhat-90-i386/monodoc-debuginfo-0.5-1.ximian.6.1.i386.rpm">monodoc-debuginfo-0.5-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/mono-wine-20030318-1.ximian.6.2.i386.rpm">mono-wine-20030318-1.ximian.6.2.i386.rpm</a> - <li><a href="archive/mono-wine-debuginfo-20030318-1.ximian.6.2.i386.rpm">mono-wine-debuginfo-20030318-1.ximian.6.2.i386.rpm</a> - </ul> - </td> - <td bgcolor="#999999"> - <img src="images/redhat-36.gif"><b>Red Hat 8.0/x86</b> - <ul> - <li><a href="archive/redhat-80-i386/mono-0.26-1.ximian.5.1.i386.rpm">mono-0.26-1.ximian.5.1.i386.rpm</a> - <li><a href="archive/redhat-80-i386/mono-devel-0.26-1.ximian.5.1.i386.rpm">mono-devel-0.26-1.ximian.5.1.i386.rpm</a> - <br> - <li><a href="archive/redhat-80-i386/monodoc-0.5-1.ximian.5.1.i386.rpm">monodoc-0.5-1.ximian.5.1.i386.rpm</a> (To be used only with CVS gtk-sharp) - <li><a href="archive/mono-wine-20030318-1.ximian.5.2.i386.rpm">mono-wine-20030318-1.ximian.5.2.i386.rpm</a> - </ul> - </td> - </tr> - <tr> - <td bgcolor="#999999"> - <img src="images/debian-36.gif"><b>Debian</b> - <ul> - <li><a href="http://www.debianplanet.com/mono/">Debian Packages here.</a> - </ul> - </td> - <td bgcolor="#999999"> - <img src="images/mandrake-36.gif"><b>Mandrake 9.1/x86</b> - <ul> - <li><a href="archive/mandrake-91-i586/mono-0.26-1.ximian.6.1.i586.rpm">mono-0.26-1.ximian.6.1.i586.rpm</a> - <li><a href="archive/mandrake-91-i586/mono-devel-0.26-1.ximian.6.1.i586.rpm">mono-devel-0.26-1.ximian.6.1.i586.rpm</a> -<!-- <li><a href="archive/mandrake-91-i586/monodoc-0.5-1.ximian.6.1.i586.rpm">monodoc-0.5-1.ximian.6.1.i586.rpm</a> --> - </ul> - </td> - </tr> - </table> - </td> <table> <tbody> <tr bgcolor="#DDDDDD"> @@ -1271,4 +1180,4 @@ make install Notice that following the above procedure does not require you to manually install the software in the `mcs' directory, as - the relevant files will be copied by the `mono' makefiles.
\ No newline at end of file + the relevant files will be copied by the `mono' makefiles. diff --git a/doc/index b/doc/index index 4f27aaa1c6a..7138e25e740 100644 --- a/doc/index +++ b/doc/index @@ -151,21 +151,6 @@ </tr> </table> -@item Aug 14th, 2003: Mono 0.26 has been released - - A new version of Mono is available, the new features include: - <a href="http://www.cairographics.org/">Cairo support</a>, <a - href="http://remoting-corba.sf.net">Remoting.Corba</a> - support, as well as a managed XSLT implementation. - - Existing features have been improved vastly: better - Windows.Forms, runtime, faster compiler, web services, better - compliance to the spec and more. - - Check out the <a - href="http://www.go-mono.com/archive/mono-0.26.html">Release - notes</a> for details. - @item Aug 9th, 2003: Python for .NET Preview 2 available; Mono Documentation site up. Brian Lloyd has <a diff --git a/doc/mysql b/doc/mysql index 7b0a4d5811b..56c5f112950 100755 --- a/doc/mysql +++ b/doc/mysql @@ -43,7 +43,7 @@ in the Microsoft .NET Environment</a> is an article by Mr. Venu who is a MySQL AB developer.</li> - <p>Testing for Mono's Mono.Data.MySql and ByteFX's ByteFX.Data.MySqlClient is below. + <p>Testing for Mono's Mono.Data.MySql and ByteFX's ByteFX.Data.MySQLClient is below. ** Current Status @@ -51,7 +51,7 @@ <ul> - <li>ByteFX.Data.MySqlClient + <li>ByteFX.Data.MySQLClient <ul> <li>Build and Runs on Microsoft .NET and Mono</li> <li>Works with SQL# (command-line and GTK# GUI versions)</li>
@@ -109,7 +109,7 @@ The current plan for the MySQL data providers: <ul> - <li>ByteFX.Data.MySqlClient + <li>ByteFX.Data.MySQLClient <ul> <li>Testing and fixes</li> <li>Implement missing features</li> @@ -163,7 +163,7 @@ <pre> using System; using System.Data; - using ByteFX.Data.MySqlClient; + using ByteFX.Data.MySQLClient; public class Test { @@ -175,7 +175,7 @@ "User ID=myuserid;" + "Password=mypassword;"; IDbConnection dbcon; - dbcon = new MySqlConnection(connectionString); + dbcon = new MySQLConnection(connectionString); dbcon.Open(); IDbCommand dbcmd = dbcon.CreateCommand(); // requires a table to be created named employee diff --git a/doc/pending-classes.in b/doc/pending-classes.in deleted file mode 100644 index 1cdb5a4cb36..00000000000 --- a/doc/pending-classes.in +++ /dev/null @@ -1,246 +0,0 @@ -System.Object -System.Exception -System.ValueType -System.Delegate -System.MulticastDelegate -System.Enum -System.Activator -System.ArgIterator -System.__ComObject -System.TypedReference -System.Security.AllowPartiallyTrustedCallersAttribute -System.Runtime.Serialization.Formatter -System.Runtime.Serialization.FormatterConverter -System.Runtime.Serialization.FormatterServices -System.Runtime.Serialization.ObjectIDGenerator -System.Runtime.Serialization.ObjectManager -System.Reflection.ModuleResolveEventHandler -System.Reflection.Pointer -System.Globalization.CompareInfo -System.Globalization.HebrewCalendar -System.Globalization.HijriCalendar -System.Globalization.JapaneseCalendar -System.Globalization.KoreanCalendar -System.Globalization.SortKey -System.Globalization.StringInfo -System.Globalization.TaiwanCalendar -System.Globalization.TextElementEnumerator -System.Globalization.TextInfo -System.Globalization.ThaiBuddhistCalendar -System.IO.IsolatedStorage.IsolatedStorageFile -System.Reflection.Emit.MethodRental -System.Runtime.CompilerServices.AccessedThroughPropertyAttribute -System.Runtime.CompilerServices.CallConvCdecl -System.Runtime.CompilerServices.CallConvStdcall -System.Runtime.CompilerServices.CallConvThiscall -System.Runtime.CompilerServices.CallConvFastcall -System.Runtime.CompilerServices.CustomConstantAttribute -System.Runtime.CompilerServices.DateTimeConstantAttribute -System.Runtime.CompilerServices.DiscardableAttribute -System.Runtime.CompilerServices.DecimalConstantAttribute -System.Runtime.CompilerServices.CompilationRelaxationsAttribute -System.Runtime.CompilerServices.CompilerGlobalScopeAttribute -System.Runtime.CompilerServices.IDispatchConstantAttribute -System.Runtime.CompilerServices.IsVolatile -System.Runtime.CompilerServices.IUnknownConstantAttribute -System.Runtime.CompilerServices.RequiredAttributeAttribute -System.Runtime.InteropServices.ArrayWithOffset -System.Runtime.InteropServices.DispIdAttribute -System.Runtime.InteropServices.ClassInterfaceType -System.Runtime.InteropServices.ClassInterfaceAttribute -System.Runtime.InteropServices.ComVisibleAttribute -System.Runtime.InteropServices.LCIDConversionAttribute -System.Runtime.InteropServices.ComRegisterFunctionAttribute -System.Runtime.InteropServices.ComUnregisterFunctionAttribute -System.Runtime.InteropServices.ProgIdAttribute -System.Runtime.InteropServices.ImportedFromTypeLibAttribute -System.Runtime.InteropServices.IDispatchImplType -System.Runtime.InteropServices.IDispatchImplAttribute -System.Runtime.InteropServices.ComSourceInterfacesAttribute -System.Runtime.InteropServices.ComConversionLossAttribute -System.Runtime.InteropServices.TypeLibTypeFlags -System.Runtime.InteropServices.TypeLibFuncFlags -System.Runtime.InteropServices.TypeLibVarFlags -System.Runtime.InteropServices.TypeLibTypeAttribute -System.Runtime.InteropServices.TypeLibFuncAttribute -System.Runtime.InteropServices.TypeLibVarAttribute -System.Runtime.InteropServices.ComImportAttribute -System.Runtime.InteropServices.PreserveSigAttribute -System.Runtime.InteropServices.ComAliasNameAttribute -System.Runtime.InteropServices.AutomationProxyAttribute -System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute -System.Runtime.InteropServices.CoClassAttribute -System.Runtime.InteropServices.ComEventInterfaceAttribute -System.Runtime.InteropServices.COMException -System.Runtime.InteropServices.ComMemberType -System.Runtime.InteropServices.CurrencyWrapper -System.Runtime.InteropServices.DispatchWrapper -System.Runtime.InteropServices.ErrorWrapper -System.Runtime.InteropServices.ExtensibleClassFactory -System.Runtime.InteropServices.HandleRef -System.Runtime.InteropServices.InvalidComObjectException -System.Runtime.InteropServices.InvalidOleVariantTypeException -System.Runtime.InteropServices.TypeLibImporterFlags -System.Runtime.InteropServices.ExporterEventKind -System.Runtime.InteropServices.ITypeLibExporterNotifySink -System.Runtime.InteropServices.ITypeLibConverter -System.Runtime.InteropServices.MarshalDirectiveException -System.Runtime.InteropServices.ObjectCreationDelegate -System.Runtime.InteropServices.RuntimeEnvironment -System.Runtime.InteropServices.RegistrationServices -System.Runtime.InteropServices.SafeArrayRankMismatchException -System.Runtime.InteropServices.SafeArrayTypeMismatchException -System.Runtime.InteropServices.SEHException -System.Runtime.InteropServices.TypeLibConverter -System.Runtime.InteropServices.BIND_OPTS -System.Runtime.InteropServices.UCOMIBindCtx -System.Runtime.InteropServices.UCOMIConnectionPointContainer -System.Runtime.InteropServices.UCOMIConnectionPoint -System.Runtime.InteropServices.UCOMIEnumMoniker -System.Runtime.InteropServices.CONNECTDATA -System.Runtime.InteropServices.UCOMIEnumConnections -System.Runtime.InteropServices.UCOMIEnumConnectionPoints -System.Runtime.InteropServices.UCOMIEnumString -System.Runtime.InteropServices.UCOMIEnumVARIANT -System.Runtime.InteropServices.FILETIME -System.Runtime.InteropServices.UCOMIMoniker -System.Runtime.InteropServices.UCOMIPersistFile -System.Runtime.InteropServices.UCOMIRunningObjectTable -System.Runtime.InteropServices.STATSTG -System.Runtime.InteropServices.UCOMIStream -System.Runtime.InteropServices.DESCKIND -System.Runtime.InteropServices.BINDPTR -System.Runtime.InteropServices.UCOMITypeComp -System.Runtime.InteropServices.TYPEKIND -System.Runtime.InteropServices.TYPEFLAGS -System.Runtime.InteropServices.IMPLTYPEFLAGS -System.Runtime.InteropServices.TYPEATTR -System.Runtime.InteropServices.FUNCDESC -System.Runtime.InteropServices.IDLFLAG -System.Runtime.InteropServices.IDLDESC -System.Runtime.InteropServices.PARAMFLAG -System.Runtime.InteropServices.PARAMDESC -System.Runtime.InteropServices.TYPEDESC -System.Runtime.InteropServices.ELEMDESC -System.Runtime.InteropServices.VARDESC -System.Runtime.InteropServices.DISPPARAMS -System.Runtime.InteropServices.EXCEPINFO -System.Runtime.InteropServices.FUNCKIND -System.Runtime.InteropServices.INVOKEKIND -System.Runtime.InteropServices.CALLCONV -System.Runtime.InteropServices.FUNCFLAGS -System.Runtime.InteropServices.VARFLAGS -System.Runtime.InteropServices.UCOMITypeInfo -System.Runtime.InteropServices.SYSKIND -System.Runtime.InteropServices.LIBFLAGS -System.Runtime.InteropServices.TYPELIBATTR -System.Runtime.InteropServices.UCOMITypeLib -System.Runtime.InteropServices.UnknownWrapper -System.Runtime.Remoting.IObjectHandle -System.Runtime.Remoting.IRemotingTypeInfo -System.Runtime.Remoting.IChannelInfo -System.Runtime.Remoting.IEnvoyInfo -System.Runtime.Remoting.RemotingConfiguration -System.Runtime.Remoting.TypeEntry -System.Runtime.Remoting.ActivatedClientTypeEntry -System.Runtime.Remoting.ActivatedServiceTypeEntry -System.Runtime.Remoting.WellKnownClientTypeEntry -System.Runtime.Remoting.WellKnownServiceTypeEntry -System.Runtime.Remoting.RemotingException -System.Runtime.Remoting.ServerException -System.Runtime.Remoting.RemotingTimeoutException -System.Runtime.Remoting.RemotingServices -System.Runtime.Remoting.InternalRemotingServices -System.Runtime.Remoting.SoapServices -System.Runtime.Remoting.Activation.UrlAttribute -System.Runtime.Remoting.Messaging.IMessageSink -System.Runtime.Remoting.Messaging.AsyncResult -System.Runtime.Remoting.Messaging.CallContext -System.Runtime.Remoting.Messaging.ILogicalThreadAffinative -System.Runtime.Remoting.Messaging.InternalMessageWrapper -System.Runtime.Remoting.Messaging.IMethodCallMessage -System.Runtime.Remoting.Messaging.MethodCallMessageWrapper -System.Runtime.Remoting.Messaging.HeaderHandler -System.Runtime.Remoting.Messaging.IMessageCtrl -System.Runtime.Remoting.Messaging.IRemotingFormatter -System.Runtime.Remoting.Messaging.ReturnMessage -System.Runtime.Remoting.Messaging.MethodCall -System.Runtime.Remoting.Messaging.ConstructionCall -System.Runtime.Remoting.Messaging.MethodResponse -System.Runtime.Remoting.Messaging.ConstructionResponse -System.Runtime.Remoting.Messaging.MethodReturnMessageWrapper -System.Runtime.Remoting.Messaging.OneWayAttribute -System.Runtime.Remoting.Messaging.MessageSurrogateFilter -System.Runtime.Remoting.Messaging.RemotingSurrogateSelector -System.Runtime.Remoting.Contexts.CrossContextDelegate -System.Runtime.Remoting.Contexts.ContextProperty -System.Runtime.Remoting.Contexts.IContextPropertyActivator -System.Runtime.Remoting.Contexts.IContributeClientContextSink -System.Runtime.Remoting.Contexts.IContributeDynamicSink -System.Runtime.Remoting.Contexts.IContributeEnvoySink -System.Runtime.Remoting.Contexts.IContributeObjectSink -System.Runtime.Remoting.Contexts.IContributeServerContextSink -System.Runtime.Serialization.Formatters.InternalRM -System.Runtime.Serialization.Formatters.InternalST -System.Runtime.Serialization.Formatters.SoapMessage -System.Runtime.Serialization.Formatters.SoapFault -System.Runtime.Serialization.Formatters.ServerFault -System.Runtime.Serialization.Formatters.Binary.BinaryFormatter -System.Security.Cryptography.CryptoConfig -System.Security.Cryptography.KeyedHashAlgorithm -System.Security.Cryptography.HMACSHA1 -System.Security.Cryptography.MACTripleDES -System.Security.Cryptography.MaskGenerationMethod -System.Security.Cryptography.PasswordDeriveBytes -System.Security.Cryptography.PKCS1MaskGenerationMethod -System.Security.Cryptography.RC2 -System.Security.Cryptography.RC2CryptoServiceProvider -System.Security.Cryptography.RSACryptoServiceProvider -System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter -System.Security.Cryptography.RSAOAEPKeyExchangeFormatter -System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter -System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter -System.Security.Cryptography.RSAPKCS1SignatureDeformatter -System.Security.Cryptography.RSAPKCS1SignatureFormatter -System.Security.Cryptography.SHA1Managed -System.Security.Cryptography.TripleDES -System.Security.Cryptography.TripleDESCryptoServiceProvider -System.Security.Permissions.EnvironmentPermission -System.Security.Permissions.FileDialogPermission -System.Security.Permissions.IsolatedStorageFilePermission -System.Security.Permissions.PrincipalPermissionAttribute -System.Security.Permissions.SecurityPermissionAttribute -System.Security.Permissions.PublisherIdentityPermissionAttribute -System.Security.Permissions.PublisherIdentityPermission -System.Security.Permissions.ReflectionPermission -System.Security.Permissions.RegistryPermission -System.Security.Permissions.PrincipalPermission -System.Security.Permissions.SiteIdentityPermission -System.Security.Permissions.StrongNameIdentityPermission -System.Security.Permissions.StrongNamePublicKeyBlob -System.Security.Permissions.UIPermission -System.Security.Permissions.UrlIdentityPermission -System.Security.Permissions.ZoneIdentityPermission -System.Security.Policy.ApplicationDirectory -System.Security.Policy.ApplicationDirectoryMembershipCondition -System.Security.Policy.FirstMatchCodeGroup -System.Security.Policy.Hash -System.Security.Policy.HashMembershipCondition -System.Security.Policy.NetCodeGroup -System.Security.Policy.PermissionRequestEvidence -System.Security.Policy.Publisher -System.Security.Policy.PublisherMembershipCondition -System.Security.Policy.Site -System.Security.Policy.SiteMembershipCondition -System.Security.Policy.StrongName -System.Security.Policy.StrongNameMembershipCondition -System.Security.Policy.UnionCodeGroup -System.Security.Policy.Url -System.Security.Policy.UrlMembershipCondition -System.Security.Policy.Zone -System.Security.Policy.ZoneMembershipCondition -System.Security.Principal.WindowsIdentity -System.Security.Principal.WindowsImpersonationContext -System.Security.Principal.WindowsPrincipal -System.Threading.CompressedStack -
diff --git a/doc/web/makefile b/doc/web/makefile index ed5b87ac8a5..90fe990fec1 100644 --- a/doc/web/makefile +++ b/doc/web/makefile @@ -64,6 +64,20 @@ OBJECTS= \ deploy/testing.html \ deploy/tools.html \ deploy/winforms.html \ + deploy/class-status.html \ + deploy/class-status-corlib.html \ + deploy/class-status-System.html \ + deploy/class-status-System.Xml.html \ + deploy/class-status-System.Drawing.html \ + deploy/class-status-System.Data.html \ + deploy/class-status-System.Web.html \ + deploy/class-status-System.Web.Services.html \ + deploy/class-status-Microsoft.VisualBasic.html \ + deploy/class-status-System.EnterpriseServices.html \ + deploy/class-status-System.Runtime.Serialization.Formatters.Soap.html \ + deploy/class-status-System.Security.html \ + deploy/class-status-System.Windows.Forms.html \ + deploy/class-status-Cscompmgd.html \ deploy/class-library.html \ deploy/classlib-doc.html @@ -77,7 +91,7 @@ NON_HTML_SOURCES= \ ../mono-build.sh \ ../mono-build-w32.sh -all: $(OBJECT) deploy/index.rss ../team +all: $(OBJECTS) deploy/index.rss ../team perl process.pl commands template.html.in deploy -mkdir deploy/team cp team/*png deploy/team diff --git a/doc/web/team/peterw.png b/doc/web/team/peterw.png Binary files differnew file mode 100644 index 00000000000..1cb36eab7c8 --- /dev/null +++ b/doc/web/team/peterw.png diff --git a/doc/web/template.html.in b/doc/web/template.html.in index 5c25278530d..2aab918a0a5 100644 --- a/doc/web/template.html.in +++ b/doc/web/template.html.in @@ -38,25 +38,11 @@ <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> - <td><img src="images/pixel.gif" alt=""></td><!-- left border - --> - <td colspan="4"> - <table> - <tr> - <td> - <a href="http://www.go-mono.com"><img - src="images/mono-new.gif" alt="mono-logo" border="0"></a> - </td> - <td> - <a class="navi0" href="download.html">Downloads</a> | - <a class="navi0" href="screenshots.html">Screenshots</a> | - <a class="navi0" href="http://mono.ximian.com:8080">API Docs</a> - </td> - </tr> - </table> - </td> - <td><img src="images/pixel.gif" alt=""></td><!-- right border - --> + <td><img src="images/pixel.gif" alt=""></td><!-- left border --> + <td colspan="4"> + <a href="http://www.go-mono.com"><img src="images/mono-new.gif" + alt="mono-logo" border="0"></a></td> + <td><img src="images/pixel.gif" alt=""></td><!-- right border --> </tr> <tr> <td><img src="images/pixel.gif" width="1" height="1" alt=""></td> diff --git a/mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci/OciParameterDescriptor.cs b/mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci/OciParameterDescriptor.cs index f3ef0bbebf7..72f42c45eaa 100644 --- a/mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci/OciParameterDescriptor.cs +++ b/mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci/OciParameterDescriptor.cs @@ -65,67 +65,6 @@ namespace System.Data.OracleClient.Oci { return (OciDataType) GetAttributeInt32 (OciAttributeType.DataType, ErrorHandle); } - public string GetDataTypeName () - { - switch(GetDataType()) - { - case OciDataType.VarChar2: - return "VarChar2"; - case OciDataType.Number: - return "Number"; - case OciDataType.Integer: - return "Integer"; - case OciDataType.Float: - return "Float"; - case OciDataType.String: - return "String"; - case OciDataType.VarNum: - return "VarNum"; - case OciDataType.Long: - return "Long"; - case OciDataType.VarChar: - return "VarChar"; - case OciDataType.RowId: - return "RowId"; - case OciDataType.Date: - return "Date"; - case OciDataType.VarRaw: - return "VarRaw"; - case OciDataType.Raw: - return "Raw"; - case OciDataType.LongRaw: - return "LongRaw"; - case OciDataType.UnsignedInt: - return "UnsignedInt"; - case OciDataType.LongVarChar: - return "LongVarChar"; - case OciDataType.LongVarRaw: - return "LongVarRaw"; - case OciDataType.Char: - return "Char"; - case OciDataType.CharZ: - return "CharZ"; - case OciDataType.RowIdDescriptor: - return "RowIdDescriptor"; - case OciDataType.NamedDataType: - return "NamedDataType"; - case OciDataType.Ref: - return "Ref"; - case OciDataType.Clob: - return "Clob"; - case OciDataType.Blob: - return "Blob"; - case OciDataType.BFile: - return "BFile"; - case OciDataType.OciString: - return "OciString"; - case OciDataType.OciDate: - return "OciDate"; - default: - return "Unknown"; - } - } - public short GetPrecision () { return (short) GetAttributeByte (OciAttributeType.Precision, ErrorHandle); diff --git a/mcs/class/System.Data.OracleClient/System.Data.OracleClient/OracleDataReader.cs b/mcs/class/System.Data.OracleClient/System.Data.OracleClient/OracleDataReader.cs index c848d9891cd..08bcfd15ea9 100644 --- a/mcs/class/System.Data.OracleClient/System.Data.OracleClient/OracleDataReader.cs +++ b/mcs/class/System.Data.OracleClient/System.Data.OracleClient/OracleDataReader.cs @@ -127,7 +127,6 @@ namespace System.Data.OracleClient { schemaTable.Columns.Add ("AllowDBNull", booleanType); schemaTable.Columns.Add ("IsUnique", booleanType); schemaTable.Columns.Add ("IsKey", booleanType); - schemaTable.Columns.Add ("IsReadOnly", booleanType); schemaTable.Columns.Add ("BaseSchemaTable", stringType); schemaTable.Columns.Add ("BaseCatalogName", stringType); schemaTable.Columns.Add ("BaseTableName", stringType); @@ -322,7 +321,7 @@ namespace System.Data.OracleClient { { if (schemaTable.Rows != null && schemaTable.Rows.Count > 0) return schemaTable; - + dataTypeNames = new ArrayList (); for (int i = 0; i < statement.ColumnCount; i += 1) { @@ -330,8 +329,6 @@ namespace System.Data.OracleClient { OciParameterDescriptor parameter = statement.GetParameter (i); - dataTypeNames.Add(parameter.GetDataTypeName()); - row ["ColumnName"] = parameter.GetName (); row ["ColumnOrdinal"] = i + 1; row ["ColumnSize"] = parameter.GetDataSize (); @@ -342,7 +339,6 @@ namespace System.Data.OracleClient { row ["DataType"] = typeof(string); row ["AllowDBNull"] = parameter.GetIsNull (); row ["BaseColumnName"] = parameter.GetName (); - row ["IsReadOnly"] = true; schemaTable.Rows.Add (row); } diff --git a/mcs/class/System.Data/System.Data.SqlClient/SqlDataReader.cs b/mcs/class/System.Data/System.Data.SqlClient/SqlDataReader.cs index 3272903c021..c9db7a57137 100644 --- a/mcs/class/System.Data/System.Data.SqlClient/SqlDataReader.cs +++ b/mcs/class/System.Data/System.Data.SqlClient/SqlDataReader.cs @@ -187,24 +187,10 @@ namespace System.Data.SqlClient { public long GetChars (int i, long dataIndex, char[] buffer, int bufferIndex, int length) { object value = GetValue (i); - char [] valueBuffer; - - if (value is char[]) - valueBuffer = (char[])value; - else if (value is string) - valueBuffer = ((string)value).ToCharArray(); - else + if (!(value is char[])) throw new InvalidCastException ("Type is " + value.GetType ().ToString ()); - - if ( buffer == null ) { - // Return length of data - return valueBuffer.Length; - } - else { - // Copy data into buffer - Array.Copy (valueBuffer, (int) dataIndex, buffer, bufferIndex, length); - return valueBuffer.Length - dataIndex; - } + Array.Copy ((char []) value, (int) dataIndex, buffer, bufferIndex, length); + return ((char []) value).Length - dataIndex; } [MonoTODO ("Implement GetData")] diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog b/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog index ac1670bdfc4..91ae8f5eb90 100644 --- a/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog +++ b/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog @@ -1,15 +1,3 @@ -2003-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * HyperLinkColumn.cs: patch from David Pickens <dsp@rci.rutgers.edu> - that fixes databinding when only DataTextField or DataNavigateUrlField - is set. - -2003-08-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * ListControl.cs: patch sent by Yaacov Akiba Slama <ya@slamail.org> on - behalf of Yaron Shkop <yaronsh@mainsoft.com> that fixes selection of - values before assigning a data source and other issues. - 2003-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com> * CheckBox.cs: save viewstate when needed and correctly handle post diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/HyperLinkColumn.cs b/mcs/class/System.Web/System.Web.UI.WebControls/HyperLinkColumn.cs index 4c06d734d29..da18a2d4b1c 100644 --- a/mcs/class/System.Web/System.Web.UI.WebControls/HyperLinkColumn.cs +++ b/mcs/class/System.Web/System.Web.UI.WebControls/HyperLinkColumn.cs @@ -166,41 +166,37 @@ namespace System.Web.UI.WebControls }
}
- private void OnDataBindHyperLinkColumn (object sender, EventArgs e) - { - HyperLink link = (HyperLink) sender; - object item = ((DataGridItem) link.NamingContainer).DataItem; - - PropertyDescriptorCollection properties = TypeDescriptor.GetProperties (item); - if (textFieldDescriptor == null) - textFieldDescriptor = properties.Find (DataTextField, true); - - if (urlFieldDescriptor == null) - urlFieldDescriptor = properties.Find (DataNavigateUrlField, true); - - if (DataTextField.Length > 0 && textFieldDescriptor == null && !DesignMode) - throw new HttpException (HttpRuntime.FormatResourceString ( - "Field_Not_Found", DataTextField)); - - if (DataNavigateUrlField.Length > 0 && urlFieldDescriptor == null && !DesignMode) - throw new HttpException (HttpRuntime.FormatResourceString ( - "Field_Not_Found", DataNavigateUrlField)); - - if (textFieldDescriptor != null) { - link.Text = FormatDataTextValue (textFieldDescriptor.GetValue (item)); - } else if ( Text != String.Empty ) { - link.Text = Text; - } else { - link.Text = "Sample_DataBound_Text"; - } - - if (urlFieldDescriptor != null) { - link.NavigateUrl = FormatDataNavigateUrlValue (urlFieldDescriptor.GetValue (item)); - } else { - link.NavigateUrl = "url"; - } - } - + private void OnDataBindHyperLinkColumn (object sender, EventArgs e)
+ {
+ HyperLink link = (HyperLink) sender;
+ object item = ((DataGridItem) link.NamingContainer).DataItem;
+
+ if (textFieldDescriptor == null && urlFieldDescriptor == null) {
+ PropertyDescriptorCollection properties = TypeDescriptor.GetProperties (item);
+ textFieldDescriptor = properties.Find (DataTextField, true);
+ if (textFieldDescriptor == null && !DesignMode)
+ throw new HttpException (HttpRuntime.FormatResourceString (
+ "Field_Not_Found", DataTextField));
+
+ urlFieldDescriptor = properties.Find (DataNavigateUrlField, true);
+ if (urlFieldDescriptor == null && !DesignMode)
+ throw new HttpException (HttpRuntime.FormatResourceString (
+ "Field_Not_Found", DataNavigateUrlField));
+ }
+
+ if (textFieldDescriptor != null) {
+ link.Text = FormatDataTextValue (textFieldDescriptor.GetValue (item));
+ } else {
+ link.Text = "Sample_DataBound_Text";
+ }
+
+ if (urlFieldDescriptor != null) {
+ link.NavigateUrl = FormatDataNavigateUrlValue (urlFieldDescriptor.GetValue (item));
+ } else {
+ link.NavigateUrl = "url";
+ }
+ }
+
protected virtual string FormatDataNavigateUrlValue (object dataUrlValue)
{
if (dataUrlValue == null)
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ListControl.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ListControl.cs index 1c869dca233..4b2913d3c8c 100644 --- a/mcs/class/System.Web/System.Web.UI.WebControls/ListControl.cs +++ b/mcs/class/System.Web/System.Web.UI.WebControls/ListControl.cs @@ -32,7 +32,6 @@ namespace System.Web.UI.WebControls private ListItemCollection items;
private int cachedSelectedIndex = -1;
- private string cachedSelectedValue; public ListControl(): base(HtmlTextWriterTag.Select)
{
@@ -98,10 +97,14 @@ namespace System.Web.UI.WebControls }
set
{
- if(value == null || value is IListSource || value is IEnumerable) { - dataSource = value; - return; - } + if(value != null)
+ {
+ if(value is IListSource || value is IEnumerable)
+ {
+ dataSource = value;
+ return;
+ }
+ }
throw new ArgumentException(HttpRuntime.FormatResourceString(ID, "Invalid DataSource Type"));
}
}
@@ -232,14 +235,9 @@ namespace System.Web.UI.WebControls ListItem item = null;
if (value != null) {
- if (Items.Count > 0) { - item = Items.FindByValue (value); - if (item == null) - throw new ArgumentOutOfRangeException ("value"); - } else { - cachedSelectedValue = value; - return; - } + item = Items.FindByValue (value);
+ if (item == null)
+ throw new ArgumentOutOfRangeException (value);
}
ClearSelection ();
@@ -312,11 +310,11 @@ namespace System.Web.UI.WebControls Items.Clear();
- bool dontUseProperties = (dtf.Length == 0 && dvf.Length == 0);
+ bool useProperties = (dtf.Length > 0 && dvf.Length > 0);
foreach (object current in ds) {
ListItem li = new ListItem();
- if (dontUseProperties){
+ if (!useProperties){
li.Text = String.Format (dtfs, current);
li.Value = current.ToString ();
Items.Add (li);
@@ -337,22 +335,7 @@ namespace System.Web.UI.WebControls Items.Add(li);
}
}
- - if (cachedSelectedValue != null) { - int index = Items.FindByValueInternal (cachedSelectedValue); - if (index == -1) - throw new ArgumentOutOfRangeException("value"); - - if (cachedSelectedIndex != -1 && cachedSelectedIndex != index) - throw new ArgumentException(HttpRuntime.FormatResourceString( - "Attributes_mutually_exclusive", "Selected Index", "Selected Value")); - - SelectedIndex = index; - cachedSelectedIndex = -1; - cachedSelectedValue = null; - return; - } - +
if (cachedSelectedIndex != -1) {
SelectedIndex = cachedSelectedIndex;
cachedSelectedIndex = -1;
diff --git a/mcs/class/System.Web/System.Web/ChangeLog b/mcs/class/System.Web/System.Web/ChangeLog index 03f4391924f..6c66d0f963e 100644 --- a/mcs/class/System.Web/System.Web/ChangeLog +++ b/mcs/class/System.Web/System.Web/ChangeLog @@ -1,9 +1,3 @@ -2003-08-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * HttpResponse.cs: another patch from totte and me. This one prevents - writing output if the client have disconnected and filters the data - when there's a non-final Flush in the middle of the process. - 2003-08-12 Gonzalo Paniagua Javier <gonzalo@ximian.com> * HttpApplication.cs: fixed typos. Closes bug #44197. diff --git a/mcs/class/System.Web/System.Web/HttpResponse.cs b/mcs/class/System.Web/System.Web/HttpResponse.cs index 17bd987bcd4..63a3d8553da 100644 --- a/mcs/class/System.Web/System.Web/HttpResponse.cs +++ b/mcs/class/System.Web/System.Web/HttpResponse.cs @@ -34,7 +34,6 @@ namespace System.Web bool _bBuffering; bool _bHeadersSent; bool _bFlushing; - bool filtered; long _lContentLength; int _iStatusCode; @@ -127,8 +126,6 @@ namespace System.Web { if (null != _Writer) _Writer.FilterData (true); - - filtered = true; } [MonoTODO("We need to add cache headers also")] @@ -675,12 +672,10 @@ namespace System.Web } try { - if (_bClientDisconnected) - return; - - long length = _Writer.BufferSize; - if (!_bHeadersSent && !_bSuppressHeaders) { + long length; + if (!_bHeadersSent && !_bSuppressHeaders && !_bClientDisconnected) { if (bFinish) { + length = _Writer.BufferSize; if (length == 0 && _lContentLength == 0) _sContentType = null; @@ -709,19 +704,10 @@ namespace System.Web } } - length = _Writer.BufferSize; SendHeaders (); } } - if (!filtered) { - _Writer.FilterData (false); - length = _Writer.BufferSize; - } - - if (length == 0) - return; - if (!_bSuppressContent && Request.HttpMethod == "HEAD") _bSuppressContent = true; diff --git a/mcs/class/System.XML/ChangeLog b/mcs/class/System.XML/ChangeLog index 2aa77527808..692b1772de0 100644 --- a/mcs/class/System.XML/ChangeLog +++ b/mcs/class/System.XML/ChangeLog @@ -1,8 +1,3 @@ -2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> - - * System.Xml.dll.sources: Added Mono.Xml.Xsl.Operation/XslComment.cs - and Mono.Xml/IHasXmlSchemaInfo.cs - 2003-08-11 Andreas Nahr <ClassDevelopment@A-SoftTech.com> * System.Xml.dll.sources: Added Assembly/Locale.cs diff --git a/mcs/class/System.XML/Mono.Xml.XPath/ChangeLog b/mcs/class/System.XML/Mono.Xml.XPath/ChangeLog index a9378174221..58bcee375bf 100644 --- a/mcs/class/System.XML/Mono.Xml.XPath/ChangeLog +++ b/mcs/class/System.XML/Mono.Xml.XPath/ChangeLog @@ -1,11 +1,3 @@ -2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> - - * DTMXPathDocument.cs, - DTMXPathDocumentBuilder.cs, - DTMXPathNavigator.cs : - - Implemented ID support using XmlValidatingReader. - - Prefix should be String.Empty even if XmlReader.Prefix is null. - 2003-07-23 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> * DTMXPathDocumentBuilder.cs : diff --git a/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathDocument.cs b/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathDocument.cs index 8498e07791f..67a4c01c13d 100644 --- a/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathDocument.cs +++ b/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathDocument.cs @@ -22,36 +22,7 @@ namespace Mono.Xml.XPath #region ctor. - public DTMXPathDocument (XmlNameTable nameTable, - int [] firstChild__, - int [] parent__, - int [] firstAttribute__, - int [] previousSibling__, - int [] nextSibling__, - int [] depth__, - int [] position__, - XPathNodeType [] nodeType__, - string [] baseUri__, - bool [] isEmptyElement__, - string [] localName__, - string [] namespaceUri__, - string [] prefix__, - string [] value__, - string [] xmlLang__, - int [] namespaceNode__, - object [] schemaType__, - int [] ownerElement__, - int [] nextAttribute__, - string [] attrLocalName__, - string [] attrPrefix__, - string [] attrNsUri__, - string [] attrValue__, - object [] attrSchemaType__, - int [] nsDeclaredElement__, - int [] nextNsNode__, - string [] nsNodeName__, - string [] nsNodeUri__, - Hashtable idTable__) + public DTMXPathDocument (XmlNameTable nameTable, int [] firstChild__, int [] parent__, int [] firstAttribute__, int [] previousSibling__, int [] nextSibling__, int [] depth__, int [] position__, XPathNodeType [] nodeType__, string [] baseUri__, bool [] isEmptyElement__, string [] localName__, string [] namespaceUri__, string [] prefix__, string [] value__, string [] xmlLang__, int [] namespaceNode__, object [] schemaType__, int [] ownerElement__, int [] nextAttribute__, string [] attrLocalName__, string [] attrPrefix__, string [] attrNsUri__, string [] attrValue__, object [] attrSchemaType__, int [] nsDeclaredElement__, int [] nextNsNode__, string [] nsNodeName__, string [] nsNodeUri__) { firstChild_ = firstChild__; parent_ = parent__; @@ -86,8 +57,6 @@ namespace Mono.Xml.XPath nsNodeName_ = nsNodeName__; nsNodeUri_ = nsNodeUri__; - idTable_ = idTable__; - this.nameTable = nameTable; } @@ -98,7 +67,7 @@ namespace Mono.Xml.XPath public XPathNavigator CreateNavigator () { if (root == null) { - root = new DTMXPathNavigator (this, nameTable, firstChild_, parent_, firstAttribute_, previousSibling_, nextSibling_, depth_, position_, nodeType_, baseUri_, isEmptyElement_, localName_, namespaceUri_, prefix_, value_, xmlLang_, namespaceNode_, schemaType_, ownerElement_, nextAttribute_, attrLocalName_, attrPrefix_, attrNsUri_, attrValue_, attrSchemaType_, nsDeclaredElement_, nextNsNode_, nsNodeName_, nsNodeUri_, idTable_); + root = new DTMXPathNavigator (this, nameTable, firstChild_, parent_, firstAttribute_, previousSibling_, nextSibling_, depth_, position_, nodeType_, baseUri_, isEmptyElement_, localName_, namespaceUri_, prefix_, value_, xmlLang_, namespaceNode_, schemaType_, ownerElement_, nextAttribute_, attrLocalName_, attrPrefix_, attrNsUri_, attrValue_, attrSchemaType_, nsDeclaredElement_, nextNsNode_, nsNodeName_, nsNodeUri_); return root; } else return root.Clone (); @@ -147,8 +116,10 @@ namespace Mono.Xml.XPath string [] nsNodeName_; // NS prefix. string [] nsNodeUri_; // NS uri. + // ID-Key + // [string attribute-name] -> idTable // idTable [string value] -> int nodeId - readonly Hashtable idTable_; + readonly Hashtable idTableTable; #endregion diff --git a/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathDocumentBuilder.cs b/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathDocumentBuilder.cs index a3af4d2317c..4a49e35ba62 100644 --- a/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathDocumentBuilder.cs +++ b/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathDocumentBuilder.cs @@ -19,43 +19,29 @@ namespace Mono.Xml.XPath public class DTMXPathDocumentBuilder { public DTMXPathDocumentBuilder (string url) - : this (url, XmlSpace.None, false) + : this (url, XmlSpace.None) { } public DTMXPathDocumentBuilder (string url, XmlSpace space) - : this (url, space, false) - { - } - - public DTMXPathDocumentBuilder (string url, XmlSpace space, bool supportID) - : this (new XmlTextReader (url), space, supportID) + : this (new XmlTextReader (url), space) { } public DTMXPathDocumentBuilder (XmlReader reader) - : this (reader, XmlSpace.None, false) + : this (reader, XmlSpace.None) { } public DTMXPathDocumentBuilder (XmlReader reader, XmlSpace space) - : this (reader, space, false) - { - } - - public DTMXPathDocumentBuilder (XmlReader reader, XmlSpace space, bool supportID) { this.xmlReader = reader; - if (supportID) - this.validatingReader = reader as XmlValidatingReader; this.xmlSpace = xmlSpace; this.nameTable = reader.NameTable; Compile (); } - bool supportID; XmlReader xmlReader; - XmlValidatingReader validatingReader; XmlSpace xmlSpace; XmlNameTable nameTable; int defaultCapacity = 100; @@ -102,9 +88,6 @@ namespace Mono.Xml.XPath int [] nextNsNode_ = new int [100]; string [] nsNodeName_ = new string [100]; string [] nsNodeUri_ = new string [100]; - - // idTable [string value] -> int nodeId - Hashtable idTable_; #endregion int nodeIndex; @@ -146,15 +129,12 @@ namespace Mono.Xml.XPath nsDeclaredElement_, nextNsNode_, nsNodeName_, - nsNodeUri_, - idTable_ + nsNodeUri_ ); } public void Compile () { - idTable_ = new Hashtable (); - // index 0 is dummy. No node (including Root) is assigned to this index // So that we can easily compare index != 0 instead of index < 0. // (Difference between jnz or jbe in 80x86.) @@ -304,31 +284,20 @@ namespace Mono.Xml.XPath if (lastNsIndexInCurrent == 0) namespaceNode_ [nodeIndex] = nsIndex; this.AddNsNode (nodeIndex, - (xmlReader.Prefix == null || xmlReader.Prefix == String.Empty) ? + xmlReader.Prefix == "" ? "" : xmlReader.LocalName, xmlReader.Value); lastNsIndexInCurrent = nsIndex; } else { // add attribute node. attributeIndex ++; - this.AddAttribute (nodeIndex, xmlReader.LocalName, xmlReader.NamespaceURI, xmlReader.Prefix != null ? xmlReader.Prefix : String.Empty, xmlReader.Value, null); + this.AddAttribute (nodeIndex, xmlReader.LocalName, xmlReader.NamespaceURI, xmlReader.Prefix, xmlReader.Value, null); if (firstAttributeIndex == 0) firstAttributeIndex = attributeIndex; else nextAttribute_ [attributeIndex - 1] = attributeIndex; // dummy for "current" attribute. nextAttribute_ [attributeIndex] = 0; - - // Identity infoset - if (validatingReader != null) { - XmlSchemaDatatype dt = validatingReader.SchemaType as XmlSchemaDatatype; - if (dt == null) { - XmlSchemaType xsType = validatingReader.SchemaType as XmlSchemaType; - dt = xsType.Datatype; - } - if (dt != null && dt.TokenizedType == XmlTokenizedType.ID) - idTable_.Add (xmlReader.Value, nodeIndex); - } } } while (xmlReader.MoveToNextAttribute ()); xmlReader.MoveToElement (); diff --git a/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathNavigator.cs b/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathNavigator.cs index 2e26a0cec81..690c373061e 100644 --- a/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathNavigator.cs +++ b/mcs/class/System.XML/Mono.Xml.XPath/DTMXPathNavigator.cs @@ -19,23 +19,7 @@ namespace Mono.Xml.XPath { #region Copy of XPathDocument - public DTMXPathNavigator (DTMXPathDocument document, - XmlNameTable nameTable, - int [] firstChild__, int [] parent__, - int [] firstAttribute__, int [] previousSibling__, - int [] nextSibling__, int [] depth__, - int [] position__, XPathNodeType [] nodeType__, - string [] baseUri__, bool [] isEmptyElement__, - string [] localName__, string [] namespaceUri__, - string [] prefix__, string [] value__, - string [] xmlLang__, int [] namespaceNode__, - object [] schemaType__, int [] ownerElement__, - int [] nextAttribute__, string [] attrLocalName__, - string [] attrPrefix__, string [] attrNsUri__, - string [] attrValue__, object [] attrSchemaType__, - int [] nsDeclaredElement__, int [] nextNsNode__, - string [] nsNodeName__, string [] nsNodeUri__, - Hashtable idTable__) + public DTMXPathNavigator (DTMXPathDocument document, XmlNameTable nameTable, int [] firstChild__, int [] parent__, int [] firstAttribute__, int [] previousSibling__, int [] nextSibling__, int [] depth__, int [] position__, XPathNodeType [] nodeType__, string [] baseUri__, bool [] isEmptyElement__, string [] localName__, string [] namespaceUri__, string [] prefix__, string [] value__, string [] xmlLang__, int [] namespaceNode__, object [] schemaType__, int [] ownerElement__, int [] nextAttribute__, string [] attrLocalName__, string [] attrPrefix__, string [] attrNsUri__, string [] attrValue__, object [] attrSchemaType__, int [] nsDeclaredElement__, int [] nextNsNode__, string [] nsNodeName__, string [] nsNodeUri__) { firstChild_ = firstChild__; parent_ = parent__; @@ -70,8 +54,6 @@ namespace Mono.Xml.XPath nsNodeName_ = nsNodeName__; nsNodeUri_ = nsNodeUri__; - idTable_ = idTable__; - this.nameTable = nameTable; this.MoveToRoot (); this.document = document; @@ -79,17 +61,7 @@ namespace Mono.Xml.XPath // Copy constructor including position informations. public DTMXPathNavigator (DTMXPathNavigator org) - : this (org.document, org.nameTable, - org.firstChild_, org.parent_, org.firstAttribute_, - org.previousSibling_, org.nextSibling_, org.depth_, - org.position_, org.nodeType_, org.baseUri_, - org.isEmptyElement_, org.localName_, org.namespaceUri_, - org.prefix_, org.value_, org.xmlLang_, - org.namespaceNode_, org.schemaType_, org.ownerElement_, - org.nextAttribute_, org.attrLocalName_, org.attrPrefix_, - org.attrNsUri_, org.attrValue_, org.attrSchemaType_, - org.nsDeclaredElement_, org.nextNsNode_, org.nsNodeName_, - org.nsNodeUri_, org.idTable_) + : this (org.document, org.nameTable, org.firstChild_, org.parent_, org.firstAttribute_, org.previousSibling_, org.nextSibling_, org.depth_, org.position_, org.nodeType_, org.baseUri_, org.isEmptyElement_, org.localName_, org.namespaceUri_, org.prefix_, org.value_, org.xmlLang_, org.namespaceNode_, org.schemaType_, org.ownerElement_, org.nextAttribute_, org.attrLocalName_, org.attrPrefix_, org.attrNsUri_, org.attrValue_, org.attrSchemaType_, org.nsDeclaredElement_, org.nextNsNode_, org.nsNodeName_, org.nsNodeUri_) { currentIsNode = org.currentIsNode; currentIsAttr = org.currentIsAttr; @@ -138,12 +110,10 @@ namespace Mono.Xml.XPath string [] nsNodeName_; // NS prefix. string [] nsNodeUri_; // NS uri. - // ID table - Hashtable idTable_; - - // Key table (considered xsd:keyref for XPath 2.0) + // ID-Key (considered xsd:keyref for XPath 2.0) Hashtable keyRefTable; // [string key-name] -> idTable // idTable [string value] -> int nodeId + // keyname="" for ID #endregion bool currentIsNode; @@ -478,19 +448,9 @@ namespace Mono.Xml.XPath return moveToSpecifiedNamespace (cur, namespaceScope); } - // Note that this support is extension to XPathDocument. - // XPathDocument does not support ID reference. public override bool MoveToId (string id) { -// return MoveToKeyRef ("", id); - if (idTable_.ContainsKey (id)) { - currentNode = (int) idTable_ [id]; - currentIsNode = true; - currentIsAttr = false; - return true; - } - else - return false; + return MoveToKeyRef ("", id); } // This is extension for XPath 2.0 diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/ChangeLog b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/ChangeLog index dee53f68c69..8eed6614f01 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/ChangeLog +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/ChangeLog @@ -1,36 +1,3 @@ -2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net> - - * XslCopyOf.cs: handle default ns - * XslFallback.cs: implement - * XslLiteralElement.cs: copy namespaces that were declared. - * XslTemplateContent.cs: handle ext elements - -2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net> - - * XslComment.cs, XslTemplateContent.cs: remove dead variables. - -2003-08-14 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * XslComment.cs: patch by BenM that implements Evaluate. - -2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> - - * XslCallTemplates.cs : Forgot to commit ;-) - -2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> - - * XslApplyTemplates.cs, - XslCallTemplate.cs : Should accept other than element content such - as comment and PI. - * XslNumber.cs : In Compile(), 'value' might not exist. (Think about - it later if how it should be.) - * XslTemplateContent.cs : "comment" and "number" support. (I know they - are still incomplete.) - -2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> - - * Added XslComment.cs. - 2003-08-05 Ben Maurer <bmaurer@users.sourceforge.net> * XslVariable.cs: Fix up how variables are evaluated. diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslApplyTemplates.cs b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslApplyTemplates.cs index 77d514df8c0..08861c0dc7a 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslApplyTemplates.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslApplyTemplates.cs @@ -31,32 +31,22 @@ namespace Mono.Xml.Xsl.Operations { if (c.Input.MoveToFirstChild ()) { do { - switch (c.Input.NodeType) { - case XPathNodeType.Comment: - case XPathNodeType.ProcessingInstruction: - case XPathNodeType.Whitespace: - continue; - case XPathNodeType.Element: - if (c.Input.NamespaceURI != XsltNamespace) - throw new Exception ("unexptected element"); // TODO: fwd compat - - switch (c.Input.LocalName) - { - case "with-param": - withParams.Add (new XslVariableInformation (c)); - break; - - case "sort": - if (select == null) - select = c.CompileExpression ("*"); - c.AddSort (select, new Sort (c)); - break; - default: - throw new Exception ("unexptected element"); // todo forwards compat - } - break; - default: - throw new Exception ("unexpected node type " + c.Input.NodeType); // todo forwards compat + if (c.Input.NamespaceURI != XsltNamespace) + throw new Exception ("unexptected element"); // TODO: fwd compat + + switch (c.Input.LocalName) + { + case "with-param": + withParams.Add (new XslVariableInformation (c)); + break; + + case "sort": + if (select == null) + select = c.CompileExpression ("*"); + c.AddSort (select, new Sort (c)); + break; + default: + throw new Exception ("unexptected element"); // todo forwards compat } } while (c.Input.MoveToNext ()); c.Input.MoveToParent (); diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslCallTemplate.cs b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslCallTemplate.cs index 5bc4cca8747..26989010d73 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslCallTemplate.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslCallTemplate.cs @@ -28,26 +28,16 @@ namespace Mono.Xml.Xsl.Operations { if (c.Input.MoveToFirstChild ()) { do { - switch (c.Input.NodeType) { - case XPathNodeType.Comment: - case XPathNodeType.ProcessingInstruction: - case XPathNodeType.Whitespace: - continue; - case XPathNodeType.Element: - if (c.Input.NamespaceURI != XsltNamespace) - throw new Exception ("unexptected element"); // TODO: fwd compat - - switch (c.Input.LocalName) - { - case "with-param": - withParams.Add (new XslVariableInformation (c)); - break; - default: - throw new Exception ("unexptected element"); // todo forwards compat - } - break; - default: - throw new Exception ("unexptected node type " + c.Input.NodeType); // TODO: fwd compat + if (c.Input.NamespaceURI != XsltNamespace) + throw new Exception ("unexptected element"); // TODO: fwd compat + + switch (c.Input.LocalName) + { + case "with-param": + withParams.Add (new XslVariableInformation (c)); + break; + default: + throw new Exception ("unexptected element"); // todo forwards compat } } while (c.Input.MoveToNext ()); c.Input.MoveToParent (); diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslComment.cs b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslComment.cs deleted file mode 100644 index 1c4e0eaca8b..00000000000 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslComment.cs +++ /dev/null @@ -1,46 +0,0 @@ -// -// XslComment.cs -// -// Authors: -// Ben Maurer (bmaurer@users.sourceforge.net) -// Atsushi Enomoto (ginga@kit.hi-ho.ne.jp) -// -// (C) 2003 Ben Maurer -// (C) 2003 Atsushi Enomoto -// - -using System; -using System.Collections; -using System.IO; -using System.Xml; -using System.Xml.XPath; -using System.Xml.Xsl; - -namespace Mono.Xml.Xsl.Operations { - public class XslComment : XslCompiledElement { - bool disableOutputEscaping = false; - XslOperation value; - - public XslComment (Compiler c) : base (c) {} - - protected override void Compile (Compiler c) - { - if (c.Input.MoveToFirstChild ()) { - value = c.CompileTemplateContent (); - c.Input.MoveToParent (); - } - } - - public override void Evaluate (XslTransformProcessor p) - { - StringWriter s = new StringWriter (); - XmlWriter w = new XmlTextWriter (s); - - p.PushOutput (w); - value.Evaluate (p); - p.PopOutput (); - - p.Out.WriteComment (s.ToString ()); - } - } -} diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslCopyOf.cs b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslCopyOf.cs index 360e063c0f0..cace0871d22 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslCopyOf.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslCopyOf.cs @@ -40,10 +40,7 @@ namespace Mono.Xml.Xsl.Operations { if (nav.MoveToFirstNamespace (XPathNamespaceScope.Local)) { do { - if (nav.Name != "") - w.WriteAttributeString ("xmlns", nav.Name, null, nav.Value); - else - w.WriteAttributeString ("xmlns", nav.Value); + w.WriteAttributeString ("xmlns", nav.Name, null, nav.Value); } while (nav.MoveToNextNamespace (XPathNamespaceScope.Local)); nav.MoveToParent (); } diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslFallback.cs b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslFallback.cs index 01ff98fcfb6..a46a8dde98d 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslFallback.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslFallback.cs @@ -31,7 +31,7 @@ namespace Mono.Xml.Xsl.Operations { public override void Evaluate (XslTransformProcessor p) { - children.Evaluate (p); + throw new NotImplementedException (); } } } diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslLiteralElement.cs b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslLiteralElement.cs index b563cf952b0..ca568b75cc1 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslLiteralElement.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslLiteralElement.cs @@ -21,7 +21,6 @@ namespace Mono.Xml.Xsl.Operations { string localname, prefix, nsUri; ArrayList attrs = new ArrayList (); XmlQualifiedName [] useAttributeSets; - Hashtable nsDecls; public XslLiteralElement (Compiler c) : base (c) {} @@ -50,7 +49,6 @@ namespace Mono.Xml.Xsl.Operations { this.nsUri = c.Input.NamespaceURI; this.localname = c.Input.LocalName; this.useAttributeSets = c.ParseQNameListAttribute ("use-attribute-sets", XsltNamespace); - this.nsDecls = c.GetNamespacesToCopy (); if (c.Input.MoveToFirstAttribute ()) { @@ -71,12 +69,6 @@ namespace Mono.Xml.Xsl.Operations { { p.Out.WriteStartElement (prefix, localname, nsUri); - foreach (DictionaryEntry de in nsDecls) - if ((string)de.Key != "") - p.Out.WriteAttributeString ("xmlns", (string)de.Key, null, (string)de.Value); - else - p.Out.WriteAttributeString ("xmlns", (string)de.Value); - foreach (XslLiteralAttribute a in attrs) a.Evaluate (p); diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslNumber.cs b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslNumber.cs index 1ab012aec79..25fd81b7439 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslNumber.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslNumber.cs @@ -64,7 +64,7 @@ namespace Mono.Xml.Xsl.Operations { from = c.CompilePattern (c.GetAttribute ("from")); value = c.CompileExpression (c.GetAttribute ("value")); - if (value != null && value.ReturnType != XPathResultType.Number && value.ReturnType != XPathResultType.Any) + if (value.ReturnType != XPathResultType.Number && value.ReturnType != XPathResultType.Any) throw new Exception ("The expression for attribute 'value' must return a number"); format = c.ParseAvtAttribute ("format"); diff --git a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslTemplateContent.cs b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslTemplateContent.cs index 9b66c82a174..c9a90078ccf 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslTemplateContent.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl.Operations/XslTemplateContent.cs @@ -18,6 +18,7 @@ using System.Xml.Xsl; namespace Mono.Xml.Xsl.Operations { public class XslTemplateContent : XslCompiledElement { ArrayList content = new ArrayList (); + ArrayList variables; bool hasStack; int stackSize; @@ -52,8 +53,7 @@ namespace Mono.Xml.Xsl.Operations { content.Add (new XslChoose (c)); break; case "comment": - content.Add (new XslComment (c)); - break; + throw new NotImplementedException (); case "copy": content.Add (new XslCopy (c)); break; @@ -76,8 +76,7 @@ namespace Mono.Xml.Xsl.Operations { content.Add (new XslMessage(c)); break; case "number": - content.Add (new XslNumber(c)); - break; + throw new NotImplementedException (); case "processing-instruction": content.Add (new XslProcessingInstruction(c)); break; @@ -96,17 +95,7 @@ namespace Mono.Xml.Xsl.Operations { } break; default: - if (!c.IsExtensionNamespace (n.NamespaceURI)) - content.Add (new XslLiteralElement(c)); - else { - if (n.MoveToFirstChild ()) { - do { - if (n.NamespaceURI == XsltNamespace && n.LocalName == "fallback") - content.Add (new XslFallback (c)); - } while (n.MoveToNext ()); - n.MoveToParent (); - } - } + content.Add (new XslLiteralElement(c)); break; } break; diff --git a/mcs/class/System.XML/Mono.Xml.Xsl/ChangeLog b/mcs/class/System.XML/Mono.Xml.Xsl/ChangeLog index 47caba73464..ab739d44a70 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl/ChangeLog +++ b/mcs/class/System.XML/Mono.Xml.Xsl/ChangeLog @@ -1,17 +1,3 @@ -2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net> - - * Compiler.cs: handle extension and excluded namespaces. - -2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net> - - * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator - from the stylesheet for correct namespace resolution. - -2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> - - * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument - introduced in .NET 1.1. 2) XmlResolver object is required for 'res'. - 2003-08-07 Ben Maurer <bmaurer@users.sourceforge.net> * XslTransformProcessor.cs: Add a table to detect when an object diff --git a/mcs/class/System.XML/Mono.Xml.Xsl/Compiler.cs b/mcs/class/System.XML/Mono.Xml.Xsl/Compiler.cs index 80d162411c2..df22c290aca 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl/Compiler.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl/Compiler.cs @@ -13,7 +13,6 @@ using System; using System.CodeDom; using System.Collections; using System.Collections.Specialized; -using System.Security.Policy; using System.Xml; using System.Xml.Schema; using System.Xml.XPath; @@ -78,12 +77,9 @@ namespace Mono.Xml.Xsl { XslStylesheet rootStyle; - public CompiledStylesheet Compile (XPathNavigator nav, XmlResolver res, Evidence evidence) + public CompiledStylesheet Compile (XPathNavigator nav, XmlResolver res) { this.res = res; - if (res == null) - this.res = new XmlUrlResolver (); - if (!nav.MoveToFirstChild ()) throw new Exception ("WTF?"); while (nav.NodeType != XPathNodeType.Element) nav.MoveToNext(); @@ -296,73 +292,6 @@ namespace Mono.Xml.Xsl { } public VariableScope CurrentVariableScope { get { return curVarScope; }} #endregion - -#region Scope (version, {excluded, extension} namespaces) - [MonoTODO ("This will work, but is *very* slow")] - public bool IsExtensionNamespace (string nsUri) - { - if (nsUri == XsltNamespace) return true; - - XPathNavigator nav = Input.Clone (); - XPathNavigator nsScope = nav.Clone (); - do { - bool isXslt = nav.NamespaceURI == XsltNamespace; - nsScope.MoveTo (nav); - if (nav.MoveToFirstAttribute ()) { - do { - if (nav.LocalName == "extension-element-prefixes" && - nav.NamespaceURI == (isXslt ? String.Empty : XsltNamespace)) - { - - foreach (string ns in nav.Value.Split (' ')) - if (nsScope.GetNamespace (ns == "#default" ? "" : ns) == nsUri) - return true; - } - } while (nav.MoveToNextAttribute ()); - nav.MoveToParent (); - } - } while (nav.MoveToParent ()); - - return false; - } - - public Hashtable GetNamespacesToCopy () - { - Hashtable ret = new Hashtable (); - - XPathNavigator nav = Input.Clone (); - XPathNavigator nsScope = nav.Clone (); - do { - bool isXslt = nav.NamespaceURI == XsltNamespace; - nsScope.MoveTo (nav); - - if (nav.MoveToFirstNamespace (XPathNamespaceScope.Local)) { - do { - if (nav.Value != XsltNamespace && !ret.Contains (nav.Name)) - ret.Add (nav.Name, nav.Value); - } while (nav.MoveToNextNamespace (XPathNamespaceScope.Local)); - nav.MoveToParent (); - } - - if (nav.MoveToFirstAttribute()) { - do { - if ((nav.LocalName == "extension-element-prefixes" || nav.LocalName == "exclude-result-prefixes") && - nav.NamespaceURI == (isXslt ? String.Empty : XsltNamespace)) - { - foreach (string ns in nav.Value.Split (' ')) { - if (ret [ns] == nsScope.GetNamespace (ns == "#default" ? "" : ns)) - ret.Remove (ns); - } - } - } while (nav.MoveToNextAttribute ()); - nav.MoveToParent(); - } - } while (nav.MoveToParent ()); - - return ret; - } -#endregion - #region Key ArrayList keys = new ArrayList (); @@ -508,12 +437,10 @@ namespace Mono.Xml.Xsl { Hashtable exprToVarCtx = new Hashtable (); Hashtable exprToSorts = new Hashtable (); - Hashtable exprToDocument = new Hashtable (); public void AddExpression (XPathExpression e, Compiler c) { exprToVarCtx [e] = c.CurrentVariableScope; - exprToDocument [e] = c.Input.Clone (); } public void AddSort (XPathExpression e, Sort s) @@ -531,7 +458,7 @@ namespace Mono.Xml.Xsl { { XPathExpression expr = e.Clone (); - expr.SetContext (new XsltCompiledContext (p, (VariableScope)exprToVarCtx [e], (XPathNavigator)exprToDocument [e])); + expr.SetContext (new XsltCompiledContext (p, (VariableScope)exprToVarCtx [e])); if (exprToSorts.Contains (e)) { foreach (Sort s in (ArrayList)exprToSorts [e]) diff --git a/mcs/class/System.XML/Mono.Xml.Xsl/XsltCompiledContext.cs b/mcs/class/System.XML/Mono.Xml.Xsl/XsltCompiledContext.cs index 6acf809adbe..905f4cc7892 100644 --- a/mcs/class/System.XML/Mono.Xml.Xsl/XsltCompiledContext.cs +++ b/mcs/class/System.XML/Mono.Xml.Xsl/XsltCompiledContext.cs @@ -45,15 +45,13 @@ namespace Mono.Xml.Xsl { XslTransformProcessor p; VariableScope v; - XPathNavigator doc; public XslTransformProcessor Processor { get { return p; }} - public XsltCompiledContext (XslTransformProcessor p, VariableScope v, XPathNavigator doc) + public XsltCompiledContext (XslTransformProcessor p, VariableScope v) { this.p = p; this.v = v; - this.doc = doc; } public override string DefaultNamespace { get { return String.Empty; }} @@ -64,7 +62,7 @@ namespace Mono.Xml.Xsl { if (prefix == "" || prefix == null) return ""; - return this.doc.GetNamespace (prefix); + return p.CompiledStyle.NamespaceManager.LookupNamespace (prefix); } public override IXsltContextFunction ResolveFunction (string prefix, string name, XPathResultType[] argTypes) diff --git a/mcs/class/System.XML/Mono.Xml/ChangeLog b/mcs/class/System.XML/Mono.Xml/ChangeLog index 5ec05f292a6..117d7b178e3 100644 --- a/mcs/class/System.XML/Mono.Xml/ChangeLog +++ b/mcs/class/System.XML/Mono.Xml/ChangeLog @@ -1,7 +1,3 @@ -2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> - - * added IHasXmlSchemaInfo.cs. - 2003-08-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> * added IHasXmlParserContext.cs. diff --git a/mcs/class/System.XML/Mono.Xml/IHasXmlSchemaInfo.cs b/mcs/class/System.XML/Mono.Xml/IHasXmlSchemaInfo.cs deleted file mode 100644 index 547ededd193..00000000000 --- a/mcs/class/System.XML/Mono.Xml/IHasXmlSchemaInfo.cs +++ /dev/null @@ -1,19 +0,0 @@ -// -// Mono.Xml.IHasXmlSchemaInfo.cs -// -// Author: -// Atsushi Enomoto (ginga@kit.hi-ho.ne.jp) -// -// (C) 2003 Atsushi Enomoto -// -// This interface is used to support XmlSchema type information. -// -using System.Xml; -
-namespace Mono.Xml
-{
- public interface IHasXmlSchemaInfo
- {
- object SchemaType { get; }
- }
-}
diff --git a/mcs/class/System.XML/System.Xml.Xsl/ChangeLog b/mcs/class/System.XML/System.Xml.Xsl/ChangeLog index 0be735b7b0b..07204aeda8d 100644 --- a/mcs/class/System.XML/System.Xml.Xsl/ChangeLog +++ b/mcs/class/System.XML/System.Xml.Xsl/ChangeLog @@ -1,12 +1,3 @@ -2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net> - - * XslTransformImpl.cs: close XmlTextWriter when we create it. - -2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> - - * XslTransformImpl.cs, XslTransform.cs, Multiplexer.cs, - ManagedXslTransform.cs : Added Evidence args introduced in .NET 1.1. - 2003-08-11 Andreas Nahr <ClassDevelopment@A-SoftTech.com> * XsltCompileException.cs: Fixed/ Implemented rest diff --git a/mcs/class/System.XML/System.Xml.Xsl/ManagedXslTransform.cs b/mcs/class/System.XML/System.Xml.Xsl/ManagedXslTransform.cs index 145a84c4b16..898e3681441 100644 --- a/mcs/class/System.XML/System.Xml.Xsl/ManagedXslTransform.cs +++ b/mcs/class/System.XML/System.Xml.Xsl/ManagedXslTransform.cs @@ -10,7 +10,6 @@ using System; using System.Collections; using System.IO; -using System.Security.Policy; using System.Text; using System.Xml.XPath; using Mono.Xml.Xsl; @@ -21,21 +20,14 @@ namespace System.Xml.Xsl { CompiledStylesheet s; - public override void Load (XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence) + public override void Load (XPathNavigator stylesheet, XmlResolver resolver) { - s = new Compiler ().Compile (stylesheet, resolver, evidence); + s = new Compiler ().Compile (stylesheet, resolver); } public override void Transform (XPathNavigator input, XsltArgumentList args, XmlWriter output, XmlResolver resolver) { - bool wroteStartDocument = false; - if (output.WriteState == WriteState.Start) { - output.WriteStartDocument (); - wroteStartDocument = true; - } new XslTransformProcessor (s).Process (input, output, args, resolver); - if (wroteStartDocument) - output.WriteEndDocument (); } } } diff --git a/mcs/class/System.XML/System.Xml.Xsl/Multiplexer.cs b/mcs/class/System.XML/System.Xml.Xsl/Multiplexer.cs index 4fcd1461e4b..f2648f6db66 100644 --- a/mcs/class/System.XML/System.Xml.Xsl/Multiplexer.cs +++ b/mcs/class/System.XML/System.Xml.Xsl/Multiplexer.cs @@ -13,7 +13,6 @@ using System.Collections; using System.IO;
using System.Text;
using System.Runtime.InteropServices;
-using System.Security.Policy;
using System.Xml.XPath;
namespace System.Xml.Xsl {
@@ -96,81 +95,34 @@ namespace System.Xml.Xsl { impl.Load (url, resolver); } -#if NET_1_1
- [Obsolete("You should pass evidence.", false)]
-#endif
public void Load (XmlReader stylesheet) { - Load (stylesheet, null, null); + Load (stylesheet, null); } -#if NET_1_1
- [Obsolete("You should pass evidence.", false)]
-#endif
public void Load (XmlReader stylesheet, XmlResolver resolver) { - Load (stylesheet, resolver, null); + impl.Load (stylesheet, resolver); } -#if NET_1_1
- [Obsolete("You should pass evidence.", false)]
-#endif
public void Load (XPathNavigator stylesheet) { - Load (stylesheet, null, null); + Load (stylesheet, null); } -#if NET_1_1
- [Obsolete("You should pass evidence.", false)]
-#endif
public void Load (XPathNavigator stylesheet, XmlResolver resolver) { - Load (stylesheet, resolver, null); + impl.Load (stylesheet, resolver); } -#if NET_1_1
- [Obsolete("You should pass evidence.", false)]
-#endif
public void Load (IXPathNavigable stylesheet) { Load (stylesheet.CreateNavigator(), null); } -#if NET_1_1
- [Obsolete("You should pass evidence.", false)]
-#endif
public void Load (IXPathNavigable stylesheet, XmlResolver resolver) { Load (stylesheet.CreateNavigator(), resolver); } - - // Introduced in .NET 1.1 -#if NET_1_1 - public void Load (IXPathNavigable stylesheet, XmlResolver resolver, Evidence evidence) -#else - internal void Load (IXPathNavigable stylesheet, XmlResolver resolver, Evidence evidence) -#endif - { - impl.Load (stylesheet.CreateNavigator(), resolver, evidence); - } - -#if NET_1_1 - public void Load (XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence) -#else - internal void Load (XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence) -#endif - { - impl.Load (stylesheet, resolver, evidence); - } -
-#if NET_1_1
- public void Load (XmlReader stylesheet, XmlResolver resolver, Evidence evidence) -#else - internal void Load (XmlReader stylesheet, XmlResolver resolver, Evidence evidence) -#endif - { - Load (stylesheet, resolver, null); - } - }
}
diff --git a/mcs/class/System.XML/System.Xml.Xsl/XslTransform.cs b/mcs/class/System.XML/System.Xml.Xsl/XslTransform.cs index acaba9591c6..a884d5f29da 100644 --- a/mcs/class/System.XML/System.Xml.Xsl/XslTransform.cs +++ b/mcs/class/System.XML/System.Xml.Xsl/XslTransform.cs @@ -14,7 +14,6 @@ using System;
using System.Collections;
using System.IO;
-using System.Security.Policy;
using System.Text;
using System.Runtime.InteropServices;
using System.Xml.XPath;
@@ -65,7 +64,7 @@ namespace System.Xml.Xsl throw new XmlException ("Error creating stylesheet");
} - public override void Load (XmlReader stylesheet, XmlResolver resolver, Evidence evidence) + public override void Load (XmlReader stylesheet, XmlResolver resolver) { FreeStylesheetIfNeeded (); // Create a document for the stylesheet @@ -83,7 +82,7 @@ namespace System.Xml.Xsl throw new XmlException ("Error creating stylesheet"); } - public override void Load (XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence) + public override void Load (XPathNavigator stylesheet, XmlResolver resolver) { FreeStylesheetIfNeeded (); StringWriter sr = new UTF8StringWriter (); diff --git a/mcs/class/System.XML/System.Xml.Xsl/XslTransformImpl.cs b/mcs/class/System.XML/System.Xml.Xsl/XslTransformImpl.cs index bc3eea32008..d9f9573265e 100644 --- a/mcs/class/System.XML/System.Xml.Xsl/XslTransformImpl.cs +++ b/mcs/class/System.XML/System.Xml.Xsl/XslTransformImpl.cs @@ -10,7 +10,6 @@ using System; using System.Collections; using System.IO; -using System.Security.Policy; using System.Text; using System.Xml.XPath; @@ -20,24 +19,22 @@ namespace System.Xml.Xsl { public virtual void Load (string url, XmlResolver resolver) { - Load (new XPathDocument (url).CreateNavigator (), resolver, null); + Load (new XPathDocument (url).CreateNavigator (), resolver); } - public virtual void Load (XmlReader stylesheet, XmlResolver resolver, Evidence evidence) + public virtual void Load (XmlReader stylesheet, XmlResolver resolver) { - Load (new XPathDocument (stylesheet).CreateNavigator (), resolver, evidence); + Load (new XPathDocument (stylesheet).CreateNavigator (), resolver); } - public abstract void Load (XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence); + public abstract void Load (XPathNavigator stylesheet, XmlResolver resolver); public abstract void Transform (XPathNavigator input, XsltArgumentList args, XmlWriter output, XmlResolver resolver); public virtual void Transform (string inputfile, string outputfile, XmlResolver resolver) { using (FileStream fs = new FileStream (outputfile, FileMode.Create, FileAccess.ReadWrite)) { - XmlTextWriter t = new XmlTextWriter (fs, null); - Transform(new XPathDocument (inputfile).CreateNavigator (), null, t, resolver); - t.Close (); + Transform(new XPathDocument (inputfile).CreateNavigator (), null, new XmlTextWriter (fs, null), resolver); } } } diff --git a/mcs/class/System.XML/System.Xml.dll.sources b/mcs/class/System.XML/System.Xml.dll.sources index 4d1e2696bc5..29d7e1bd9c0 100755 --- a/mcs/class/System.XML/System.Xml.dll.sources +++ b/mcs/class/System.XML/System.Xml.dll.sources @@ -9,7 +9,6 @@ Mono.Xml.Xsl.Operations/XslAttribute.cs Mono.Xml.Xsl.Operations/XslAvt.cs Mono.Xml.Xsl.Operations/XslCallTemplate.cs Mono.Xml.Xsl.Operations/XslChoose.cs -Mono.Xml.Xsl.Operations/XslComment.cs Mono.Xml.Xsl.Operations/XslCompiledElement.cs Mono.Xml.Xsl.Operations/XslCopy.cs Mono.Xml.Xsl.Operations/XslCopyOf.cs @@ -37,7 +36,6 @@ Mono.Xml.Xsl/XslTemplate.cs Mono.Xml.Xsl/XslTransformProcessor.cs Mono.Xml.Xsl/XsltCompiledContext.cs Mono.Xml/IHasXmlParserContext.cs -Mono.Xml/IHasXmlSchemaInfo.cs Mono.Xml/XmlNodeWriter.cs System.Xml/IHasXmlNode.cs System.Xml/DTDAutomata.cs diff --git a/mcs/class/System.XML/System.Xml/ChangeLog b/mcs/class/System.XML/System.Xml/ChangeLog index d06c41768c6..68f30d3843c 100644 --- a/mcs/class/System.XML/System.Xml/ChangeLog +++ b/mcs/class/System.XML/System.Xml/ChangeLog @@ -1,23 +1,3 @@ -2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> - - * XmlNodeReader.cs : Fixed ReadAttributeValue() that might result in - vanishing current node. - -2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> - - * DTDValidatingReader.cs : Added SchemaType. - Read() Assures to return to element. - * DTDObjectModel.cs : Removed DTDEntityDeclaration.BaseURI. - * XmlReader.cs : ReadString() should be virtual in NET_1_1. - * XmlTextReader.cs : 1) Depth should consider Attribute and its values. - Introduced insideAttribute field to support them. - 2) ReadAttributeValue() should consider empty string. - * XmlValidatingReader.cs : - Fixed several properties which premised as if it was already read. - Encoding and Namespaces now throws NotSupportedException for other - than XmlTextReader. - Implemented ReadTypedValue() based on IHasXmlSchemaInfo.SchemaType. - 2003-08-10 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp> * XmlInputStream.cs : Reverted CanSeek as to return false anyway. diff --git a/mcs/class/System.XML/System.Xml/DTDObjectModel.cs b/mcs/class/System.XML/System.Xml/DTDObjectModel.cs index c1148eca533..1d0419cad4c 100644 --- a/mcs/class/System.XML/System.Xml/DTDObjectModel.cs +++ b/mcs/class/System.XML/System.Xml/DTDObjectModel.cs @@ -747,6 +747,7 @@ namespace Mono.Xml public string Name; public string PublicId; public string SystemId; + public string BaseURI; public string LiteralValue; public bool LoadFailed; diff --git a/mcs/class/System.XML/System.Xml/DTDValidatingReader.cs b/mcs/class/System.XML/System.Xml/DTDValidatingReader.cs index 23e27df9f84..c4d5520637d 100644 --- a/mcs/class/System.XML/System.Xml/DTDValidatingReader.cs +++ b/mcs/class/System.XML/System.Xml/DTDValidatingReader.cs @@ -8,7 +8,7 @@ using System.Xml.Schema; namespace Mono.Xml { - public class DTDValidatingReader : XmlReader, IXmlLineInfo, IHasXmlParserContext, IHasXmlSchemaInfo + public class DTDValidatingReader : XmlReader, IXmlLineInfo, IHasXmlParserContext { public DTDValidatingReader (XmlReader reader) : this (reader, null) @@ -520,7 +520,6 @@ namespace Mono.Xml } break; } - MoveToElement (); return true; } @@ -969,16 +968,6 @@ namespace Mono.Xml } } - public object SchemaType { - get { - if (currentElement == null) - return null; - DTDAttributeDefinition def = - DTD.AttListDecls [currentElement] [currentAttribute]; - return def.Datatype; - } - } - char [] whitespaceChars = new char [] {' '}; private string FilterNormalization (string attrName, string rawValue) { diff --git a/mcs/class/System.XML/System.Xml/XmlNodeReader.cs b/mcs/class/System.XML/System.Xml/XmlNodeReader.cs index f77a2875e10..6336174eece 100755 --- a/mcs/class/System.XML/System.Xml/XmlNodeReader.cs +++ b/mcs/class/System.XML/System.Xml/XmlNodeReader.cs @@ -276,10 +276,7 @@ namespace System.Xml if (current == null) return String.Empty; - if (current.NodeType == XmlNodeType.Attribute) - return current.Prefix != String.Empty ? current.Prefix : null; - else - return current.Prefix; + return current.Prefix; } } @@ -784,10 +781,8 @@ namespace System.Xml } if (current.NodeType == XmlNodeType.Attribute) { - if (current.FirstChild == null) - return false; current = current.FirstChild; - return true; + return current != null; } else if (current.ParentNode.NodeType == XmlNodeType.Attribute) { if (current.NextSibling == null) return false; diff --git a/mcs/class/System.XML/System.Xml/XmlReader.cs b/mcs/class/System.XML/System.Xml/XmlReader.cs index acfa455ccfb..b7cbf7368ce 100644 --- a/mcs/class/System.XML/System.Xml/XmlReader.cs +++ b/mcs/class/System.XML/System.Xml/XmlReader.cs @@ -397,14 +397,7 @@ namespace System.Xml Read (); } -#if NET_1_0 public abstract string ReadString (); -#else - public virtual string ReadString () - { - return ReadStringInternal (); - } -#endif internal string ReadStringInternal () { diff --git a/mcs/class/System.XML/System.Xml/XmlTextReader.cs b/mcs/class/System.XML/System.Xml/XmlTextReader.cs index d421b7be735..8c16f275b2e 100644 --- a/mcs/class/System.XML/System.Xml/XmlTextReader.cs +++ b/mcs/class/System.XML/System.Xml/XmlTextReader.cs @@ -16,9 +16,6 @@ // Some thought needs to be given to performance. There's too many // strings being allocated. // -// If current node is on an Attribute, Prefix might be null, and -// in several fields which uses XmlReader, it should be considered. -// using System; using System.Collections; @@ -102,6 +99,7 @@ namespace System.Xml { } + [MonoTODO("TODO as same as private XmlTextReader(TextReader, XmlNodeType, XmlParserContext)")] public XmlTextReader (string xmlFragment, XmlNodeType fragType, XmlParserContext context) : this (context != null ? context.BaseURI : String.Empty, new StringReader (xmlFragment), @@ -110,6 +108,8 @@ namespace System.Xml { } + // TODO still remains as described at head of this file, + // but it might not be TODO of the constructors... XmlTextReader (string url, TextReader fragment, XmlNodeType fragType, XmlParserContext context) { InitializeContext (url, context, fragment, fragType); @@ -132,10 +132,6 @@ namespace System.Xml public override int Depth { get { - if (NodeType == XmlNodeType.Attribute) - return elementDepth + 1; - else if (insideAttribute) - return elementDepth + 2; // inside attribute value. return elementDepth; } } @@ -407,7 +403,6 @@ namespace System.Xml value, // value false // clearAttributes ); - insideAttribute = true; attributeValuePos = 0; } @@ -440,7 +435,6 @@ namespace System.Xml value, // value false // clearAttributes ); - insideAttribute = true; attributeValuePos = 0; } @@ -467,7 +461,6 @@ namespace System.Xml orderedAttributesEnumerator = null; if (isPropertySaved) RestoreProperties (); - insideAttribute = false; return true; } @@ -500,7 +493,6 @@ namespace System.Xml value, // value false // clearAttributes ); - insideAttribute = true; attributeValuePos = 0; return true; } @@ -513,7 +505,6 @@ namespace System.Xml bool more = false; isPropertySaved = false; readState = ReadState.Interactive; - insideAttribute = false; // It was moved from end of ReadStartTag (). if (depthUp) @@ -528,7 +519,7 @@ namespace System.Xml maybeTextDecl--; if (!more && startNodeType == XmlNodeType.Document && currentState != XmlNodeType.EndElement) - throw new XmlException ("Document element did not appear."); + throw new XmlException ("Document element was not appeared."); return more; } @@ -552,20 +543,9 @@ namespace System.Xml return false; // If not started, then initialize attributeString when parsing is at start. - if (attributeValuePos == 0) { + if (attributeValuePos == 0) attributeString = value.Substring (1, value.Length - 2); - // If it has an empty value, this method still returns true. - if (attributeString.Length == 0) { - attributeValuePos = -1; - SetProperties (XmlNodeType.Text, - "", - false, - "", - false); - return true; - } - } // It occurs when attribute dully consists of entity reference. if (attributeValuePos == attributeString.Length) @@ -769,8 +749,6 @@ namespace System.Xml private StringBuilder valueBuilder; private bool valueBuilderAvailable = false; - private bool insideAttribute; - private bool isPropertySaved; private XmlNodeType saveNodeType; private string saveName; @@ -802,7 +780,6 @@ namespace System.Xml private string attributeString; private int attributeValuePos; - // This should be only referenced(used) by ReadInnerXml(). Kind of flyweight pattern. private StringBuilder innerXmlBuilder; @@ -927,7 +904,6 @@ namespace System.Xml if (indexOfColon == -1) { prefix = String.Empty; -// prefix = nodeType == XmlNodeType.Attribute ? null : String.Empty; localName = name; } else { prefix = name.Substring (0, indexOfColon); @@ -941,7 +917,6 @@ namespace System.Xml switch (nodeType) { case XmlNodeType.Attribute: if (prefix == string.Empty) namespaceURI = string.Empty; -// if (prefix == string.Empty || prefix == null) namespaceURI = string.Empty; else namespaceURI = LookupNamespace (prefix); if (localName == "xmlns" && prefix == "") namespaceURI = "http://www.w3.org/2000/xmlns/"; diff --git a/mcs/class/System.XML/System.Xml/XmlValidatingReader.cs b/mcs/class/System.XML/System.Xml/XmlValidatingReader.cs index 307f67fe2ad..d800d0e1be6 100644 --- a/mcs/class/System.XML/System.Xml/XmlValidatingReader.cs +++ b/mcs/class/System.XML/System.Xml/XmlValidatingReader.cs @@ -21,22 +21,21 @@ namespace System.Xml { EntityHandling entityHandling; XmlReader sourceReader; - XmlTextReader xmlTextReader; XmlReader validatingReader; XmlResolver resolver; ValidationType validationType; XmlSchemaCollection schemas; DTDValidatingReader dtdReader; - IHasXmlSchemaInfo schemaInfo; #endregion // Fields #region Constructors + [MonoTODO] public XmlValidatingReader (XmlReader reader) + : base () { this.sourceReader = reader; - this.xmlTextReader = reader as XmlTextReader; entityHandling = EntityHandling.ExpandEntities; validationType = ValidationType.Auto; schemas = new XmlSchemaCollection (); @@ -57,29 +56,27 @@ namespace System.Xml { #region Properties public override int AttributeCount { + [MonoTODO] get { return validatingReader == null ? 0 : validatingReader.AttributeCount; } } public override string BaseURI { + [MonoTODO] get { return validatingReader == null ? sourceReader.BaseURI : validatingReader.BaseURI; } } - // This property for this class always return true. public override bool CanResolveEntity { - get { return true; } + get { return validatingReader == null ? false : validatingReader.CanResolveEntity; } } public override int Depth { + [MonoTODO] get { return validatingReader == null ? 0 : validatingReader.Depth; } } public Encoding Encoding { - get { - if (xmlTextReader != null) - return xmlTextReader.Encoding; - else - throw new NotSupportedException ("Encoding is supported only for XmlTextReader."); - } + [MonoTODO] + get { throw new NotImplementedException (); } } public EntityHandling EntityHandling { @@ -88,35 +85,38 @@ namespace System.Xml { } public override bool EOF { + [MonoTODO] get { return validatingReader == null ? false : validatingReader.EOF; } } public override bool HasValue { + [MonoTODO] get { return validatingReader == null ? false : validatingReader.HasValue; } } public override bool IsDefault { + [MonoTODO] get { return validatingReader == null ? false : validatingReader.IsDefault; } } public override bool IsEmptyElement { + [MonoTODO] get { return validatingReader == null ? false : validatingReader.IsEmptyElement; } } public override string this [int i] { - get { - if (validatingReader == null) - throw new IndexOutOfRangeException ("Reader is not started."); - return validatingReader [i]; - } + [MonoTODO] + get { return validatingReader [i]; } } public override string this [string name] { - get { return validatingReader == null ? null : validatingReader [name]; } + [MonoTODO] + get { return validatingReader == null ? String.Empty : validatingReader [name]; } } public override string this [string localName, string namespaceName] { - get { return validatingReader == null ? null : validatingReader [localName, namespaceName]; } + [MonoTODO] + get { return validatingReader == null ? String.Empty : validatingReader [localName, namespaceName]; } } int IXmlLineInfo.LineNumber { @@ -134,73 +134,66 @@ namespace System.Xml { } public override string LocalName { - get { - if (validatingReader == null) - return String.Empty; - else if (Namespaces) - return validatingReader.LocalName; - else - return validatingReader.Name; - } + [MonoTODO] + get { return validatingReader == null ? String.Empty : validatingReader.LocalName; } } public override string Name { + [MonoTODO] get { return validatingReader == null ? String.Empty : validatingReader.Name; } } + [MonoTODO] public bool Namespaces { get { - if (xmlTextReader != null) - return xmlTextReader.Namespaces; + XmlTextReader xtr = sourceReader as XmlTextReader; + if (xtr != null) + return xtr.Namespaces; else - return true; + throw new NotImplementedException (); } set { - if (ReadState != ReadState.Initial) - throw new InvalidOperationException ("Namespaces have to be set before reading."); - - if (xmlTextReader != null) - xmlTextReader.Namespaces = value; + XmlTextReader xtr = sourceReader as XmlTextReader; + if (xtr != null) + xtr.Namespaces = value; else - throw new NotSupportedException ("Property 'Namespaces' is supported only for XmlTextReader."); + throw new NotImplementedException (); } } public override string NamespaceURI { - get { - if (validatingReader == null) - return String.Empty; - else if (Namespaces) - return validatingReader.NamespaceURI; - else - return String.Empty; - } + [MonoTODO] + get { return validatingReader == null ? String.Empty : validatingReader.NamespaceURI; } } public override XmlNameTable NameTable { - get { return validatingReader == null ? sourceReader.NameTable : validatingReader.NameTable; } + [MonoTODO] + get { return validatingReader == null ? null : validatingReader.NameTable; } } public override XmlNodeType NodeType { + [MonoTODO] get { return validatingReader == null ? XmlNodeType.None : validatingReader.NodeType; } } - public override string Prefix { + public override string Prefix { [MonoTODO] get { return validatingReader == null ? String.Empty : validatingReader.Prefix; } } public override char QuoteChar { - get { return validatingReader == null ? sourceReader.QuoteChar : validatingReader.QuoteChar; } + [MonoTODO] + get { return validatingReader == null ? '"' : validatingReader.QuoteChar; } } + [MonoTODO ("confirm which reader should be returned.")] public XmlReader Reader { get { return sourceReader; } } public override ReadState ReadState { [MonoTODO] - get { + get { if (validatingReader == null) return ReadState.Initial; return validatingReader.ReadState; @@ -236,10 +229,12 @@ namespace System.Xml { } public override string Value { + [MonoTODO] get { return validatingReader == null ? String.Empty : validatingReader.Value; } } public override string XmlLang { + [MonoTODO] get { return validatingReader == null ? String.Empty : validatingReader.XmlLang; } } @@ -247,12 +242,12 @@ namespace System.Xml { [MonoTODO] set { resolver = value; -// XmlSchemaValidatingReader xsvr = validatingReader as XmlSchemaValidatingReader; -// if (xsvr != null) -// xsvr.XmlResolver = value; DTDValidatingReader dvr = validatingReader as DTDValidatingReader; if (dvr != null) dvr.XmlResolver = value; +// XmlSchemaValidatingReader xsvr = validatingReader as XmlSchemaValidatingReader; +// if (xsvr != null) +// xsvr.XmlResolver = value; } } @@ -265,27 +260,28 @@ namespace System.Xml { #region Methods + [MonoTODO] public override void Close () { - if (validatingReader == null) - sourceReader.Close (); - else - validatingReader.Close (); + validatingReader.Close (); } + [MonoTODO] public override string GetAttribute (int i) { - return this [i]; + return validatingReader.GetAttribute (i); } + [MonoTODO] public override string GetAttribute (string name) { - return this [name]; + return validatingReader.GetAttribute (name); } + [MonoTODO] public override string GetAttribute (string localName, string namespaceName) { - return this [localName, namespaceName]; + return validatingReader.GetAttribute (localName, namespaceName); } internal XmlParserContext GetInternalParserContext () @@ -300,54 +296,45 @@ namespace System.Xml { return info != null ? info.HasLineInfo () : false; } + [MonoTODO] public override string LookupNamespace (string prefix) { - if (validatingReader != null) - return sourceReader.LookupNamespace (prefix); - else - return validatingReader.LookupNamespace (prefix); + return validatingReader.LookupNamespace (prefix); } + [MonoTODO] public override void MoveToAttribute (int i) { - if (validatingReader == null) - throw new IndexOutOfRangeException ("Reader is not started."); - else - validatingReader.MoveToAttribute (i); + validatingReader.MoveToAttribute (i); } + [MonoTODO] public override bool MoveToAttribute (string name) { - if (validatingReader == null) - return false; return validatingReader.MoveToAttribute (name); } + [MonoTODO] public override bool MoveToAttribute (string localName, string namespaceName) { - if (validatingReader == null) - return false; return validatingReader.MoveToAttribute (localName, namespaceName); } + [MonoTODO] public override bool MoveToElement () { - if (validatingReader == null) - return false; return validatingReader.MoveToElement (); } + [MonoTODO] public override bool MoveToFirstAttribute () { - if (validatingReader == null) - return false; return validatingReader.MoveToFirstAttribute (); } + [MonoTODO] public override bool MoveToNextAttribute () { - if (validatingReader == null) - return false; return validatingReader.MoveToNextAttribute (); } @@ -376,61 +363,36 @@ namespace System.Xml { return validatingReader.Read (); } + [MonoTODO] public override bool ReadAttributeValue () { - if (validatingReader == null) - return false; return validatingReader.ReadAttributeValue (); } #if NET_1_0 - // LAMESPEC: MS.NET 1.0 has critical bug here. - // After calling these methods, validation does no more work! [MonoTODO] public override string ReadInnerXml () { - if (validatingReader == null) - return ""; return validatingReader.ReadInnerXml (); } [MonoTODO] public override string ReadOuterXml () { - if (validatingReader == null) - return ""; return validatingReader.ReadOuterXml (); } #endif [MonoTODO] -#if NET_1_0 - public override string ReadString () - { - return base.ReadStringInternal (); - } -#else public override string ReadString () { - return base.ReadString (); + return validatingReader.ReadString (); } -#endif [MonoTODO] public object ReadTypedValue () { - if (dtdReader == null) - return null; - XmlSchemaDatatype dt = schemaInfo.SchemaType as XmlSchemaDatatype; - if (dt == null) - return null; - switch (NodeType) { - case XmlNodeType.Element: - return dt.ParseValue (ReadString (), NameTable, dtdReader.ParserContext.NamespaceManager); - case XmlNodeType.Attribute: - return dt.ParseValue (Value, NameTable, dtdReader.ParserContext.NamespaceManager); - } - return null; + throw new NotImplementedException (); } public override void ResolveEntity () diff --git a/mcs/class/System/Microsoft.CSharp/CSharpCodeGenerator.cs b/mcs/class/System/Microsoft.CSharp/CSharpCodeGenerator.cs index 2386c51e91f..ab1f346e3f5 100644 --- a/mcs/class/System/Microsoft.CSharp/CSharpCodeGenerator.cs +++ b/mcs/class/System/Microsoft.CSharp/CSharpCodeGenerator.cs @@ -202,11 +202,8 @@ namespace Mono.CSharp protected override void GenerateMethodReferenceExpression( CodeMethodReferenceExpression expression ) { - if (expression.TargetObject != null) - { - GenerateExpression( expression.TargetObject ); - Output.Write( '.' ); - }; + GenerateExpression( expression.TargetObject ); + Output.Write( '.' ); Output.Write( GetSafeName (expression.MethodName) ); } @@ -274,7 +271,6 @@ namespace Mono.CSharp { Output.Write( "throw " ); GenerateExpression( statement.ToThrow ); - Output.WriteLine(";"); } protected override void GenerateComment( CodeComment comment ) @@ -501,10 +497,7 @@ namespace Mono.CSharp MemberAttributes attributes = method.Attributes; - if (method.PrivateImplementationType == null) - { - OutputMemberAccessModifier( attributes ); - }; + OutputMemberAccessModifier( attributes ); OutputMemberScopeModifier( attributes ); OutputType( method.ReturnType ); @@ -522,7 +515,7 @@ namespace Mono.CSharp OutputParameters( method.Parameters ); output.Write( ')' ); - if ( (attributes & MemberAttributes.ScopeMask) == MemberAttributes.Abstract || declaration.IsInterface) + if ( (attributes & MemberAttributes.ScopeMask) == MemberAttributes.Abstract ) output.WriteLine( ';' ); else { output.WriteLine( " {" ); @@ -545,50 +538,30 @@ namespace Mono.CSharp OutputMemberAccessModifier( attributes ); OutputMemberScopeModifier( attributes ); - if (property.Name == "Item") - { - // indexer - - OutputTypeNamePair( property.Type, "this"); - output.Write("["); - OutputParameters(property.Parameters); - output.Write("]"); - } - else - { - OutputTypeNamePair( property.Type, GetSafeName (property.Name)); - } + OutputTypeNamePair( property.Type, GetSafeName (property.Name)); output.WriteLine (" {"); ++Indent; - if (declaration.IsInterface) + if (property.HasGet) { - if (property.HasGet) output.WriteLine("get; "); - if (property.HasSet) output.WriteLine("set; "); - } - else - { - if (property.HasGet) - { - output.WriteLine ("get {"); - ++Indent; - - GenerateStatements (property.GetStatements); + output.WriteLine ("get {"); + ++Indent; - --Indent; - output.WriteLine ("}"); - } + GenerateStatements (property.GetStatements); - if (property.HasSet) - { - output.WriteLine ("set {"); - ++Indent; + --Indent; + output.WriteLine ("}"); + } + + if (property.HasSet) + { + output.WriteLine ("set {"); + ++Indent; - GenerateStatements (property.SetStatements); + GenerateStatements (property.SetStatements); - --Indent; - output.WriteLine ("}"); - } + --Indent; + output.WriteLine ("}"); } --Indent; @@ -601,36 +574,7 @@ namespace Mono.CSharp OutputMemberAccessModifier (constructor.Attributes); Output.Write (GetSafeName (CurrentTypeName) + " ("); OutputParameters (constructor.Parameters); - Output.Write (") "); - if (constructor.ChainedConstructorArgs.Count > 0) - { - Output.Write(": this("); - bool first = true; - foreach (CodeExpression ex in constructor.ChainedConstructorArgs) - { - if (!first) - Output.Write(", "); - first = false; - GenerateExpression(ex); - } - - Output.Write(") "); - }; - if (constructor.BaseConstructorArgs.Count > 0) - { - Output.Write(": base("); - bool first = true; - foreach (CodeExpression ex in constructor.BaseConstructorArgs) - { - if (!first) - Output.Write(", "); - first = false; - GenerateExpression(ex); - } - - Output.Write(") "); - }; - Output.WriteLine ("{"); + Output.WriteLine (") {"); Indent++; GenerateStatements (constructor.Statements); Indent--; diff --git a/mcs/class/System/Microsoft.CSharp/ChangeLog b/mcs/class/System/Microsoft.CSharp/ChangeLog index a4262284ac4..3910d47b9f9 100644 --- a/mcs/class/System/Microsoft.CSharp/ChangeLog +++ b/mcs/class/System/Microsoft.CSharp/ChangeLog @@ -1,20 +1,3 @@ -2003-08-15 Jaroslaw Kowalski <jarek@atm.com.pl> - - * CSharpCodeGenerator.cs: - - - fixed support for method references where target - object is null - - fixed CodeThrowExceptionStatement - - disabled member access modifiers for private method - implementations - - disabled generation of empty method body for interface - declarations - - disabled generation of empty property accessor bodies - in interface declarations - - added support for indexers (properties named "Item") - - added support for chained constructor arguments and - base constructor arguments - 2003-08-05 Lluis Sanchez Gual <lluis@ximian.com> * CSharpCodeGenerator.cs: Added method GetSafeName() that checks if diff --git a/mcs/class/System/System.CodeDom/ChangeLog b/mcs/class/System/System.CodeDom/ChangeLog index dd4757d1e8c..772703f02d7 100644 --- a/mcs/class/System/System.CodeDom/ChangeLog +++ b/mcs/class/System/System.CodeDom/ChangeLog @@ -1,10 +1,3 @@ -2003-08-15 Jaroslaw Kowalski <jarek@atm.com.pl> - - * CodeTypeDeclaration.cs: - - - TypeAttributes of CodeTypeDeclaration now defaults to - TypeAttributes.Public (same as MS implementation) - 2003-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com> * CodeEventReferenceExpression.cs: fixed typo that prevented event diff --git a/mcs/class/System/System.CodeDom/CodeTypeDeclaration.cs b/mcs/class/System/System.CodeDom/CodeTypeDeclaration.cs index ab119e30d0e..be0fdc70cff 100755 --- a/mcs/class/System/System.CodeDom/CodeTypeDeclaration.cs +++ b/mcs/class/System/System.CodeDom/CodeTypeDeclaration.cs @@ -21,7 +21,7 @@ namespace System.CodeDom { private CodeTypeReferenceCollection baseTypes; private CodeTypeMemberCollection members; - private TypeAttributes typeAttributes = TypeAttributes.Public; + private TypeAttributes typeAttributes; private bool isEnum; private bool isStruct; diff --git a/mcs/class/System/System.Net/ChangeLog b/mcs/class/System/System.Net/ChangeLog index 35484015d46..b0ac96a71c1 100644 --- a/mcs/class/System/System.Net/ChangeLog +++ b/mcs/class/System/System.Net/ChangeLog @@ -1,7 +1,3 @@ -2003-08-14 Nick Drochak <ndrochak@gol.com> - - * WebRequest.cs: Check lower case string since that is what we will add. - 2003-08-04 Jerome Laban <jlaban@wanadoo.fr> * IPHostEntry.cs: Default contructor must not initialize members. diff --git a/mcs/class/System/System.Net/WebRequest.cs b/mcs/class/System/System.Net/WebRequest.cs index 394654af3ce..93efc666455 100644 --- a/mcs/class/System/System.Net/WebRequest.cs +++ b/mcs/class/System/System.Net/WebRequest.cs @@ -156,10 +156,9 @@ namespace System.Net throw new ArgumentNullException("creator");
lock (prefixes.SyncRoot) {
- string lowerCasePrefix = prefix.ToLower ();
- if (prefixes.Contains (lowerCasePrefix))
+ if (prefixes.Contains (prefix))
return false;
- prefixes.Add (lowerCasePrefix, creator);
+ prefixes.Add (prefix.ToLower (), creator);
}
return true;
}
diff --git a/mcs/class/System/Test/System/ChangeLog b/mcs/class/System/Test/System/ChangeLog index ba06081be12..7427bb64021 100644 --- a/mcs/class/System/Test/System/ChangeLog +++ b/mcs/class/System/Test/System/ChangeLog @@ -1,8 +1,3 @@ -2003-08-18 Nick Drochak <ndrochak@gol.com> - - * UriBuilderTest.cs: Separated tests into NUnit v2 style. Need to track - down a test failure. - 2003-05-07 Ben Maurer <bmaurer@users.sourceforge.net> * UriTest.cs: added tests for UNIX file paths. diff --git a/mcs/class/System/Test/System/UriBuilderTest.cs b/mcs/class/System/Test/System/UriBuilderTest.cs index 1a0ed43b88a..d9451c5f58b 100644 --- a/mcs/class/System/Test/System/UriBuilderTest.cs +++ b/mcs/class/System/Test/System/UriBuilderTest.cs @@ -61,26 +61,24 @@ namespace MonoTests.System }
[Test]
- [ExpectedException (typeof (ArgumentOutOfRangeException))]
- public void BadPort1 ()
+ public void Port ()
{
- b.Port = -12345;
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentOutOfRangeException))]
- public void BadPort2 ()
- {
- b.Port = 123456789;
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentOutOfRangeException))]
- public void BadPort3 ()
- {
- b.Port = -1;
+ try {
+ b.Port = -12345;
+ Assertion.Fail ("#1 should've failed, illegal port.");
+ } catch (ArgumentOutOfRangeException) {}
+ try {
+ b.Port = 123456789;
+ Assertion.Fail ("#2 should've failed, illegal port.");
+ } catch (ArgumentOutOfRangeException) {}
+ try {
+ b.Port = -1;
+ Assertion.AssertEquals ("#3", -1, b.Port);
+ } catch (ArgumentOutOfRangeException) {
+ Assertion.Fail ("#4: spec should allow -1 as value.");
+ }
}
-
+
[Test]
public void Query ()
{
diff --git a/mcs/class/corlib/System.Collections/ChangeLog b/mcs/class/corlib/System.Collections/ChangeLog index 2feffb1d535..488261b15ff 100644 --- a/mcs/class/corlib/System.Collections/ChangeLog +++ b/mcs/class/corlib/System.Collections/ChangeLog @@ -1,12 +1,3 @@ -2003-08-17 Duncan Mak <duncan@ximian.com> - - * Hashtable.cs (PutImpl): Patch from Luca Barbieri <lb@lb.ods.org>. - Currently Hashtable.PutImpl has an incorrect test which causes the - key chain search to terminate as soon as a free slot is found, - causing key duplication. - - This fixes bug #47692. - 2003-08-11 Duncan Mak <duncan@ximian.com> * DictionaryBase.cs: Applied patch from Carlos Barcenilla diff --git a/mcs/class/corlib/System.Collections/Hashtable.cs b/mcs/class/corlib/System.Collections/Hashtable.cs index c0578794fe7..84922aa954a 100644 --- a/mcs/class/corlib/System.Collections/Hashtable.cs +++ b/mcs/class/corlib/System.Collections/Hashtable.cs @@ -598,7 +598,7 @@ namespace System.Collections { if (freeIndx == -1 && entry.key == KeyMarker.Removed - && (entry.hashMix & CHAIN_MARKER)== 0) + && (entry.hashMix & CHAIN_MARKER)!= 0) freeIndx = indx; if (entry.key == null || diff --git a/mcs/class/corlib/System.Runtime.Remoting.Activation/AppDomainLevelActivator.cs b/mcs/class/corlib/System.Runtime.Remoting.Activation/AppDomainLevelActivator.cs index 8d4bd41aec7..e47464f12c7 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Activation/AppDomainLevelActivator.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Activation/AppDomainLevelActivator.cs @@ -11,7 +11,7 @@ using System.Runtime.Remoting.Messaging; namespace System.Runtime.Remoting.Activation { - internal class AppDomainLevelActivator: IActivator + public class AppDomainLevelActivator: IActivator { string _activationUrl; IActivator _next; diff --git a/mcs/class/corlib/System.Runtime.Remoting.Activation/ChangeLog b/mcs/class/corlib/System.Runtime.Remoting.Activation/ChangeLog index 1714aa34685..0d36c020dca 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Activation/ChangeLog +++ b/mcs/class/corlib/System.Runtime.Remoting.Activation/ChangeLog @@ -1,9 +1,3 @@ -2003-08-14 Lluis Sanchez Gual <lluis@ximian.com> - - * AppDomainLevelActivator.cs, ConstructionLevelActivator.cs, - ContextLevelActivator.cs, RemoteActivationAttribute.cs, - RemoteActivator.cs: Changed class from public to internal. - 2003-03-21 Lluis Sanchez Gual <lluis@ideary.com> * ActivationServices.cs: Added the method Activate that performs the forwards the diff --git a/mcs/class/corlib/System.Runtime.Remoting.Activation/ConstructionLevelActivator.cs b/mcs/class/corlib/System.Runtime.Remoting.Activation/ConstructionLevelActivator.cs index 789f54d1772..c8009e56a57 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Activation/ConstructionLevelActivator.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Activation/ConstructionLevelActivator.cs @@ -12,7 +12,7 @@ using System.Runtime.Remoting.Messaging; namespace System.Runtime.Remoting.Activation { [Serializable] - internal class ConstructionLevelActivator: IActivator + public class ConstructionLevelActivator: IActivator { IActivator _next; diff --git a/mcs/class/corlib/System.Runtime.Remoting.Activation/ContextLevelActivator.cs b/mcs/class/corlib/System.Runtime.Remoting.Activation/ContextLevelActivator.cs index b5b9fc8305e..52cf269c4a7 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Activation/ContextLevelActivator.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Activation/ContextLevelActivator.cs @@ -13,7 +13,7 @@ using System.Runtime.Remoting.Contexts; namespace System.Runtime.Remoting.Activation { [Serializable] - internal class ContextLevelActivator: IActivator + public class ContextLevelActivator: IActivator { IActivator _next; diff --git a/mcs/class/corlib/System.Runtime.Remoting.Activation/RemoteActivationAttribute.cs b/mcs/class/corlib/System.Runtime.Remoting.Activation/RemoteActivationAttribute.cs index 9ecf8710f59..c2aaca25028 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Activation/RemoteActivationAttribute.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Activation/RemoteActivationAttribute.cs @@ -13,7 +13,7 @@ using System.Collections; namespace System.Runtime.Remoting.Activation { - internal class RemoteActivationAttribute: Attribute, IContextAttribute + public class RemoteActivationAttribute: Attribute, IContextAttribute { // This activation attribute is used when creating a client activated // CBO in the server. This attribute will enforce the creation of diff --git a/mcs/class/corlib/System.Runtime.Remoting.Activation/RemoteActivator.cs b/mcs/class/corlib/System.Runtime.Remoting.Activation/RemoteActivator.cs index c8b62818e4d..c426dddf093 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Activation/RemoteActivator.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Activation/RemoteActivator.cs @@ -6,14 +6,14 @@ // (C) 2002, Lluis Sanchez Gual // -using System; +using System;
using System.Runtime.Remoting.Lifetime; -using System.Runtime.Remoting.Messaging; - -namespace System.Runtime.Remoting.Activation -{ - internal class RemoteActivator: MarshalByRefObject, IActivator - { +using System.Runtime.Remoting.Messaging;
+
+namespace System.Runtime.Remoting.Activation
+{
+ public class RemoteActivator: MarshalByRefObject, IActivator
+ {
public IConstructionReturnMessage Activate (IConstructionCallMessage msg) { if (!RemotingConfiguration.IsActivationAllowed (msg.ActivationType)) @@ -28,28 +28,28 @@ namespace System.Runtime.Remoting.Activation ObjRef objref = RemotingServices.Marshal (newObject); return new ConstructionResponse (objref, null, msg); } - - public override Object InitializeLifetimeService() - { - ILease lease = (ILease)base.InitializeLifetimeService(); - if (lease.CurrentState == LeaseState.Initial) - { - lease.InitialLeaseTime = TimeSpan.FromMinutes(30); - lease.SponsorshipTimeout = TimeSpan.FromMinutes(1); - lease.RenewOnCallTime = TimeSpan.FromMinutes(10); - } - return lease; - } - - public ActivatorLevel Level +
+ public override Object InitializeLifetimeService()
+ {
+ ILease lease = (ILease)base.InitializeLifetimeService();
+ if (lease.CurrentState == LeaseState.Initial)
+ {
+ lease.InitialLeaseTime = TimeSpan.FromMinutes(30);
+ lease.SponsorshipTimeout = TimeSpan.FromMinutes(1);
+ lease.RenewOnCallTime = TimeSpan.FromMinutes(10);
+ }
+ return lease;
+ }
+
+ public ActivatorLevel Level
{ get { throw new NotSupportedException (); } } - public IActivator NextActivator + public IActivator NextActivator
{ get { throw new NotSupportedException (); } set { throw new NotSupportedException (); } } - } -} + }
+}
diff --git a/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog b/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog index 20f468ffeb8..d2b105ef318 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog +++ b/mcs/class/corlib/System.Runtime.Remoting.Channels/ChangeLog @@ -1,8 +1,3 @@ -2003-08-14 Lluis Sanchez Gual <lluis@ximian.com> - - * ChannelServices.cs: Set call context info for the incoming - remote call, and restore the context after the call. - 2003-07-28 Duncan Mak <duncan@ximian.com> * TransportHeaders.cs: Added Serializable attribute. diff --git a/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs b/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs index 1f7d093d4da..85241218590 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Channels/ChannelServices.cs @@ -190,20 +190,7 @@ namespace System.Runtime.Remoting.Channels if (identity == null) return new ReturnMessage (new RemotingException ("No receiver for uri " + call.Uri), (IMethodCallMessage) msg); RemotingServices.SetMessageTargetIdentity (msg, identity); - - if (call.LogicalCallContext != null) - CallContext.SetCurrentCallContext (call.LogicalCallContext); - - try - { - IMessage response = _crossContextSink.SyncProcessMessage (msg); - response.Properties ["__CallContext"] = CallContext.CreateLogicalCallContext (); - return response; - } - finally - { - CallContext.ResetCurrentCallContext (); - } + return _crossContextSink.SyncProcessMessage (msg); } public static void UnregisterChannel (IChannel chnl) @@ -215,9 +202,12 @@ namespace System.Runtime.Remoting.Channels registeredChannels.Remove ((object) chnl); +/* + FIXME: uncomment when Thread.Abort works for windows. IChannelReceiver chnlReceiver = chnl as IChannelReceiver; if(chnlReceiver != null) chnlReceiver.StopListening(null); + */ } internal static object [] GetCurrentChannelInfo () diff --git a/mcs/class/corlib/System.Runtime.Remoting.Lifetime/ChangeLog b/mcs/class/corlib/System.Runtime.Remoting.Lifetime/ChangeLog index 5eda5611fdf..b6f049e3a60 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Lifetime/ChangeLog +++ b/mcs/class/corlib/System.Runtime.Remoting.Lifetime/ChangeLog @@ -1,7 +1,3 @@ -2003-08-14 Lluis Sanchez Gual <lluis@ximian.com> - - * ClientSponsor.cs: Implemented. - 2003-03-03 Lluis Sanchez Gual <lluis@ideary.com> * LeaseManager.cs: Added method for removing an object from the lease manager. diff --git a/mcs/class/corlib/System.Runtime.Remoting.Lifetime/ClientSponsor.cs b/mcs/class/corlib/System.Runtime.Remoting.Lifetime/ClientSponsor.cs index 0105e51c3cc..c6400477f75 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Lifetime/ClientSponsor.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Lifetime/ClientSponsor.cs @@ -2,13 +2,11 @@ // System.Runtime.Remoting.Lifetime.ClientSponsor.cs // // Author: Duncan Mak (duncan@ximian.com) -// Lluis Sanchez Gual (lluis@ximian.com) // // 2002 (C) Copyright. Ximian, Inc. // using System; -using System.Collections; using System.Runtime.Remoting.Lifetime; namespace System.Runtime.Remoting.Lifetime { @@ -16,7 +14,6 @@ namespace System.Runtime.Remoting.Lifetime { public class ClientSponsor : MarshalByRefObject, ISponsor { TimeSpan renewal_time; - ArrayList registered_objects = new ArrayList (); public ClientSponsor () { @@ -38,47 +35,39 @@ namespace System.Runtime.Remoting.Lifetime { } } + [MonoTODO] public void Close () { - foreach (MarshalByRefObject obj in registered_objects) - { - ILease lease = obj.GetLifetimeService () as ILease; - lease.Unregister (this); - } - registered_objects.Clear (); } + [MonoTODO] ~ClientSponsor () { - Close (); + throw new NotImplementedException (); } + [MonoTODO] public override object InitializeLifetimeService () { - return base.InitializeLifetimeService (); + throw new NotImplementedException (); } + [MonoTODO] public bool Register (MarshalByRefObject obj) { - if (registered_objects.Contains (obj)) return false; - ILease lease = obj.GetLifetimeService () as ILease; - if (lease == null) return false; - lease.Register (this); - registered_objects.Add (obj); - return true; + throw new NotImplementedException (); } + [MonoTODO] public TimeSpan Renewal (ILease lease) { - return renewal_time; + throw new NotImplementedException (); } + [MonoTODO] public void Unregister (MarshalByRefObject obj) { - if (!registered_objects.Contains (obj)) return; - ILease lease = obj.GetLifetimeService () as ILease; - lease.Unregister (this); - registered_objects.Remove (obj); + throw new NotImplementedException (); } } } diff --git a/mcs/class/corlib/System.Runtime.Remoting.Messaging/CADMessages.cs b/mcs/class/corlib/System.Runtime.Remoting.Messaging/CADMessages.cs index 88a2441d13f..8373fd26ffd 100755 --- a/mcs/class/corlib/System.Runtime.Remoting.Messaging/CADMessages.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Messaging/CADMessages.cs @@ -78,11 +78,18 @@ namespace System.Runtime.Remoting.Messaging { // We can ignore marshalling for string and primitive types private static bool IsPossibleToIgnoreMarshal (object obj) { + // until this is more tested, we disable it.... + return false; + +/* if (obj is string) + return true; + Type objType = obj.GetType(); if (objType.IsPrimitive || objType == typeof(void)) return true; return false; +*/ } // Checks an argument if it's possible to pass without marshalling and diff --git a/mcs/class/corlib/System.Runtime.Remoting.Messaging/CallContext.cs b/mcs/class/corlib/System.Runtime.Remoting.Messaging/CallContext.cs index 56c136667a5..b3b1dee70ad 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Messaging/CallContext.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Messaging/CallContext.cs @@ -2,18 +2,16 @@ // System.Runtime.Remoting.Messaging.CallContext.cs // // Author: Jaime Anguiano Olarra (jaime@gnome.org) -// Lluis Sanchez Gual (lluis@ximian.com) // // (c) 2002, Jaime Anguiano Olarra // +// FIXME: This is just a skeleton for practical purposes. ///<summary> ///Provides several properties that come with the execution code path. ///This class is sealed. ///</summary> using System; -using System.Threading; -using System.Collections; namespace System.Runtime.Remoting.Messaging { @@ -22,76 +20,34 @@ namespace System.Runtime.Remoting.Messaging public sealed class CallContext { // public methods + [MonoTODO] public static void FreeNamedDataSlot (string name) { - Datastore.Remove (name); + throw new NotImplementedException (); } + [MonoTODO] public static object GetData (string name) { - return Datastore [name]; + throw new NotImplementedException (); } + [MonoTODO] public static Header[] GetHeaders () { - return (Header[]) Datastore ["__Headers"]; + throw new NotImplementedException (); } + [MonoTODO] public static void SetData (string name, object data) { - Datastore [name] = data; + throw new NotImplementedException (); } + [MonoTODO] public static void SetHeaders (Header[] headers) { - Datastore ["__Headers"] = headers; + throw new NotImplementedException (); } - - internal static LogicalCallContext CreateLogicalCallContext () - { - LocalDataStoreSlot ds = Thread.GetNamedDataSlot ("__CallContext"); - Hashtable res = (Hashtable) Thread.GetData (ds); - - LogicalCallContext ctx = new LogicalCallContext(); - if (res == null) return ctx; - - foreach (DictionaryEntry entry in res) - if (entry.Value is ILogicalThreadAffinative) - ctx.SetData ((string)entry.Key, entry.Value); - - return ctx; - } - - internal static void SetCurrentCallContext (LogicalCallContext ctx) - { - Hashtable data = ctx.Datastore; - if (data == null) return; - - foreach (DictionaryEntry entry in data) - SetData ((string)entry.Key, entry.Value); - } - - internal static void ResetCurrentCallContext () - { - LocalDataStoreSlot ds = Thread.GetNamedDataSlot ("__CallContext"); - Thread.SetData (ds, null); - } - - private static Hashtable Datastore - { - get { - LocalDataStoreSlot ds = Thread.GetNamedDataSlot ("__CallContext"); - Hashtable res = (Hashtable) Thread.GetData (ds); - if (res == null) { - res = new Hashtable (); - Thread.SetData (ds, res); - } - return res; - } - } - } - - public interface ILogicalThreadAffinative - { } } diff --git a/mcs/class/corlib/System.Runtime.Remoting.Messaging/ChangeLog b/mcs/class/corlib/System.Runtime.Remoting.Messaging/ChangeLog index eba728cf89c..633a1d2e1aa 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Messaging/ChangeLog +++ b/mcs/class/corlib/System.Runtime.Remoting.Messaging/ChangeLog @@ -1,20 +1,3 @@ -2003-08-17 Lluis Sanchez Gual <lluis@ximian.com> - - * MethodCall.cs: Throw the right exception if the target object is not - found when resolving the target method. - -2003-08-17 Lluis Sanchez Gual <lluis@ximian.com> - - * CallContext.cs: Fixed bug #47686. - -2003-08-14 Lluis Sanchez Gual <lluis@ximian.com> - - * CADMessages.cs: Enabled smuggeling of primitive type parameters (as suggested - by Patrik). - * CallContext.cs: Impplemented. - * LogicalCallContext.cs: Implemented. - * MonoMethodMessage.cs: Added setter for LogicalCallContext property. - 2003-07-25 Lluis Sanchez Gual <lluis@ximian.com> * ArgInfo.cs: Use Type.IsByRef to check if a parameter is a ref or diff --git a/mcs/class/corlib/System.Runtime.Remoting.Messaging/LogicalCallContext.cs b/mcs/class/corlib/System.Runtime.Remoting.Messaging/LogicalCallContext.cs index 686764f781c..a9e44a0ca4b 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Messaging/LogicalCallContext.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Messaging/LogicalCallContext.cs @@ -1,112 +1,43 @@ -// -// System.Runtime.Remoting.Messaging.LogicalCallContext.cs -// -// Author: -// Dan Lewis (dihlewis@yahoo.co.uk) -// Lluis Sanchez Gual (lluis@ximian.com) -// -// 2002 (C) Copyright. Ximian, Inc. -// - -using System.Collections; -using System.Runtime.Serialization; - -namespace System.Runtime.Remoting.Messaging { - - [MonoTODO] +//
+// System.Runtime.Remoting.Messaging.LogicalCallContext.cs
+//
+// Author:
+// Dan Lewis (dihlewis@yahoo.co.uk)
+//
+// (C) 2002
+//
+// Stubbed.
+//
+
+using System.Runtime.Serialization;
+
+namespace System.Runtime.Remoting.Messaging {
+
+ [MonoTODO]
[Serializable] - public sealed class LogicalCallContext : ISerializable, ICloneable - { - Hashtable _data; - CallContextRemotingData _remotingData = new CallContextRemotingData(); - - internal LogicalCallContext () - { - } - - internal LogicalCallContext (SerializationInfo info, StreamingContext context) - { - foreach (SerializationEntry entry in info) - { - if (entry.Name == "__RemotingData") - _remotingData = (CallContextRemotingData) entry.Value; - else - SetData (entry.Name, entry.Value); - } - } - - public bool HasInfo - { - get - { - return (_data != null && _data.Count > 0); - } - } - - public void FreeNamedDataSlot (string name) - { - if (_data != null) - _data.Remove (name); - } - - public object GetData (string name) - { - if (_data != null) return _data [name]; - else return null; - } - - public void GetObjectData (SerializationInfo info, StreamingContext context) - { - info.AddValue ("__RemotingData", _remotingData); - if (_data != null) - { - foreach (DictionaryEntry de in _data) - info.AddValue ((string)de.Key, de.Value); - } - } - - public void SetData (string name, object data) - { - if (_data == null) _data = new Hashtable (); - _data [name] = data; - } - - public object Clone () - { - LogicalCallContext nc = new LogicalCallContext (); - nc._remotingData = (CallContextRemotingData) _remotingData.Clone (); - if (_data != null) - { - nc._data = new Hashtable (); - foreach (DictionaryEntry de in _data) - nc._data [de.Key] = de.Value; - } - return nc; - } - - internal Hashtable Datastore - { - get { return _data; } - } - } - - [Serializable] - internal class CallContextRemotingData : ICloneable - { - string _logicalCallID; - - public string LogicalCallID - { - get { return _logicalCallID; } - set { _logicalCallID = value; } - } - - public object Clone () - { - CallContextRemotingData data = new CallContextRemotingData (); - data._logicalCallID = _logicalCallID; - return data; - } -} -} - + public sealed class LogicalCallContext : ISerializable, ICloneable {
+ + internal LogicalCallContext () {} + + public bool HasInfo {
+ get { return false; }
+ }
+
+ public void FreeNamedDataSlot (string name) {
+ }
+
+ public object GetData (string name) {
+ return null;
+ }
+
+ public void GetObjectData (SerializationInfo info, StreamingContext context) {
+ }
+
+ public void SetData (string name, object data) {
+ }
+
+ public object Clone () {
+ return null;
+ }
+ }
+}
diff --git a/mcs/class/corlib/System.Runtime.Remoting.Messaging/MethodCall.cs b/mcs/class/corlib/System.Runtime.Remoting.Messaging/MethodCall.cs index 5ead98ecc2b..5ace8cd6573 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Messaging/MethodCall.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Messaging/MethodCall.cs @@ -264,7 +264,6 @@ namespace System.Runtime.Remoting.Messaging { if (_uri != null) { Type type = RemotingServices.GetServerTypeForUri (_uri); - if (type == null) throw new RemotingException ("No receiver for uri " + _uri); if (CanCastTo (_typeName, type)) { diff --git a/mcs/class/corlib/System.Runtime.Remoting.Messaging/MonoMethodMessage.cs b/mcs/class/corlib/System.Runtime.Remoting.Messaging/MonoMethodMessage.cs index 1e7fa10a216..48856e53bd6 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Messaging/MonoMethodMessage.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Messaging/MonoMethodMessage.cs @@ -78,7 +78,6 @@ namespace System.Runtime.Remoting.Messaging { get { if (null == args) return 0; -// Lluis Sanchez Gual (lluis@ximian.com) return args.Length; } @@ -100,10 +99,6 @@ namespace System.Runtime.Remoting.Messaging { get { return ctx; } - - set { - ctx = value; - } } public MethodBase MethodBase { diff --git a/mcs/class/corlib/System.Runtime.Remoting.Proxies/ChangeLog b/mcs/class/corlib/System.Runtime.Remoting.Proxies/ChangeLog index 2fe3b95eead..31404bbf867 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Proxies/ChangeLog +++ b/mcs/class/corlib/System.Runtime.Remoting.Proxies/ChangeLog @@ -1,7 +1,3 @@ -2003-08-14 Lluis Sanchez Gual <lluis@ximian.com> - - * RemotingProxy.cs: On invoke, set the LogicalCallContext of the message. - 2003-07-28 Duncan Mak <duncan@ximian.com> * RealProxy.cs (GetProxiedType): Removed 'virtual' keyword. diff --git a/mcs/class/corlib/System.Runtime.Remoting.Proxies/RemotingProxy.cs b/mcs/class/corlib/System.Runtime.Remoting.Proxies/RemotingProxy.cs index d06f43320a8..f8beeba6268 100644 --- a/mcs/class/corlib/System.Runtime.Remoting.Proxies/RemotingProxy.cs +++ b/mcs/class/corlib/System.Runtime.Remoting.Proxies/RemotingProxy.cs @@ -48,8 +48,6 @@ namespace System.Runtime.Remoting.Proxies { MonoMethodMessage mMsg = (MonoMethodMessage) request; - mMsg.LogicalCallContext = CallContext.CreateLogicalCallContext (); - if (mMsg.MethodBase.IsConstructor) return ActivateRemoteObject (mMsg); diff --git a/mcs/class/corlib/System.Runtime.Remoting/ChangeLog b/mcs/class/corlib/System.Runtime.Remoting/ChangeLog index ce20367f3d0..7d396aa832d 100755 --- a/mcs/class/corlib/System.Runtime.Remoting/ChangeLog +++ b/mcs/class/corlib/System.Runtime.Remoting/ChangeLog @@ -1,9 +1,3 @@ -2003-08-14 Lluis Sanchez Gual <lluis@ximian.com> - - * ObjRef.cs: Implemented IsFromThisProcess(). - * RemotingServices.cs: Implemented methods GetLifetimeService and - GetEnvoyChainForProxy. Stubbed LogRemotingStage. - 2003-07-29 Lluis Sanchez Gual <lluis@ximian.com> * RemotingServices.cs: GetObjectUri(): For client proxies, return diff --git a/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs b/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs index 19f59839eb0..ec12d5710b4 100644 --- a/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs +++ b/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs @@ -47,7 +47,7 @@ namespace System.Runtime.Remoting { flags = o.flags; if (unmarshalAsProxy) flags |= MarshalledObjectRef; } - + public ObjRef (MarshalByRefObject mbr, Type type) { if (mbr == null) @@ -130,7 +130,7 @@ namespace System.Runtime.Remoting { return false; } - internal bool IsReferenceToWellKnow + public bool IsReferenceToWellKnow { get { return (flags & WellKnowObjectRef) > 0; } } @@ -199,18 +199,11 @@ namespace System.Runtime.Remoting { return identity.IsFromThisAppDomain; } + [MonoTODO] public bool IsFromThisProcess () { - foreach (object data in channel_info.ChannelData) - { - if (data is CrossAppDomainData) - { - string refProcId = ((CrossAppDomainData)data).ProcessID; - return (refProcId == RemotingConfiguration.ProcessId); - } - } - - return true; + // as yet we do not consider this optimization + return false; } internal void UpdateChannelInfo() diff --git a/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs b/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs index a180bdb4994..b3dbef05a62 100644 --- a/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs +++ b/mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs @@ -258,25 +258,6 @@ namespace System.Runtime.Remoting else return ident.CreateObjRef(null); } - public static object GetLifetimeService (MarshalByRefObject obj) - { - if (obj == null) return null; - return obj.GetLifetimeService (); - } - - public static IMessageSink GetEnvoyChainForProxy (MarshalByRefObject obj) - { - if (IsTransparentProxy(obj)) - return ((ClientIdentity)GetRealProxy (obj).ObjectIdentity).EnvoySink; - else - throw new ArgumentException ("obj must be a proxy","obj"); - } - - public static void LogRemotingStage (int stage) - { - throw new NotImplementedException (); - } - [MonoTODO] public static string GetSessionIdForMethodMessage(IMethodMessage msg) { diff --git a/mcs/class/corlib/System.Threading/ChangeLog b/mcs/class/corlib/System.Threading/ChangeLog index 5be6e966b9d..8a94a0f256a 100644 --- a/mcs/class/corlib/System.Threading/ChangeLog +++ b/mcs/class/corlib/System.Threading/ChangeLog @@ -1,8 +1,3 @@ -2003-08-14 Lluis Sanchez Gual <lluis@ximian.com> - - * Thread.cs: SetData() method: use Hashtable.Contains to check - if a dataslot has been allocated (value could be null). - 2003-07-23 Duncan Mak <duncan@ximian.com> * WaitHandle.cs (CheckDisposed): This method is not in the public diff --git a/mcs/class/corlib/System.Threading/Thread.cs b/mcs/class/corlib/System.Threading/Thread.cs index 257b199bf57..b04cc1ada65 100755 --- a/mcs/class/corlib/System.Threading/Thread.cs +++ b/mcs/class/corlib/System.Threading/Thread.cs @@ -174,7 +174,7 @@ namespace System.Threading object data) { Hashtable slothash=GetTLSSlotHash(); - if(slothash.Contains(slot)) { + if(slothash[slot]!=null) { slothash.Remove(slot); } diff --git a/mcs/ilasm/ChangeLog b/mcs/ilasm/ChangeLog index a083e9ea24b..1d92701f2e6 100644 --- a/mcs/ilasm/ChangeLog +++ b/mcs/ilasm/ChangeLog @@ -1,10 +1,3 @@ -2003-08-14 Jackson Harper <jackson@latitudegeo.com> - - * Driver.cs: Report entry for each il file processed - * Report.cs: New file - All error/warning/progress reporting will - go through here. - * ilasm.exe.sources: Add report to build - 2003-08-12 Jackson Harper <jackson@latitudegeo.com> * AssemblyInfo.cs: Bump up the vizzity-version number. diff --git a/mcs/ilasm/Driver.cs b/mcs/ilasm/Driver.cs index 88798fdc7d6..fdf6c535b81 100644 --- a/mcs/ilasm/Driver.cs +++ b/mcs/ilasm/Driver.cs @@ -39,10 +39,8 @@ namespace Mono.ILASM { private class DriverMain { private ArrayList il_file_list; - private Report report; private string output_file; private Target target = Target.Exe; - private string target_string = "exe"; private bool show_tokens = false; private bool show_method_def = false; private bool show_method_ref = false; @@ -55,7 +53,6 @@ namespace Mono.ILASM { { il_file_list = new ArrayList (); ParseArgs (args); - report = new Report (); } public void Run () @@ -88,8 +85,6 @@ namespace Mono.ILASM { file_path); Environment.Exit (2); } - report.AssembleFile (file_path, null, - target_string, output_file); StreamReader reader = File.OpenText (file_path); ILTokenizer scanner = new ILTokenizer (reader); @@ -109,16 +104,16 @@ namespace Mono.ILASM { } ILParser parser = new ILParser (codegen); - try { - if (show_parser) - parser.yyparse (new ScannerAdapter (scanner), - new yydebug.yyDebugSimple ()); - else - parser.yyparse (new ScannerAdapter (scanner), null); - } catch { - Console.WriteLine ("Error at: " + scanner.Reader.Location); - throw; - } + try { + if (show_parser) + parser.yyparse (new ScannerAdapter (scanner), + new yydebug.yyDebugSimple ()); + else + parser.yyparse (new ScannerAdapter (scanner), null); + } catch { + Console.WriteLine ("Error at: " + scanner.Reader.Location); + throw; + } } public void ShowToken (object sender, NewTokenEventArgs args) @@ -161,11 +156,9 @@ namespace Mono.ILASM { break; case "exe": target = Target.Exe; - target_string = "exe"; break; case "dll": target = Target.Dll; - target_string = "dll"; break; case "scan_only": scan_only = true; @@ -227,7 +220,7 @@ namespace Mono.ILASM { ext_index = file_name.Length; return String.Format ("{0}.{1}", file_name.Substring (0, ext_index), - target_string); + target.ToString ().ToLower ()); } private void Usage () diff --git a/mcs/ilasm/Report.cs b/mcs/ilasm/Report.cs deleted file mode 100644 index 1f184afd4f5..00000000000 --- a/mcs/ilasm/Report.cs +++ /dev/null @@ -1,64 +0,0 @@ -// -// Mono.ILASM.Report -// -// Author(s): -// Jackson Harper (Jackson@LatitudeGeo.com) -// -// (C) 2003 Jackson Harper, All rights reserved -// - - -using System; -using System.IO; - -namespace Mono.ILASM { - - public class Report { - - private int error_count; - private int mark_count; - - public Report () - { - error_count = 0; - } - - public int ErrorCount { - get { return error_count; } - } - - public void Mark () - { - mark_count = error_count; - } - - public bool ErrorSinceMark () - { - return (error_count > mark_count); - } - - public void AssembleFile (string file, string listing, - string target, string output) - { - Console.WriteLine ("Assembling '{0}' , {1}, to {2} --> '{3}'", file, - GetListing (listing), target, output); - } - - public void Error (int num, string message, Location location) - { - error_count++; - Console.WriteLine ("{0} Error {1}: {2}", - num, location, message); - } - - private string GetListing (string listing) - { - if (listing == null) - return "no listing file"; - return listing; - } - - } - -} - diff --git a/mcs/ilasm/ilasm.exe.sources b/mcs/ilasm/ilasm.exe.sources index b93b7dbde71..12f255c9af0 100644 --- a/mcs/ilasm/ilasm.exe.sources +++ b/mcs/ilasm/ilasm.exe.sources @@ -1,5 +1,4 @@ Driver.cs -Report.cs AssemblyInfo.cs codegen/CodeGen.cs codegen/ExternTable.cs diff --git a/mono/arch/alpha/.cvsignore b/mono/arch/alpha/.cvsignore new file mode 100644 index 00000000000..6358454922b --- /dev/null +++ b/mono/arch/alpha/.cvsignore @@ -0,0 +1,4 @@ +Makefile.in +Makefile +.deps +.cvsignore diff --git a/mono/arch/s390/.cvsignore b/mono/arch/s390/.cvsignore new file mode 100644 index 00000000000..6358454922b --- /dev/null +++ b/mono/arch/s390/.cvsignore @@ -0,0 +1,4 @@ +Makefile.in +Makefile +.deps +.cvsignore diff --git a/mono/interpreter/ChangeLog b/mono/interpreter/ChangeLog index 407834bfe15..b0b656aa07e 100644 --- a/mono/interpreter/ChangeLog +++ b/mono/interpreter/ChangeLog @@ -1,15 +1,3 @@ -2003-08-16 Zoltan Varga <vargaz@freemail.hu> - - * interp.c (ves_exec_method): Implemented mul.ovf correctly for int32 - and int64. Implement the conv.ovf opcodes for all argument types. - -2003-08-15 Zoltan Varga <vargaz@freemail.hu> - - * interp.c (ves_exec_method): Handle non-valuetypes in CEE_STOBJ. - Fixes #46781. - (ves_exec_method): Added support for the synchronized flag to the - interpreter. Also fixed the CALLI opcode, and made exception handling - work though the managed-unmanaged barrier. Fri Jul 25 19:06:27 CEST 2003 Paolo Molaro <lupus@ximian.com> diff --git a/mono/interpreter/interp.c b/mono/interpreter/interp.c index 72ed4833160..1f2f81e57db 100644 --- a/mono/interpreter/interp.c +++ b/mono/interpreter/interp.c @@ -1105,34 +1105,19 @@ verify_method (MonoMethod *m) /* Resolves to TRUE if the operands would overflow */ #define CHECK_MUL_OVERFLOW(a,b) \ ((gint32)(a) == 0) || ((gint32)(b) == 0) ? 0 : \ - (((gint32)(a) > 0) && ((gint32)(b) == -1)) ? FALSE : \ - (((gint32)(a) < 0) && ((gint32)(b) == -1)) ? (a == - MYGINT32_MAX) : \ - (((gint32)(a) > 0) && ((gint32)(b) > 0)) ? (gint32)(a) > ((MYGINT32_MAX) / (gint32)(b)) : \ - (((gint32)(a) > 0) && ((gint32)(b) < 0)) ? (gint32)(a) > ((MYGINT32_MIN) / (gint32)(b)) : \ - (((gint32)(a) < 0) && ((gint32)(b) > 0)) ? (gint32)(a) < ((MYGINT32_MIN) / (gint32)(b)) : \ - (gint32)(a) < ((MYGINT32_MAX) / (gint32)(b)) + (((gint32)(a) > 0) && ((gint32)(b) > 0)) || (((gint32)(a) < 0) && ((gint32)(b) < 0)) ? \ + (gint32)(b) > ((MYGINT32_MAX) / (gint32)(a)) : \ + (gint32)(b) < ((MYGINT32_MIN) / (gint32)(a)) #define CHECK_MUL_OVERFLOW_UN(a,b) \ ((guint32)(a) == 0) || ((guint32)(b) == 0) ? 0 : \ (guint32)(b) > ((MYGUINT32_MAX) / (guint32)(a)) - -#define CHECK_MUL_OVERFLOW(a,b) \ - ((gint32)(a) == 0) || ((gint32)(b) == 0) ? 0 : \ - (((gint32)(a) > 0) && ((gint32)(b) == -1)) ? FALSE : \ - (((gint32)(a) < 0) && ((gint32)(b) == -1)) ? (a == - MYGINT32_MAX) : \ - (((gint32)(a) > 0) && ((gint32)(b) > 0)) ? (gint32)(a) > ((MYGINT32_MAX) / (gint32)(b)) : \ - (((gint32)(a) > 0) && ((gint32)(b) < 0)) ? (gint32)(a) > ((MYGINT32_MIN) / (gint32)(b)) : \ - (((gint32)(a) < 0) && ((gint32)(b) > 0)) ? (gint32)(a) < ((MYGINT32_MIN) / (gint32)(b)) : \ - (gint32)(a) < ((MYGINT32_MAX) / (gint32)(b)) - + #define CHECK_MUL_OVERFLOW64(a,b) \ ((gint64)(a) == 0) || ((gint64)(b) == 0) ? 0 : \ - (((gint64)(a) > 0) && ((gint64)(b) == -1)) ? FALSE : \ - (((gint64)(a) < 0) && ((gint64)(b) == -1)) ? (a == - MYGINT64_MAX) : \ - (((gint64)(a) > 0) && ((gint64)(b) > 0)) ? (gint64)(a) > ((MYGINT64_MAX) / (gint64)(b)) : \ - (((gint64)(a) > 0) && ((gint64)(b) < 0)) ? (gint64)(a) > ((MYGINT64_MIN) / (gint64)(b)) : \ - (((gint64)(a) < 0) && ((gint64)(b) > 0)) ? (gint64)(a) < ((MYGINT64_MIN) / (gint64)(b)) : \ - (gint64)(a) < ((MYGINT64_MAX) / (gint64)(b)) + (((gint64)(a) > 0) && ((gint64)(b) > 0)) || (((gint64)(a) < 0) && ((gint64)(b) < 0)) ? \ + (gint64)(b) > ((MYGINT64_MAX) / (gint64)(a)) : \ + (gint64)(b) < ((MYGINT64_MIN) / (gint64)(a)) #define CHECK_MUL_OVERFLOW64_UN(a,b) \ ((guint64)(a) == 0) || ((guint64)(b) == 0) ? 0 : \ @@ -1622,23 +1607,7 @@ ves_exec_method (MonoInvocation *frame) --sp; vt_free (sp); BREAK; - CASE (CEE_JMP) { - guint32 token; - - frame->ip = ip; - - ++ip; - token = read32 (ip); - ip += 4; - - child_frame.method = mono_get_method (image, token, NULL); - if (!child_frame.method) - THROW_EX (mono_get_exception_missing_method (), ip -5); - - ves_abort (); - - BREAK; - } + CASE (CEE_JMP) ves_abort(); BREAK; CASE (CEE_CALLVIRT) /* Fall through */ CASE (CEE_CALLI) /* Fall through */ CASE (CEE_CALL) { @@ -1667,13 +1636,10 @@ ves_exec_method (MonoInvocation *frame) if (frame->method->wrapper_type != MONO_WRAPPER_NONE) { csignature = (MonoMethodSignature *)mono_method_get_wrapper_data (frame->method, token); child_frame.method = NULL; + } else if ((ji = mono_jit_info_table_find (mono_root_domain, code))) { + child_frame.method = ji->method; } else { - csignature = mono_metadata_parse_signature (image, token); - if ((ji = mono_jit_info_table_find (mono_root_domain, code))) { - child_frame.method = ji->method; - } else { - g_assert_not_reached (); - } + g_assert_not_reached (); } g_assert (code); } else { @@ -1691,10 +1657,6 @@ ves_exec_method (MonoInvocation *frame) } } - if (frame->method->wrapper_type == MONO_WRAPPER_NONE) - if (child_frame.method && child_frame.method->iflags & METHOD_IMPL_ATTRIBUTE_SYNCHRONIZED) - child_frame.method = mono_marshal_get_synchronized_wrapper (child_frame.method); - g_assert (csignature->call_convention == MONO_CALL_DEFAULT); /* decrement by the actual number of args */ if (csignature->param_count) { @@ -1731,10 +1693,6 @@ ves_exec_method (MonoInvocation *frame) if (!child_frame.method) { g_assert (code); ves_pinvoke_method (&child_frame, csignature, (MonoFunc) code, FALSE); - if (child_frame.ex) { - frame->ex = child_frame.ex; - goto handle_exception; - } } else if (csignature->hasthis && sp->type == VAL_OBJ && ((MonoObject *)sp->data.p)->vtable->klass == mono_defaults.transparent_proxy_class) { g_assert (child_frame.method); @@ -3010,15 +2968,7 @@ array_constructed: vtklass = mono_class_get (image, read32 (ip)); ip += 4; sp -= 2; - - /* - * LAMESPEC: According to the spec, the stack should contain a - * pointer to a value type. In reality, it can contain anything. - */ - if (sp [1].type == VAL_VALUET) - memcpy (sp [0].data.p, sp [1].data.vt.vt, mono_class_value_size (vtklass, NULL)); - else - memcpy (sp [0].data.p, &sp [1].data, mono_class_value_size (vtklass, NULL)); + memcpy (sp [0].data.p, sp [1].data.vt.vt, mono_class_value_size (vtklass, NULL)); BREAK; } #if SIZEOF_VOID_P == 8 @@ -3119,7 +3069,7 @@ array_constructed: case CEE_CONV_OVF_I_UN: /* Fall through */ #endif case CEE_CONV_OVF_I4_UN: - if (value > MYGUINT32_MAX) + if (value > 2147483647) THROW_EX (mono_get_exception_overflow (), ip); sp [-1].data.i = value; sp [-1].type = VAL_I32; @@ -3414,87 +3364,68 @@ array_constructed: CASE (CEE_UNUSED15) CASE (CEE_UNUSED16) CASE (CEE_UNUSED17) ves_abort(); BREAK; - -#if SIZEOF_VOID_P == 4 - CASE (CEE_CONV_OVF_I) - CASE (CEE_CONV_OVF_U) -#endif CASE (CEE_CONV_OVF_I1) - CASE (CEE_CONV_OVF_I2) - CASE (CEE_CONV_OVF_I4) - CASE (CEE_CONV_OVF_U1) - CASE (CEE_CONV_OVF_U2) - CASE (CEE_CONV_OVF_U4) { - gint64 value; - switch (sp [-1].type) { - case VAL_DOUBLE: - value = (gint64)sp [-1].data.f; - break; - case VAL_I64: - value = (gint64)sp [-1].data.l; - break; - case VAL_VALUET: - ves_abort(); - case VAL_I32: - value = (gint64)sp [-1].data.i; - break; - default: - value = (gint64)sp [-1].data.nati; - break; - } - switch (*ip) { - case CEE_CONV_OVF_I1: - if (value < -128 || value > 127) - THROW_EX (mono_get_exception_overflow (), ip); - sp [-1].data.i = value; - sp [-1].type = VAL_I32; - break; - case CEE_CONV_OVF_I2: - if (value < -32768 || value > 32767) + if (sp [-1].type == VAL_I32) { + if (sp [-1].data.i < 128 || sp [-1].data.i > 127) THROW_EX (mono_get_exception_overflow (), ip); - sp [-1].data.i = value; - sp [-1].type = VAL_I32; - break; -#if SIZEOF_VOID_P == 4 - case CEE_CONV_OVF_I: /* Fall through */ -#endif - case CEE_CONV_OVF_I4: - if (value < MYGINT32_MIN || value > MYGINT32_MAX) + sp [-1].data.i = (gint8)sp [-1].data.i; + } else if (sp [-1].type == VAL_I64) { + if (sp [-1].data.l < 128 || sp [-1].data.l > 127) THROW_EX (mono_get_exception_overflow (), ip); - sp [-1].data.i = value; - sp [-1].type = VAL_I32; - break; - case CEE_CONV_OVF_U1: - if (value < 0 || value > 255) + sp [-1].data.i = (gint8)sp [-1].data.l; + } else { + ves_abort(); + } + ++ip; + BREAK; + CASE (CEE_CONV_OVF_U1) + if (sp [-1].type == VAL_I32) { + if (sp [-1].data.i < 0 || sp [-1].data.i > 255) THROW_EX (mono_get_exception_overflow (), ip); - sp [-1].data.i = value; - sp [-1].type = VAL_I32; - break; - case CEE_CONV_OVF_U2: - if (value < 0 || value > 65535) + sp [-1].data.i = (gint8)sp [-1].data.i; + } else if (sp [-1].type == VAL_I64) { + if (sp [-1].data.l < 0 || sp [-1].data.l > 255) THROW_EX (mono_get_exception_overflow (), ip); - sp [-1].data.i = value; + sp [-1].data.i = (gint8)sp [-1].data.l; + } else { + ves_abort(); + } + ++ip; + BREAK; + CASE (CEE_CONV_OVF_I2) + CASE (CEE_CONV_OVF_U2) + ++ip; + /* FIXME: handle other cases */ + if (sp [-1].type == VAL_I32) { + /* defined as NOP */ + } else { + ves_abort(); + } + BREAK; + CASE (CEE_CONV_OVF_I4) + /* FIXME: handle other cases */ + if (sp [-1].type == VAL_I32) { + /* defined as NOP */ + } else if(sp [-1].type == VAL_I64) { + sp [-1].data.i = (gint32)sp [-1].data.l; sp [-1].type = VAL_I32; - break; -#if SIZEOF_VOID_P == 4 - case CEE_CONV_OVF_U: /* Fall through */ -#endif - case CEE_CONV_OVF_U4: - if (value < 0 || value > MYGUINT32_MAX) - THROW_EX (mono_get_exception_overflow (), ip); - sp [-1].data.i = value; + } else { + ves_abort(); + } + ++ip; + BREAK; + CASE (CEE_CONV_OVF_U4) + /* FIXME: handle other cases */ + if (sp [-1].type == VAL_I32) { + /* defined as NOP */ + } else if(sp [-1].type == VAL_I64) { + sp [-1].data.i = (guint32)sp [-1].data.l; sp [-1].type = VAL_I32; - break; - default: - g_assert_not_reached (); + } else { + ves_abort(); } ++ip; BREAK; - } - -#if SIZEOF_VOID_P == 8 - CASE (CEE_CONV_OVF_I) -#endif CASE (CEE_CONV_OVF_I8) /* FIXME: handle other cases */ if (sp [-1].type == VAL_I32) { @@ -3507,10 +3438,6 @@ array_constructed: } ++ip; BREAK; - -#if SIZEOF_VOID_P == 8 - CASE (CEE_CONV_OVF_U) -#endif CASE (CEE_CONV_OVF_U8) /* FIXME: handle other cases */ if (sp [-1].type == VAL_I32) { @@ -3559,6 +3486,29 @@ array_constructed: ++sp; BREAK; } + CASE (CEE_CONV_OVF_I) + ++ip; + --sp; + /* FIXME: check overflow. */ + switch (sp->type) { + case VAL_I32: + sp->data.p = (gpointer)(mono_i) sp->data.i; + break; + case VAL_I64: + sp->data.p = (gpointer)(mono_i) sp->data.l; + break; + case VAL_NATI: + break; + case VAL_DOUBLE: + sp->data.p = (gpointer)(mono_i) sp->data.f; + break; + default: + ves_abort (); + } + sp->type = VAL_NATI; + ++sp; + BREAK; + CASE (CEE_CONV_OVF_U) ves_abort(); BREAK; CASE (CEE_ADD_OVF) --sp; /* FIXME: check overflow */ @@ -3602,6 +3552,7 @@ array_constructed: CASE (CEE_MUL_OVF) ++ip; --sp; + /* FIXME: check overflow */ if (sp->type == VAL_I32) { if (CHECK_MUL_OVERFLOW (sp [-1].data.i, GET_NATI (sp [0]))) THROW_EX (mono_get_exception_overflow (), ip); @@ -4029,15 +3980,6 @@ array_constructed: m = get_virtual_method (domain, m, sp); } - - /* - * This prevents infinite cycles since the wrapper contains - * an ldftn too. - */ - if (frame->method->wrapper_type != MONO_WRAPPER_SYNCHRONIZED) - if (m && m->iflags & METHOD_IMPL_ATTRIBUTE_SYNCHRONIZED) - m = mono_marshal_get_synchronized_wrapper (m); - sp->type = VAL_NATI; sp->data.p = mono_create_method_pointer (m); sp->data.vt.klass = NULL; @@ -4281,7 +4223,6 @@ array_constructed: if (tracing) g_print ("* Found handler at '%s'\n", inv->method->name); #endif - /* * It seems that if the catch handler is found in the same method, * it gets executed before the finally handler. @@ -4398,15 +4339,8 @@ die_on_ex: ++sp; goto main_loop; } - if (!frame->parent) { - /* Pass the exception though the managed barrier if possible */ - MonoInvocation *parent = TlsGetValue (frame_thread_id); - if (parent) { - parent->ex = frame->ex; - longjmp (*(jmp_buf*)parent->locals, 1); - } + if (!frame->parent) goto die_on_ex; - } DEBUG_LEAVE (); return; } diff --git a/mono/metadata/.cvsignore b/mono/metadata/.cvsignore index 18f33722269..75d912a3efe 100644 --- a/mono/metadata/.cvsignore +++ b/mono/metadata/.cvsignore @@ -1,7 +1,6 @@ Makefile Makefile.in pedump -monosn .libs .deps *.lo diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index aa8ac6b4e9d..5107280e8ba 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -1,28 +1,3 @@ -2003-08-16 Zoltan Varga <vargaz@freemail.hu> - - * reflection.h reflection.c (mono_param_get_objects): Changed this to - return a MonoArray. This simplifies the code and also ensures that - the cache allways contains an object reference as a value. - - * icall.c (ves_icall_get_parameter_info): Simplified using the new - function. - -2003-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com> - - * socket-io.c: patch by Bernie Solomon <bernard@ugsolutions.com> that - fixes a problem with byte ordering when getting the address family for - a socket. - -2003-08-15 Zoltan Varga <vargaz@freemail.hu> - - * .cvsignore: Added monosn. - - * reflection.h reflection.c loader.c: Added support for parameter - marshalling to dynamically created types. Fixes #47295. - -Fri Aug 15 11:42:46 CEST 2003 Paolo Molaro <lupus@ximian.com> - - * rand.c: remove useless warnings. Wed Aug 13 15:49:57 CEST 2003 Paolo Molaro <lupus@ximian.com> diff --git a/mono/metadata/NOTES b/mono/metadata/NOTES new file mode 100644 index 00000000000..4edf1cd699c --- /dev/null +++ b/mono/metadata/NOTES @@ -0,0 +1,113 @@ + +1. Thread safety of metadata structures +---------------------------------------- + +1.1 Synchronization of read-only data +------------------------------------- + +Read-only data is data which is not modified after creation, like the +actual binary metadata in the metadata tables. + +There are three kinds of threads with regards to read-only data: +- readers +- the creator of the data +- the destroyer of the data + +Most threads are readers. + +- synchronization between readers is not neccesary +- synchronization between the writers is done using locks. +- synchronization between the readers and the creator is done by not exposing + the data to readers before it is fully constructed. +- synchronization between the readers and the destroyer: TBD. + +1.2 Deadlock prevention plan +---------------------------- + +Hold locks for the shortest time possible. Avoid calling functions inside +locks which might obtain global locks (i.e. locks known outside this module). + +1.3 Locks +---------- + +1.3.1 Simple locks +------------------ + + There are a lot of global data structures which can be protected by a 'simple' lock. Simple means: + - the lock protects only this data structure or it only protects the data structures in a given C module. + An example would be the appdomains list in domain.c + - the lock is only held for a short amount of time, and no other lock is acquired inside this simple lock. Thus there is + no possibility of deadlock. + +1.3.2 The class loader lock +--------------------------- + +This locks is held by the class loading routines in class.c and loader.c. It +protects the various caches inside MonoImage which are used by these modules. + +1.3.3 The domain lock +--------------------- + +Each appdomain has a lock which protects the per-domain data structures. + +1.3.4 The locking hierarchy +--------------------------- + +It is useful to model locks by a locking hierarchy, which is a relation between locks, which is reflexive, transitive, +and antisymmetric, in other words, a lattice. If a thread wants to acquire a lock B, while already holding A, it can only +do it if A < B. If all threads work this way, then no deadlocks can occur. + +Our locking hierarchy so far looks like this: + <DOMAIN LOCK> + \ + <CLASS LOADER LOCK> + \ \ + <SIMPLE LOCK 1> <SIMPLE LOCK 2> + +1.4 Notes +---------- + +Some common scenarios: +- if a function needs to access a data structure, then it should lock it itself, and do not count on its caller locking it. + So for example, the image->class_cache hash table would be locked by mono_class_get(). + +- there are lots of places where a runtime data structure is created and stored in a cache. In these places, care must be + taken to avoid multiple threads creating the same runtime structure, for example, two threads might call mono_class_get () + with the same class name. There are two choices here: + + <enter mutex> + <check that item is created> + if (created) { + <leave mutex> + return item + } + <create item> + <store it in cache> + <leave mutex> + + This is the easiest solution, but it requires holding the lock for the whole time which might create a scalability problem, and could also lead to deadlock. + + <enter mutex> + <check that item is created> + <leave mutex> + if (created) { + return item + } + <create item> + <enter mutex> + <check that item is created> + if (created) { + /* Another thread already created and stored the same item */ + <free our item> + <leave mutex> + return orig item + } + else { + <store item in cache> + <leave mutex> + return item + } + + This solution does not present scalability problems, but the created item might be hard to destroy (like a MonoClass). + +- lazy initialization of hashtables etc. is not thread safe diff --git a/mono/metadata/icall.c b/mono/metadata/icall.c index a6b51c8acbd..81ab070ffcd 100644 --- a/mono/metadata/icall.c +++ b/mono/metadata/icall.c @@ -1073,10 +1073,22 @@ static MonoArray* ves_icall_get_parameter_info (MonoMethod *method) { MonoDomain *domain = mono_domain_get (); + MonoArray *res; + static MonoClass *System_Reflection_ParameterInfo; + MonoReflectionParameter** args; + int i; MONO_ARCH_SAVE_REGS; - return mono_param_get_objects (domain, method); + args = mono_param_get_objects (domain, method); + if (!System_Reflection_ParameterInfo) + System_Reflection_ParameterInfo = mono_class_from_name ( + mono_defaults.corlib, "System.Reflection", "ParameterInfo"); + res = mono_array_new (domain, System_Reflection_ParameterInfo, method->signature->param_count); + for (i = 0; i < method->signature->param_count; ++i) { + mono_array_set (res, gpointer, i, args [i]); + } + return res; } static MonoReflectionType* diff --git a/mono/metadata/loader.c b/mono/metadata/loader.c index e6b69fad3c3..5fd49838a0b 100644 --- a/mono/metadata/loader.c +++ b/mono/metadata/loader.c @@ -761,20 +761,6 @@ mono_method_get_marshal_info (MonoMethod *method, MonoMarshalSpec **mspecs) for (i = 0; i < method->signature->param_count + 1; ++i) mspecs [i] = NULL; - if (method->klass->image->assembly->dynamic) { - MonoMarshalSpec **dyn_specs = mono_g_hash_table_lookup ( - ((MonoDynamicAssembly*)method->klass->image->assembly->dynamic)->param_marshalling, - method); - if (dyn_specs) { - for (i = 0; i < method->signature->param_count + 1; ++i) - if (dyn_specs [i]) { - mspecs [i] = g_new0 (MonoMarshalSpec, 1); - memcpy (mspecs [i], dyn_specs [i], sizeof (MonoMarshalSpec)); - } - } - return; - } - mono_class_init (klass); methodt = &klass->image->tables [MONO_TABLE_METHOD]; diff --git a/mono/metadata/rand.c b/mono/metadata/rand.c index 40de9289390..0e5348a161e 100644 --- a/mono/metadata/rand.c +++ b/mono/metadata/rand.c @@ -105,13 +105,18 @@ ves_icall_System_Security_Cryptography_RNGCryptoServiceProvider_InternalGetNonZe /* This needs to change when I do the Win32 support... */ #else +#ifndef _MSC_VER +#warning "No Entropy Source Found" +#endif void ves_icall_System_Security_Cryptography_RNGCryptoServiceProvider_InternalGetBytes(MonoObject *self, MonoArray *arry) { + g_warning("0K problem. We have no entropy. Badness will occur."); mono_raise_exception(mono_get_exception_not_implemented()); } void ves_icall_System_Security_Cryptography_RNGCryptoServiceProvider_InternalGetNonZeroBytes(MonoObject *self, MonoArray *arry) { + g_warning("0K problem. We have no entropy. Badness will occur."); mono_raise_exception(mono_get_exception_not_implemented()); } diff --git a/mono/metadata/reflection.c b/mono/metadata/reflection.c index f7c074139a6..52160815529 100644 --- a/mono/metadata/reflection.c +++ b/mono/metadata/reflection.c @@ -2952,7 +2952,6 @@ mono_image_basic_init (MonoReflectionAssemblyBuilder *assemblyb) assembly->token_fixups = mono_g_hash_table_new (g_direct_hash, g_direct_equal); assembly->method_to_table_idx = mono_g_hash_table_new (g_direct_hash, g_direct_equal); assembly->field_to_table_idx = mono_g_hash_table_new (g_direct_hash, g_direct_equal); - assembly->param_marshalling = mono_g_hash_table_new (g_direct_hash, g_direct_equal); assembly->handleref = g_hash_table_new (g_direct_hash, g_direct_equal); assembly->tokens = mono_g_hash_table_new (g_direct_hash, g_direct_equal); assembly->typeref = g_hash_table_new ((GHashFunc)mono_metadata_type_hash, (GCompareFunc)mono_metadata_type_equal); @@ -3731,43 +3730,41 @@ mono_event_get_object (MonoDomain *domain, MonoClass *klass, MonoEvent *event) * Return an System.Reflection.ParameterInfo array object representing the parameters * in the method @method. */ -MonoArray* +MonoReflectionParameter** mono_param_get_objects (MonoDomain *domain, MonoMethod *method) { - static MonoClass *System_Reflection_ParameterInfo; - MonoArray *res = NULL; - MonoReflectionMethod *member = NULL; - MonoReflectionParameter *param = NULL; + MonoReflectionParameter **res; + MonoReflectionMethod *member; + MonoClass *oklass; char **names; int i; - if (!System_Reflection_ParameterInfo) - System_Reflection_ParameterInfo = mono_class_from_name ( - mono_defaults.corlib, "System.Reflection", "ParameterInfo"); - if (!method->signature->param_count) - return mono_array_new (domain, System_Reflection_ParameterInfo, 0); + return NULL; /* Note: the cache is based on the address of the signature into the method * since we already cache MethodInfos with the method as keys. */ - CHECK_OBJECT (MonoArray*, &(method->signature), NULL); + CHECK_OBJECT (MonoReflectionParameter**, &(method->signature), NULL); member = mono_method_get_object (domain, method, NULL); names = g_new (char *, method->signature->param_count); mono_method_get_param_names (method, (const char **) names); - - res = mono_array_new (domain, System_Reflection_ParameterInfo, method->signature->param_count); + + oklass = mono_class_from_name (mono_defaults.corlib, "System.Reflection", "ParameterInfo"); +#if HAVE_BOEHM_GC + res = GC_MALLOC (sizeof (MonoReflectionParameter*) * method->signature->param_count); +#else + res = g_new0 (MonoReflectionParameter*, method->signature->param_count); +#endif for (i = 0; i < method->signature->param_count; ++i) { - param = (MonoReflectionParameter *)mono_object_new (domain, - System_Reflection_ParameterInfo); - param->ClassImpl = mono_type_get_object (domain, method->signature->params [i]); - param->DefaultValueImpl = NULL; /* FIXME */ - param->MemberImpl = (MonoObject*)member; - param->NameImpl = mono_string_new (domain, names [i]); - param->PositionImpl = i; - param->AttrsImpl = method->signature->params [i]->attrs; - mono_array_set (res, gpointer, i, param); + res [i] = (MonoReflectionParameter *)mono_object_new (domain, oklass); + res [i]->ClassImpl = mono_type_get_object (domain, method->signature->params [i]); + res [i]->DefaultValueImpl = NULL; /* FIXME */ + res [i]->MemberImpl = (MonoObject*)member; + res [i]->NameImpl = mono_string_new (domain, names [i]); + res [i]->PositionImpl = i; + res [i]->AttrsImpl = method->signature->params [i]->attrs; } g_free (names); CACHE_OBJECT (&(method->signature), res, NULL); @@ -5307,43 +5304,6 @@ mono_reflection_create_internal_class (MonoReflectionTypeBuilder *tb) } } -static MonoMarshalSpec* -mono_marshal_spec_from_builder (MonoAssembly *assembly, - MonoReflectionMarshal *minfo) -{ - MonoMarshalSpec *res; - - res = g_new0 (MonoMarshalSpec, 1); - res->native = minfo->type; - - switch (minfo->type) { - case MONO_NATIVE_LPARRAY: - res->data.array_data.elem_type = minfo->eltype; - res->data.array_data.param_num = 0; /* Not yet */ - res->data.array_data.num_elem = minfo->count; - break; - - case MONO_NATIVE_BYVALTSTR: - case MONO_NATIVE_BYVALARRAY: - res->data.array_data.num_elem = minfo->count; - break; - - case MONO_NATIVE_CUSTOM: - if (minfo->marshaltyperef) - res->data.custom_data.custom_name = - type_get_qualified_name (minfo->marshaltyperef->type, - assembly); - if (minfo->mcookie) - res->data.custom_data.cookie = mono_string_to_utf8 (minfo->mcookie); - break; - - default: - break; - } - - return res; -} - static MonoMethod* reflection_methodbuilder_to_mono_method (MonoClass *klass, ReflectionMethodBuilder *rmb, @@ -5351,8 +5311,6 @@ reflection_methodbuilder_to_mono_method (MonoClass *klass, { MonoMethod *m; MonoMethodNormal *pm; - MonoMarshalSpec **specs; - int i; if ((rmb->attrs & METHOD_ATTRIBUTE_PINVOKE_IMPL) || (rmb->iattrs & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL)) @@ -5439,25 +5397,6 @@ reflection_methodbuilder_to_mono_method (MonoClass *klass, pm->header = header; } - /* Parameter marshalling */ - specs = NULL; - if (rmb->pinfo) - for (i = 0; i < mono_array_length (rmb->pinfo); ++i) { - MonoReflectionParamBuilder *pb; - if ((pb = mono_array_get (rmb->pinfo, MonoReflectionParamBuilder*, i))) { - if (pb->marshal_info) { - if (specs == NULL) - specs = g_new0 (MonoMarshalSpec*, sig->param_count + 1); - specs [pb->position] = - mono_marshal_spec_from_builder (klass->image->assembly, pb->marshal_info); - } - } - } - if (specs != NULL) - mono_g_hash_table_insert ( - ((MonoDynamicAssembly*)klass->image->assembly->dynamic)->param_marshalling, - m, specs); - return m; } diff --git a/mono/metadata/reflection.h b/mono/metadata/reflection.h index fd0b481e000..43bff2f681c 100644 --- a/mono/metadata/reflection.h +++ b/mono/metadata/reflection.h @@ -270,7 +270,6 @@ typedef struct { MonoGHashTable *token_fixups; MonoGHashTable *method_to_table_idx; MonoGHashTable *field_to_table_idx; - MonoGHashTable *param_marshalling; gboolean run; gboolean save; char *strong_name; @@ -487,7 +486,7 @@ MonoReflectionField* mono_field_get_object (MonoDomain *domain, MonoClass MonoReflectionProperty* mono_property_get_object (MonoDomain *domain, MonoClass *klass, MonoProperty *property); MonoReflectionEvent* mono_event_get_object (MonoDomain *domain, MonoClass *klass, MonoEvent *event); /* note: this one is slightly different: we keep the whole array of params in the cache */ -MonoArray* mono_param_get_objects (MonoDomain *domain, MonoMethod *method); +MonoReflectionParameter** mono_param_get_objects (MonoDomain *domain, MonoMethod *method); MonoArray* mono_reflection_get_custom_attrs (MonoObject *obj); MonoArray* mono_reflection_get_custom_attrs_blob (MonoObject *ctor, MonoArray *ctorArgs, MonoArray *properties, MonoArray *porpValues, MonoArray *fields, MonoArray* fieldValues); diff --git a/mono/metadata/socket-io.c b/mono/metadata/socket-io.c index 2735ad8bb63..fee8059af88 100644 --- a/mono/metadata/socket-io.c +++ b/mono/metadata/socket-io.c @@ -893,7 +893,7 @@ static struct sockaddr *create_sockaddr_from_object(MonoObject *saddr_obj, mono_raise_exception (mono_exception_from_name(mono_defaults.corlib, "System", "SystemException")); } - family = convert_family (mono_array_get (data, guint8, 0) + (mono_array_get (data, guint8, 1) << 8)); + family = convert_family (mono_array_get (data, guint16, 0)); if(family==AF_INET) { struct sockaddr_in *sa=g_new0(struct sockaddr_in, 1); guint16 port=(mono_array_get(data, guint8, 2) << 8) + diff --git a/mono/mini/Makefile.am b/mono/mini/Makefile.am index 6999ec7ab13..34f3e7e5614 100644 --- a/mono/mini/Makefile.am +++ b/mono/mini/Makefile.am @@ -195,7 +195,6 @@ documents=mini-doc.txt mini-porting.txt BUILT_SOURCES= inssel.c inssel.h cpu-pentium.h cpu-g4.h cpu-sparc.h CLEANFILES= $(BUILT_SOURCES) EXTRA_DIST = $(common_BURGSRC) $(documents) inssel-x86.brg inssel-ppc.brg \ - $(x86_sources) $(ppc_sources) $(sparc_sources) \ jit-icalls.c cprop.c inssel-sparc.brg \ cpu-pentium.md cpu-g4.md ldscript cpu-sparc.md diff --git a/mono/profiler/.cvsignore b/mono/profiler/.cvsignore new file mode 100644 index 00000000000..3ff24e7a6bb --- /dev/null +++ b/mono/profiler/.cvsignore @@ -0,0 +1,7 @@ +Makefile.in +Makefile +.deps +.libs +mono-cov.lo +libmono-profiler-cov.la +.cvsignore diff --git a/mono/tests/Makefile.am b/mono/tests/Makefile.am index 4341d28c0b3..61d4c449a59 100644 --- a/mono/tests/Makefile.am +++ b/mono/tests/Makefile.am @@ -168,8 +168,7 @@ TEST_CS_SRC= \ threadpool.cs \ threadpool1.cs \ base-definition.cs \ - bug-27420.cs \ - bug-47295.cs + bug-27420.cs # These only compile with MS CSC TEST_CSC_SRC= \ @@ -254,7 +253,7 @@ testjit: $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la echo "$${passed} test(s) passed. $${failed} test(s) failed."; \ if [ $$failed > 0 ]; then echo -e "\nFailed tests:\n"; for i in $${failed_tests}; do echo $${i}; done; fi; -testinterp: $(TESTSI_CS) libtest.la +testinterp: $(TESTSI_CS) $(TESTSI_IL) libtest.la @failed=0; \ passed=0; \ failed_tests="";\ diff --git a/mono/tests/checked.cs b/mono/tests/checked.cs index 87c3f2ab23b..659ed5f834c 100755 --- a/mono/tests/checked.cs +++ b/mono/tests/checked.cs @@ -93,96 +93,8 @@ namespace test { if (ui != 100000)
return -6;
-
- // Check mul.ovf
- checked {
- int l;
- int m;
-
- int[][] cases = new int [][] {
- new int [] {0, 0, 0},
- new int [] {-5, 0, 0},
- new int [] {3, -5, -15},
- new int [] {3, 5, 15},
- new int [] {-3, -5, 15},
- new int [] {-3, 5, -15},
- new int [] {-1, 32767, -32767},
- new int [] {32767, -1, -32767}};
-
-
- for (int j = 0; j < cases.Length; ++j)
- if (cases [j][0] * cases [j][1] != cases [j][2])
- return -7 - j;
- }
-
- checked {
- int j;
- int k;
-
- j = k = 0;
- if (j * k != 0)
- return -7;
-
- j = -5;
- k = 0;
- if (j * k != 0)
- return -8;
-
- j = 0;
- k = -5;
- if (j * k != 0)
- return -9;
-
- j = 3;
- k = -5;
- if (j * k != -15)
- return -10;
-
- j = 3;
- k = 5;
- if (j * k != 15)
- return -11;
-
- j = -3;
- k = -5;
- if (j * k != 15)
- return -12;
-
- j = -3;
- k = 5;
- if (j * k != -15)
- return -13;
-
- j = -1;
- k = 32767;
- if (j * k != -32767)
- return -14;
-
- j = 32767;
- k = -1;
- if (j * k != -32767)
- return -15;
- }
-
- checked {
- long l;
- long m;
-
- long[][] cases = new long [][] {
- new long [] {0, 0, 0},
- new long [] {-5, 0, 0},
- new long [] {3, -5, -15},
- new long [] {3, 5, 15},
- new long [] {-3, -5, 15},
- new long [] {-3, 5, -15},
- new long [] {-1, 2147483647, -2147483647},
- new long [] {2147483647, -1, -2147483647}};
-
- for (int j = 0; j < cases.Length; ++j)
- if (cases [j][0] * cases [j][1] != cases [j][2])
- return -15 - j;
- }
-
+
+
Console.WriteLine("test-ok");
return 0;
diff --git a/samples/.cvsignore b/samples/.cvsignore new file mode 100644 index 00000000000..0cf0c5381c3 --- /dev/null +++ b/samples/.cvsignore @@ -0,0 +1,3 @@ +Makefile.in +Makefile +.cvsignore diff --git a/scripts/wsdl.in b/scripts/wsdl.in new file mode 100644 index 00000000000..b8294982ed7 --- /dev/null +++ b/scripts/wsdl.in @@ -0,0 +1,2 @@ +#!/bin/sh +@bindir@/@mono_interp@ @bindir@/wsdl.exe "$@" diff --git a/web/bugs b/web/bugs new file mode 100644 index 00000000000..bfb06a1883e --- /dev/null +++ b/web/bugs @@ -0,0 +1,69 @@ +* Bug reporting + + To report bugs you need to create a <a + href="http://bugzilla.ximian.com/createaccount.cgi">Bugzilla + Account</a>. + + Here are some convenient shortcuts to browse or add bug reports. + + <ul> + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&newqueryname=&form_name=query&order=bugs.priority%2C%20bugs.bug_id">[Query]</> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FClass%20Libraries">[Add]</a> Class Libraries + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FAssembler&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FAssembler">[Add]</a> IL Assembler. + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FMCS&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FMCS">[Add]</a> C# Compiler. + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FRuntime&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FRuntime">[Add]</a> Runtime + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FDoctools&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FDoctools">[Add]</a> Documentation system. + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=gtk%23&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=gtk%23">[Add]</a> Gtk# + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FDebugger&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&form_name=query">[Query]</a> <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%2FDebugger">[Add]</a> Debugger. + + * <a href="http://bugzilla.ximian.com/buglist.cgi?product=Mono%2FClass+Libraries&product=Mono%2FMCS&product=Mono%2FRuntime&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&cmdtype=doit&order=%27Importance%27&form_name=query">[Query]</a> All core components. + </ul> + +<a name="goodbugreport"/> +** How to make good bug reports + + <ol> + * Submit a test case, the smaller it is, the better + + * Use <a href="http://bugzilla.ximian.com"> + http://bugzilla.ximian.com</a> to report the bug. + + <p>In <b>addition</b> to bugzilla, posting to the list is + fine if the bug merits larger exposure or design + discussions to solve; posting to the list twice or more + is just a way to annoy people and make them waste time, + specially when you start a new thread about it. + + * If the test involves libraries or assemblies that are + not part of mono, add info about where to download all + the dependencies, and how to compile/install them. + + * If compiling the test case requires more than: + <pre> mcs test.cs </pre> + provide the <b>full command line</b> you used to compile + the test. + + * If running the test requires more than: + <pre> mono test.exe </pre> + provide the <b>full command line</b> needed to replicate + the bug. + + * Provide info about the version of the software you're + using (both mono and the operating system or relevant + libraries). + + * Provide the output you expect the test case to produce. + + * Provide the actual output <b>you</b> get from the test case. + </ol> + + A good bug report complies with at least 6 items from the list. + If your bug report complies with 3 or less items, it is very + poor and it means it will take much more time to fix (when it's + not ignored). + diff --git a/web/download b/web/download index 4c14608c516..26f6380b3fb 100644 --- a/web/download +++ b/web/download @@ -12,98 +12,7 @@ href="http://www.go-mono.org/mono-beginning.html">Resources/Beginning section</a>, the <a href="http://www.go-mono.org/faq.html">FAQ</a>. - <table> - <tbody> - <tr bgcolor="#DDDDDD"> - <td> - <b>Release 0.26</b><br> - <a href="archive/mono-0.26.html">Release notes</a><br> - Aug 14, 2003 - </td> - <td> - <table cellspacing="1" cellpadding="3"> - <tr bgcolor="#BBBBBB"> - <td> - <b>Source Code</b> - </td> - <td> - <ul> - <li><a href="archive/mcs-0.26.tar.gz">Mono Class Libraries and C# Compiler.</a> - <li><a href="archive/mono-0.26.tar.gz">Mono Runtime</a> - <li><a href="archive/xsp-0.5.tar.gz">XSP web server (0.5)</a> - <li><a href="archive/mod_mono-0.4.tar.gz">Apache Mono module (mod_mono)</a> - <li><a href="archive/monodoc-0.6.tar.gz">MonoDoc 0.6</a> - </ul> - </td> - </tr> - <tr bgcolor="#BBBBBB"> - <td> - <b>Source RPMs</b><br> - (No RPMS for XSP). - </td> - <td> - <ul> - <li><a href="archive/redhat-90-i386/mono-0.26-1.ximian.6.1.src.rpm">mono-0.26-1.src.rpm (RH9)</a> - <li><a href="archive/redhat-90-i386/mono-0.26-1.ximian.5.1.src.rpm">mono-0.26-1.src.rpm (RH8)</a> - </ul> - </td> - </tr> - <tr> - <td></td> - </tr> - <tr> - <td bgcolor="#999999"> - <img src="images/redhat-36.gif"><b>Red Hat 9.0/x86</b> - <ul> - <li><a href="archive/redhat-90-i386/mono-0.26-1.ximian.6.1.i386.rpm">mono-0.26-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/mono-devel-0.26-1.ximian.6.1.i386.rpm">mono-devel-0.26-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/mono-debuginfo-0.26-1.ximian.6.1.i386.rpm">mono-debuginfo-0.26-1.i386.rpm</a> - <br> - <li><a href="archive/redhat-90-i386/libpixregion-0.1.0-1.ximian.6.1.i386.rpm">libpixregion-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/libpixregion-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">libpixregion-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/libic-0.1.0-1.ximian.6.1.i386.rpm">libic-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/libic-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">libic-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/xc-0.1.0-1.ximian.6.1.i386.rpm">xc-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/xc-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">xc-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/xr-0.1.0-1.ximian.6.1.i386.rpm">xr-0.1.0-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/redhat-90-i386/xr-debuginfo-0.1.0-1.ximian.6.1.i386.rpm">xr-debuginfo-0.1.0-1.ximian.6.1.i386.rpm</a> - <br> - <li><a href="archive/redhat-90-i386/monodoc-0.6-1.ximian.6.1.i386.rpm">monodoc-0.6-1.ximian.6.1.i386.rpm</a> (To be used only with CVS gtk-sharp) - <li><a href="archive/redhat-90-i386/monodoc-debuginfo-0.5-1.ximian.6.1.i386.rpm">monodoc-debuginfo-0.5-1.ximian.6.1.i386.rpm</a> - <li><a href="archive/mono-wine-20030318-1.ximian.6.2.i386.rpm">mono-wine-20030318-1.ximian.6.2.i386.rpm</a> - <li><a href="archive/mono-wine-debuginfo-20030318-1.ximian.6.2.i386.rpm">mono-wine-debuginfo-20030318-1.ximian.6.2.i386.rpm</a> - </ul> - </td> - <td bgcolor="#999999"> - <img src="images/redhat-36.gif"><b>Red Hat 8.0/x86</b> - <ul> - <li><a href="archive/redhat-80-i386/mono-0.26-1.ximian.5.1.i386.rpm">mono-0.26-1.ximian.5.1.i386.rpm</a> - <li><a href="archive/redhat-80-i386/mono-devel-0.26-1.ximian.5.1.i386.rpm">mono-devel-0.26-1.ximian.5.1.i386.rpm</a> - <br> - <li><a href="archive/redhat-80-i386/monodoc-0.5-1.ximian.5.1.i386.rpm">monodoc-0.5-1.ximian.5.1.i386.rpm</a> (To be used only with CVS gtk-sharp) - <li><a href="archive/mono-wine-20030318-1.ximian.5.2.i386.rpm">mono-wine-20030318-1.ximian.5.2.i386.rpm</a> - </ul> - </td> - </tr> - <tr> - <td bgcolor="#999999"> - <img src="images/debian-36.gif"><b>Debian</b> - <ul> - <li><a href="http://www.debianplanet.com/mono/">Debian Packages here.</a> - </ul> - </td> - <td bgcolor="#999999"> - <img src="images/mandrake-36.gif"><b>Mandrake 9.1/x86</b> - <ul> - <li><a href="archive/mandrake-91-i586/mono-0.26-1.ximian.6.1.i586.rpm">mono-0.26-1.ximian.6.1.i586.rpm</a> - <li><a href="archive/mandrake-91-i586/mono-devel-0.26-1.ximian.6.1.i586.rpm">mono-devel-0.26-1.ximian.6.1.i586.rpm</a> -<!-- <li><a href="archive/mandrake-91-i586/monodoc-0.5-1.ximian.6.1.i586.rpm">monodoc-0.5-1.ximian.6.1.i586.rpm</a> --> - </ul> - </td> - </tr> - </table> - </td> <table> <tbody> <tr bgcolor="#DDDDDD"> @@ -1271,4 +1180,4 @@ make install Notice that following the above procedure does not require you to manually install the software in the `mcs' directory, as - the relevant files will be copied by the `mono' makefiles.
\ No newline at end of file + the relevant files will be copied by the `mono' makefiles. diff --git a/web/index b/web/index index 4f27aaa1c6a..7138e25e740 100644 --- a/web/index +++ b/web/index @@ -151,21 +151,6 @@ </tr> </table> -@item Aug 14th, 2003: Mono 0.26 has been released - - A new version of Mono is available, the new features include: - <a href="http://www.cairographics.org/">Cairo support</a>, <a - href="http://remoting-corba.sf.net">Remoting.Corba</a> - support, as well as a managed XSLT implementation. - - Existing features have been improved vastly: better - Windows.Forms, runtime, faster compiler, web services, better - compliance to the spec and more. - - Check out the <a - href="http://www.go-mono.com/archive/mono-0.26.html">Release - notes</a> for details. - @item Aug 9th, 2003: Python for .NET Preview 2 available; Mono Documentation site up. Brian Lloyd has <a diff --git a/web/mysql b/web/mysql index 7b0a4d5811b..56c5f112950 100755 --- a/web/mysql +++ b/web/mysql @@ -43,7 +43,7 @@ in the Microsoft .NET Environment</a> is an article by Mr. Venu who is a MySQL AB developer.</li> - <p>Testing for Mono's Mono.Data.MySql and ByteFX's ByteFX.Data.MySqlClient is below. + <p>Testing for Mono's Mono.Data.MySql and ByteFX's ByteFX.Data.MySQLClient is below. ** Current Status @@ -51,7 +51,7 @@ <ul> - <li>ByteFX.Data.MySqlClient + <li>ByteFX.Data.MySQLClient <ul> <li>Build and Runs on Microsoft .NET and Mono</li> <li>Works with SQL# (command-line and GTK# GUI versions)</li>
@@ -109,7 +109,7 @@ The current plan for the MySQL data providers: <ul> - <li>ByteFX.Data.MySqlClient + <li>ByteFX.Data.MySQLClient <ul> <li>Testing and fixes</li> <li>Implement missing features</li> @@ -163,7 +163,7 @@ <pre> using System; using System.Data; - using ByteFX.Data.MySqlClient; + using ByteFX.Data.MySQLClient; public class Test { @@ -175,7 +175,7 @@ "User ID=myuserid;" + "Password=mypassword;"; IDbConnection dbcon; - dbcon = new MySqlConnection(connectionString); + dbcon = new MySQLConnection(connectionString); dbcon.Open(); IDbCommand dbcmd = dbcon.CreateCommand(); // requires a table to be created named employee diff --git a/web/pending-classes.in b/web/pending-classes.in deleted file mode 100644 index 1cdb5a4cb36..00000000000 --- a/web/pending-classes.in +++ /dev/null @@ -1,246 +0,0 @@ -System.Object -System.Exception -System.ValueType -System.Delegate -System.MulticastDelegate -System.Enum -System.Activator -System.ArgIterator -System.__ComObject -System.TypedReference -System.Security.AllowPartiallyTrustedCallersAttribute -System.Runtime.Serialization.Formatter -System.Runtime.Serialization.FormatterConverter -System.Runtime.Serialization.FormatterServices -System.Runtime.Serialization.ObjectIDGenerator -System.Runtime.Serialization.ObjectManager -System.Reflection.ModuleResolveEventHandler -System.Reflection.Pointer -System.Globalization.CompareInfo -System.Globalization.HebrewCalendar -System.Globalization.HijriCalendar -System.Globalization.JapaneseCalendar -System.Globalization.KoreanCalendar -System.Globalization.SortKey -System.Globalization.StringInfo -System.Globalization.TaiwanCalendar -System.Globalization.TextElementEnumerator -System.Globalization.TextInfo -System.Globalization.ThaiBuddhistCalendar -System.IO.IsolatedStorage.IsolatedStorageFile -System.Reflection.Emit.MethodRental -System.Runtime.CompilerServices.AccessedThroughPropertyAttribute -System.Runtime.CompilerServices.CallConvCdecl -System.Runtime.CompilerServices.CallConvStdcall -System.Runtime.CompilerServices.CallConvThiscall -System.Runtime.CompilerServices.CallConvFastcall -System.Runtime.CompilerServices.CustomConstantAttribute -System.Runtime.CompilerServices.DateTimeConstantAttribute -System.Runtime.CompilerServices.DiscardableAttribute -System.Runtime.CompilerServices.DecimalConstantAttribute -System.Runtime.CompilerServices.CompilationRelaxationsAttribute -System.Runtime.CompilerServices.CompilerGlobalScopeAttribute -System.Runtime.CompilerServices.IDispatchConstantAttribute -System.Runtime.CompilerServices.IsVolatile -System.Runtime.CompilerServices.IUnknownConstantAttribute -System.Runtime.CompilerServices.RequiredAttributeAttribute -System.Runtime.InteropServices.ArrayWithOffset -System.Runtime.InteropServices.DispIdAttribute -System.Runtime.InteropServices.ClassInterfaceType -System.Runtime.InteropServices.ClassInterfaceAttribute -System.Runtime.InteropServices.ComVisibleAttribute -System.Runtime.InteropServices.LCIDConversionAttribute -System.Runtime.InteropServices.ComRegisterFunctionAttribute -System.Runtime.InteropServices.ComUnregisterFunctionAttribute -System.Runtime.InteropServices.ProgIdAttribute -System.Runtime.InteropServices.ImportedFromTypeLibAttribute -System.Runtime.InteropServices.IDispatchImplType -System.Runtime.InteropServices.IDispatchImplAttribute -System.Runtime.InteropServices.ComSourceInterfacesAttribute -System.Runtime.InteropServices.ComConversionLossAttribute -System.Runtime.InteropServices.TypeLibTypeFlags -System.Runtime.InteropServices.TypeLibFuncFlags -System.Runtime.InteropServices.TypeLibVarFlags -System.Runtime.InteropServices.TypeLibTypeAttribute -System.Runtime.InteropServices.TypeLibFuncAttribute -System.Runtime.InteropServices.TypeLibVarAttribute -System.Runtime.InteropServices.ComImportAttribute -System.Runtime.InteropServices.PreserveSigAttribute -System.Runtime.InteropServices.ComAliasNameAttribute -System.Runtime.InteropServices.AutomationProxyAttribute -System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute -System.Runtime.InteropServices.CoClassAttribute -System.Runtime.InteropServices.ComEventInterfaceAttribute -System.Runtime.InteropServices.COMException -System.Runtime.InteropServices.ComMemberType -System.Runtime.InteropServices.CurrencyWrapper -System.Runtime.InteropServices.DispatchWrapper -System.Runtime.InteropServices.ErrorWrapper -System.Runtime.InteropServices.ExtensibleClassFactory -System.Runtime.InteropServices.HandleRef -System.Runtime.InteropServices.InvalidComObjectException -System.Runtime.InteropServices.InvalidOleVariantTypeException -System.Runtime.InteropServices.TypeLibImporterFlags -System.Runtime.InteropServices.ExporterEventKind -System.Runtime.InteropServices.ITypeLibExporterNotifySink -System.Runtime.InteropServices.ITypeLibConverter -System.Runtime.InteropServices.MarshalDirectiveException -System.Runtime.InteropServices.ObjectCreationDelegate -System.Runtime.InteropServices.RuntimeEnvironment -System.Runtime.InteropServices.RegistrationServices -System.Runtime.InteropServices.SafeArrayRankMismatchException -System.Runtime.InteropServices.SafeArrayTypeMismatchException -System.Runtime.InteropServices.SEHException -System.Runtime.InteropServices.TypeLibConverter -System.Runtime.InteropServices.BIND_OPTS -System.Runtime.InteropServices.UCOMIBindCtx -System.Runtime.InteropServices.UCOMIConnectionPointContainer -System.Runtime.InteropServices.UCOMIConnectionPoint -System.Runtime.InteropServices.UCOMIEnumMoniker -System.Runtime.InteropServices.CONNECTDATA -System.Runtime.InteropServices.UCOMIEnumConnections -System.Runtime.InteropServices.UCOMIEnumConnectionPoints -System.Runtime.InteropServices.UCOMIEnumString -System.Runtime.InteropServices.UCOMIEnumVARIANT -System.Runtime.InteropServices.FILETIME -System.Runtime.InteropServices.UCOMIMoniker -System.Runtime.InteropServices.UCOMIPersistFile -System.Runtime.InteropServices.UCOMIRunningObjectTable -System.Runtime.InteropServices.STATSTG -System.Runtime.InteropServices.UCOMIStream -System.Runtime.InteropServices.DESCKIND -System.Runtime.InteropServices.BINDPTR -System.Runtime.InteropServices.UCOMITypeComp -System.Runtime.InteropServices.TYPEKIND -System.Runtime.InteropServices.TYPEFLAGS -System.Runtime.InteropServices.IMPLTYPEFLAGS -System.Runtime.InteropServices.TYPEATTR -System.Runtime.InteropServices.FUNCDESC -System.Runtime.InteropServices.IDLFLAG -System.Runtime.InteropServices.IDLDESC -System.Runtime.InteropServices.PARAMFLAG -System.Runtime.InteropServices.PARAMDESC -System.Runtime.InteropServices.TYPEDESC -System.Runtime.InteropServices.ELEMDESC -System.Runtime.InteropServices.VARDESC -System.Runtime.InteropServices.DISPPARAMS -System.Runtime.InteropServices.EXCEPINFO -System.Runtime.InteropServices.FUNCKIND -System.Runtime.InteropServices.INVOKEKIND -System.Runtime.InteropServices.CALLCONV -System.Runtime.InteropServices.FUNCFLAGS -System.Runtime.InteropServices.VARFLAGS -System.Runtime.InteropServices.UCOMITypeInfo -System.Runtime.InteropServices.SYSKIND -System.Runtime.InteropServices.LIBFLAGS -System.Runtime.InteropServices.TYPELIBATTR -System.Runtime.InteropServices.UCOMITypeLib -System.Runtime.InteropServices.UnknownWrapper -System.Runtime.Remoting.IObjectHandle -System.Runtime.Remoting.IRemotingTypeInfo -System.Runtime.Remoting.IChannelInfo -System.Runtime.Remoting.IEnvoyInfo -System.Runtime.Remoting.RemotingConfiguration -System.Runtime.Remoting.TypeEntry -System.Runtime.Remoting.ActivatedClientTypeEntry -System.Runtime.Remoting.ActivatedServiceTypeEntry -System.Runtime.Remoting.WellKnownClientTypeEntry -System.Runtime.Remoting.WellKnownServiceTypeEntry -System.Runtime.Remoting.RemotingException -System.Runtime.Remoting.ServerException -System.Runtime.Remoting.RemotingTimeoutException -System.Runtime.Remoting.RemotingServices -System.Runtime.Remoting.InternalRemotingServices -System.Runtime.Remoting.SoapServices -System.Runtime.Remoting.Activation.UrlAttribute -System.Runtime.Remoting.Messaging.IMessageSink -System.Runtime.Remoting.Messaging.AsyncResult -System.Runtime.Remoting.Messaging.CallContext -System.Runtime.Remoting.Messaging.ILogicalThreadAffinative -System.Runtime.Remoting.Messaging.InternalMessageWrapper -System.Runtime.Remoting.Messaging.IMethodCallMessage -System.Runtime.Remoting.Messaging.MethodCallMessageWrapper -System.Runtime.Remoting.Messaging.HeaderHandler -System.Runtime.Remoting.Messaging.IMessageCtrl -System.Runtime.Remoting.Messaging.IRemotingFormatter -System.Runtime.Remoting.Messaging.ReturnMessage -System.Runtime.Remoting.Messaging.MethodCall -System.Runtime.Remoting.Messaging.ConstructionCall -System.Runtime.Remoting.Messaging.MethodResponse -System.Runtime.Remoting.Messaging.ConstructionResponse -System.Runtime.Remoting.Messaging.MethodReturnMessageWrapper -System.Runtime.Remoting.Messaging.OneWayAttribute -System.Runtime.Remoting.Messaging.MessageSurrogateFilter -System.Runtime.Remoting.Messaging.RemotingSurrogateSelector -System.Runtime.Remoting.Contexts.CrossContextDelegate -System.Runtime.Remoting.Contexts.ContextProperty -System.Runtime.Remoting.Contexts.IContextPropertyActivator -System.Runtime.Remoting.Contexts.IContributeClientContextSink -System.Runtime.Remoting.Contexts.IContributeDynamicSink -System.Runtime.Remoting.Contexts.IContributeEnvoySink -System.Runtime.Remoting.Contexts.IContributeObjectSink -System.Runtime.Remoting.Contexts.IContributeServerContextSink -System.Runtime.Serialization.Formatters.InternalRM -System.Runtime.Serialization.Formatters.InternalST -System.Runtime.Serialization.Formatters.SoapMessage -System.Runtime.Serialization.Formatters.SoapFault -System.Runtime.Serialization.Formatters.ServerFault -System.Runtime.Serialization.Formatters.Binary.BinaryFormatter -System.Security.Cryptography.CryptoConfig -System.Security.Cryptography.KeyedHashAlgorithm -System.Security.Cryptography.HMACSHA1 -System.Security.Cryptography.MACTripleDES -System.Security.Cryptography.MaskGenerationMethod -System.Security.Cryptography.PasswordDeriveBytes -System.Security.Cryptography.PKCS1MaskGenerationMethod -System.Security.Cryptography.RC2 -System.Security.Cryptography.RC2CryptoServiceProvider -System.Security.Cryptography.RSACryptoServiceProvider -System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter -System.Security.Cryptography.RSAOAEPKeyExchangeFormatter -System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter -System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter -System.Security.Cryptography.RSAPKCS1SignatureDeformatter -System.Security.Cryptography.RSAPKCS1SignatureFormatter -System.Security.Cryptography.SHA1Managed -System.Security.Cryptography.TripleDES -System.Security.Cryptography.TripleDESCryptoServiceProvider -System.Security.Permissions.EnvironmentPermission -System.Security.Permissions.FileDialogPermission -System.Security.Permissions.IsolatedStorageFilePermission -System.Security.Permissions.PrincipalPermissionAttribute -System.Security.Permissions.SecurityPermissionAttribute -System.Security.Permissions.PublisherIdentityPermissionAttribute -System.Security.Permissions.PublisherIdentityPermission -System.Security.Permissions.ReflectionPermission -System.Security.Permissions.RegistryPermission -System.Security.Permissions.PrincipalPermission -System.Security.Permissions.SiteIdentityPermission -System.Security.Permissions.StrongNameIdentityPermission -System.Security.Permissions.StrongNamePublicKeyBlob -System.Security.Permissions.UIPermission -System.Security.Permissions.UrlIdentityPermission -System.Security.Permissions.ZoneIdentityPermission -System.Security.Policy.ApplicationDirectory -System.Security.Policy.ApplicationDirectoryMembershipCondition -System.Security.Policy.FirstMatchCodeGroup -System.Security.Policy.Hash -System.Security.Policy.HashMembershipCondition -System.Security.Policy.NetCodeGroup -System.Security.Policy.PermissionRequestEvidence -System.Security.Policy.Publisher -System.Security.Policy.PublisherMembershipCondition -System.Security.Policy.Site -System.Security.Policy.SiteMembershipCondition -System.Security.Policy.StrongName -System.Security.Policy.StrongNameMembershipCondition -System.Security.Policy.UnionCodeGroup -System.Security.Policy.Url -System.Security.Policy.UrlMembershipCondition -System.Security.Policy.Zone -System.Security.Policy.ZoneMembershipCondition -System.Security.Principal.WindowsIdentity -System.Security.Principal.WindowsImpersonationContext -System.Security.Principal.WindowsPrincipal -System.Threading.CompressedStack -
diff --git a/web/web/makefile b/web/web/makefile index ed5b87ac8a5..90fe990fec1 100644 --- a/web/web/makefile +++ b/web/web/makefile @@ -64,6 +64,20 @@ OBJECTS= \ deploy/testing.html \ deploy/tools.html \ deploy/winforms.html \ + deploy/class-status.html \ + deploy/class-status-corlib.html \ + deploy/class-status-System.html \ + deploy/class-status-System.Xml.html \ + deploy/class-status-System.Drawing.html \ + deploy/class-status-System.Data.html \ + deploy/class-status-System.Web.html \ + deploy/class-status-System.Web.Services.html \ + deploy/class-status-Microsoft.VisualBasic.html \ + deploy/class-status-System.EnterpriseServices.html \ + deploy/class-status-System.Runtime.Serialization.Formatters.Soap.html \ + deploy/class-status-System.Security.html \ + deploy/class-status-System.Windows.Forms.html \ + deploy/class-status-Cscompmgd.html \ deploy/class-library.html \ deploy/classlib-doc.html @@ -77,7 +91,7 @@ NON_HTML_SOURCES= \ ../mono-build.sh \ ../mono-build-w32.sh -all: $(OBJECT) deploy/index.rss ../team +all: $(OBJECTS) deploy/index.rss ../team perl process.pl commands template.html.in deploy -mkdir deploy/team cp team/*png deploy/team diff --git a/web/web/team/peterw.png b/web/web/team/peterw.png Binary files differnew file mode 100644 index 00000000000..1cb36eab7c8 --- /dev/null +++ b/web/web/team/peterw.png diff --git a/web/web/template.html.in b/web/web/template.html.in index 5c25278530d..2aab918a0a5 100644 --- a/web/web/template.html.in +++ b/web/web/template.html.in @@ -38,25 +38,11 @@ <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> - <td><img src="images/pixel.gif" alt=""></td><!-- left border - --> - <td colspan="4"> - <table> - <tr> - <td> - <a href="http://www.go-mono.com"><img - src="images/mono-new.gif" alt="mono-logo" border="0"></a> - </td> - <td> - <a class="navi0" href="download.html">Downloads</a> | - <a class="navi0" href="screenshots.html">Screenshots</a> | - <a class="navi0" href="http://mono.ximian.com:8080">API Docs</a> - </td> - </tr> - </table> - </td> - <td><img src="images/pixel.gif" alt=""></td><!-- right border - --> + <td><img src="images/pixel.gif" alt=""></td><!-- left border --> + <td colspan="4"> + <a href="http://www.go-mono.com"><img src="images/mono-new.gif" + alt="mono-logo" border="0"></a></td> + <td><img src="images/pixel.gif" alt=""></td><!-- right border --> </tr> <tr> <td><img src="images/pixel.gif" width="1" height="1" alt=""></td> |